test i agile projekter af gitte ottosen, sogeti

33
Testing and Agile Gitte Ottosen [email protected] @godtesen

Upload: infinit-innovationsnetvaerket-for-it

Post on 20-May-2015

576 views

Category:

Technology


0 download

DESCRIPTION

Oplægget blev holdt ved et seminar i InfinIT-interessegruppen Softwaretest den 11. februar 2014. Læs mere om interessegruppen her: http://infinit.dk/dk/interessegrupper/softwaretest/softwaretest.htm

TRANSCRIPT

Page 1: Test i agile projekter af Gitte Ottosen, Sogeti

Testing and Agile

Gitte Ottosen [email protected]

@godtesen

Page 2: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Sogeti Profile

• Sogeti is a leading provider of structured testing solutions

• Part of the Sogeti Group, which brings together more than 20,000 professionals in 15 countries and is present in over 100 locations in Europe, USA and India

• Creators of the globally recognized methodologies TMap NEXT ® and TPI NEXT®

• Well established cooperation with HP, IBM and Microsoft

Page 3: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Agenda

1. The agile world

2. The proces – short presentation of SCRUM and Kanban

3. The test role in agile

4. Testing in agile

Page 4: Test i agile projekter af Gitte Ottosen, Sogeti

The Agile World

Page 5: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

One Way of Looking at Agile

Page 6: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

The Agile Manifest

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools Working software over comprehensive doc. 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.

Reference Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas

Page 7: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

The Agile Perspective

OVER

• Individuals & interactions

• Working software

• Customer collaboration

• Responding to change

• Processes and tools

• Comprehensive documentation

• Contract negotiation

• Following a plan

Page 8: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

The Agile Principles

• Highest priority is to satisfy the customer through early and continuous delivery of valuable software.

• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

• 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.

• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Page 9: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

The Agile Principles cont.

• 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.

• Continuous attention to technical excellence and good design enhances agility.

• Simplicity--the art of maximizing the amount of work not done--is essential.

• The best architectures, requirements, and designs emerge from self-organizing teams.

• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 10: Test i agile projekter af Gitte Ottosen, Sogeti

Implementations

SCRUM and KANBAN

Page 11: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Major Agile Methods

Scrum

• Iterative and incremental

• Focus on change

• Continous improvement

Kanban

• Similar to Scrum, but no iterations

• Focus on flow

• Minimizes work in progres

XP

• More technical than Scrum and Kanban

• Frequent "releases" in short development cycles

• Test Driven Development

Page 12: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

SCRUM in a Slide

Product Backlog Prioritized by customer

3-4 weeks

24 hours

Testet product ready for release

Sprint Backlog Broken down by SCRUM team.

Page 13: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Key Roles and Responsibilities

• Owns the business case and there by the profitability of the product • Decides what features to implement • Prioritizes features according to the business case • Provides input to the planning and on a day to day basis • Accepts or rejects work results

Product Owner

• Helps the team do the best work it possibly can • Owns the process and organizes ceremonies • Removes any impediments to progress • Shields the team from external interferences • Works with Product owner on maintaining the Product Backlog

Scrum Master

• Cross-functional, seven plus/minus two members • Responsible for planning iterations and committing to assignments • Selects the best possible way to reach the iteration goal (with in project

guidelines) • Self organizing

Team Member

Page 14: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Scrum Artifacts

• Features • Bugs • Technical work

Product Backlog

• Features • Stories • Tasks

Sprint Backlog

• Remaining work • Completed tasks • Ideal burndown

Burndown Charts

Page 15: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

A Couple of Important Words

• Definition of ready

• Definition of done

Page 16: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

SCRUM Board

Page 17: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Kanban

Next (4)

Analysis (3)

Development (3)

Acceptance (2)

Production

Ongoing Done Ongoing Done Ongoing Done

Definition of Done: - nnn

Definition of Done: - nnn

Definition of Done: - nnn

Help work to

flow

Page 18: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

What Changes With Agile

•Faster delivery of business benefits

•Reduced risk through early delivery Feedback

•Higher quality of deliverables through continuous testing

Quality

•Continuous learning and improvement

•Iterative planning and communication Adaption

•Improved teamwork and morale through empowerment and self organisation Empowerment

•Business have control over priorities through continuous collaboration

•More accurate reporting through delivery of working product Visibility

Page 19: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Traditional vs Agile Projects

Plan driven Agile

Change Manage & control it Change is inevitable – embrace and expect it

Planning/test design Comprehensive upfront plans/test design

Plan/design as you go

Documentation Can be heavy Minimised - Only as much as necessary

Handoffs Formal entry/exit criteria

Team Collaboration

Test Automation System level built by tool specialists, created after code is ‘done’

All levels, built by anyone, an integral part of the project

Source: Elizabeth Hendrickson

Page 20: Test i agile projekter af Gitte Ottosen, Sogeti

Test in an Agile Context

Page 21: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

The word on the web!

…We need to step away from the nagging position we have in a waterfall process and

become more active in the process of developing the software. Active does not mean

that we should be sitting down hammering in code, but we should

be involved from the beginning and be giving the developers feedback instantly on

how the new feature works,instead of complaining at the end when everything is

built….

…in agile testing you need to start to execute tests fast. Having working software

early is a key aspect, and this means you have to have testable software early…

…testing has to become a natural part of an agile project and not just a phase after

The developers have stopped coding and before customers receives their software.

It’s about reaching the same goal as a team, i.e. to deliver working software within

as short a space of time as possible…

….testing, quality is the team’s responsibility. The test analysts now have a different

role. In addition to testing, they have to coach business representatives and

developers.

Page 22: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Role of the Tester – Challenges and Experiences

• Full Integration of testers into development team – Just another role in the team – Clarify roles (tester define) – collaborative – Co-locate – Consult on good testing – Early involvement – a very positive experience!

• Testing without detailed requirements – Communicate, communicate, communicate – Early test design - ‘Test Driven Development’? – Experienced based techniques -Exploratory testing

• Minimising test documentation – Lightweight, minimise unnecessary detail and duplication,

multipurpose, checklists, risk lists, Wikis,

• Tester skillset – May need to develop programming skills or – Developers automate the tests on testers behalf – Opportunities for testers – analysis, programming, etc.

Page 23: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Role of Tester

• 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

– Create automated acceptance tests

• Or define for developers to script

– Expand scope of ‘acceptance’ tests

– Advise the team about overall risks and trends

– Perform manual/exploratory tests

Page 24: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Testing Within a Sprint

Automated acceptance/story based

tests

Automated Unit Tests

Manual Exploratory

Tests

Represent Executable requirements

Represent Executable design specifications

Provides supplementary feedback

Page 25: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Automation

Unit Test

Unit Test

Acceptance Test (api)

GUI Test

Manual testing

Manual testing

Page 26: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Context is Everything…

Configura

tion

Data

inte

gri

ty

File s

tructu

re

Perm

issio

ns

Component Integration Test

End to End Test

Unit Test

Accept Test (api lag)

GUI Test

Manuel test

Adapt the Test Pyramid to you needs

Source: Lisa Crispin

Page 27: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Technology-facing

Business-facing

Support

s t

he t

eam

Critiq

ue p

roduct

Functional test Story test

Proto types Simulations

Q2

Unit test Component test

Q1

Explorative test Scenario test Usability test

UAT Pilot test

Q3

Non-functional (response,

load…) Security

Q4

Manual

Automatic

Manual& automatic

Tools

Source: Brian Marick

Page 28: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Is It Enough? – Remember the Big Picture

Functional test Story test

Proto types Simulations

Unit test Component test

Explorative test Scenario test Usability test

UAT Pilot test

Non-functional (response,

load…) Security

Feature

Existing System

Feature

Think about the testing quarants

Page 29: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Is It Enough? – Remember the Big Picture

Functional test Story test

Proto types Simulations

Unit test Component test

Explorative test Scenario test Usability test

UAT Pilot test

Non-functional (response,

load…) Security

Feature

Existing System

Feature

Think about the testing quarants

Page 30: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Typical agile test/quality related challenges

Non-functional issues

Testing bottleneck

Integration Testing

Developer buy-in for shared

quality ownership

Distributed development

Role of the tester and test

manager

Quality of unit tests

Ineffective incremental test

strategy

Insufficient focus on working software –

stories not ‘done’

‘Agile’ without sufficient customer

involvement

Effectiveness of automation

strategy

Effectiveness of automated tests

Lack of technical expertise in test

team

Hybrid implementations

Page 31: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Success Factors

Key Success Factors

Look at the Big Picture

Use the Whole Team

Approach

Automate Regression

Testing

Provide and Obtain Feedback

Build a Foundation

of Core Agile

Practices

Collaborate with

Customers

Adopt an Agile

Testing Mindset

Source: Janet Gregory, Dragonfire

Page 32: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

Common Pitfalls

• Modify the models to fit your context, but be aware of, what elements that are essential for the model.

• If you are implementing a model for the first time, then get help from someone who has tried it before.

• Don’t forget to have a structured approach to testing and QA – and do it up front.

• Test automation is essential – but should not replace manual testing.

Page 33: Test i agile projekter af Gitte Ottosen, Sogeti

© Sogeti

REMEMBER

There is no ”best practice” – only good practice in a certain context.

Thank you