Ten Principles for Agile Testers
這是Agile Testing: A Practical Guide for Testers and Agile Teams 一書中, Lisa Crispin所整理, 有關agile tester應該有的十項原則. Enjoy it
1. 持續提供feedback
- The agile tester is central to providing the team with feedback: Acceptance criteria is the most concrete way to measure positive progress on an agile project.
- Tests also help identify issues and capture decisions on appropriate future direction.
2. 要能提供客戶value
- The insistence on acceptance tests is a "reality check" on scope creep.
- Acceptance tests help us all understand what it means to realize a customer's needs.
3. 要能面對面溝通
- Testers can often be the ones on a team responsible for bridging the communication gap between customers (BAs, product owners, etc.) and programmers.
- A tester can be the one who physically brings these people together, as well as the one who drives derivation of a common language between the two parties.
4. 要有勇氣面對問題
- One of the larger challenges of agile is in sustaining a fast-paced iterative environment, where every two weeks we need to ship quality software.
- This challenge demands significant courage.
- Yet the irony is that we also need to understand that iterations afford us opportunities to learn how to fail and adapt--something that can require an even heavier dose of courage!
5. 保持簡單
- Agile testers can help push back against an insistence on overly-elaborate features.
- Testers can also help the customer understand how to incrementally deliver value.
- They must learn an appropriate balance of iterative testing-- just enough to provide the right confidence in delivering software.
6. 能做到不斷改善
- A key element of using iterations is to allow for learning to take place.
- Testers should be part of retrospectives (and if you're not consistently adapting based on the results of retrospectives, you're not agile enough.)
- Testers should also treat their career as a profession by continually learning more about testing practices, tools, and the system itself.
7. 面對改變能及時反應
- Agile testing is dramatically different in that there are few true "cutoff points"--things keep changing and thus must be continually re-tested.
- This requires automation! The agile tester learns to cope with the customer changing his or her mind from iteration to iteration, and correspondingly learns how to incrementally flesh out necessary testing specifications.
8. 自我變革
- In a true agile team, everyone has the capability to act as a tester.
- Agile teams know how to shift focus as needed; from time to time, for example, it may be prudent for programmers to turn their attention toward helping verify a "done" but not "done done" feature.
9. 著重於人而非程序
- Testers are often at the bottom of the totem pole in a non-agile software development team.
- Work is thrown at them, their available slice of time is continually squished, and programmers often look upon them as lessers.
- In an agile team, every shares the responsibility for ensuring that we are building quality product.
- Agile testers are key in bringing their testing expertise to the team.
10. 要能樂於其中
- The ability to help drive the process and be a true, equal contributor to a team can be extremely gratifying for an agile tester.
留言列表