Cette publication ne fait pas partie de la bibliothèque YouScribe
Elle est disponible uniquement à l'achat (la librairie de YouScribe)
Achetez pour : 28,82 € Lire un extrait

Lecture en ligne + Téléchargement

Format(s) : EPUB - PDF

sans DRM

Partagez cette publication

Du même publieur

Testing in Scrum
About the Author
Tilo Linzis 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 ofSoftware Testing Foundations(also published by th Rocky Nook and now in its 4 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 TestBenchproduct and the introduction of Kanban methodology as a basis for the company's marketing strategy.
Tilo Linz
Testing in Scrum
A Guide for Software Quality Assurance in the Agile World
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. rd 802 East Cota St., 3 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.1'4--dc23  2014000961
Distributed by O’Reilly 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 wouldn’t 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 zoo-plus, 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 com-ments, 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 Roßner and Carola Wittigschlager. My heart-felt thanks also go to Claudia Wissner, without whom many of the illustra-tions 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.
v
vi
Acknowledgments
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 tech-niques in your own testing environment.
Tilo Linz,February 2014
Contents
1
1.1
1.2
1.3
1.4
2
2.1
2.2
2.3
2.4
3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
Introduction
1
Target Audience ................................................................................................. 2
Book Contents .................................................................................................... 3
Case Study ............................................................................................................ 5
Website ................................................................................................................. 6
Agile vs. Traditional Approaches
7
Scrum ..................................................................................................................... 7
Kanban ................................................................................................................ 15
Traditional Process Models .......................................................................... 17
Comparing Process Models ......................................................................... 21
Planning an Agile Project
25
Product Vision ................................................................................................... 26
Architecture Vision .......................................................................................... 26
Product Backlog ............................................................................................... 28
Story Map ........................................................................................................... 30
Sprint Backlog ................................................................................................... 32
Team Charter ..................................................................................................... 33
Test Planning and Test Management ...................................................... 35
3.7.1 3.7.2 3.7.3
Traditional Test Management ..................................................... 35 Test Management in Scrum ......................................................... 35 Test Levels in Scrum ....................................................................... 37
vii
viii
Contents
3.8
3.9
4
4.1
4.2
4.3
4.4
4.5
4.6
Introducing Agile Planning .......................................................................... 37
Questions and Exercises ............................................................................... 38
3.9.1 3.9.2 3.9.3
Self-Assessment ............................................................................... 38 Methods and Techniques ............................................................. 39
Other Exercises ................................................................................. 39
Unit Testing and Test First
41
Unit Testing ....................................................................................................... 41
4.1.1 4.1.2 4.1.3 4.1.4 4.1.5
Classes and Objects ........................................................................ 42
Testing the Methods of a Class ................................................... 43 Object State Testing ....................................................................... 51 State-Based Coverage Criteria .................................................... 54
Testing with Method Permutations .......................................... 56
Test First .............................................................................................................. 58
4.2.1 4.2.2 4.2.3
Test First and Scrum ....................................................................... 61 Implementing Test First ................................................................ 62
Using Test First ................................................................................. 64
Unit Testing Frameworks ............................................................................. 68
Stubs, Mocks and Dummies ........................................................................ 69
Unit Test Management .................................................................................. 71
4.5.1
Unit Test Planning ........................................................................... 74
Questions and Exercises ............................................................................... 75
4.6.1 4.6.2 4.6.3
Self-Assessment ............................................................................... 75 Methods and Techniques ............................................................. 76
Other Exercises ................................................................................. 76
5
5.1
5.2
5.3
5.4 5.5
5.6 5.7
6
6.1 6.2 6.3
Integration Testing and Continuous Integration
Contents
79
Integration Testing ......................................................................................... 79 5.1.1 Typical Integration Failures and Their Causes ....................... 80 5.1.2 Designing Integration Test Cases .............................................. 82 5.1.3 The Differences between Unit and Integration Tests ......... 85 The Role Played by System Architecture ................................................ 86
5.2.1 Dependencies and Interfaces ..................................................... 88 5.2.2 Testability and Testing Effort ....................................................... 89 Integration Levels ............................................................................................ 90 5.3.1 Class Integration .............................................................................. 90 5.3.2 Subsystem Integration .................................................................. 92 5.3.3 System Integration .......................................................................... 92 Traditional Integration Strategies ............................................................. 94
Continuous Integration ................................................................................. 94 5.5.1 The CI Process ................................................................................... 95 5.5.2 Implementing CI .............................................................................. 98 5.5.3 Optimizing CI ................................................................................. 101 Integration Test Management ................................................................. 103 Questions and Exercises ............................................................................. 105 5.7.1 Self-Assessment ............................................................................ 105 5.7.2 Methods and Techniques .......................................................... 106 5.7.3 Other Exercises .............................................................................. 107
System Testing and Testing Nonstop
109
System Testing .............................................................................................. 109 The System Testing Environment ........................................................... 112 Manual System Testing .............................................................................. 114 6.3.1 Exploratory Testing ...................................................................... 114 6.3.2 Session-Based Testing ................................................................ 115 6.3.3 Acceptance Testing ..................................................................... 116
ix
Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin