In agile, testing is different than in traditional methodology. Agile testing means you are testing in an environment of constant change and flow. One key aspect of Agile testing is that it happens all the time, as opposed to just testing at the end of the development cycle. Agile testing is not a separate phase of development.
In traditional projects, the independent testers are responsible for all test activities. In Agile, getting the testing done is the responsibility of the whole team. Yes, testers execute tests. Developers do too. The role of a software tester in an Agile environment goes beyond “just testing” and logging bugs.
It is more about working as part of a development team and working closely with the product owner. The tester works with everyone in the team in order to improve and increase quality of the product as early as possible.
Agile testing tips; what to know & do in an agile project
Remember, testers are team members. A tester communicates more in an agile environment, in fact, usually he becomes very communicative within the team without even realizing it. Agile testers need to communicate as much as possible with the rest of the team to keep them informed of what is found. It’s always very important to talk with PO’s to resolve any misunderstandings on new stories and never leave questions unanswered. The acceptance criteria must be complete in order to ensure you fully understand what the feature/story wants to achieve. Also, talking with developers is key when it comes to improve testability of a feature.
Learn about lightweight documentation and how to strike a sensible balance between working software and documentation. Inform yourself about which documents are necessary as well as the documents you can live without. In environments that are more traditional, people are asked to create some sort of a requirements document, or maybe a design document or even a project charter. Instead of writing verbose, create lightweight documentation; comprehensive test documentation. Documentation can take many different forms. It is not only a word document, it can be on a wiki, in the Agile planning tool, as comments in code, and much more.
Requirement changes and updates are inherent in agile methods, making it the biggest challenge for testers. You need to learn about software. A tester in a cross-functional, self-organized and collaborative team knows how relevant technical skills are. Beside preparing and positioning himself for technical input when required, a tester also has to work with developers and PO’s; he can be seen as contributing to get issues resolved and moving. Contributions could be code review, requirements/user stories grooming or coding where it is tenable. He does pretty much everything as part of the team. The tester is involved because he knows he must be part of a team that delivers value at the end of every sprint.
It is great for a tester to have automation skills. So you better pick up this skill as soon as possible. Use automation tools for regression tests. The reason it’s so important to automate tests is that the number of test cases at the system testing level will continue to grow when adding a new functionality in each sprint and testers can put their energy into testing areas of new functionalities where a human touch is primordial. With automation regression tests, it is easy to think that you should automate all regression tests, and that it should be done immediately. Of course this is not economically justifiable; it is not advisable to automate everything right away because manual testing will continue to play a major role. You need to find the balance between automation costs and the delivered value.