Effective Strategies for Distributed Testing

42
E E Ef f ff f fe e ec c ct t ti i iv v ve e e S S St t tr r ra a at t te e eg g gi i ie e es s s f f fo o or r r D D Di i is s st t tr r ri i ib b bu u ut t te e ed d d T T Te e es s st t ti i in n ng g g Anand Anand Anand Anand Bagmar Bagmar Bagmar Bagmar & Manish Kumar & Manish Kumar & Manish Kumar & Manish Kumar

description

Thoughts, experiences and case studies on how to convert Testing principles into practices. We focus on the practices of making testing effective on distributed teams by keeping things simple, yet effective. http://testing.thoughtworks.com/events/effective-strategies-distributed-testing

Transcript of Effective Strategies for Distributed Testing

Page 1: Effective Strategies for Distributed Testing

EEEEffffffffeeeeccccttttiiiivvvveeee SSSSttttrrrraaaatttteeeeggggiiiieeeessss ffffoooorrrr DDDDiiiissssttttrrrriiiibbbbuuuutttteeeedddd TTTTeeeessssttttiiiinnnngggg

AnandAnandAnandAnand BagmarBagmarBagmarBagmar & Manish Kumar& Manish Kumar& Manish Kumar& Manish Kumar

Page 2: Effective Strategies for Distributed Testing

Agenda

ThoughtWorks Introduction

Presentation

Q & A

Page 3: Effective Strategies for Distributed Testing

Custom Software Solution Experts

Page 4: Effective Strategies for Distributed Testing

Big Enough to Trust, Small Enough to Care

Page 5: Effective Strategies for Distributed Testing

Where We Have the Most Impact

Page 6: Effective Strategies for Distributed Testing

Our Approach

Right people

Right approach

Right place

on shore

off shore

not sure?

Right tools

Page 7: Effective Strategies for Distributed Testing

Why We’re Different

Passion for software excellence

Delivery track record

Customsolutions

Cause not a company

AdaptiveALM

Experience& expertise

Straight talk

Actionableadvice

Conceptto delivery

Page 8: Effective Strategies for Distributed Testing

Presenters

AnandAnandAnandAnand BagmarBagmarBagmarBagmarLead Consultant (QA), ThoughtWorks

Software testing > 11 years, > 14 years in the Software industry

[email protected]

Manish Manish Manish Manish KumarKumarKumarKumarTesting Practice Lead, ThoughtWorks India

Software testing > 15 years

[email protected]

Page 9: Effective Strategies for Distributed Testing

What is this session about?

Page 10: Effective Strategies for Distributed Testing

Disclaimer

Page 11: Effective Strategies for Distributed Testing

Business objective

Page 12: Effective Strategies for Distributed Testing

Testing principles recap …

The principles that matterThe principles that matterThe principles that matterThe principles that matter

Building quality in

Involving everyone

Fast feedback

Tests are an asset

Faster delivery into production

Clear and consistent view of Testing

Business optimize value

Page 13: Effective Strategies for Distributed Testing

Why distributed teams exist?

Page 14: Effective Strategies for Distributed Testing

Challenges of Challenges of Challenges of Challenges of Testing in the distributed development Testing in the distributed development Testing in the distributed development Testing in the distributed development TeamsTeamsTeamsTeams

Shared understanding

Timely decisionsTrust and rapport

Visibility into progress

Working in the same way

Reduced communication bandwidthReduced communication bandwidthReduced communication bandwidthReduced communication bandwidth

Increased noiseIncreased noiseIncreased noiseIncreased noiseCultural issuesCultural issuesCultural issuesCultural issues

Page 15: Effective Strategies for Distributed Testing

Practices, Tips and TricksPractices, Tips and TricksPractices, Tips and TricksPractices, Tips and Tricks

Page 16: Effective Strategies for Distributed Testing

Mindset

Keep an open mind Be positive

Trust your team(s)KISS principle

ONE PRODUCT, ONE TEAM!

Cross pollination, by frequent rotation

Page 17: Effective Strategies for Distributed Testing

Communication

Page 18: Effective Strategies for Distributed Testing

ATDD - Story Planning Session

Page 19: Effective Strategies for Distributed Testing

ATDD - Story Writing

Page 20: Effective Strategies for Distributed Testing

ATDD - Automate Acceptance Tests

Page 21: Effective Strategies for Distributed Testing

© ThoughtWorks

ATDD - Implement Functionality

Page 22: Effective Strategies for Distributed Testing

© ThoughtWorks

ATDD - First BA / QA Signoff

Page 23: Effective Strategies for Distributed Testing

© ThoughtWorks

ATDD - Story Testing & Showcase

Page 24: Effective Strategies for Distributed Testing

© ThoughtWorks

Repeat

Do it again

and again

and again

and again…

Page 25: Effective Strategies for Distributed Testing

© ThoughtWorks

System Testing

DevelopmentIterations

Development Engine

Write Story and Scenarios

Business Showcase

Story Testing

Story Planning Session

BA / QA Signoff on Dev Box

Daily BA /QA demo

Tester

Dev

BA

TesterDev

Tester BADev

Tester BADev

BABusiness

Tester

Start

Here

System Testing

Implement Functionality

BABusiness

Implement Automated

Acceptance Tests

Dev

End Development Iteration

Start Development

Iteration

Page 26: Effective Strategies for Distributed Testing

ATDD

Page 27: Effective Strategies for Distributed Testing

ATDD – Table scenario driven

Page 28: Effective Strategies for Distributed Testing

Test Automation

Page 29: Effective Strategies for Distributed Testing

Toolsets

Testing

CIProject

Collaboration

CommunicationCommunicationCommunicationCommunication

Overhead

Common & consistent

Information islands

Flexible

Page 30: Effective Strategies for Distributed Testing

Testing Tool

CommunicationCommunicationCommunicationCommunication

Overhead

Common & consistent

Information islands

Flexible

DSL

Tagging

Video, Screenshots

Support for CI

Multiple Drivers

Exploratory testing support

Customizations

Page 31: Effective Strategies for Distributed Testing

CI

poll

Compile BVT Run FULL Regression

Deploy QA Deploy to staging

Source Repository

Page 32: Effective Strategies for Distributed Testing

Project Collaboration Tool

What I need to do in relation to what everyone else is doing

Page 33: Effective Strategies for Distributed Testing

Environments

Test Development

Automation

Test 1

Test 2

UAT

Performance Lab

Production

Page 34: Effective Strategies for Distributed Testing

Distributing work

Division by roleDivision by roleDivision by roleDivision by roleFunctional teamsFunctional teamsFunctional teamsFunctional teams

Analysts Developers Testers Infrastructure

What is to be tested?

From where can that be tested most effectively?

Page 35: Effective Strategies for Distributed Testing

Reporting & Metrics

Shared View of progress

Page 36: Effective Strategies for Distributed Testing

Reporting & Metrics

Is the application getting any better

Page 37: Effective Strategies for Distributed Testing

Reporting & Metrics

Page 38: Effective Strategies for Distributed Testing

Reporting & Metrics

Page 39: Effective Strategies for Distributed Testing

IPMs, Showcases, Retrospectives

Page 40: Effective Strategies for Distributed Testing

Practices, Tips and TricksPractices, Tips and TricksPractices, Tips and TricksPractices, Tips and Tricks

MindsetMindsetMindsetMindset EnvironmentsEnvironmentsEnvironmentsEnvironments CommunicationCommunicationCommunicationCommunication

DDDDiiiissssttttrrrriiiibbbbuuuuttttiiiinnnngggg WWWWoooorrrrkkkk

ToolsetToolsetToolsetToolset

ATDDATDDATDDATDD

Test AutomationTest AutomationTest AutomationTest AutomationReporting & MetricsReporting & MetricsReporting & MetricsReporting & Metrics

Defect reportingDefect reportingDefect reportingDefect reporting

NFRsNFRsNFRsNFRs

RetrospectivesRetrospectivesRetrospectivesRetrospectives

Page 41: Effective Strategies for Distributed Testing

Practices that hinderhinderhinderhinder

Page 42: Effective Strategies for Distributed Testing

AnandAnandAnandAnand BagmarBagmarBagmarBagmar

Lead Consultant (QA), ThoughtWorks

[email protected]

Manish KumarManish KumarManish KumarManish Kumar

Testing Practice Lead, ThoughtWorks India

[email protected]