Testing in Scrum
About the Author
Tilo Linz is co-founder and managing director of imbus AG, a leading provider of software testing and quality assurance solutions for more than 20 years. Linz is co-founder of the German Testing Board and a founding member of the ISTQB, where he has contributed widely to the national and international promotion of education and training in this field. He is co-author of Software Testing Foundations (also published by Rocky Nook and now in its 4th edition) one of the most successful and widely-read books on the subject.
Every day, Linz is faced with the many opportunities and challenges presented by the introduction of agile development methods, whether in the course of customer projects or the continuing development of imbus own TestBench product and the introduction of Kanban methodology as a basis for the companys marketing strategy.
Testing in Scrum
A Guide for Software Quality Assurance in the Agile World
Tilo Linz
Tilo Linz (www.softwaretest-knowledge.net, www.imbus.de)
Editor: Michael Barabas
Copyeditor: Judy Flynn
Translator: Jeremy Cloot
Layout: Josef Hegele
Project Manager: Matthias Rossmanith
Cover Design: Helmut Kraus, www.exclam.de
ISBN 978-1-937538-39-2
1st Edition 2014
2014 by Tilo Linz
Rocky Nook Inc.
802 East Cota St., 3rd Floor
Santa Barbara, CA 93103
www.rockynook.com
Copyright 2013 by dpunkt.verlag GmbH, Heidelberg, Germany.
Title of the German original: Testen in Scrum-Projekten
ISBN: 978-3-89864-799-1
Translation Copyright 2014 by Rocky Nook. All rights reserved.
Linz, Tilo.
Testing in Scrum : a guide for software quality assurance in the agile world / Tilo Linz. -- 1st edition.
pages cm
ISBN 978-1-937538-39-2 (paperback)
1. Scrum (Computer software development) 2. Agile software development. 3. Computer software--Testing.
4. Computer software--Quality control. I. Title.
QA76.76.D47L548 2014
005.14--dc23
2014000961
Distributed by OReilly Media
1005 Gravenstein Highway North
Sebastopol, CA 95472
All rights reserved. No part of the material protected by this copyright notice may be reproduced or utilized in any form, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without written permission of the publisher.
Many of the designations in this book used by manufacturers and sellers to distinguish their products are claimed as trademarks of their respective companies. Where those designations appear in this book, and Rocky Nook was aware of a trademark claim, the designations have been printed in caps or initial caps. All product names and services identified throughout this book are used in editorial fashion only and for the benefit of such companies with no intention of infringement of the trademark. They are not intended to convey endorsement or other affiliation with this book.
While reasonable care has been exercised in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein or from the use of the discs or programs that may accompany it.
This book is printed on acid-free paper.
Acknowledgments
Even if it is my name that appears on the cover, this book wouldnt have been possible without the advice and support of many of my colleagues.
I would particularly like to thank the interviewees and authors of the case studies, who also acted as reviewers and sounding boards: Dr. Stephan Albrecht at Avid, Dierk Engelhardt at imbus, Andrea Heck at Siemens, Eric Hentschel at ImmobilienScout24, Sabine Herrmann at zooplus, Joachim Hofer at imbus and Terry Zuo at GE Oil & Gas. The many interesting conversations we had provided plenty of valuable insights into the implementation of agile development techniques and the real-world use of Scrum.
I would also like to thank my expert reviewers for their valuable comments, suggestions, and corrections: Oliver Gradl at Siemens for his input on agile integration and system testing, Dr. Stefan Kriebel at BMW and Horst Pohlmann for their feedback on embedded systems, Stefan Schmitz at iq-stz for his profound knowledge of the ISO 9000 standard and auditing, Uwe Vigenschow at oose Innovative Informatik for the fruitful discussions on the subject of acceptance testing and Prof. Mario Winter at the University of Cologne who, in spite of being involved in a book project of his own, contributed his time as a reviewer and offered important input for the chapter on integration testing. Thanks also go to all the other reviewers whose names are not mentioned here.
Thanks, too, go to the entire staff at imbus for their valuable advice and time spent supporting this project, especially Arne Becher, Dr. Christian Brandes, Thomas Roner and Carola Wittigschlager. My heartfelt thanks also go to Claudia Wissner, without whom many of the illustrations would not have progressed beyond the sketch stage.
Thanks also go out to Matthias Rossmanith at Rocky Nook for his tireless help during the production of this book and his patience when an extra sprint or two were required.
And, last but not least, a big thank you to my wife, Sabine, and our daughters, Lisa and Lena, who had to survive without me for many long evenings and weekends while I worked on the text.
I wish you an interesting read and every success applying these techniques in your own testing environment.
Tilo Linz, February 2014
Contents
1 Introduction
Software is everywhere. Virtually every complex product manufactured today is controlled by software, and many commercial services are based on software systems. The quality of the software used is therefore a crucial factor when it comes to remaining competitive. The faster a company can integrate new software in its products or bring software products to market, the greater the opportunity to beat the competition.
Agile software development methods are designed to reduce time to market (TTM) and improve software quality while increasing the relevance of products to customer needs. It is no surprise that the use of agile methodology is on the increase in large international projects as well as in product development at all manner of large corporations. In most cases, this means switching from the tried and trusted V model to agile testing using Scrum methodology.
However, switching to agile and learning to use it effectively and productively is not always easy, especially when multiple teams are involved. Every team member, project manager and all members of line management have to make significant changes to the way they work. Particularly, the effectiveness of software testing and quality assurance (QA) are crucial to the success of introducing and using agile methodology in a team, a department or an entire company, and will determine whether its potential advantages can be put into practice.
Most literature on the subject of agile methodology (including many of the works referenced in the bibliography at the end of this book) is written from the viewpoint of software developers and programmers, and tends to place its main emphasis on programming techniques and agile project managementtesting is usually only mentioned in the guise of unit testing and its associated tools. In other words, it concentrates on testing from the developers point of view. However, unit tests alone are not sufficient and broader-based testing is crucial to the success of agile development processes.
Next page