Qa In Agile

19
  • date post

    21-Oct-2014
  • Category

    Technology

  • view

    2.121
  • download

    2

description

 

Transcript of Qa In Agile

Page 1: Qa In Agile
Page 2: Qa In Agile

QA in AgileQA in AgileQA Driven DevelopmentQA Driven Development

Alimenkou MikalaiAlimenkou Mikalai

28.06.200828.06.2008

Page 3: Qa In Agile

QA ActivitiesQA Activities

►RequiredRequired Regression testingRegression testing Iteration/release tasks testingIteration/release tasks testing

►OptionalOptional Release/demo managementRelease/demo management Documentation managementDocumentation management

Page 4: Qa In Agile

Regression TestingRegression Testing

►GoalsGoals Verify existing functionalityVerify existing functionality Check new integration pointsCheck new integration points Show and monitor project statusShow and monitor project status Check existing documentationCheck existing documentation

Page 5: Qa In Agile

Regression TestingRegression Testing

► IssuesIssues Functionality is growing too quicklyFunctionality is growing too quickly Not enough QA engineersNot enough QA engineers Too much manual workToo much manual work Setup and configuration issuesSetup and configuration issues Testing without plan/structure Testing without plan/structure

Page 6: Qa In Agile

Iteration/Release Tasks Iteration/Release Tasks TestingTesting

►GoalsGoals Check new functionality Check new functionality Show iteration/release statusShow iteration/release status Update/create documentationUpdate/create documentation

Page 7: Qa In Agile

Iteration/Release Tasks Iteration/Release Tasks TestingTesting

► IssuesIssues Too many bugs in implemented tasksToo many bugs in implemented tasks Not enough time to the end of iterationNot enough time to the end of iteration Regression testing is not finishedRegression testing is not finished Tasks are too largeTasks are too large Long feedback/bug-fixing loopLong feedback/bug-fixing loop QA work is not included in ‘DONE’ criteriaQA work is not included in ‘DONE’ criteria Switching of environmentsSwitching of environments

Page 8: Qa In Agile

Release/Demo ManagementRelease/Demo Management

► IssuesIssues Full regression is not finishedFull regression is not finished Bug fixes produces new bugsBug fixes produces new bugs Release/demo is prepared in the next Release/demo is prepared in the next

iterationiteration

Page 9: Qa In Agile

Documentation ManagementDocumentation Management

► IssuesIssues No documentation at allNo documentation at all Documentation is hard to maintainDocumentation is hard to maintain Too much time is spend for Too much time is spend for

documentationdocumentation Documentation is not up to dateDocumentation is not up to date Documentation is not sharedDocumentation is not shared

Page 10: Qa In Agile

Common IssuesCommon Issues

►QA team is not collocated with QA team is not collocated with developersdevelopers

►QA team members are part-timeQA team members are part-time►Developers defend their code from QADevelopers defend their code from QA►QA team don’t share project interestsQA team don’t share project interests►QA tools minimize face-to-face interactionQA tools minimize face-to-face interaction►Lack of respect for QA workLack of respect for QA work►QA team is not enough skilledQA team is not enough skilled

Page 11: Qa In Agile

QA IterationQA Iteration

1 2 43 65 8 97 10

daysPhase I: Planning

Phase II: Automated

Acceptance Testing

Phase III: Stories Testing

Phase IV: Regression Testing

Phase V: Demo

Page 12: Qa In Agile

Phase I: PlanningPhase I: Planning

►GoalsGoals Complete understanding of sprint scopeComplete understanding of sprint scope Prioritization of tasks in the sprintPrioritization of tasks in the sprint Additional point of view on storiesAdditional point of view on stories Increasing team collaborationIncreasing team collaboration

► Best practicesBest practices Full QA team take part in planningFull QA team take part in planning QA team members estimate storiesQA team members estimate stories Some time at the end of iteration is reservedSome time at the end of iteration is reserved QA estimations are used to order tasksQA estimations are used to order tasks Both manual and automated tests are estimatedBoth manual and automated tests are estimated

Page 13: Qa In Agile

Phase II: Acceptance TestingPhase II: Acceptance Testing

►GoalsGoals Document new functionalityDocument new functionality Prepare tests for ATDDPrepare tests for ATDD Decrease time for regression testingDecrease time for regression testing Automate ‘DONE’ criteriaAutomate ‘DONE’ criteria

► Best practicesBest practices Don’t use too technical toolsDon’t use too technical tools QA writes test, developer writes fixtureQA writes test, developer writes fixture Test stories at the top of sprint backlogTest stories at the top of sprint backlog Organize tests as documentationOrganize tests as documentation Developers help QA to prepare testsDevelopers help QA to prepare tests Completely automated testing environmentCompletely automated testing environment

Page 14: Qa In Agile

Phase III: Stories TestingPhase III: Stories Testing

►GoalsGoals Complete ‘DONE’ criteriaComplete ‘DONE’ criteria Integrate and check new functionalityIntegrate and check new functionality Early preparation to the demoEarly preparation to the demo

► Best practicesBest practices Use branches for large tasks or demo branchUse branches for large tasks or demo branch Reduce amount of manual testingReduce amount of manual testing Start story testing as soon as possibleStart story testing as soon as possible Update test suite for bugs and issuesUpdate test suite for bugs and issues Completely automated testing environmentCompletely automated testing environment Developers often integrate code on local Developers often integrate code on local

machinesmachines

Page 15: Qa In Agile

Phase IV: Regression TestingPhase IV: Regression Testing

►Goals Goals Check integration of all implemented storiesCheck integration of all implemented stories Preparation to the demoPreparation to the demo Prepare sprint statusPrepare sprint status

► Best practicesBest practices Division of automated tests in suitesDivision of automated tests in suites Easy and short stories at the end of sprintEasy and short stories at the end of sprint Buffer for team internal tasksBuffer for team internal tasks Developers help to perform testingDevelopers help to perform testing Some kind of code freezingSome kind of code freezing Categorization of bugs and issuesCategorization of bugs and issues Update project testing metricsUpdate project testing metrics

Page 16: Qa In Agile

Phase V: DemoPhase V: Demo

►GoalsGoals Demonstrate implemented functionalityDemonstrate implemented functionality External demoExternal demo Share project knowledge and experienceShare project knowledge and experience

► Best practicesBest practices Prepare to the demo during sprintPrepare to the demo during sprint Include demo preparation in ‘DONE’ criteriaInclude demo preparation in ‘DONE’ criteria Automated environment for demoAutomated environment for demo All team members present at the demoAll team members present at the demo Demo is driven by QA team memberDemo is driven by QA team member Fixed time and place for sprint demoFixed time and place for sprint demo

Page 17: Qa In Agile

Phase VI: RetrospectivePhase VI: Retrospective

►GoalsGoals Share knowledge about QA processShare knowledge about QA process Analyze and improve QA processAnalyze and improve QA process Increase integration with developers teamIncrease integration with developers team Analyze team structureAnalyze team structure

► Best practicesBest practices Use external facilitatorUse external facilitator Members of other teams presentMembers of other teams present Gather and share project metricsGather and share project metrics Use experience of developers team in Use experience of developers team in

retrospectivesretrospectives

Page 18: Qa In Agile

Best PracticesBest Practices

►Use engineer practicesUse engineer practices Unit testingUnit testing TDDTDD ATDDATDD Continuous integrationContinuous integration Code reviewCode review Pair programmingPair programming Static analysisStatic analysis

Page 19: Qa In Agile

Best PracticesBest Practices

►QA team is collocated with developersQA team is collocated with developers►Product owner works with QA for ATProduct owner works with QA for AT►At least 1 QA for each 2 developersAt least 1 QA for each 2 developers► Increase QA team incrementallyIncrease QA team incrementally►Developers help with all technical stuffDevelopers help with all technical stuff►Use short internal iteration before Use short internal iteration before

releaserelease►Calculate and publish testing metricsCalculate and publish testing metrics►Provide traceability for testsProvide traceability for tests