Effective Strategies for Distributed Testing

Post on 08-May-2015

1.558 views 0 download

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

EEEEffffffffeeeeccccttttiiiivvvveeee SSSSttttrrrraaaatttteeeeggggiiiieeeessss ffffoooorrrr DDDDiiiissssttttrrrriiiibbbbuuuutttteeeedddd TTTTeeeessssttttiiiinnnngggg

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

Agenda

ThoughtWorks Introduction

Presentation

Q & A

Custom Software Solution Experts

Big Enough to Trust, Small Enough to Care

Where We Have the Most Impact

Our Approach

Right people

Right approach

Right place

on shore

off shore

not sure?

Right tools

Why We’re Different

Passion for software excellence

Delivery track record

Customsolutions

Cause not a company

AdaptiveALM

Experience& expertise

Straight talk

Actionableadvice

Conceptto delivery

Presenters

AnandAnandAnandAnand BagmarBagmarBagmarBagmarLead Consultant (QA), ThoughtWorks

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

Anand.Bagmar@thoughtworks.com

Manish Manish Manish Manish KumarKumarKumarKumarTesting Practice Lead, ThoughtWorks India

Software testing > 15 years

Manish.Kumar@thoughtworks.com

What is this session about?

Disclaimer

Business objective

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

Why distributed teams exist?

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

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

Mindset

Keep an open mind Be positive

Trust your team(s)KISS principle

ONE PRODUCT, ONE TEAM!

Cross pollination, by frequent rotation

Communication

ATDD - Story Planning Session

ATDD - Story Writing

ATDD - Automate Acceptance Tests

© ThoughtWorks

ATDD - Implement Functionality

© ThoughtWorks

ATDD - First BA / QA Signoff

© ThoughtWorks

ATDD - Story Testing & Showcase

© ThoughtWorks

Repeat

Do it again

and again

and again

and again…

© 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

ATDD

ATDD – Table scenario driven

Test Automation

Toolsets

Testing

CIProject

Collaboration

CommunicationCommunicationCommunicationCommunication

Overhead

Common & consistent

Information islands

Flexible

Testing Tool

CommunicationCommunicationCommunicationCommunication

Overhead

Common & consistent

Information islands

Flexible

DSL

Tagging

Video, Screenshots

Support for CI

Multiple Drivers

Exploratory testing support

Customizations

CI

poll

Compile BVT Run FULL Regression

Deploy QA Deploy to staging

Source Repository

Project Collaboration Tool

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

Environments

Test Development

Automation

Test 1

Test 2

UAT

Performance Lab

Production

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?

Reporting & Metrics

Shared View of progress

Reporting & Metrics

Is the application getting any better

Reporting & Metrics

Reporting & Metrics

IPMs, Showcases, Retrospectives

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

Practices that hinderhinderhinderhinder

AnandAnandAnandAnand BagmarBagmarBagmarBagmar

Lead Consultant (QA), ThoughtWorks

Anand.Bagmar@thoughtworks.com

Manish KumarManish KumarManish KumarManish Kumar

Testing Practice Lead, ThoughtWorks India

Manish.Kumar@thoughtworks.com