Introduction to Agile Testing
Introduction to Agile Testing
Agile Testing
Welcome
Philip Juhl
INTRODUCTION & EXPECTATIONS
Purpose of Testing
Quality assurance
Test-driven development
Align expectation
Get confirmation
Measure progress
Measure quality
What do we want?
Adjust or What do we
Continue want?
Purpose of Testing
Quality assurance
Test-driven development
Change- Code
advisory board freeze
Component Component test
Implementation
Requirement Implementation
Phase Phase Test Phase
Time
PROJECT SIZE AND SUCCESS-RATE
59%
56%
31%
18% 19%
9%
Cynefin framework
AGILE ONION
- Mindset
- Values
- Principles
- Technics
- Tools
MANIFESTO FOR AGILE SOFTWARE DEV.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to
the shorter timescale.
Business people and developers must work together daily throughout the project.
The most efficient and effective method of conveying information to and within a development team is
face-to-face conversation.
Agile processes promote sustainable development. The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
HOW DOES THESE PRINCIPLES AFFECTS TEST
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference
to the shorter timescale.
Business people and developers must work together daily throughout the project.
The most efficient and effective method of conveying information to and within a development team is
face-to-face conversation.
Agile processes promote sustainable development. The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
SCRUM
The Scrum Team is responsible for all product-related activities from stakeholder collaboration,
verification, maintenance, operation, experimentation, research and development,
Scrum Teams are cross-functional, meaning the members have all the skills necessary to create value
each Sprint.
Developers are the people in the Scrum Team that are committed to creating any aspect of a usable
Increment each Sprint.
HOW DOES AGILE AND SCRUM AFFECT TEST?
AGENDA
Purpose of Testing
Quality assurance
Test-driven development
1:2
2:1
1:1
Testers Software-developers
TESTER & SOFTWARE-DEVELOPER RATIO
Testers Software-developers
EXPERIENCE FROM DIFFERENT PROJECTS
Successful projects do not seem to have an ideal
ratio.
Unknown Software
Known defects Defect Testers
defects Developers
released Prevention Test Effort
released Test Effort
Defects
Delivered to
System test
Defects Found
in System test
Can be managed
MULTIPLE FOCUS FOR TESTER Unmanaged effect
Unmanaged negative effect
Perceived
Quality
Unknown Software
Known defects Defect Testers
defects Developers
released Prevention Test Effort
released Test Effort
Defects
Delivered to
System test
Defects Found
in System test
A TRUE STORY ABOUT A DEV. TEAM
SHARED RESPONSIBILITY
AGENDA
Purpose of Testing
Quality assurance
Test-driven development
Known defects
released
Handling bugs that are released as other backlog items
TEST QUADRANT
Business
Technical
AGENDA
Purpose of Testing
Quality assurance
Test-driven development
Natural language,
Language Programming language
Gherkin syntax
Natural language
Story 1 T T C A
C
Analyse
Story 2 T C A
C A
Code
Story 3 A T
C Test
PROCESS WITH BDD
Scope
l
goa
pe from User User User User
sc o
ve story story story story
Deri
3 Amigos
Business goal
ples Illustrate using
m
exa
ine Examples Specifying
Ref
collaboratively
Key examples
Specification with
Examples Validate
Automate frequently
validation Living
Executable Documentation
Specification
From Gojko Adzic - Specification By Example
SPECIFICATION IN GHERKIN-FORMAT
§ Readable for humans
§ Describe behaviour not implementation
§ What we tests and not how we test it
§ Executable for machines
EXAMPLES IN GHERKIN
Feature: Delivery cost
Scenario: VIP customers gets free delivery for orders with 3 or more items
Given the customer is VIP
And the customer has 4 items in the shopping basket
When the customer goes to payment
Then the delivery cost is free
Link
SPECIFICATION EXERCISE
We want to increase the awareness and behaviour of using
Apple Pay for payment transactions. We would like to start
a campaign where the user get a bonus of 50,- DKR if
(s)he makes an Apple Payment with one of his/her’s credit
cards. The campaign is only active for payments that are
completed the first day of the month.
Info:
A user with Apple Pay can assigned more than one credit
card to Apple Pay.
A user can have multiple devices that can be used to pay
with Apple Pay.
SPECIFICATION EXERCISE
1. Assign one to take the Product Owner
role for the Apple Pay story
2. As a team write acceptance criteria for
the functional requirements - You can use
the Gherkin syntax writing scenarios
3. Can your acceptance criteria be used to
split the story?
HOW TO START USING BDD
Purpose of Testing
Quality assurance
Test-driven development
Automation
Transaction cost
Iterations 1 2 3 4
Usability
testing
Acceptance
Guide the team testing Exploratory Criticize the product
Progress/Verification testing Validation
Component Performance
testing Security
testing
testing
Unit-level
testing Manual test
Automated test
Technical
CONSIDERATIONS
d at ing
Up
test
n
entatio t est
m p
not imple Setu
t
i rem
en
m a tisk
Test
requ
t r uc ture Auto kation
e d for le t est-s verif
i
N e s ab
t es ting Reu em ent
r
re
th r equi
New lity ple wi
n c t iona Cou
fu
a n uel
M tion
if ic a
ver
Automate
or
manual
VALUE IN THE SHORT AND LONG TERM
Execution time/cost
value
Time
Fragility
Maintainability
Debug time
AUTOMATION
Cheap
Expensive
Poor Important
Risk Detection
HOW TO GET STARTED
§ Build test strategy together with the team
§ Make Test-automation a team responsibility
§ Avoid “Fast-food” test- tool
§ Encourage test-automation-exercises