16 Jun Agile Testing
Agile testing is a challenge for professional software testers. The term Agile refers to a software development methodology that produces frequent software releases which are measured in monthly, weekly, or even daily cycles.
This rapid style of software development requires a re-thinking of the software testing process.
Re-thinking the Agile Testing Process
In the traditional long-term Software Development Life Cycle (SDLC), projects may have spanned many months or even years. You would gather requirements, write specifications, code the software, and then many months down the road, you would be given a completed software application to test.
You had plenty of time to prepare for testing by creating comprehensive test plans and scripts prior to the scheduled test phase of the project.
In Agile Testing, there is no lengthy preparation time. The product is released on an on-going basis, in small incremental releases, each new release building on the previous one.
You’ll need to test new or enhanced features fully and immediately in a very short time frame to keep pace with the aggressive release cycle.
In addition to testing each new feature, you must run tests to ensure that the new software hasn’t adversely effected the existing system.
Agile Regression Testing
This re-testing of previous functions after testing a new feature is called Regression Testing, and it is a critical component within an agile testing framework.
Think of it as Lego Blocks, each block (new software function) is added one at a time, attaching to the ever-growing structure. After you snap the block in place, you have to verify that you snapped it in the right place.
So, once you have performed your targeted new feature tests, you run your old (regression) tests to ensure that your new feature hasn’t broken the existing system.
As a professional software tester, you will be constantly challenged to invent new and improved agile testing techniques to fulfill your mission of delivering high-quality software to your users.