Agile testing for large projects
-
Upload
gaoliang641 -
Category
Technology
-
view
143 -
download
4
Transcript of Agile testing for large projects
Agile Testing for Large ProjectsA practical Exmaple
Liang Gao
以色列空军信息管理系统 Mission Critical 整个项目全部采用 XP开发
概况
以色列空军信息管理系统 负责以色列空军日常运作与信息安全 得到党和国家领导人的多方关注
Mission Critical 整个项目全部采用 XP开发
概况
No “Deliver to QA“ No “Meeting the QA criteria for delivery” No ”Bug Priority” Short release Fully test in every two weeks Developer perform all regression at every cycle All Bugs fixed in each cycle “Planning Game” practice XP’s “Whole team” and “Site-together” practice
Conforming To XP
Detailed documentation required Use professional testers for full acceptance
test (User test) TDD (test driven development)
1st line of code is a test case Test automation at the every step of the
development Unit test Real user simulation
Variation To XP
Everyone tests Developer Business analysis Customer
Product size = test size Untested work = no work
Test Design and Execution
Eliminate dedicate tester bottleneck Increase developer test awareness more
corner case thinking better quality code coding for testability in nature
Everyone tests
Overall development progress = testing progress
Test size is more correlated with complexity than line of code
Strong signal to the whole team: only features after a fully regression at each iteration care counted as delivered product size.
Product size = test size
In all channels under all conditions In each iteration review, untested work = failure After 2 releases
90% of developer think acceptance and system test is important
33% of developer are very interested or interested in taking a lead role in acceptance test
60% of developers are interested in leading system test
Untested work = no work
Ease testing bottleneck
Code less, Test more
Isolation claims Testers should be separated from developer Only test on specifications, not something
“unofficially told” by developer Testers need not to be affected by developer
words Interaction
Shall we do more interaction between developers and testers?
Interaction or Isolation
Isolated testers only found minor defects on this project (developers did more testing already) 2 minor bugs in 2 weeks
Interaction or Isolation - finding
Integrate testing and coding Testing and coding time are usually equal Example : 5 hours specification, 10 hours coding,
10 hours testing
Active Planning
Regression as global effort – requires separate planning Run on each iteration’s last day Workload divided among each team members
Active Planning
Allocate bug-fix time globallyActive Planning
Team centered approach Fix Defects ASAP
Defects Management
Anyone in team can open Anyone in team can close Anyone in team can assign Sit-together reduce junk and duplicate defects
Team centered approach
Average time to fix a defect is about 1 hour Remain constant even project grows with
complexity No need to prioritize bugs!
Fix Defects ASAP
Fix Defects ASAP
Agile Practice Cost of Curve
Average Bug Fix Time Per-iteration
平均 Bug寿命
A successful project Full regression and testing at each iteration All bugs are fixed
Summary