Testing & Scrum

23
TESTING & SCRUM Experiences of organizing and structuring testing within the Scrum Framework

Transcript of Testing & Scrum

TESTING & SCRUMExperiences of organizing and structuring testing within the Scrum Framework

Introduction - Me• Johan Hoberg

• 10 years at Sony Mobile and 1 year at King• Tester, Test Team Leader, Test Leader, Test Architect/Strategist• Passion for testing and computer games

Introduction – This presentation• My experiences from working with Scrum, and how I apply

that into organizing and structuring test within the Scrum Framework

• Not a best practice – just my thoughts applied to my specific context

• Hopefully it will give you some ideas on how to do something similar in your context

Scrum Framework

Generalizing Specialists (or Specializing Generalists) [12]

KEY MESSAGE #1Everyone is a Tester

Definition of Quality

“Quality is value to some person”

Agile Test Quadrants [7]

Acceptance Criteria

Given / When / Then

Acceptance Criteria & Testers

Writing good Acceptance Criteria requires a testing skillset

KEY MESSAGE #2Testing is infused into everything

Test Ownership

Scrum Team

Outside of Scrum Team

Isolated Tests

Contract/Collaboration Tests

Integration Tests

System Tests

Equipment & Competence Specific Tests

• Clear ownership important

• What ownership structure you use is less important

• This structure works in my context

Definitions: Testing in the Scrum Team

• Isolated Tests

• Contract Tests

• Collaboration Tests

• Integration Tests

Definitions: Testing outside the Scrum Team

• System Tests

• Equipment Specific Tests

• Competence Specific Tests

KEY MESSAGE #3You can place some testing outside of the Scrum Team if you have multiple teams

Who tests what? (Simplification)

Anyone

DeveloperTester

Tester

KEY MESSAGE #4Complexity is the main separator for who does what

Test Automation

The Scrum Team should make the decision what they want to automate and

what they want to test manually

Regression Testing

Everyone is responsible for covering their own test areas during regression

test activities

Testing & Checking

“Checking is the process of making evaluations by applying algorithmic decision

rules to specific observations of a product.” [5]

(Exploratory) Testing [6]• “Testing is the process of evaluating a product by learning

about it through exploration and experimentation, which includes: questioning, study, modeling, observation and inference, output checking, etc.”

• All testing is exploratory, even scripted testing, if you are doing it responsibly

Conclusion• Testing is an integral part of the Scrum Framework

• Everyone should contribute

• But there is still a place for a strong testing skillset, driven by the complexity of the product

• Test Ownership should be clear and it is possible to place some testing outside of the Scrum Team

References

[1] Definition of QualityWeinberg, Gerald M. (1992), Quality Software Management: Volume 1, Systems Thinking, New York, NY: Dorset House Publishing, p. 7[2]Agile Manifesto Principleshttp://agilemanifesto.org/principles.html[3] The Scrum Guidehttp://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdf[4] Acceptance Criteriahttp://www.leadingagile.com/2014/09/acceptance-criteria/[5] Testing and Checkinghttp://www.satisfice.com/blog/archives/856[6] Exploratory Testing 3.0http://www.satisfice.com/blog/archives/1509[7] Agile Testing Quadrantshttp://www.developsense.com/presentations/2014-06-Dublin-RSTAgileTesting.pdf[8]Integration Tests are a Scamhttps://vimeo.com/80533536[9]Cynefinhttp://en.wikipedia.org/wiki/Cynefin[10] Heuristic Risk-Based Testinghttp://www.satisfice.com/articles/hrbt.pdf[11]Contract Tests: An Examplehttp://blog.thecodewhisperer.com/2011/07/07/contract-tests-an-example/[12]To combine … or nothttp://angryweasel.com/blog/to-combine-or-not/