0% found this document useful (0 votes)
7 views

Introduction to Agile Testing

Introduction course to Agile testing

Uploaded by

philip.juhl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Introduction to Agile Testing

Introduction course to Agile testing

Uploaded by

philip.juhl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Introduction To

Agile Testing
Welcome
Philip Juhl
INTRODUCTION & EXPECTATIONS

Overview of different test-practises for Agile teams

Role for a tester and QA manager in an Agile development team

Recommendation and overview of test-practises and test automation


AGENDA

Purpose of Testing

Testing in an agile vs traditional context

Quality assurance

The testers roles

Test-driven development

Input for Test-strategy & Test-automation


WHAT ARE THE VALUES OF TESTING?

Align expectation

Get confirmation

Measure progress

Measure quality

Learn about the system


PART OF THE FEEDBACK LOOP

What do we want?
Adjust or What do we
Continue want?

Build it Describe test


Test Driven
Execute test Describe test
Execute test

Adjust or Continue Build it


DEMING’S CYCLE
MANY FEEDBACK LOOPS
What do we want feedback on How we test it
Code-change integrate with latest source code Check-in, Merge & CI Build
New functionality is correct Functional testing
Existing functionality still works Regression test
We haven’t missed anything Exploratory testing
Integrates correct with other systems System integration testing
Complete workflow is correct End-2-End testing
Implementation is user friendly Usability testing
Implementation is secure Security testing
Works as user expects Acceptance testing
Implementation has the desired effect Validation testing
FEEDBACK LOOPS INSIDE LOOPS

Short delay is better


ALWAYS PUT THE MARSHMALLOW ON TOP
YOUR FEEDBACK LOOPS AND LEAD TIME?

1. What are the feedback loops in your systems(s)


2. What are the lead time?
AGENDA

Purpose of Testing

Testing in an agile vs traditional context

Quality assurance

The testers roles

Test-driven development

Input for Test-strategy & Test-automation


PLAN-DRIVEN IN A REAL ENVIRONMENT
Feedback-time?

Requirement analysis Test report Acceptance test

System Design System/Integration test

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%

Large projects Medium projects Small projects


Agile Waterfall

Source: Standish Group, Chaos Studies 2013-2017


COMPLICATED VS COMPLEX
Complex Complicated

Loosely coupled Tightly coupled


Emergent practice Good practice
th o d
Probe – Sense - Respond Sense – Analyse - Respond
e n me
h o d r i v
em e t
Pla n -d
Agil
Chaos Obvious

De-coupled No degree of freedom


Novel practice Best practice
Act – Sense - Respond Sense – Categorize - Respond

Cynefin framework
AGILE ONION

- Mindset
- Values
- Principles
- Technics
- Tools
MANIFESTO FOR AGILE SOFTWARE DEV.

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.
PRINCIPLES FROM THE AGILE MANIFESTO
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.

Continuous attention to technical excellence and good design enhances agility.

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.

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.

Continuous attention to technical excellence and good design enhances agility.

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.

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

Testing in an agile vs traditional context

Quality assurance

The testers roles

Test-driven development

Input for Test-strategy & Test-automation


WHAT IS THE IDEAL RATIO?
What’s the ratio between
Software-testers and
Software developers for …

1. The successful projects?


2. The worst projects?
TESTER & SOFTWARE-DEVELOPER RATIO

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.

Unsuccessful projects seems to have a correlation


with a high number of software testers per
software developer.

Correlation not Causality.


Elisabeth Hendrickson: testobsessed.com
BETTER TESTING, WORSE TESTING
Better testing at one level tends to
result in worse testing in another
given no other changes in the system.

Elisabeth Hendrickson: testobsessed.com


Can be managed
TEST AFFECTS TEST 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
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

Testing in an agile vs traditional context

Quality assurance

The testers roles

Test-driven development

Input for Test-strategy & Test-automation


FOCUS AND TECHNIQUES FOR TESTER
Testable acceptance criteria 3 amigos
Defect
Prevention Discuss how to test/verify before implementation

Transparency for what is unit-tested Encourage unit-testing


Software
Developers Share responsibility
Test Effort Pair-testing Include in test-strategy

Testers Include software-developers to build test-data and test-environments


Test Effort
Exploratory testing Test that critize the product
Risk-based testing

Known defects
released
Handling bugs that are released as other backlog items
TEST QUADRANT
Business

Support the team Criticize the product


Progress/Verification Validation

Technical
AGENDA

Purpose of Testing

Testing in an agile vs traditional context

Quality assurance

The testers roles

Test-driven development

Input for Test-strategy & Test-automation


TEST-DRIVEN DEVELOPMENT

TDD BDD/SBE ATDD


The correct behaviour
Developer trust the
Focus for the system. Combine Writing Acceptance test
code
Documentation, test & code

Participants Software-developer, Tester, Software-developer &


Tester, Software-developer &
Technical tester Business/Customer
Business/Customer

Natural language,
Language Programming language
Gherkin syntax
Natural language

Xunit, Junit, MSTest, SpecFlow, Gherkin, Microsoft teams,


Tools Jasmine, Karma Cucumber, JBehave Jira, Word/Excel
BDD / SPECIFICATION BY EXAMPLE
§ Early Clarification through deliberate discovery
§ Common Domain language
§ Foster collaboration across domain-knowledge
§ Support iterative development
§ Documenting functional requirements
§ Possible to automate
SCRUM WATER FALL
Sprint board

Stories ToDo Doing Done

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

Establish place Merge Test-scenarios Build structure for


to communicate with requirement- Test automation
Test-scenarios documentation
AGENDA

Purpose of Testing

Testing in an agile vs traditional context

Quality assurance

The testers roles

Test-driven development

Test-strategy & Test-automation


TRANSACTION AND HOLDING COST

RELEASE NEW FUNCTIONALITY

KEEP NEW FUNCTIONALITY


TRANSACTION AND HOLDING COST
Total cost

Optimal batch size


Holding cost
Cost

Automation

Transaction cost

Items (featues) per batch (release)


FREQUENT RELEASES &
SUSTAINABLE PACE
Iterative development Test activities

Iterations 1 2 3 4

New functionality Acceptance test


Acc.
test
Existing Functions Integration test
Integration test
Unit test
Unit test
TEST AUTOMATION
Functional Business
End-2-End testing
testing A/B-
testing

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

Easier to maintain than to implement

Time

Fragility
Maintainability
Debug time
AUTOMATION
Cheap

Blinders Exo Skeleton


Maintenance cost

Expensive

Fast Food Cement

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

§ Test strategy in a scaled setup


RECOMMENDED BOOKS
§ Agile Testing
§ Specification By Example
AGILE TESTING PRACTICES FOR TEAMS
Exercises with
§ How to split stories an test early
§ How to use Specification By Example

You might also like