Professional Documents
Culture Documents
Agile Test
Development
Hans Buwalda, CTO, LogiGear Corporation
Scope of this Workshop
• Requirements
• Design
• Development
• Testing
• Release
• Develop tests
• Release
• Low criticality
• Senior developers
• objectives change very often
• Small number of developers
• Culture that thrives on chaos
* Barry Boehm and Richard Turner
Balancing Agility and Discipline: A Guide for the Perplexed
Addison-Wesley, 2004
• High criticality
• Junior developers
• Low objectives change
• Large number of developers
• Culture that demands order
Testers Stakeholders
AUTOMATION
SYSTEM DEVELOPMENT
Developers Stakeholders
number quantity
add quantity P-9009 20
add quantity P-9009 3
add quantity P-9009 6
number quantity
check quantity P-9009 34
function action_AddQuantity
....
end
…
add quantity function action_CheckQuantity
check quantity ....
new product end
…
function action_NewProduct
....
end
© 2009 LogiGear Corporation. All Rights Reserved
Example of a Test Module
test objective
test objective
Actions
ACTION AUTOMATION
© 2009 LogiGear Corporation. All Rights Reserved
Role of Automation
• Straightforward Criteria
– Architecture of the system under test (which part are we testing)
– Functionality and other objectives
– Kind of test (navigation flow, quality attributes, ...)
– Ambition level (smoke test, regression, requirement based,
aggressive, …)
• Additional Criteria
– Stakeholders
– Complexity of the test
– Technical aspects of execution
– Planning and control
– Risks involved
– Code hand-offs
© 2009 LogiGear Corporation. All Rights Reserved
Properties of a good Breakdown
• But condensed
See it all . . .
...
TR-3.51 The exit date must be after the entry date
...
and
TEST TEST
OBJECTIVES relate CASES
• Low criticality?
– for test development I would recommend an agile approach especially when
criticality is high
• Seniority test developers?
– experience welcome
– domain knowledge welcome
– communication welcome
– creativity, diligence, aggressiveness welcome
• Objectives change very often?
– project circumstances and specifications change often
– need to anticipate unexpected "jungle" issues
• Small team?
– this can apply to successful test development as well
• Culture that thrives on chaos?
– test teams need to be set up to expect the unexpected
• in the system under test
• in its environment
• in the project environment
© 2009 LogiGear Corporation. All Rights Reserved
Relation to system life cycle
• In a waterfall project:
– agile test development can still follow an agile approach
– when automation is involved this is my preferred approach
regardless of the main project
• In an agile project:
– keep in mind there are three tasks:
• system development
• test development
• automation development
– whether these go in the same prints depends on practical
circumstances, most of all on levels of interdependency
• can be different from test module to test module, high level ones
often don't care about system details
• in the automation the platform handling and the low level actions are
often independent
• Major IT company
yes
END