Wednesday February 22, 2012
With Agile testing gaining importance to deliver high quality products that keep the customers content, it is imperative to understand the Agile testing quadrants and how it can help you perform Agile testing better.
These quadrants can help the whole team communicate better and deliver a high quality software product by adapting to changing requirements and developing in iterations. Another advantage of the quadrants is that they can explain the whole testing in common language that is easy to understand.
Agile Quadrant I consists of test cases that are technology driven and are performed to support the team
This quadrant focuses mainly on internal code quality. The unit testing done in this quadrant acts as an initial safety net for the product and helps developer get the story right. By performing the tests in Q1, instant feedback about the product can be obtained. When Test Driven Development is adapted, design becomes better and stronger. The testability is build into the code in this quadrant. Very few bugs will be found after coding is done. The kinds of tests in this quadrant are –
1. Unit Tests including testing a piece of code and ensuring that it fulfills the requirements.
2. Component Tests including testing architect intent and ensuring that components work together.
Agile Quadrant II consists of test cases that are business driven and are performed to support the team
This quadrant focuses on eliciting the requirements. In this quadrant, developers can code as long as the test cases give the expected results. The test cases are business facing and so development is driven keeping the business objectives in mind. The objective of this quadrant is to obtain enough requirements so that coding can commence without any hiccups. An increased customer-tester-developer collaboration is possible in this quadrant. The kind of tests in this quadrant are –
1. Testing of examples of possible scenarios and workflows.
2. Testing of User Experience such as prototypes.
3. Pair testing.
Agile Quadrant III consists of business facing test cases that critique the product
The main focus in this quadrant is to provide feedback to quadrants one and two. This quadrant enables one to learn as test progresses. The test cases can be used as the basis to perform automation testing. The product can be evaluated since realistic use of the product is kept in mind in this quadrant. The process can be changed as needed. The many number of iteration reviews in this quadrant builds confidence in the product and ensures the presence of a quick feedback loop. The demo can be given even on unfinished code to gain insight into the working of the product. Exploratory testing can be paired with the customer. The kind of tests in this quadrant are -
1. Exploratory Testing
2. Usability Testing
3. Pair testing with customers
4. User Acceptance Testing
5. Collaborative Testing
Agile Quadrant IV consists of technology driven test cases that critique the product
This quadrant focuses on the non-functional requirements such as performance, security, stability etc. This quadrant is responsible to deliver the ultimately finished product. The application is made to deliver the expected value and non-functional qualities with help of this quadrant. Kind of tests in this quadrant -
1. Non-functional tests such as stress and performance testing
2. Security testing with respect to hacking and authentication.
3. Infrastructure testing.
4. Data migration testing.
5. Scalability testing
6. Load testing
Depending upon the project requirements, scope, risks and priorities, the quadrants need to be chosen and implemented. Appropriate tools also need to be selected to assist and carry out the testing. Implementing the quadrants help in collaborating the efforts of programmers, testers and customers. Knowing when to use the quadrants and how to implement them together is to be decided by the test team.
To experience agile quadrants in your testing cycles, download TestingWhiz now!