|
|||||||||
Quality Assurance Software TestingIT Consulting ServicesSoftware testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software defects and bugs.Software testing can be stated as the process of validating and verifying that a computer program/application/product: • Meets the requirements that guided its design and development, • Works as expected, • Can be implemented with the same characteristics, • And satisfies the needs of stakeholders. Software testing, depending on the testing method employed, can be implemented at any time in the development process. Traditionally most of the test effort occurs after the requirements have been defined and the coding process has been completed, but in the Agile approaches most of the test effort is on-going. As such, the methodology of the test is governed by the chosen software development methodology. There are lots of Software Development Lifecycles (SDLCs) out there. The selected SDLC affects everything from requirements gathering to QA and testing. So just how does the selected SDLC affect what you do for QA? In the article by Eric Mumford titled “How is QA different for Waterfall, Agile, and XP?”, the author looks at each of the methodologies and expresses his opinion on how QA works. I have included excerpts of his opinions below. Waterfall: “The QA cycle involves authoring manual tests to match and cover the product requirements, authoring automated scripts to test the product features, updating regression scripts to test the defects that were found in past builds, and to run performance analysis on the build. … It [sic] requires larger toolsets to track test cases, testing results, performance testing, and automated scripting. Waterfall … requires a heavy investment in tools to get the job done because of the copious amount of work that needs to be tracked.” Agile: “QA focuses on writing automated scripts, usually using an open source test framework, against the software product as the features are being built. QA prepares a performance test and adjusts the navigation scripts and virtual user balance ratio as necessary based on their estimation of the features in that iteration. When the software is delivered, QA often has only a few days to complete testing rather than weeks or months.” |
||||||||