Slashdot Mirror


Ask Slashdot: Building a Software QA Framework?

New submitter DarkHorseman writes: I am looking into a new position with my employer and have the opportunity to work with the development and QA team to further the creation of a Quality Assurance Framework that will be used into the long-term future. This is software that has been in continuous development, in-house, for >10 years and is used company-wide (Fortune100, ~1000 locations, >10k users, different varieties based on discipline) as a repair toolset on a large variety of computers (high variability of SW/HW configuration). Now is the time to formalize the QA process. We have developed purpose-built tools and include vendor-specific applications based on business need. This framework will ideally provide a thorough and documentable means by which a team of testers could help to thoroughly ensure proper functionality before pushing the software to all locations. The information provided by Lynda.com along with other sources has been invaluable in understanding the software side of QA but I have seen very little in terms of actual creation of the framework of the process. What would you consider the best resources to prepare me to succeed? Even if your QA needs are for smaller projects, what advice do you have for formalizing the process?

58 comments

  1. Look at how other successful places do it by Anonymous Coward · · Score: 0

    Copy them.

  2. Better late than never by Anonymous Coward · · Score: 0

    > Now is the time to formalize the QA process

    It's long past time for a formal QA process. Maybe you mean "better late than never"?

    1. Re:Better late than never by Anonymous Coward · · Score: 0

      Software QA is a generally solved problem. Most modern software development methodologies already incorporate this, some more formally than others. Here are a few common terms:

      • Design Review
      • Peer Review
      • Automated Software Testing
      • Static Code Analysis
      • Continuous Integration

      If your new job is working between these teams, it is probably going to involve an attempt to shoe-horn some Agile methodology into some more traditional QA approach. I suggest not doing that, by the way. You would generally be better off telling the developers to stick with the old way or tell the QA people to adopt the new Agile approach. Attempts to mix the two have resulted in sub-par results.

  3. Elaborate click bait advertisement? by TheBilgeRat · · Score: 4, Insightful

    Tons of marketing speak and a link to Lynda.com. Write a document explaining its use, get marketing to put a price tag on it, and call it good.

    1. Re:Elaborate click bait advertisement? by Anonymous Coward · · Score: 0

      and New submitter DarkHorseman to boot

    2. Re:Elaborate click bait advertisement? by Apocryphos · · Score: 4, Funny

      I'm about to accept an offer to take over the QA process at a Fortune 100 company.

      How do you test software?

      uh...

    3. Re:Elaborate click bait advertisement? by phantomfive · · Score: 1

      Forget Lynda.com. Use Selenium, all the cool kids are doing it for QA.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:Elaborate click bait advertisement? by Anonymous Coward · · Score: 0

      What a bullshit answer. Selenium is for browser automation, and the question is about formalizing processes.

    5. Re:Elaborate click bait advertisement? by phantomfive · · Score: 2

      the question is about formalizing processes.

      The question is about advertising for a website that no one had ever heard of.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Elaborate click bait advertisement? by nmpg · · Score: 1

      My thoughts exactly. This lynda link seems not innocent.. oh well: guys there's pluralsight too, and tuts plus, and udemy... and youtube :)

    7. Re:Elaborate click bait advertisement? by Anonymous Coward · · Score: 1

      From the submitter's article, the solution is obvious, give Lynda.com all your money!

      Considering the submitter's ability to think, sounds like a reasonable expectation to him! Considering the audience that will take up such a solution, sounds like fools and their money can still be easily parted!

    8. Re:Elaborate click bait advertisement? by Jane+Q.+Public · · Score: 1

      Forget Lynda.com. Use Selenium, all the cool kids are doing it for QA.

      Not really. The coolest kids still use Watir (although admittedly it is now built around Selenium WebDriver.)

    9. Re:Elaborate click bait advertisement? by Anonymous Coward · · Score: 0

      WholeFoods?

    10. Re:Elaborate click bait advertisement? by phantomfive · · Score: 2

      Is there any advantage of Watir other than it's built in Ruby?

      --
      "First they came for the slanderers and i said nothing."
    11. Re:Elaborate click bait advertisement? by Anonymous Coward · · Score: 0

      At first I thought you were describing the opening post.

    12. Re:Elaborate click bait advertisement? by Jane+Q.+Public · · Score: 1

      It's probably important here to distinguish between Selenium, Selenium Webdriver, and Watir Webdriver.

      Selenium by itself is more of a passive testing framework. For years, Watir enabled testing by "driving" (automating) the browser, so that you could actually interact with the page (click buttons, select from dropdowns, etc.).

      Originally, that was done only in Internet Explorer using the COM interface. Later, a JavaScript interface layer was developed which worked with more browsers (and other OSes), and eventually became the mainstream Watir.

      In the meantime, Selenium was developing their Selenium Webdriver, which now does what Watir once did internally.

      The decision (a questionable one, IMO) was made by the Watir lead developer to switch out the core webdriver to Watir webdriver. This allows some more flexibility than the old Watir (like the ability to go headless with Ghost), but at the same time it lost many of its important features (like the ability to examine the HTML response directly, which Selenium Webdriver team has long refused to do for misguided "philosophical" reasons).

      So, after that background: while Selenium testing framework has been around longer, Watir was the original "webdriver" which allowed your code to automate pages by interacting with the page as though you were sitting at the keyboard. Selenium has caught up a lot in that regard with its Selenium Webdriver (which again is separate from the Selenium IDE), and Watir now (unfortunately) utilizes that webdriver within "Watir Webdriver", which is essentially a Ruby wrapper.

      There used to be more difference than just "Ruby or something else". Incorporating Selenium Webdriver relieved some pressure on development of the "driver core" for Watir, at the expense of some the former superior functionality of Watir.

      Short answer: not much difference in capability these days.

    13. Re:Elaborate click bait advertisement? by Anonymous Coward · · Score: 0

      Fossil Fuel co. Peabody calls Lindzen, Tol, Spencer, & Happer to testify. @AndrewDessler destroys their claims.goo.gl/m6X4FQ [AGW_Prof]

      Why shouldn't they be called to testify, since they represent that party's view? That's the way this stuff works. [Lonny Eachus, 2015-10-01]

      It's actually refreshing to witness Lonny Eachus admit that Lindzen, Tol, Spencer, and Happer are representing the views of a fossil fuel company. They're certainly not representing the views of most scientists, any more than Spencer's creationism represents the views of most scientists.

  4. Bullshit.. by Anonymous Coward · · Score: 0

    This sounds like one of those quests to solve world peace and end hunger. QA framework is about as generic as a statement your can make.

    The only framework you need is to get everyone on board with your end goals. Rest everything is circumstantial is my take on it.

  5. Use your toolchain by plover · · Score: 5, Insightful

    Presumably you are using modern tools to compile and build your software, manage source code, and manage your project work. Many of these tools will either incorporate or integrate with bug tracking software and testing frameworks. If there's a native bug tracker available, select it. If there's a native test framework available, use it.

    What you need is a least-friction option, where testers, analysts, and developers can all see the bugs, write up the bugs, test the bugs, and fix the bugs. You don't need "The Most Advanced Framework Available Today", you don't need "The Best Test Tracking and Reporting Software Ever Produced", you need a solution that works well for all the people involved. Having a third party tool where the developer has to stop working, log in to the bug tracker, read the bug details, switch back to the development environment, make some changes, switch back to the bug tracker, write up the findings, switch to the test framework, execute a test, switch back ... All that switching is a huge productivity killer. The smoother the integration, the more effective and efficient the engineers will be - and that's where your expenses really lie.

    Here's the problem. Some organizations say "hey, let's evaluate and buy the bestest test software out there" without giving a thought to the developers. So the QA department runs off on their own, buys a tool, and starts building tests in it that the developers can't run. If the developers can't run the tests, they don't know if they're fixing the problems correctly, so they waste tons of time. Worse, if a developer makes a change that breaks some test, they won't know until that result is reported to them, possibly days, weeks or even months later, depending on your QA cycles. During the intervening time, the developer continues to write code based on their original faulty change, creating technical dependencies on what may be a completely flawed base assumption. When the test finally reveals the flaw, the developer's choices are limited to: A) rewrite everything according to the better architecture uncovered by the flaw, or B) make a scabby patch so the test passes. If you choose A, the software's release will be expensively delayed. If you choose B once, you'll likely choose it again, you're incurring technical debt, all your software is likely to be crap, and no good developers will want to work for you. The correct answer is of course C) don't produce tests the developer's can't run themselves on demand, or tests that aren't automated as a part of the build process.

    --
    John
    1. Re:Use your toolchain by PPH · · Score: 1

      Depends on how anally retentive management is about compartmentalizing processes. There's a story I heard (can't vouch for it's validity) about a guy who got a job as a coder at a (very) major s/w company. His job was to write code. Period. And then turn it over to be compiled/tested. Errors (even compile time typos) were counted and the package was handed back to the coder. Statistics were collected. Pay and promotions were based upon lines of code and number of errors.

      This was back in the days of DOS PCs with 20 Mb hard drives. Coders got a PC with a company standard editor and nothing else. But this guy found a small compiler that ran from a floppy. So he'd run his work through before submitting it and catch the missing semicolon and mismatched paren crap. Needles to say, he was the top coder and got the big raises. Until his boss asked how he did it and he fessed up to the floppy compiler. He was promptly fired. Never mind that his productivity was probably many times that of the 'average' coder in the department.

      I've worked for companies that came close to this level of ass-hattery. Each little empire of code, unit test, integration test, etc. jealously guards their turf.

      --
      Have gnu, will travel.
    2. Re:Use your toolchain by plover · · Score: 1

      Having seen Waterfall inaction, I find that story sadly believable. The moment you start siloing what should be a single person's responsibility, the turf wars emerge to amplify the chaos. And a developer's responsibility should encompass everything from testing through coding to design.

      --
      John
    3. Re:Use your toolchain by Big+Hairy+Ian · · Score: 1

      Be careful which tests you use in a Continuous Integration Build as automated functional tests can often be slow and you don't want a CI Build to take much more than 10 minutes. Have a separate build scheduled to run overnight that runs any long duration tests. Also look at your coverage and try to make any existing defects into Regression Tests (Preferably Automated).

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

  6. QA is a carreer killer. Don't touch the tarbaby. by Ungrounded+Lightning · · Score: 5, Insightful

    I am looking into a new position with my employer and have the opportunity to work with the development and QA team to further the creation of a Quality Assurance Framework that will be used into the long-term future.

    You haven't taken the position yet? Don't!

    Unlike other industries (such as the auto industry, where QA is often the highest ranking and most powerful professional short of plant manager, respected for their global understanding of both engineering and the math of probability and statistics, empowered to order things fixed and, if appropriate, stop the production until they are), the pointy-haired bosses of software development generally view QA people (even the write-the-tools types) as failed developers. "If you were good you'd be a developer." is a typical quote. A QA position on your resume is an albatros around your neck.

    One of the better programming talents I know (and I know a lot of the big names), when starting out, took a QA position as a stop-loss. After that she couldn't get a developer position - even those where they CLAIMED to give her a developer position actually put her in the QA department.

    QA is who they cut first, when things get tight. This is massively stupid - because it's who you need to get OUT of the jam. But understaffing QA shows up on the bottom line a couple years out, after the PHB has lined up his next positio, while understaffing development shows up quickly.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  7. You might as well ask... by selectspec · · Score: 5, Informative

    ...how to build a software company.

    Anyway, there is a lot to QA, but everything starts with the build and bug/feature tracking systems. QA is anchored to these two pillars. Formalizing (and documenting) how these systems work and interact is critical to correctly tracking issues, reproducibility and inter-QA-to-developer communication. A strong nightly build system coupled with a properly used tracking tool (like Bugzilla, Jira, etc) are pretty much the cornerstone of any framework.

    The build system itself breaks down into the nightly automated build process as well as source revision control system. Testing should start before QA ever sees a build by testing the build after checkins and running developer implemented unit tests. Tagging release candidates and making sure that QA is working with the correct build is critical to optimizing QA efficiency. Nothing is worse than having QA run tests on the wrong build.

    Next, QA testing itself gets divided into two major categories: automated and manual testing. Automation has a high initial cost of development, but pays off in the long run with lower labor, especially for mundane tasks that are too tedious to possible test by human.

    Automation typically is closely linked into the build system. Manual testing breaks down into a bunch of different sub-categories, but all manual testing should follow documented test plans. Test plan documentation can get overboard, but at least you want a wiki of some kind (Confluence, etc) to document how development wants QA to perform the testing.

    Manual testing is often where labor is the biggest factor, and thus it tends to get the most attention from management. These folks tend to be either "testers" good at testing vs. system integrators who are good at staging environments that look like real world customer environments. Much here of course depends on the nature of your product and your customer.

    However, with both manual and automated testing, it is important to have infrastructure for creating clean environments to test with. This usually involves some form of virtualization. QA needs to be able to produce clean images of systems to test with. This part of QA has never been easier, unless you are a hardware company, and actually have to still use a lot of physical equipment instead of VMs.

    Release quality is determined by comparing the list of open issues targeting a given milestone and their status. Again, a well integrated tool for issue tracking is critical in the process of release management.

    Lastly, I would not wait 10 years to formalize a QA plan. Every software startup that I know of had a QA director starting to fill this plan out within a few months of getting seed money. QA is integral to software (and hardware) engineering.

    --

    Someone you trust is one of us.

  8. Software QA Framework by Anonymous Coward · · Score: 0

    I could tell you how to build a Software QA Framework. But...

    If you're good at something, never do it for free!

    Pay me my consulting rate, and I'm happy to oblige.

  9. As someone who has built automated test frameworks by Dino · · Score: 3, Insightful

    I have built and seen succeed and crash-n-burn spectacularly a variety of automated test frameworks for large enterprises. Let's start with the successes:

      - High availability / Robust
      - Staging environment for automated test developers
      - Performance metrics
      - Easy to understand test results

    The failures were due to:

      - Brittle and poorly designed tests which don't run the same in the CI system versus the tester's machine
      - Testers committing bugs into the test environment
      - No performance metrics
      - Hard-to-understand failure results require duplication and deep analysis

    As you can tell, the failures are the opposite of the successes. Allow me to further explain.

    The most important item is that the tests always work and always be running. This means test machines and back-up test machines. Running the same test on three different machines is even better because you can throw away or temporarily ignore outliers. Outliers need to be addressed eventually, but for day-to-day developers and managers just want to know if the code they committed causes failures. Having the test be in any way unreliable causes faith in the tests to disappear. The tests must run, and they must run well. Test environments go down or require maintenance and you want to be able to continue to run tests during these downtimes. Treat the tests like a production system.

    Next, a big improvement I've seen is to have automated test developers contribute new work to a separate-but-equal staging environment. Automated test teams run on an Agile/Scrum iteration and only "release" their new tests at specific times. Another thing which reduces faith in test results if the tests are breaking due to the fault of automated test developers-- which happens all too often.

    Automated tests are the ideal platform for generating performance metrics.

    Lastly, a big pet peeve of mine is for understandable test failures. Test failures should obviously describe the set-up, expected and actual result. If test failures are obtuse and require a lot of time to analyze and triage-- that is wasted time that could have been spent fixing the root cause.

    Good luck! If past experience is any indicator, you will be spending far more time and money than you ever imagined to create a robust system that developers and managers will have faith in.

    --
    That's not what I meant.
  10. Objective by BradMajors · · Score: 1

    The objective of QA is to verify that the developers have been doing proper testing and not to do the testing yourself.

  11. Kaizen by Anonymous Coward · · Score: 0

    Deploy Kaizen. Also, in a big, varied organization using just a single test team is like utilizing focus groups on testing political messages. It is just not enough. In other words, aim for lightness, easy feedback and flexibility in the identified points of variability.

  12. Re:QA is a carreer killer. Don't touch the tarbaby by Anonymous Coward · · Score: 1

    100% correct. Plus QA is frequently offshored as it is just as effective.

  13. Dev's are there own testers and QA is the end user by Joe_Dragon · · Score: 1

    Dev's are there own testers and QA is the end users.

    also we have that easy update system. So release now patch / update later.

  14. Depends on what you are doing by Anonymous Coward · · Score: 0

    You could look at standards like iso9001, iso27001 which elaborate procedures for total software (+HW) quality - from origin to deployment. 9001 is mostly for critical applications - medical, transportation. 27001 is more for data security - HIPAA, PCI-DSS, etc. Pick and choose depending on what you are doing.

    QA starts at the (or designer) developer and then goes on to a QA group. So you need to establish software code quality standards and then make sure they are met by doing code reviews. Developers need to be trained as far as preventing code exploits - sql injection, cross site scripting, and others. Make sure all inputs and outputs are validated.
    Writing specifications that include testing procedures for QA is also helpful for a QA group. For final QA, automated testing is very useful - developers can even write QA test code with the product code.

  15. The process formation is easy by neo-mkrey · · Score: 1

    Getting buy-in from management and the developers to actual follow the process is the hard part.

  16. Too late already by Anonymous Coward · · Score: 0

    Too late already. The horses are out of the barn.

    You can not retrofit good QA to an existing development ecosystem.

    Give up. Don't take the job, you're just the fall guy.

  17. Use python by Anonymous Coward · · Score: 0

    Write a python program to "drive" the code paths of your software. As it expands, factor it out into a Python module. After a while, this module will be the glue that's running your whole company. At least mine is. I think mine is sentient by now.

    Well, the question is so random, open-ended, and vague with no details that anyone could say anything in response to it. "I have a 10+ year code base of whatever that needs to do something and I want to write some software. Might as well make it a framework" Yeah, go for it.

  18. technical debt is debt. Occasionally correct by raymorris · · Score: 1

    > QA is who they cut first, when things get tight. This is massively stupid - because it's who you need to get OUT of the jam.

    In general, debt is normally dumb. Except when it's for an offsetting investment. OCCASIONALLY, in business debt is smart. For example, being first to market for a rapidly growing sector may well justify debt. Survival mode may justify debt. Technical debt, poor code and systems, IS debt. Get the product out now, pay the cost of poor code later. That's NORMALLY a bad idea. Occasionally, it's the correct move.

    An example from my very recent experience is replacing the annual licensing of a $xx million / year third party program with one built in-house. Two weeks before the deadline, it's better to get it done poorly and fix it later than to pay another $XX million to license the third-party app for another year. But we WILL have to fix it later. SOMETIMES quality actually isn't the most important thing. Which bugs the shit out of me.

    1. Re:technical debt is debt. Occasionally correct by phantomfive · · Score: 2

      Technical debt, poor code and systems, IS debt. Get the product out now, pay the cost of poor code later. That's NORMALLY a bad idea.

      It's also very rarely necessary. Writing code correctly is usually faster in the long term and the short term.
      A lot of times people think "correct" is slower because they think "correct" means "writing a lot of framework code."

      --
      "First they came for the slanderers and i said nothing."
  19. ISO/IE standards? by CokoBWare · · Score: 2

    Perhaps look into the following standards and consider emplementing one or both of them:

    * ISO/IEC 9126 https://en.wikipedia.org/wiki/ISO/IEC_9126
    * ISO/IEC/IEEE 29119 https://en.wikipedia.org/wiki/ISO/IEC_29119

  20. Where's Snooze? by Brewmeister · · Score: 1

    It must be a slow news day for /.

    Rule of thumb is to use similar languages/technologies/frameworks that the developers use to track their workflow. That way they'll help you when you break stuff.

    --bm

  21. Quality Assurance Definition by CodeArtisan · · Score: 1

    QA is not just about testing. Testing is Quality Control; just one aspect of a QA framework.

  22. Simple answer... by Anonymous Coward · · Score: 0

    What does the product manual say about what functions it has? Are they correct? Are there any procedures in the manual for the operator/owner? Are they correct?

  23. huh? by Anonymous Coward · · Score: 0

    what's wrong with selenium and cucumber? am i missing something?

  24. looks like someone got cuckolded by Anonymous Coward · · Score: 0

    lololol

  25. A little late I'd say by Anonymous Coward · · Score: 0

    This is software that has been in continuous development, in-house, for >10 years and is used company-wide (Fortune100, ~1000 locations, >10k users, different varieties based on discipline) as a repair toolset on a large variety of computers (high variability of SW/HW configuration). Now is the time to formalize the QA process.

    Now, after >10 years? Sudden outbreak of pandemonium?

  26. Re:QA is a carreer killer. Don't touch the tarbaby by Anonymous Coward · · Score: 4, Interesting

    I've been a software tester for more than 10 years. I was regarded as an excellent software developer (by peers and managers) when I *chose* to become a software tester because I decided that I like science more than engineering, which in my opinion, is the key difference between software testing and software development.

    I have not yet come across any managers (pointy-haired bosses) who genuinely believe that testers are failed developers, but I have come across many developers who regard testers as lesser beings. One even told me with a blank look on his face - "I think you are good enough to be a developer?".

    It doesn't help that there are indeed many failed developers working as software testers, spouting nonsense like "I am not technical" or "Testing is so easy".

    Software testing is science. It's an intellectual activity. It's challenging. It's very difficult to perform efficiently and effectively. Anyone claiming otherwise simply misunderstands software testing. (If you are one of those people, I recommend that you look up James Bach.)

    Sure, I could have continued my career as a developer because I don't like others thinking of me as a failed developer. But in the end, I chose my path based on what I liked rather than what others (incorrectly) thought about the profession.

    We need more capable people to perform meaningful software testing to dispel the myths in the industry, including ones posted below such as "QA is just as effective when offshored". Telling people to don't become testers because others incorrectly view them as failed developers is not a helpful advice, neither for those people or the industry as a whole.

  27. cons3rt by Anonymous Coward · · Score: 0

    Ran across this - does it fit the bill?

    https://www.cons3rt.com/

  28. Test your Tests by Scorpinox · · Score: 1

    If you're writing a big, complicated testing framework, don't forget to write tests for the tests. I'm not even joking

  29. Re:QA is a carreer killer. Don't touch the tarbaby by Anonymous Coward · · Score: 1

    It is true that we developers do look down on software testers. They are paid less as well. Frequently they are offshored. I'm glad you like it, but you chose the wrong path if you are looking to maximize your usefulness and earning power in the industry. No offense, but that is the truth.

  30. Re:QA is a carreer killer. Don't touch the tarbaby by Anonymous Coward · · Score: 0

    Untested software isn't very useful

  31. A little late for the rodeo, aren't you? by tlambert · · Score: 1

    "in continuous development, in-house, for >10 years"

    A little late for the rodeo, aren't you?

    Now is not the time to think of this sort of thing; that time was 10 years ago.

  32. Re:QA is a carreer killer. Don't touch the tarbaby by Anonymous Coward · · Score: 0

    Working for a top recruiter, he said QA is a definite negative point. I've read that the greatest QA teams are hated by programmers. My best guess it's a bit like racism, QA people need not apply.

  33. Re:QA is a carreer killer. Don't touch the tarbaby by valles · · Score: 1

    QA people need not apply.

  34. Re:QA is a carreer killer. Don't touch the tarbaby by cowdung · · Score: 1

    It is true that we developers do look down on software testers. They are paid less as well. Frequently they are offshored. I'm glad you like it, but you chose the wrong path if you are looking to maximize your usefulness and earning power in the industry. No offense, but that is the truth.

    Wow.. sounds like you come from a twisted corporate culture. Why dis someone who's work protects you from making a fool of yourself in front of customers?

    Testing is critically important in a successful software project.

  35. Re:QA is a carreer killer. Don't touch the tarbaby by Anonymous Coward · · Score: 0

    I've never seen it "just as effective". There are delays in reports due to time zone, and someone will need to be the chump who has to handle the latenight or early morning concalls. Bug reports are often unreadable, unreproducable, lacking vital information or just don't make sense. Software versions under test are often out of sync. Lots of problems glossed over due to inexperience, lack of interest, or trying to make a milestone and keep the bug count down. Frequent glaringly obvious bugs that the offshore teams claim they never saw in test and can't reproduce on their hardware/software/platform/gizmo.

    But the rest is all true, I've been around long enough that QA was 95% in house and it was a decent paying profession. Now it's almost entirely offshore and for those that remain it will be one of the first groups that gets the axe.

  36. Re:QA is a carreer killer. Don't touch the tarbaby by Anonymous Coward · · Score: 1

    Offshoring QA is a common mistake that companies make because they think it's a cut and dry task. But every company I've worked with who off shored the QA department has ended up with less quality and more developer time spinner their wheels on false positive test failures than with a QA staff in house. The worst I've seen is when the offshore QA team stops their test plan after a single bug is found. Then its a 24 turn-around before the test plan can continue. This causes huge delays in releasing the software.

    There is a tremendous advantage in co-locating QA and developers. But if you have upper management that are number crunchers, they'd rather save a buck than have a productive work force.

  37. Framework? by Anonymous Coward · · Score: 0

    There have been several other answers that seem to hit aspects of this, but none address how a framework can mean multiple different things at different levels. Here are a non-exhaustive list of some of the levels you might consider:

    * Automation framework(s)
          - Automated tools and checking
          - Load Test
          - Manumation (mix of automation and manual)
    * Institution Vocabulary/Training - Taking something like BBST so everyone has the same idea of what you mean by QA. http://bbst.info/?page_id=11
    * Test Process
        - How the testing cycle appears.
    * Development Process
        - How testing integrates into the bigger scheme.
        - Who does unit tests? Are they dev-only or are testers embedded in this process?
        - Are testers involved at design time? Are developers involved at test time?
    * SDLC
        - Where does testing occur. How do you know when the system is ready for release? What is the mission of testing? (See BBST above)
    * Bug Lifecycle/Advocacy
      - How you write bugs
      - Who is assigned bugs and when is a bug 'done' (do you retest in production?)
      - How are bugs triaged?
    * Team Organization
        - Are QA silo'd or embedded or ...
        - How does automation fit in? Who does it? Are they silo'd or embedded?
        - Who do they report to (and how are conflicts resolved)?
        - Is QA one happy family or specialized?
        - What about cross-cutting concerns like security? Is that part of QA?
    * Documentation
      - How is it organized? Wiki? Text files in git?
            - Is it all in one central place or divided by project?
    * Rank/Role
      - How do you separate a Tester 1 vs a Tester 2 (insert your labels here)?
      - How do you determine what type of person you want to hire?
      - Hire junior people and do lots of training/process or hire senior people and give them the freedom to solve problems themselves?
            - Central Planning vs Team Leadership (E.G. Waterfall vs Agile)
      - What skill sets you want or need - http://blog.red-gate.com/wp-content/uploads/2014/02/Test-Engineering-Skills-v3.pdf
    * QA vs QC
        - Do you intend on improving the entire process? Then you are QA. Otherwise you are just QC.
    * Testing Models (http://www.satisfice.com/tools/htsm.pdf)
      - Session-Based Test Management: http://www.satisfice.com/sbtm/index.shtml
      - Thread-Based Test Management: http://www.satisfice.com/blog/archives/503
      - Tours: http://www.developsense.com/blog/2009/04/of-testing-tours-and-dashboards

    I'm afraid I've run out of time, but hopefully that helps. Some of my links were stolen from my blog: http://about98percentdone.blogspot.com/2015/01/leveling-up-your-testing-skills.html Good luck!

  38. Re:QA is a carreer killer. Don't touch the tarbaby by skids · · Score: 1

    As a customer of such software, I second that, and I resent being asked to do the job the vendor was too stupid to put on the payroll just to get their product to work.

  39. Tar baby and hornet's nest! Solvable, though. by Anonymous Coward · · Score: 0

    "... but I have seen very little in terms of actual creation of the framework of the process. What would you consider the best resources to prepare me to succeed?"

    What books have you read on QA? What books have you read on software processes, in general?

    You want to set up the "framework of the process." OK, fine, you don't have a technological challenge, it's an organizational challenge. You have been handed a tar baby, a maze of twisty corridors that all look alike. *Now* they want 10 years of cruft organized. We, out here, have no idea what type of software it is, etc. Nobody can give you specific information on how to solve your problem in a short paragraph.

    The best thing you can do is to read some books on the QA process. This will give you a clue. I was just at Powell's book store, and they had some books on software QA. From what you've written, anything will be a big help. Go, read, plan, get organized.

    Basic guidelines:
    What is the software supposed to do? (Basic specifications. If the managers and devs say they don't need specifications, run! That's what I did at my last position. They didn't actually want QA, and I didn't need to be there.)
    How is the conformance to the business specifications verified and tracked?
    How is the quality (robustness against failures) verified and tracked?
    How is the usability verified and tracked?

    You have to start with specifications, then implement verification, and then tracking. This isn't a huge monolithic thing, but a continual and verifiable process.