Post on 10-May-2015
description
Agile test? Test agilely?-Personal conclusion about test and agile
Xuebin MA 2012.10.4
Outline
TestBe agileAgile Test?
Outline
TestBe agileAgile Test?
V model http://en.wikipedia.org/wiki/V-Model_(software_development)
Tests during dev processDesign phase
Review or other static test methods
Coding phase
Unit test
Test phase
Integration test, functional test, system test, QA, user acceptance test...
Regression test, smoke test, stress test, performance test...
Disciplines(?)
Test to keep quality from the beginning
The earlier phase you test, the easier to find bug
The earlier you find the bug, the lower cost to fix
More tests, less bugs (not linearly!)
Strategy
As resources are always limited, test strategy should be built by fixing or trying to fixing the followings:
test objective, test approach, total test time, test priorities, test schedule, test closure
Approach or MethodWhite box
Control flow test, data flow test
Code coverage (c0, c1, c2)
Black box test
boundary value analysis, all pair testing, state transition graph or tables, decision table tests, specification tests...
Outline
TestBe agileAgile Test?
Agile Software Developmenthttp://en.wikipedia.org/wiki/Agile_software_development
Not a sliver bullet!!! No common solution
Different projects need different agile solution
Process is needed
Rome was not build in one day
Retrospective is needed
Improve by find and fix problem agilely
Agile in my opinion
We have many weapons
XP, scrum, daily stand meeting, Kanban, velocity tracking, retrospective meeting...
TDD, automation, continuous delivery, emergent design, lean software development...
Find problems and solve them with above weapons agilely in every iteration
Agile VS other methods
Not enemy relationships!!! ‘Standing on the shoulders of giants’
Always be improving agilely, comparing to other methods and agile method itself
Outline
TestBe agileAgile test
Agile test
Following V model in one agile iteration seems very difficultBut no step can be jumped and these tests must be doneProblems become how to adopt these tests in one or several iterations
Solution
No common or best solution!!! Only have better solutions
SolutionsTDD would be a good choice
Flexible and agile test strategy
Info share in team (dev and test)
Emergent design
XP, especially at design phase
Adjust test priorities for every iteration (scrum)
Test automation, continuous delivery ...
In another word
Agile test is test agilely ^_^
Always improve Always advance