Is this really true? Let’s have a look below.
While browsing, I came across a short and crisp summary of Agile Testing Mind-set:
· Quality Assistance over Quality Assurance
· Continuous Testing over Testing at the End
· Team Responsibility for Quality over Tester’s Responsibility
· Whole Team Approach over Testing Departments and Independent Testing
· Automated Checking over Manual Regression Testing
· Technical and API Testing over Just GUI Testing
· Exploratory Testing over Scripted Testing
· User Stories and Customer Needs over Requirement Specifications
· Building the Best Software over Breaking the Software
· Early Involvement over Late Involvement
· Short Feedback Loop over Delayed Feedback
· Preventing Defects over Finding Defects
Which means, while there is value in the items on the right, we value the items on the left more.
This makes sense, isn’t it?
Basic principle of Agile Testing says it’s not a Phase. Agile teams test continuously, they don’t wait for the code to be delivered for testing just before product is ready to be shipped in production.
It says start testing while implementation not after implementation. Which means having a test driven/test first approach and this can be achieved through TDD (Test Driven Development) and ATDD (Acceptance Test Driven Development).
This also helps in shortening the feedback cycle since testing is carried out along with development
In traditional structure testing is considered as a quality gate for production, where testing is done at the last stage and a week before production bug prioritization calls starts to happen, which at times results in pushing the release further. On the contrary agile teams doesn’t wait for last week, they starts working on product in coordination with testing teams to provide regular and continuous feedback.
Another principal of agile testing says keep the code clean, since buggy software is hard to test, this principle says eliminate waste to minimum. Fix bugs within an iteration and don’t push it for next cycle. A user story is said to be completed only after all the defects are closed.
Agile testing principle says it’s not only tester’s responsibility to test the deliverable but it’s everyone’s responsibility.
Agile testing also contest less documentation, it say instead of having too comprehensive documents have light weight documents. Have a checklist alongside few established test scripts rather than having step by step guide to execute the test case.
So what happens to all the traditional software testing methods, types and artefacts? Do we throw them away?
The answer is No! You will still need all those software testing methods, types and artefacts (but at varying degrees of priority and necessity). You will, however, need to completely throw away that traditional attitude and embrace the agile attitude.
I think few of the misconceptions about layering off the testing teams in the firm are cleared now.