24
Agile Testing for Large Projects A practical Exmaple Liang Gao

Agile testing for large projects

Embed Size (px)

Citation preview

Page 1: Agile testing for large projects

Agile Testing for Large ProjectsA practical Exmaple

Liang Gao

Page 2: Agile testing for large projects

以色列空军信息管理系统 Mission Critical 整个项目全部采用 XP开发

概况

Page 3: Agile testing for large projects

以色列空军信息管理系统 负责以色列空军日常运作与信息安全 得到党和国家领导人的多方关注

Mission Critical 整个项目全部采用 XP开发

概况

Page 4: Agile testing for large projects

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

Page 5: Agile testing for large projects

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

Page 6: Agile testing for large projects

Everyone tests Developer Business analysis Customer

Product size = test size Untested work = no work

Test Design and Execution

Page 7: Agile testing for large projects

Eliminate dedicate tester bottleneck Increase developer test awareness more

corner case thinking better quality code coding for testability in nature

Everyone tests

Page 8: Agile testing for large projects

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

Page 9: Agile testing for large projects

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

Page 10: Agile testing for large projects

Ease testing bottleneck

Code less, Test more

Page 11: Agile testing for large projects

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

Page 12: Agile testing for large projects

Isolated testers only found minor defects on this project (developers did more testing already) 2 minor bugs in 2 weeks

Interaction or Isolation - finding

Page 13: Agile testing for large projects

Integrate testing and coding Testing and coding time are usually equal Example : 5 hours specification, 10 hours coding,

10 hours testing

Active Planning

Page 14: Agile testing for large projects

Regression as global effort – requires separate planning Run on each iteration’s last day Workload divided among each team members

Active Planning

Page 15: Agile testing for large projects

Allocate bug-fix time globallyActive Planning

Page 16: Agile testing for large projects

Team centered approach Fix Defects ASAP

Defects Management

Page 17: Agile testing for large projects

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

Page 18: Agile testing for large projects

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

Page 19: Agile testing for large projects

Fix Defects ASAP

Page 20: Agile testing for large projects

Agile Practice Cost of Curve

Page 21: Agile testing for large projects

Average Bug Fix Time Per-iteration

Page 22: Agile testing for large projects

平均 Bug寿命

Page 23: Agile testing for large projects

A successful project Full regression and testing at each iteration All bugs are fixed

Summary

Page 24: Agile testing for large projects