You are on page 1of 5

Objectives

This presentation will discuss: key terms and techniques that make a project Agile; the roles of testers, from the Test Manager through to the Test Analyst; approaches to consider when testing, giving context to the traditional test approaches in an Agile project; hints and tips for Estimating the Testing effort.

Agile and Test Estimation


presented by Sharon Robson BSc Hons, Grad Dip IT, CTAL TA, TM Software Education Version 1.0
May 2009
1-2

The Agile Manifesto


The Agile Manifesto

Agile Overview

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.
http://agilemanifesto.org/

1-4

Agile Defined

The Agile Approach


No pre-defined requirements ~ evolutionary requirements Small teams ~ close communication Customers and developers working together on small iterations Focus on functionality rather than GUI Rapid turn around working software faster Morning meetings for todays activities Test Driven Development

iterative development, where requirements and solutions evolve through collaboration between self-organizing crossfunctional teams.

http://en.wikipedia.org/wiki/Agile_software_development

1-5

1-6

Wall Ware

Burn Down / Burn Up Chart


Total Story Points 200 Target
Burn Down

Total Story 200 1 Points


Story 1

180 200 160 180 140 160

2 31 42 140 120 53 120 100 64 100 80 7 80 5 60 8 60 6 40 9 40 20 10 7 20


0

0
1

Burn Backlog Down Actual Backlog 200 16 184 12 188 Target Backlog Actual Backlog 24 160 16 172 16 16 144 184 12 12 160 188 12 24 132 160 10 16 150 172 20 16 112 144 12 138 164 8 Target 16 12 96 132 0 10 Actual Progress 138 154 Target 24 72 0 138 Actual Progress 20 112 12 142 32 40 0 138 16 96 16 138 126 24 16 0 16 24 0 72 0 12 138 114

Iteration Iteration

Story 2

Points

32

40

5 9 1 2 2 3 3 4 4 245

6 6

7 7

8 16 9 8 9

10 10

10

16 Iteration

20 20 24

94 74 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 Based on How will we know? Focus on ensuring Requirements are met Focus on results of tests Focus on coverage and defect metrics

What is Agile Testing?

1-10

Traditional Testing
The Sequential Model Testing at the end Based on analysis of documents (Requirements / Designs) Little or no contact with the document authors All testing done at once

V Model Testing
The V-Model Model Testing at the end Based on Analysis of documents (Requirements / Designs) Early analysis and options for change Earlier involvement in the life cycle Clearly defined test levels and objectives: Unit Integration System Acceptance

1-11

1-12

Agile Testing early years!


Tests are derived by the developers as they are designing the system Automated tests are used Then they build the software to pass the tests Then they move onto the next iteration BUT.where are the Testers??

Real Agile Testing


Pro je ct Man ag er De vel op me nt Ma na ge r Te st Man ag e r

Tests are derived by the team as they are analysing and designing the system Automated tests are used by developers AND testers Testers run more tests The team showcases to the Key Stakeholders Then the team move onto the next iteration

Concept (Inception)
$ $

Deploy

I0

Ke y Ma rketing Stakehol ders


I n+ 1

$
Se nio r De vel op er

Analysis
I1

In +1

K ey Stakeho lder s

I1

Design (TDD)
Bu sin ess Re p / Cu stome r S ecu rity Teste r Pe rforma nc e Tes te r In +1 Sen io r Teste r Test Tea m

Showcase Tests

Bus ine ss R ep / C usto me r Sen io r Teste r

Final Acceptance Test

Itera tio n Ma na ge r

I1

Bu sin ess A na lyst A rchi tect

Develop & Unit Test


I1

D eve lo pme n t Te am Tes t To ol smi th Sen io r D ev el op er

Story Acceptance Test

I1
In +1

Integration / System Test


1 In+

Regression Tests

1-13

1-14

Agile Testing
Agile Testing treating development as the customer of testing, emphasising the test-first design paradigm. Test Driven Development test cases are developed, and often automated, before the software is developed to run the test cases.
ISTQB Standard Glossary of Terms used in Software Testing

Testing Roles
Traditional Roles Test Manager Senior Tester / Test Lead Test Analyst Technical Tester Performance Tester Test Toolsmith Security Tester Agile Roles Test Manager Senior Tester / Test Lead Test Analyst Technical Tester Performance Tester Test Toolsmith Security Tester Iteration Manager Showcase Tester

1-15

1-16

Estimation Factors
The standard test factors need to be considered when Estimating an Agile project 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 Test Estimation

1 In+

In+ 1

I1

Agile Testing
The standard test levels and targets need to be applied. Testing is done in a slightly different order Some testing is MANDARTORY the showcase activity Defect management is more obvious but takes practice No story is DONE until both Development and Testing have been completed.
1-19 1-20

Estimation Factors
They have to be considered both for the overall project AND for the specific iteration! Big Picture planning still has to happen! Test plans may still have to be written! Test results may still have to be archived! The formats may be different though

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

Agile Testing Unit Testing


Estimates are incorporated into the estimates for each story. Developers mainly do the unit testing. Testers can work with Developers while defining the unit tests to be both Positive and Negative test cases where appropriate.

I1

I2

I3

I4

I5

I6

I7

I8

Deploy

Continuous Testing Unit Testing, System/Acceptance Testing, Exploratory Testing, Performance Profiling 1st Cycle UAT 1st Cycle Load and Stress Testing 1st Cycle System Integration Test 2nd Cycle UAT 2nd Cycle Load and Stress Testing 2nd Cycle System Integration Test Final Cycle UAT Final Cycle Load and Stress Testing Final Cycle System Integration Test

1-21

1-22

Agile Testing Integration Testing


Estimates are incorporated into the estimates for each story when more than one iteration has been developed. Testers may need to define a task that takes the specific Integration into account for this ITERATION.

Agile Testing System Testing


Estimates are developed for specific System Tests when the system will be available. Specific system testing iterations may be needed. Can be based on the acceptance criteria defined for each story or parts of it. The first step in defining done.

1-23

1-24

Agile Testing Acceptance Testing


Clearly defined step in the development lifecycle. May be a specific series of activities focussed on Acceptance by the business. Based on the acceptance criteria defined for each story by the customer. The last step in defining done until it passes it is not done!

Agile Testing Regression Testing


Huge impact in Agile Projects Provision MUST be made for AUTOMATED UNIT TESTINGfor Regression purposes. Continuous Integration sees these Regression Tests run before any build is delivered to a tester if the regression test fails the build cannot be passed on. Impact and risk grows as project continues.

1-25

1-26

Agile Testing
Need to be able to clearly articulate all of the phases of testing required Testers need to make specific stands about quality when required Understand there may not be time, or the need for documentation.

Making Agile Testing Work


All team members clearly understanding their roles and responsibilities All team members valuing the roles and responsibilities of other team members The team remembering that it is about the product NOT the process 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?
Programming & Databases for Testers Web Testing

Whats Next?
At any time, you can attend these specialist courses or STANZ: Agile Testing Rapid Software Testing STANZ

choose
ISTQB Advanced Test Analyst

and/or
ISTQB Advanced Test Manager

Professional capability

choose
ISTQB Software Testing Foundation

Managing the Testing Process

and/or
ISTQB Advanced Technical Test Analyst

choose
User Acceptance Testing

or
ISTQB Foundation Exam Prep

or
Introduction to Software Testing

REQUIRE A TAILORED PATHWAY? JUST ASK US!

Career
Indicative career path Slide 29 MasterClass / Conference ISTQB member accredited Under Development

Slide 29

1-29

You might also like