evolving agile testing - eurostar conference...evolving agile testing ... succeeding with...

22
Fran O’Hara, Inspire Quality Services Evolving Agile Testing www.eurostarconferences.com @esconfs #esconfs

Upload: others

Post on 20-May-2020

20 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Fran O’Hara, Inspire Quality Services

Evolving Agile Testing

www.eurostarconferences.com

@esconfs #esconfs

Page 2: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

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: – Lean/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.

Page 3: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Agenda

Setting the scene

Requirements and Testing

Agile Test Strategy

Tester role

Page 4: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

The Major Agile/Lean Methods • Scrum (1995) – PM Oriented

– Timeboxing – Prioritized backlog – Daily standup meetings – Demo after each iteration – Correct the process through

lessons learned

XP (1999) – Engineering Oriented • (A)TDD, refactoring, pair programming,

continuous integration, simplicity, whole team, planning game, …

Kanban(2010) – Continuous Improvement Visualize Reduce WIP Manage Flow Make process Policies Explicit Nurture effective feedback loops Improve Collaboratively (using scientific method) 4

Page 5: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Some Underlying Shifts…

Page 6: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

6

How agile changes things

• Whole Team Approach - collaboration • Coding and testing are integrated rather than distinct

phases • Early and frequent feedback • TDD/ATDD practices • Test-infected developers, better automation strategies,

better designed tests

Always working software

Page 7: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Agenda

Setting the scene

Requirements and Testing

Agile Test Strategy

Tester role

Page 8: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

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: Low

Estimate: 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>

Page 9: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Purpose of confirmation/acceptance criteria

define the boundaries for a user story/feature

help the product owner answer what she needs in order for this feature to provide value (typically these are the minimum functional requirements)

help the team gain a shared understanding of the story/feature

help developers and testers to derive tests

help developers know when to stop adding more functionality to a story

9

Page 10: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Level of detail in confirmation/acceptance criteria

Try to keep relatively high level

Detail goes into

• Memory or internal team documentation (notes) – can include wireframes and screen mockups, validation rules, etc.

• Automated acceptance tests (ideally defined to be understood by all)

Note: examples make excellent acceptance criteria (see Specification by example by Gojko Adzic)

10

Page 11: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Agenda

Setting the scene

Requirements and Testing

Agile Test Strategy

Tester role

Page 12: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Agile Testing Quadrants

Page 13: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

The Automation Pyramid

Unit/Component layer Developer Tests

e.g. JUnit

API/Service layer Acceptance Tests

e.g. Fitnesse, Cucumber

GUI layer e.g. Selenium

Manual Tests e.g. exploratory

Automate at feature/workflow level

Automate at story level

Automate at design level

Based on Mike Cohn

Page 14: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Maintaining Context

PRIORITY

GR

AN

ULA

RIT

Y

14

Page 15: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

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.: – Feature/’epic’ or workflow level testing – Combination/feature interaction testing – Business cycle & end-to-end scenario testing – exercising multiple stories, end of month

processing, etc. – Performance testing – Usability testing – Security testing – System integration testing

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…?

Evolve to fully Working Software!!

Additional testing

Page 16: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Agenda

Setting the scene

Requirements and Testing

Agile Test Strategy

Tester role

Page 17: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

• 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

• Needs ‘technical awareness’

Role of tester

Page 18: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

• Perform code reviews • Use static analysis tools • Perform effective unit testing

– Automated ideally using TDD achieving structural coverage

• Perform component/component integration testing – Again ideally automated, API/Service level

• Support testers in Acceptance/System testing – Frameworks for automated API/Service level testing – GUI based automation

Role of developer in relation to testing

18

Page 19: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

From: Lisa Crispin, 2011 19

Page 20: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Evolving from sequential to iterative/incremental

Code Code Code & Bug Fix

Test

Sprint 1 Sprint 2

Code

Test

Sprint 1 Sprint 2

Code & Bug Fix

Code

Test

Code & Bug Fix

Code & Bug Fix

Test

Sprint 1 Sprint 2

Code & Bug Fix

Test

A

B

C

Page 21: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Key Opportunities to Innovate & Renovate

21

Backlog grooming

Page 22: Evolving Agile Testing - EuroSTAR Conference...Evolving Agile Testing ... Succeeding with Agile/Scrum, Agile project management, Agile Testing, Product Owner training, Lean/Kanban,

Fran O’Hara

InspireQS

www.inspireqs.ie [email protected]

Q&A