Agile Testing

Agile Testing

Testers do more than perform “testing tasks.” 

Before I talk about Agile Testing, I would like to define an Agile Tester. In an agile team, anyone can be an agile tester. A team member who work to ensure that their team delivers the quality their customer need. 

Agile Testing

Agile Testing is closely related to the common Agile Development jargon. Agile Testing is both iterative and incremental.

This means that the testers test each increment of coding as soon as it is finished. An iteration might be as short as one week, or as long as a month. The team builds and tests a little bit of code, making sure it works correctly, and then moves on to next piece that needs to be built. Programmers never get ahead of the testers, because a story is not “done” until it has been tested.

Detailed functional test cases, ideally based on examples provided by business experts, flesh out the requirements. Testers will conduct manual exploratory testing to find important bugs that defined test cases might miss. Testers might pair with other developers to automate and execute test cases as coding on each story proceeds. Automated functional tests are added to the regression test suite. When tests demonstrating minimum functionality are complete, the team can consider the story finished.

The most critical difference for testers in an agile project is the quick feedback from testing. It drives the project forward, and there are no gatekeepers ready to block project progress if certain milestones aren’t met.

Agile Testing Team Approach

With agile, it’s not only the testers or a quality assurance team who feel responsible for quality. We don’t think of “departments,” we just think of the skills and resources we need to deliver the best possible product. The focus of agile development is producing high-quality software in a time frame that maximizes its value to the business. This is the job of the whole team, not just testers or designated quality assurance professionals. Everyone on an agile team gets “test-infected.” Tests, from the unit level on up, drive the coding, help the team learn how the application should work, and let us know when we’re “done” with a task or story.

The whole-team approach involves constant collaboration. Testers collaborate with programmers, the customer team, and other team specialists—and not just for testing tasks, but other tasks related to testing, such as building infrastructure and designing for testability.

The whole-team approach means everyone takes responsibility for testing tasks. It means team members have a range of skill sets and experience to employ in attacking challenges such as designing for testability by turning examples into tests and into code to make those tests pass. These diverse viewpoints can only mean better tests and test coverage.

Resources for this post taken from:

Agile Testing: A Practical Guide for Testers and Agile Teams
By Lisa Crispin; Janet Gregory
Publisher: Addison-Wesley Professional
Pub. Date: December 30, 2008
Print ISBN-10: 0-321-53446-8

 

Bob Small

Lead Architect for Data Science in Test

9 年

Interesting, a good synopsis.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了