Effective Testing in Agile Projects V1.0 download Testing in Agile... · Effective Testing in Agile...
Transcript of Effective Testing in Agile Projects V1.0 download Testing in Agile... · Effective Testing in Agile...
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 1
1
Effective Testing in Agile Projects
Agile Tour 2011
Fran O’Hara
Inspire Quality Services
e: [email protected]: www.inspireqs.iet: +353 (0)1 2854510
© 2011 Inspire Quality Services
2
Inspire Quality Services
We provide Agile, Quality and Process Improvement Services such as
� Consulting/Coaching:– Strategic advice and hands-on Coaching/mentoring in areas such as agile, testing, process
improvement, etc.
� Training public/inhouse:– Agile: Certified/Advanced ScrumMaster, Succeeding with Agile/Scrum, Agile project
management, Agile Testing, Product Owner training, Lean/Kanban, etc.
– Testing (ISTQB Foundation and Advanced Test Manager/Analyst, Risk-based testing, Test design techniques, Testing for developers, TMap®, Peer Reviews, UAT, etc.)
– Requirements/Business analysis
– Software project management
� Assessments– Agile practices
– Industry standards and models such as CMMI®, TPI®, TMMi®, etc.
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 2
3
Agenda
� Introduction to Agile/Scrum
� Test challenges with Agile/Scrum
� Agile Test Strategy & Automation
� Role of the tester
� Q&A
4
Raise hands and keep raised if …..
� You have heard of Agile and Scrum
� You have at least a reasonable sense of what they mean
� Your organisation has tried Agile
� You have been directly involved working in Agile team(s)
� You work specifically in Agile Testing
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 3
5
Agile Manifesto
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
– Individuals and interactions over processes and tools
– Working software over comprehensive documentation
– Customer collaboration over contract negotiation
– Responding to change over following a plan
“That is, while there is value in the items on the right, we value the items on the left more.”
6
Resources Schedule
Scope/
Requirements
Plan Driven
FIXED
ESTIMATED
Resources Schedule
Scope/
Requirements
Value Driven
QualityQuality
Flipping the Iron Triangle
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 4
7
8
Scrum
See www.controlchaos.com
Roles:
-Scrum master
-Scrum team
-Product owner
Retrospective
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 5
9
User stories - CCC
As a <role>
I need <action>
so that <result>
Card
As a customer I search for
users so that I can view their
details
Value: Med
Risk: LowEstimate: 3 pts
Conversation
Confirmation•I can find users
•I can use any search
criteria I need
•Once found I can view
details
•….
� Independent
� Negotiable
� Valuable
� Estimable
� Small
� Testable
INVEST
BDD:
In order to <benefit>
As a <role>
I want <functionality>
10
Agenda
� Introduction to Agile/Scrum
� Test challenges with Agile/Scrum
� Agile Test Strategy & Automation
� Role of the tester
� Q&A
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 6
11
Typical test/quality related challenges
Non-functional issues
Developer buy-in for shared quality
ownership
‘Agile’ without sufficient customer
involvement
Insufficient focus on working software –
stories not ‘done’
Lack of technical expertise in test
team
Quality of unit tests
Testing bottleneck
Ineffective incremental test
strategy
Hybrid implementations
Integration Testing
Effectiveness of automated
tests
Role of the tester and
test manager
Distributed development
Effectiveness of automation strategy
12
Agenda
� Introduction to Agile/Scrum
� Test challenges with Agile/Scrum
� Agile Test Strategy & Automation
� Role of the tester
� Q&A
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 7
13
Agile Test Strategy
� Risks– Similar product risks
– Regression risk with high level of change
� How many test levels?– XP appears to advocate two as part of a predefined test strategy
� Unit and Acceptance (both automated as part of Test Driven Development)
� Is system test no longer required?
– Automation reduces regression risk
– Developers doing testing reduces risk of poor quality code
– But how can a test strategy/approach be method rather than product based?
14
‘Acceptance’ Testing – is it enough?
� May not be…context/risk/strategy issue…
– May not be fully automated – partial regression strategy needed
– Expand to fuller ‘system’ tests
� Functional testing
� Non-functional testing – performance, usability, etc.
– May still need end-to-end business scenario focused User Acceptance test, user story interaction tests, etc.
– System integration testing issues
– Etc.
� Strategy and scheduling issue
– Adaptive, risk-driven
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 8
15
Agile Testing Quadrants
16
Testing within a Sprint
Automated
Acceptance/Story
based
Tests
Automated
Unit
Tests
Manual
Exploratory
Tests
Represent Executable
requirements
Represent Executable
Design specifications
Provides
Supplementary
feedback
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 9
17
Sprints and Testing Strategy
Sprint 1
Dev + Test*
Sprint 2
Dev + Test*
Sprint 3
Dev + Test*
Additional testing Additional Testing
*Sprint test = Automated Unit & Acceptance, Manual Exploratory
Within a Sprint may need to perform additional testing as part of a defined but adaptive testing strategy e.g.:
– Additional exploratory testing
– Performance testing
– Usability testing
– Security testing
– System integration testing
– Combination/feature interaction testing
– Business cycle & end-to-end scenario testing – exercising multiple stories, end of month processing, etc.
� Note: Ideally any testing needed should be included within the Sprint rather than being deferred….otherwise are we defining one ‘Done’ for Sprints and another for Release…?
Working software!!
Additional testing
…
18
Can we avoid Stabilisation Sprint(s)?
Not part of Scrum but sometimes used for:� Less normal new features, more focus on integration, extra testing…� More integration testing, non-functional requirements testing…� During “regular” sprints target friendly first use
– Beta customers and similar can use immediately after sprint� During “stabilization sprints”
– Team prepares a product for release– Useful during
� active beta periods� when transitioning a team to Scrum� if quality isn’t quite where it should be on an initial release
� Not ideal though….
Sprint 1 Sprint 2 Sprint 3Stabilization
Sprint
Sprint 5 Sprint 6 Sprint 7Stabilization
Sprint
Scrum
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 10
19
Test Driven Development
� Probably the most effective single practice to improve quality
� Never write a single line of code unless you have a failing automated test
� Eliminate duplication
Kent Beck
� Write the test
� Write the code
� Refactor
20
Test Driven Development
� Can be applied at all levels of test e.g. – Unit : Drives design executable design specifications
� ‘Does the code do what the developer intended’
– Acceptance: Defines completion executable requirements� ‘Does the system do what the Customer requires’
� Preventative/early testing – not new… but many benefits
� Testing takes on a specification role– A feature is not specified…
� Until it’s acceptance test is written.
– A feature is not done…� Until all it’s acceptance tests pass.
– Acceptance and Unit tests become key requirements/feature and design artefacts
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 11
21
Acceptance Testing
� Automated Acceptance Testing
– Design and Code for automation, cross functional test design workshops, separate test design from implementation…
– Tools/Frameworks e.g.
� FIT/Fitnesse
� Cucumber - for Behaviour driven development
� WatiR – web application testing in Ruby
� Selenium – record/playback and scripting for web testing
– Will still need exploratory testing for UI layer…
Web Server
Web BrowserAutomation Library
Web Server
Web BrowserAutomation Library
22
The Automation Pyramid
Unit
API/Service
GUI
Manual
tests
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 12
23
Agenda
� Introduction to Agile/Scrum
� Test challenges with Agile/Scrum
� Agile Test Strategy & Automation
� Role of the tester
� Q&A
24
‘The nature of the tester's role changes in iterative projects. We are no longer the high-profile victims, we are no longer the lonely advocates of quality, we are merely (!) competent service providers, collaborating with a group that wants to achieve high quality. ‘
Cem Kaner
Dedicated testers bring two benefits:
� Focus on customer usage over technical implementation
� Focus on uncovering flaws over confirming completeness
(Bret Pettichord)
Role of tester
Agile Tour 2011 01/11/2011
© Copyright Inspire Quality Services 2011 Page 13
25
� Involved continuously from start…e.g.– Facilitate communication between the technical &
business stakeholders
– Support early validation of requirements
– Help the Customer/business stakeholders define acceptance criteria
– Support creation of automated acceptance tests� Or define for developers to script
– Expand scope of ‘acceptance’ tests � see agile testing strategy
– Advise the team about overall risks and trends
– Perform manual/exploratory tests
Role of tester
26
Questions/discussion-
your testing challenges and
experiences...
Contact Details: