testing in agile

26
Setting test process in Agile Setting test process in Agile Alex Yermakovich

Upload: alexander-ermakovich

Post on 14-Aug-2015

32 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Testing in Agile

Setting test process in AgileSetting test process in Agile

Alex Yermakovich

Page 2: Testing in Agile

Part 1: understanding the game

Page 3: Testing in Agile

Which are Agile benefits?Which are Agile benefits?

Flexibility/Iterative Speed to Market Encourages Change Release software early and often Builds in quality throughout the development process

Page 4: Testing in Agile

What’s Agile for testing?What’s Agile for testing?

Minimal Requirements Minimal Up front Planning Continuous Integration and Regression Testing Each

Iteration Test Automation

Page 5: Testing in Agile

Part 2: approach

Page 6: Testing in Agile

What is actually Agile?What is actually Agile?

Agile is number of practices!

Page 7: Testing in Agile

Agile testing practicesAgile testing practices

Continuous Integration- nightly builds Test Driven Development - test first and Unit tests

coverage Refactoring Coding Standards - code reviews …

Page 8: Testing in Agile

Rules for the game: baselineRules for the game: baseline

Every one is responsible for the quality Product/project manager is quality oriented: understand

quality requirements Quality is based on Vision rather then on requirements High level communications and integration of SQE and Dev

team: SQE code and Dev test

Page 9: Testing in Agile

Rules for the game: planningRules for the game: planning

SQE is independent and plans for itself but taking priorities from PM and Dev team

Engineers plans iterations on their own and responsible for it

Statistics gets gathered and analyzed Plan with priorities 8 hours working day

Page 10: Testing in Agile

Part 3: process

Page 11: Testing in Agile

Process descriptionProcess description

Development only

Testing features from iteration 1

Test matrix

Dev & bug fixingStart Finish

Iteration 1 Iteration 2 Iteration 3 Hardening

Sanity Sanity Sanity

Testing features from iteration 2 and regression

Testing features from iteration 3 and full regression

Dev & bug fixing Testing & bug fixing

Test matrix update

Test matrix update

Sanity

Page 12: Testing in Agile

Process description: iterationsProcess description: iterations

Quality iteration follows after development iteration. Build must pass Sanity test and then is tested during the

iteration. Rebuilding is allowed only for fixing Sanity bugs, crashes and blocks.

If Sanity test failed new build must be created. Build is delivered by dev team on Kick Off day and Sanity

tested on the first day of iteration. It’s recommenced to create automation Sanity test

Page 13: Testing in Agile

Process description: hardeningProcess description: hardening

Only two activities: testing and bugfixing SQE lead is responsible for everything Dev team tests when there is no bugfixing Builds are delivered daily, until all bugs are fixed. In the end final build is packed by dev lead and tested by

SQE lead.

Page 14: Testing in Agile

Docs for the processDocs for the process

Testing approach

Start Finish

Iteration 1 Iteration 2 Iteration 3 Hardening

Sanity Sanity Final Sanity

Test matrix update

Final Test matrix with estimations and priorities update

Sanity

Initial Test matrix

1 month

Final features listNew features list

New features list

Page 15: Testing in Agile

Quality expectation: iterationQuality expectation: iteration

Defects with severity of Crash or Block must be fixed in the iteration they are found.

Defects with the severity of Major found in iteration must be fixed in the following iteration

Verification of fixed/resolved issues will occur in the following iteration.

Page 16: Testing in Agile

Quality expectation: hardeningQuality expectation: hardening

Final Quality Debt negotiation between the Product Manager will occur no later than one week before Hardening prior to the RTM Date.

All features must be tested during hardening. Deepness will depend on resources.

Quality Debt at the beginning of the Hardening Phase will include no more than Minor defects and defects with the severity of Major found in the last iteration

No more than 5 minor defect must be before build is released

Page 17: Testing in Agile

Part 4: More practices

Page 18: Testing in Agile

Unit tests and nightly buildsUnit tests and nightly builds

No unit tests no quality No ninthly builds no quality Email notification for builds Unit test coverage is controlled by SQE: usually it’s

recommended 75-80%

Page 19: Testing in Agile

RefactoringRefactoring

It’s ongoing activity Helps to improve code and resolve potential issues You must have good enough unit test coverage!!!

Page 20: Testing in Agile

Quality in flight: monitoring debtQuality in flight: monitoring debt

Finish

Iteration 1 Iteration 2 Iteration 3 Hardening

1 month

45 70

10

0Start

Defect Severity Weight

Feature 0

Minor 2

Major 5

Crash 10

Block 25

Page 21: Testing in Agile

Gather priorities for hardeningGather priorities for hardening

11111

Attribute contracts

4.253455

Users scenarious

11111

Check no passwords in logs

AverageConfidence in QualityComplexityDefect History

ImpactChange

impactFeature

11111

Attribute contracts

4.253455

Users scenarious

11111

Check no passwords in logs

AverageConfidence in QualityComplexityDefect History

ImpactChange

impactFeature

0.691.751Attribute contracts

3.004.754.25Users scenarious

0.5011Check no passwords in logs

AverageSQE leadDev leadFeature

0.691.751Attribute contracts

3.004.754.25Users scenarious

0.5011Check no passwords in logs

AverageSQE leadDev leadFeatureGather priorities from the team

Crate summary and use it in test matrix

Page 22: Testing in Agile

Test MatrixTest Matrix

Priorities set in the Matrix and features tested by them It is good to monitor time which is spent on testing Essential to put who when or on which build Bugs statistic helps better understand potential problems

Page 23: Testing in Agile

Session based testingSession based testing

Create charter: task for 1-1.5 hour Give it to developer, manager, customer Get and document results

Page 24: Testing in Agile

Part 5: Summary

Page 25: Testing in Agile

Practices summaryPractices summary

Continuous Integration- nightly builds Test Driven Development - test first and Unit tests

coverage Refactoring Coding Standards - Code reviews In flight quality debt – constant monitoring Using priorities Hardening: time to get good build Automation! Use Wiki for improving communication

Page 26: Testing in Agile

Question?