An Overview Of Agile Testing - Agile Testing With Lisa Crispin

Transcription

An Overview of AgileTestingTampere 2009Lisa CrispinWith Material from Janet Gregory1

Introduction Tester on agile teams since 2000My teams: Delight customers Deliver production-ready value every 2weeks Drive development with tests, examples 100% regression test automation2Copyright 2009: Lisa Crispin

Your Agile ExperienceHow about you? Managers, testers, developers,ScrumMasters.? How long has your team used agilepractices/principles?3Copyright 2009: Lisa Crispin

Takeaways Transitioning to agile testingHow testing works on agile teamsAgile testing tools and techniquesKey success factors4Copyright 2009: Lisa Crispin

Traditional vs. Agile SDLCPhased or gated – eg. aseAgile: iterative and incremental- Each story is expanded, coded and tested- Possible release after each iterationCDCA B A B A BIt 1Copyright 2009: Lisa CrispinIt 2TimeIt 3Copyright 2009 Lisa Crispin and5Janet Gregory

Testing as a Phase Code, then testSeparate, siloed teamsHeavyweight process Requirements, design documentsTest plans“Traceability”Change review boardsTesting “bottleneck” at end6Copyright 2009: Lisa Crispin

Automation - After Coding Vendor toolsRecord/PlaybackDone by testers or automation teamIf developers automate unit tests – it’s aftercodingExpensive7Copyright 2009: Lisa Crispin

Exploratory Testing – “agile” Exploring reveals unintended consequencesand uncovers implicit expectations Elisabeth Hendrickson x-fully-automated-guitesting/Careful observationCritical thinking, no requirements doc neededDiverse ideasRich resources Tools, data, people[source: Jon Hagar]8Copyright 2009: Lisa Crispin

How Agile Changes Things Whole Team ApproachCoding and testing are one processFeedback, collaboration keyTDD/ATDD practicesTest-infected developers, better tools, betterdesigned tests9Copyright 2009: Lisa Crispin

Team Organization -Traditional vs. AgileTraditional: independent functional groupsTesterBAsDevDomain ProgrammerExpertAgile: roles overlapTester102009: Lisa CrispinCopyrightCopyright2007:Lisa Crispinand Janet Gregory

Test Approach - The Agile WayProject InitiationRelease PlanningGet an understanding of the projectParticipate in estimating storiesCreate Test PlanEach Iteration1 .XWrite and execute story testsWrite and execute new functional test casesPair test with other testers, developersAutomate new functional test casesRun automated regression test casesSystem Test /End GamePerform Load TestComplete Regression TestPerform UATPerform Mock DeployParticipate in Release ReadinessRelease to Prod/SupportParticipate in Release to ProdParticipate in RetrospectivesCopyright 2009: Lisa CrispinCopyright 2007: Lisa Crispin11and Janet Gregory

The Whole Team Approach Team commitment to qualityTeam responsible for testingTesters get support, trainingDevelopers do testing activitiesTesters and developers pairGet the right people12Copyright 2009: Lisa Crispin

Testing is Not a Phase Development testing coding Automated tests Write test, write code, testAt unit and acceptance test levelsDesigned for efficiency,maintainabilityFree time for exploratory testingTeam plans testing activities All four “quadrants”13Copyright 2009: Lisa Crispin

Agile Testing Quadrants14Copyright 2009: Lisa Crispin

Feedback Guides Development Team uses feedback to improveTesters are expert feedback providersFeedback lets team make coursecorrections15Copyright 2009: Lisa Crispin

Feedback Examples Continuous Integration test results Faster is betterBig Visible ChartsRetrospectivesShort iterations facilitate improvementDiscoveries during exploratory testingCollaboration with users, customers16Copyright 2009: Lisa Crispin

Core Practices for Success Continuous integration Frequent and fast feedbackCoding and testing one processTest environmentsManage technical debtWork incrementallySynergy17Copyright 2009: Lisa Crispin

Where Is It Taking Us? Lines between roles blurredMore focus on tests to drive codingExamples as requirementsFind ways to control technical debtTests pushed to lower levels Less end-to-end automationAutomate based on ROIMaintainable testsFailures easier to debug18Copyright 2009: Lisa Crispin

Test Automation Pyramid19Copyright 2009: Lisa Crispin

Current Trends in Testing/Development Pomodoro technique for pairing, planning www.pomodorotechnique.comMore exploratory testing As automated regression tests free timecontext-driven-testing.comLean approaches Kanban, scrumban Poppendiecks’ books20Copyright 2009: Lisa Crispin

More Current Trends Continuous Integration is a givenMore frequent releasesExpanded test tool optionsLow-tech prototyping, trackingMore early collaborationBehavior-Driven Development (BDD)21Copyright 2009: Lisa Crispin

BDD/Narrative/Scenario ExampleGiven that the FitNesse wiki is a WikiGiven that the FitNesse User is a Web UserGiven that the FitNesse wiki was able to start forthe first 7meWhen the FitNesse User a9empts to go to theHome PageThen the content of the Home Page for theFitNesse User should be Welcome to theWonderful World of FitNesse!From: Antony Marcano, Andy Palmer,testingreflections.com, pairwith.us22Copyright 2009: Lisa Crispin

Scaling Up and out Larger organizations adopt agile My company has 28 Scrum teamsMore remote team members Need the best people, so Hire them where they liveTechnology enablesNOT remote test teams!23Copyright 2009: Lisa Crispin

Test Tools Mix & Match open source frameworks/driversVendor tools getting lighter weight FitNesse/Slim/Fit widely used Framework for many other toolsBDD tools growing in popularity GUIdancer – object-orientedCucumber, easyb, nbehaveGUI test drivers standardizing Watir, Selenium, Robot Framework24Copyright 2009: Lisa Crispin

ASERT20062009Testing Tool Spectrum (Paul King, asert.au)UtilitiesAll Pairs CombinationsPolyglot languagesLogic programmingThreads, Parallelconcurrency librariesData-driven librariesNetworking librariesXML ProcessingRead/write files,Excel / Word / CSV,Reporting, LoggingRunnersNative Groovy, JUnit, TestNG, Spock, EasyB,JBehave, Cucumber, Robot Framework, BCSOAP t2, SoapUI, Twist,GUIdancer, IDEs,JMeter, Text editors,Recorders, Build Tools,CIAgile2009 - 25Copyright 2009: Lisa Crispin

Trends in Test Automation Record/Playback as “trainer” onlyTest architecture/design criticalPlanning and tracking tools – online and lowtechOpen source, agile tools explosion Plenty of good browser test driversOther problems now being solvedScenario, Narrative style26Copyright 2009: Lisa Crispin

Testing Techniques Team writes acceptance tests togetherProgrammers and testers pair to automatetestsROI guides automationTesters do exploratory testingCustomers participate Pair with customers for ETFrequent demos27Copyright 2009: Lisa Crispin

What Does It Mean for Us? Values more important than process,practicesTesters need to adopt new mindset Ramp up skillsMore creative thinking, problem-solvingDo what works for your team Don’t blindly follow trends28Copyright 2009: Lisa Crispin

Key Success Factors29Copyright 2009: Lisa Crispin

Do Your Best Work Whole Team approach Testers, customers, developers collaborateBusiness examples, turned into testsAgile Testing QuadrantsTest Automation PyramidExploratory testing30Copyright 2009: Lisa Crispin

The Future is What You Make It Get out of your chair – see how you can helpLearn a new test framework or scriptinglanguage today - build your skills Bring testing problems to the whole team Lots of free resources, just takes timeLeave your comfort zoneBenefit from multiple skill setsHow can your expertise help the team?31Copyright 2009: Lisa Crispin

Questions?32Copyright 2009: Lisa Crispin

Some Agile Testing Resources lisacrispin.com janetgregory.ca exampler.com agile-testing@yahoogroups.com testobsessed.com Antonymarcano.com33Copyright 2009: Lisa Crispin

Bridging the Communication GapSpecification By Example and AcceptanceTestingGojko Adzic34CopyrightCopyright2008 Janet2009:Gregory,Lisa CrispinDragonFire

Now AvailableAgile Testing: A Practical Guide for Testers and AgileTeamsBy Lisa Crispin and Janet Gregorywww.agiletester.caCopyright35 2009: Lisa Crispin

Current Trends in Testing/Development Pomodoro technique for pairing, planning www.pomodorotechnique.com More exploratory testing As automated regression tests free time context-driven-testing