agile testing – is it for me and how are others doing it?
DESCRIPTION
This is a 45 minute introduction to agile testing. The slides are "speaking slides", which means that they should be accompanied by an oral presentation and may not be all that easy to comprehend without context.TRANSCRIPT
Agile Testing – Is it for me and how are others doing it?
2013-11-07Alexander Tarnowski
alexander_tar
blog.crisp.se/author/alexandertarnowskiBlog
www
www.techbookreader.com
Agenda
Agile testing – Introduction
Case studies
State of the industry
Questions
What
How
Optional
Agile Manifesto – Some principles
• Our highest priority is to satisfy the customerthrough early and continuous deliveryof valuable software.
• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
• Working software is the primary measure of progress.
• Simplicity--the art of maximizing the amount of work not done--is essential.
Working in an agile context
5
Agile methodologies
Scrum• Transparency• Inspection• Adaption
XP• Communication• Feedback• Simplicity• Respect• Courage
Lean Software Development• Eliminate waste• Build quality in• Create knowledge• Defer commitment • Deliver fast• Respect people• Optimize the
whole
Working in an agile context
Agile practices summarized
• Working software delivered frequently• To provide business value as early as possible• By cross-functional teams• That learn and improve
Working in an agile context
Practices
Overview of agile testing
The whole team owns the quality
Testing is a supporting activity
Deliver software instead of written
artifactsAutomation
Definition• Agile testing = testing
performed in an agile team
Expected outcome• The team delivers
high-quality software
Testing is a supporting activity
Image courtesy of cooldesign / FreeDigitalPhotos.net
Test to: 1. Gather information and find defects2. Help the team move fast and stay safe
9Image courtesy of Feelart/ FreeDigitalPhotos.net & http://www.aha-soft.com/
Software construction is like building: Step 1: Build according to blueprint Step 2: Inspect for defects
”Done” code
Bug report
Testing is a supporting activity
HandoversCommunication barriersUs-them
Programmer
Tester
The developer and tester mindsets
I program (create),but I suffer from creator’s bias.
I test (break) and am a critical thinker, who sees the whole.
Testing is a supporting activity
David the Developer
Terry the Tester
The fundamental test process• Determine scope and risks and identify the
objectives of testing.• Determine the test approach.• Implement the test policy and/or the test
strategy.• Determine required test resources.• Schedule test analysis and design tasks,
test implementation, execution and evaluation.
• Determine the exit criteria.• Measure and analyze the results of reviews
and testing.• Monitor and document progress, test coverage
and exit criteria.• Provide information on testing.• Initiate corrective actions.• Make decisions.• Identify test conditions.• Design the tests.• Evaluate testability of the requirements and
system.• Design the test environment set-up and
identify and required infrastructure and tools.
• Develop and prioritize our test cases by using techniques and create test data for those tests.
• Create test suites from the test cases for efficient test execution.
• Implement and verify the environment.
• Execute test suites and individual test cases following the test procedures.
• Re-execute the tests that previously failed.
• Log the outcome of the test execution and record the identities and versions of the software under tests.
• Compare actual results with expected results.
• Check the test logs against the exit criteria specified in test planning.
• Assess if more test are needed or if the exit criteria specified should be changed.
• Write a test summary report for stakeholders.
• Check which planned deliverables are actually delivered and to ensure that all incident reports have been resolved.
• Finalize and archive testware for later reuse.
• Handover the testware to maintenance. • Evaluate how the testing went and learn
lessons for future releases and projects.
Testing is a supporting activity
Agile testing quadrants
Testing is a supporting activity
The whole team owns the quality
• Every team member is responsible for the quality• Team members that are professional testers may
have more experience in doing this• Testing activities are estimated just like other
tasks
The whole team owns the quality
Done Done Done More DoneIn progressTo do
Do agile teams require testers?
• Develop code test-first or well unit-tested• Write integration tests• Practice CI• Create and maintain the automation layer• Testing sessions (with some training and facilitation)
The whole team owns the quality
• Provide a holistic view of the application• Exploratory testing • Specialized testing• Create the ”nasty” test cases
Dev
elop
er w
ork
Test
er w
ork
Good enough?
Does a tester on an agile team have to be a techie?
The whole team owns the quality
Deliver software instead of written artifacts
The Bug Reporting System
• Holds detailed information • Knowledge base• Supports distributed teams
Deliver software instead of written artifacts
Metrics
Deliver software instead of written artifacts
Lines of code
Defects during development
Defects in production
Coverages
Cycle time
19
The test strategy
Deliver software instead of written artifactsImage Flickr commons/The Swedish National Heritage Board
Automation
• Keeps the amount of work ”constant”• Agile teams must automate to maintain their
velocity
Automation
2-4 week iterations
Tedious work
Developer work
Refactoring
Regression testing
Automation
A B A B
C
A B
C
D E
Iteration 3Iteration 2Iteration 1
Time
Features
Parachuting a tester into a development team
The agile tester
An agile tester – True or False
Gathers and shares informationHelps the customer to express requirementsActs a quality police officer that protects the customer from bad codeProvides feedbackCommunicates through a defect tracking systemConstantly improves and learns
True False
The agile tester
alexander_tar
blog.crisp.se/author/alexandertarnowskiBlog
www
www.techbookreader.com
Questions