Agile testing emphasizes:
- Collaborative, integrated teams that test early and often throughout development;
- Frequent deliveries of working software that is tested as part of being "done";
- The ability to adapt testing to changing business needs.
Some key principles of agile testing include shifting the focus of testing from the last phase to being integrated throughout development, having everybody on the team test rather than just designated testers, reducing the latency between implementing code and testing it, and treating bugs as issues to be fixed quickly rather than letting them linger.
Effective agile testing incorporates practices like automated unit and integration tests, test-driven development, automated system-level regression tests, acceptance test
2. One Slide Agile Overview
Agile ….
• is an umbrella term coined in 2001 at “Snowbird” meeting
to describe a variety of methods including XP and Scram
• has its roots in iterative development
• emphasizes collaborative, integrated teams; frequent
deliveries; and the ability to adapt to changing business
needs
7. Reduce Feedback Latency
Long gaps between implementing and testing increase
risk and waste. Agile teams test early and often.
8. Tests Represent Expectations
The Challenge is to find the balance point between
testing for implicit expectations and making up
requirements as yo go.
9. Bugs Don’t Hang Around
Buggy Software is harder to test, harder to modify, and
slows everything down. Keep the code clean. Fix bugs fast
14. Automated Unit/Integration Tests
are code facing, written by
programmers in support of the
programming effort
are (usually) created using one of
the xUnit frameworks
Express expectations of internal
behavior of the code
Isolate the element(s) under test
Execute quickly
Are executed often, with every
change
16. Automated System-‐Level Regression Tests
Are business-facing, written by
various members of the team in
collaboration
Express expectations about
externally verifiable behavior
Are (mostly) end to end
Represent executable
requirements
Execute as part of the continuous
integration process
17. Acceptance Test Driven Development (ATDD)
ATDD cycle model by Jim Shore with changes suggested
by Grigori Melnick, Brian Mericl and Elisabeth Hendrickson