quality awareness when practicing agile testing
DESCRIPTION
At the recently held “CodeCamp” event, Ana Milutinovic spoke about the challenges of Quality Assurance in Agile Development and presented lots of best practice experience. Quality Assurance Challenges in Agile Development While many books have been written about Agile Development methodologies and their success stories - little has been said about how to handle quality assurance and testing in Agile projects. After getting involved with her first Agile Development project some years ago, Ana Milutinovic – QA Engineer at youngculture – found herself confronted with the challenge of having to rethink traditionally established testing processes that worked well for Waterfall Projects but which were not suitable for Agile Development. Problems arose like how to do proper test planning, if no scope planning was available? How to fit in writing test cases and test execution in 2-week sprints that looked like mini-Waterfall Projects? There was never enough time for quality assurance and bugs were accumulating. Best Practise Tips That’s when Ana and her colleagues began to develop their own model for Agile testing, which has since been refined in many e-commerce and other projects. Some best practice tips: 1. Quality in Planning: Actively involve QA Engineers in sprint planning In order to avoid running into time constraints a realistic planning of both – development and quality assurance – is crucial. It is therefore important that QA engineers get a profound understanding of the features in order to estimate realistic test efforts. An “easy-to-develop” feature might mean a huge testing effort and vice versa. 2. Quality in Test-Design: Engage developers in writing test cases Instead of handing over quality assurance to the test department, developers should be included in writing test cases. This not only raises the focus on quality, but also helps developers in making the specification, because the QA engineer might point out use cases they would not have otherwise thought of. 3. Quality in Test-Execution: Closer collaboration brings better results As a consequence of closer collaboration between software and QA engineers in the test-planning and design phases, QA engineers will have a better insight into the project goals and will be therefore more effective in test-execution. 4. Quality in Reporting and Metrics: tool based & fast feedback In order to cope with agile processes, efficient and focused test feedback is key. Forget about detailed strategy papers, test documentation and extensive test reports. Rather work with checklists and modern test management tools.TRANSCRIPT
Quality Awareness
When Practicing Agile Testing
Ana Milutinovic
Quality Assurance Engineer @ youngculture
25th of October 2014
“Quality is a value to some person, at some
time”
Jerry Weinberg
1. Understanding the impact of this statement
2. Going to effort of making every team member aware of this concept
How did agile come around?
Deliver working software frequently…
Daily whole team collaboration…
Build projects around motivated individuals…
Working software as the primary measure of progress…
Self-organizing teams…
Satisfied customers…
Go agile!
How it really looked
SCRUM Framework
Product backlog
Team 5 – 7 people
Sprint
2 weeks
First release after 1,5 year
Test management tool Defect tracking tool
Project duration: 3 years and counting…
Customer-ready
Product Increment
Problems
We were confused in Test
Planning
We were confused in Test
Planning
Sprints looked like small
Waterfalls
Sprints looked like small
Waterfalls
No time to testNo time to test Bugs accumulatingBugs accumulating
QA was left out of the process.
Living in a time box
Parallel QA SprintParallel QA Sprint
QA in Poker PlanningQA in Poker Planning
Ideas to improve Test Planning:
Quality in Planning
3 8 5
QA
Poker Planning
“Everyone involved with delivering code is a developer, and is part of
the developer team.”
Lisa Crispin and Janet Gregory
Quality in Planning
Quality in Planning
Arguments for (not)involving QA into Poker Planning:
Symmetry
between testing
and
programming
Testing never
ends
Where is the
scope of
‘Done’
CD system
Programming
never ends
Agile implies
adjustments
QA was included
into calculation
Quality in Design
� Avoid presenting finished test cases to developers
� Create a common understanding of the user story,get the right direction and split it into smaller pieces
� Decision on which stories need automation
Quality in Execution
IF IT CAN’T BE TESTED
IT’S NOT GOING INTO
SCRUM
AUTOMATION IN EACH
SPRINT
CONTINIOUS DELIVERY
TESTABLE USER
STORIES
QA ESTIMATED
TEST AUTOMATION
AGREEMENT
CLEARLY ESTABLISHED
TEST GOALS
Quality in Reporting and Metrics
� We allowed testing to be planned in fewer details
� Attention in reporting to whatever is specific for thecurrent sprint
Quality in Reporting and Metrics
Test Planning• Test strategy• Story board• Simple test management tool
Defect Tracking Tool• Not track defect rates• Attention on fast feedback
Sprint Review• Discussion whatever defect influenced the sprint in an
interesting way
Agile in Fundamental Test Process
Planning & Control
Analyses & Design
ExecutionReporting
Test Closure
Thank You!
Switzerland
youngculture AGHotelstrasse - Postfach 2574CH-8060 Zürich-AirportTel. +41 (0)44 366 40 [email protected]
Germany
youngculture (Deutschland)Rottmannstrasse 11DE-80333 MunichTel. +49 (0)89 890 637 [email protected]
Austria
youngculture (Österreich) GmbHRenngasse 4AT-1010 ViennaTel. +43 (0) 1 532 19 [email protected]
Serbia (Nis and Belgrade)
youngculture d.o.o.Bulevar Z.Đinđića 64a RS-11000 BelgradeTel. +381 (0)11 404 99 [email protected]
Romania
youngculture (Romania) S.R.L Palas 7B-7C, UBC3 TowerRO-700032 IașiTel. +40 (0)33 27 10 530 [email protected]
www.youngculture.com - www.youngculture-mobile.com