Agile and Test Estimation

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Objectives

This presentation will discuss:


key terms and techniques that make a project
“Agile”;
Agile and Test Estimation the roles of testers, from the Test Manager
through to the Test Analyst;
presented by approaches to consider when testing, giving
Sharon Robson context to the “traditional” test approaches in an
Agile project;
BSc Hons, Grad Dip IT, CTAL – TA, TM
hints and tips for Estimating the Testing effort.
Software Education
Version 1.0

May 2009 1-2

The Agile Manifesto

The Agile Manifesto

Individuals and interactions over processes and tools


Agile Overview 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.

http://agilemanifesto.org/

1-4

Agile Defined The Agile Approach

No pre-defined requirements ~ evolutionary


iterative development, where requirements
requirements and solutions Small teams ~ close communication
evolve through collaboration Customers and developers working together on
between self-organizing cross- small iterations
functional teams. Focus on functionality rather than GUI
Rapid turn around – working software faster
Morning meetings for “today’s” activities
Test Driven Development
http://en.wikipedia.org/wiki/Agile_software_development

1-5 1-6
Wall Ware Burn Down / Burn Up Chart
Burn Down
Total Story Points 200
Target Burn Down
Backlog Actual Backlog
Total Story 200
Points
1 16200 184 12 188
180
200 2 Target24 Backlog
160 Actual
16 Backlog
172
160
180 31 16 16 144 184 12 12 160 188
Story 1

140
160
42 12 24 132 160 10 16 150 172

Iteration
140
120
53 20 16 112 144 12 138 164
8 Target
120
100

Points
64 16 12 96 132 0 10 Actual
138Progress
Target
154

Iteration
100
80
Story 2

7 24 72 0 138Progress
Actual
60
80 5 20 112 12 142
8 32 40 0 138
40
60
9
6 24
16 16
96 0
16 138 126
40
20 10 7 16 24 0 72 0 12 138 114
20
0 8 32 40 20 94
0
1
19 2 2 3 3 4 4 24
5
5 6
6 7
7 816 9
8 9 10
10 20 74
10 16Iteration 0 24 50

1-7 1-8

“Traditional” Testing
The aim of testing is to provide information about the system under
test
Testing is about reporting on the level of confidence we have in the
quality of the system
What is Agile Testing? Based on “How will we know?”
Focus on ensuring “Requirements” are met
Focus on results of tests
Focus on coverage and defect metrics

1-10

“Traditional” Testing “V Model” Testing


The V-Model Model
The Sequential Model Testing at the end
• Testing at the end Based on Analysis of
• Based on analysis of documents (Requirements /
documents (Requirements / Designs) – Early analysis
Designs) and options for change
• Little or no contact with the Earlier involvement in the life
document authors cycle
• All testing done at once Clearly defined test levels
and objectives:
Unit
Integration
System
Acceptance

1-11 1-12
Agile Testing – early years! “Real” Agile Testing
Pro je ct De vel op me nt
Te st Man ag e r
Man ag er Ma na ge r

Tests are derived by the Tests are derived by the Concept


Deploy
developers as they are team as they are (Inception)

designing the system analysing and designing $ $

I0
Automated tests are the system Ma rketing Ke y
Stakehol ders Se nio r
$ $
De vel op er K ey
used Automated tests are I n+
1
Analysis
In +1

Bus ine ss
Stakeho lder s

used by developers AND


I1 R ep / C usto me r
Showcase
Then they build the
I1
Sen io r
Tests Teste r Final
software to pass the tests testers Design
(TDD)
Acceptance
Bu sin ess
Test

Then they move onto the Testers run more tests S ecu rity
Teste r
Re p / Cu stome r

In+ 1
I1
Pe rforma nc e

next iteration The team showcases to Tes te r


Itera tio n

In +1
Sen io r

I1
Ma na ge r
Teste r

the Key Stakeholders Test Tea m

Bu sin ess
Story

BUT….where are the Then the team move Develop


A rchi tect
D eve lo pme n t
Te am
A na lyst
Acceptance
Test
onto the next iteration
Tes t

Testers??
To ol smi th
& Unit Test
Sen io r
D ev el op er
I1
I1 +1
In

Integration /

1
In+
System Test

1
In+
Regression
Tests

1-13 1-14

Agile Testing Testing Roles


Traditional Roles Agile Roles
Agile Testing – treating development as the Test Manager Test Manager
customer of testing, emphasising the test-first Senior Tester / Test Lead Senior Tester / Test Lead
Test Analyst Test Analyst
design paradigm.
Technical Tester Technical Tester
Test Driven Development – test cases are Performance Tester Performance Tester
developed, and often automated, before the Test Toolsmith Test Toolsmith
software is developed to run the test cases. Security Tester Security Tester
Iteration Manager
ISTQB Standard Glossary of Terms used in Software
Showcase Tester
Testing

1-15 1-16

Estimation Factors

The standard test factors need to be


considered when Estimating an Agile project
Agile Test Estimation also…
scope, risks, key milestones, key test focuses
(functional or non-functional), static testing,
entry criteria, exit criteria, metrics, test
case preparation, test tracking,
documentation requirements, data needs,
environment needs, team skills, training
needed, tools used…

1-18
Agile Testing Estimation Factors

The standard test levels and targets need to be They have to be considered both for the overall
applied. project AND for the specific iteration!
Testing is done in a slightly different order Big Picture planning still has to happen!
Some testing is MANDARTORY – the Test plans may still have to be written!
“showcase” activity Test results may still have to be archived!
Defect management is more obvious but takes
practice The formats may be different though…
No story is “DONE” until both Development and
Testing have been completed.

1-19 1-20

Estimation Planning Agile Testing – Unit Testing


50% Through 75% Through Done
1st Test Release 2nd Test Release Production Candidate

Estimates are incorporated into the estimates for


I1 I2 I3 I4 I5 I6 I7 I8 Deploy each story.
Continuous Testing
Developers mainly do the unit testing.
Unit Testing, System/Acceptance Testing, Exploratory Testing, Performance Profiling
Testers can work with Developers while defining
1st Cycle 2nd Cycle Final Cycle
UAT UAT UAT the unit tests to be both Positive and Negative
1st Cycle
Load and
2nd Cycle
Load and
Final Cycle
Load and Stress
test cases – where appropriate.
Stress Testing Stress Testing Testing

1st Cycle 2nd Cycle Final Cycle


System
System System
Integration Test
Integration Integration
Test Test

1-21 1-22

Agile Testing – Integration Testing Agile Testing – System Testing

Estimates are incorporated into the estimates for Estimates are developed for specific System
each story – when more than one iteration has Tests when the “system” will be available.
been developed. Specific “system testing” iterations may be
Testers may need to define a “task” that takes needed.
the specific Integration into account – for this Can be based on the acceptance criteria defined
ITERATION. for each story – or parts of it.
The first step in defining “done”.

1-23 1-24
Agile Testing – Acceptance
Agile Testing – Regression Testing
Testing
Clearly defined step in the development Huge impact in Agile Projects
lifecycle. Provision MUST be made for AUTOMATED
May be a specific series of activities focussed on UNIT TESTING…for Regression purposes.
Acceptance by the business. Continuous Integration sees these Regression
Based on the acceptance criteria defined for Tests run before any build is delivered to a tester
each story by the customer. – if the regression test fails – the build cannot be
The last step in defining “done” – until it passes passed on.
it is not “done”! Impact and risk grows as project continues.

1-25 1-26

Agile Testing Making Agile Testing Work

Need to be able to clearly articulate all of the All team members clearly understanding their roles and
phases of testing required responsibilities
All team members valuing the roles and responsibilities
Testers need to make specific stands about
of other team members
quality when required
The team remembering that it is about the product NOT
Understand there may not be time, or the need the process
for documentation. The business understanding that it is about the product
NOT the process
The business making the commitment to be involved

1-27 1-28

Questions or Comments? What’s Next?


At any time, you can attend these specialist courses or STANZ: choose
Programming ISTQB
Web Rapid Software
& Databases Agile Testing STANZ Advanced
Testing Testing
for Testers Test Analyst
and/or
ISTQB
Advanced
Test Manager
Managing and/or
Professional capability

the Testing ISTQB


choose Process
Advanced
ISTQB Technical
Software Test Analyst
Testing
Foundation
or
choose ISTQB
User Foundation
Acceptance Exam Prep
Testing
or
Introduction REQUIRE A TAILORED PATHWAY? JUST ASK US!
to Software
Testing

Career

Indicative career path MasterClass / Conference ISTQB member accredited Under Development

Slide 29 Slide 29
1-29

You might also like