Agile Testing methodology




Agile Testing has gained a lot of importance and popularity these days, where testing requirements keep changing according to the customer needs. It is done parallel to the development activity where the testing team receives frequent small codes from the development team for testing. When it comes for testing:

 




What is Agile Testing?
Agile testing is incremental testing process in which software requirements are gathered throughout the testing process. Agile Testing is a part of the Agile Software development and testing process which is carried out with the help of customer’s involvement. The agile testing process starts at the beginning of the software development and testing processes.
In Agile, the development, testing team and the customers all are involved.
There is very little documentation required in Agile Testing all the testers create and use the checklist instead of lengthy documents. Testing is performed after the software is developed. Agile testing is performed along with the development process which helps reducing development time.
 

There are various different methods to perform Agile Testing:

1.     When the sprint starts, the QA team is involved in requirement analysis, and seeking clarifications on requirements from the client or the Product Owner.
2.     When developers start developing items for the sprint, the QA team prepares the test scenarios to be tested and the test cases for the sprint items.
3.     Finally, the QA team tests the items for the sprint.

Working as a QA person in Agile team is challenging. 

1.     Changing requirements: Last minute changes in requirements are a very common scenario in an Agile. But if requirements change towards the end of a sprint when there is no time left, it becomes an overhead.
2.     One-line user stories: Sometimes the user stories may have some idea of what features are required, but in the details of the requirement are not clear. In such situations, we get a high level user story in the form of a single line, it becomes challenging for a QA person to cover the all test scenarios.

3.     Absence of developer comments in a task/user story: When a task or user story is implemented, it is passed over to QA for testing. It becomes very important for the developer to write a note/comment on respective PBI/task for QA. What actually has been implemented, along with the deployment. It saves lot of time and effort for QA.

4.     Lack of communication: Communication is a very important aspect in Agile. Without communication, no process can work, lack of communication, major issues or bugs are not identified early or production side bugs are observed by client/users. For example:-  The new code could introduce a new bug(lack of communication because QA is not aware the new features or change request.

5.     Frequent regression cycles: Code pushed by developers continuously, the new code breaking existing features is much higher. To overcome this, testers need to run the regression tests every-times.

How to Overcome These Challenges

1.     QA person should perform risk analysis and test the highest priority functionalities first.

2.     QA people need all the minute details of each requirement to start testing. So, start with high level scenarios first and ask as much as questions as you need to, and clear the all doubts.

3.      If the new changes has comes then QA must know the all the new change/request and must know the all impacted areas with new changes/request.

4.     If someone lacking or not cleared the functionality or new change request, then other member of team can clear the functionality or change request to other team member.







Comments