Agile TestingZbyszek Moćkun
AgendaQA and Testing
Agile Testing
Process, Tester Principles
Agile against Waterfall (differences)
Continuous Integration
Builds, Test Automation
Managing issues found by Automated Tests, Test Case Management
Is it worth?
Pseudo Agile projects
Mini waterfall, No automation
Agile only during development phase
From Waterfall to Agile
Tester-Developer cooperation
Tester concerns about AgileQA and TestingWhat is a difference between QA and Testing?QA is oriented to defect ‘preventions’Testing is oriented to defect ‘detection’
QA and TestingQAmeasure quality of processTestinggives metrics
Agile Tester PrincipleProvide continuous feedbackDeliver value to the customerEnable face-to-face communicationHave courageKeep it simplePractise continuous improvementRespond to changeSelf-organizeFocus on peopleEnjoyLisa Crispin, Janet Gregory – Agile Testing
Agile Testing - ProcessInitialPlanningRelease/New functionality
Agile against WaterfallAgileWaterfallCoding, newfunctionalityBug fixingTestingReleaseIteration
Agile Testing - IterationsAfter each iteration we have finished stories and release is possibleWaterfall – allnewfeatures (A,B,C,D,E,F) availableatthe same time, attheend of theproject
Continuous Integration Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.Martin Fowler
BuildsContinuous IntegrationHow to integrate builds with Automation TestsWhen rebuild and run tests
Test AutomationTools (Selenium, Canoo Web Test, …)Technology (Html vs. Java,C,..)Who is reposnible for automation?Integration with Continuous Integration applicationsWhen start work on automation?Reporting
Manage AutomationWhen run Automation testsUpdating existing test scriptsAutomation test scripts for different releases, clientsCreating new testsWhat automate, what not?Manage automation tests – Test Case Management Tools
Managing bugsHow fast should we fix issues found by ATC?Should we raise official issues?Propagation issues for regression/UAT tests
Manual TestsHow to manage manual and automation testsStill we need manual testing?When run manual testsWhen testing storiesWhen testing bugsManaging issues
Test Case ManagementHow do not mixed up with testsWhy should we manage test casesHow do not duplicate testsHow report manual and automation testsIntegration with automation tool and defect managment toolsTest Case Managment tools

Agile Testing - presentation for Agile User Group

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    Managing issues foundby Automated Tests, Test Case Management
  • 9.
  • 10.
  • 11.
  • 12.
    Agile only duringdevelopment phase
  • 13.
  • 14.
  • 15.
    Tester concerns aboutAgileQA and TestingWhat is a difference between QA and Testing?QA is oriented to defect ‘preventions’Testing is oriented to defect ‘detection’
  • 16.
    QA and TestingQAmeasurequality of processTestinggives metrics
  • 17.
    Agile Tester PrincipleProvidecontinuous feedbackDeliver value to the customerEnable face-to-face communicationHave courageKeep it simplePractise continuous improvementRespond to changeSelf-organizeFocus on peopleEnjoyLisa Crispin, Janet Gregory – Agile Testing
  • 18.
    Agile Testing -ProcessInitialPlanningRelease/New functionality
  • 19.
    Agile against WaterfallAgileWaterfallCoding,newfunctionalityBug fixingTestingReleaseIteration
  • 20.
    Agile Testing -IterationsAfter each iteration we have finished stories and release is possibleWaterfall – allnewfeatures (A,B,C,D,E,F) availableatthe same time, attheend of theproject
  • 21.
    Continuous Integration Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.Martin Fowler
  • 22.
    BuildsContinuous IntegrationHow tointegrate builds with Automation TestsWhen rebuild and run tests
  • 23.
    Test AutomationTools (Selenium,Canoo Web Test, …)Technology (Html vs. Java,C,..)Who is reposnible for automation?Integration with Continuous Integration applicationsWhen start work on automation?Reporting
  • 24.
    Manage AutomationWhen runAutomation testsUpdating existing test scriptsAutomation test scripts for different releases, clientsCreating new testsWhat automate, what not?Manage automation tests – Test Case Management Tools
  • 25.
    Managing bugsHow fastshould we fix issues found by ATC?Should we raise official issues?Propagation issues for regression/UAT tests
  • 26.
    Manual TestsHow tomanage manual and automation testsStill we need manual testing?When run manual testsWhen testing storiesWhen testing bugsManaging issues
  • 27.
    Test Case ManagementHowdo not mixed up with testsWhy should we manage test casesHow do not duplicate testsHow report manual and automation testsIntegration with automation tool and defect managment toolsTest Case Managment tools
  • 28.
    Agile vs. WaterfallAgilemoves automation near development, which gives us less cost of fixing bugsWaterfall problem - often builds don’t pass smoke tests. Thanks moving automation, it almost not happen at all.QA in waterfall keep automaiton only for themLess manual testing in Agile
  • 29.
    Is it worth?AgileBetterfor small projectsMoves automation near development (better use)Better when good contact with customerRequire experience and trainingsNew expirienceWaterfallBig projects where requirement not change oftenEasier in managmentEasier when team is located in different localizations
  • 30.
    Pseudo Agile ProjectsThreeexamples of projects where Agile was introduce, but ... – from Tester perspective
  • 31.
  • 32.
    MiniwaterfallLack of automationtestsLack of Continuous Integration Complicated build systemLack of Resource
  • 33.
    No automationIt usuallyprovides to miniwaterfall, which we describe previously. No releases after iteration, regression tests necessaryLong time period between releases
  • 34.
    Agile only duringdevelopment phaseOnly developers work in AgileJust coding divided on iteratonsNo tests during developmentAutomation (if exist) still stays on Test Team sideWaterfall projectProblems with builds from development
  • 35.
    From Waterfall toAgileFew TesterThoughts
  • 36.
    Tester – DevelopercooperationAgileOne project teamClose communication with developers (cooperate)The same aimTogether analyze requirements, planningParreralworkwithdevelopersWaterallDifferent teamMostly communication only by defect management toolsDifferent aimsNot involve in requirement analyzing, planningTime delaybetweencoding and tests
  • 37.
    Tester concerns aboutAgileTester manage by developer (project manager) Lost of identityNo defined task (self-organize)No Agile trainingNo carrier pathCommunication problem
  • 38.
    Tester concerns aboutAgilePlace in projectDevelopment skills onlyThere is no Agile without automationThere is no QA (Test) department on Agile projectNo exchange information between testers in different projectsHow I can develop my career
  • 39.