Agile Testing - The agile way to quality 

 November 1, 2017

The trend towards an agile approach is unbroken. This trend is also leaving its mark on software testing. Now that the importance of testing in agile projects is undisputed, the professionalization and integration of individual employees in the cross-role activities of the agile approach are coming to the fore.

The classic role models of testing are blurring and merging. The personal responsibility of the testers increases. For the classic tester, this means an enrichment and upgrading of his role, as he also takes on tasks and activities of other professions.

  • The importance of the team
  • The crux with the tools in agile projects
  • The seven worst ideas for test automation
  • Test methods in the agile environment
  • Tester: generalist vs. specialist?

But what are the tasks of software testing in agile projects? How are they to be organized in different agile approaches - such as Scrum or Kanban? What is the significance of test tools in this context? How do the responsibilities differ from each other or work together synergistically?

This book provides possible answers to these very specific questions, which arise time and again in operational project work, supplemented by proven approaches from practice.

Authors: Manfred Baumgartner, Martin Klonk, Helmut Pichler, Richard Seidl, Siegfried Tanczos

Publisher: Carl Hanser Verlag

ISBN: 978-3-446-45292-3

Edition: 2nd edition

Table of Contents

1 Agile - A cultural change

1.1 The Way to Agile Development
1.2 Reasons for Agile Development
1.3 The Importance of the Agile Manifesto for Software Testing
1.4 Agile Requires Cultural Change among Users
1.5 Consequences of Agile Development for Software Quality Assurance
1.5.1 Spatial Consequences
1.5.2 Temporal Consequences

2 Agile process models and their view of quality assurance

2.1 Challenges in Quality Assurance
2.1.1 Quality and Deadline
2.1.2 Quality and Budget
2.1.3 The Importance of Software Testing
2.1.4 Errors from Pre-Projects (Technical Debt)
2.1.5 Test Automation
2.1.6 Hierarchical Mindset
2.2 The Importance of the Team
2.3 Quality Assurance Audits in Agile Projects
2.3.1 Scrum
2.3.2 Kanban
2.4 Continuous Integration
2.5 Lean Software Development

3 The organization of software testing in agile projects

3.1 Placing tests in agile projects
3.1.1 The fundamental test process of the ISTQB
3.1.2 Which test for what - The four test quadrants of agile testing
3.1.3 Tips for software testing from an agile perspective
3.1.4 Scalable organization of agile teams
3.2 Practical examples
3.2.1 acceptance testing as its own Scrum project/team
3.2.2 Test Competence Center for agile projects
3.2.3 Team in the healthcare sector uses V-Modell

4 The role of the tester in agile projects

4.1 Generalist vs. specialist
4.2 The path from the central test center to the agile team
4.2.1 Variants of tester integration in traditional teams
4.2.2 Variants of tester integration in agile teams
4.3 Challenges of testers in the team
4.3.1 The tester in the agile team
4.3.2 Timely problem discovery
4.3.3 The creation of technical debt
4.4 Teams and testers in the fight against "technical debt"
4.4.1 What is "technical debt"?
4.4.2 Dealing with technical debt
4.5 Too old for agile? The mental challenge
4.5.1 Starting point
4.5.2 What leads to the statement "Agile is for young people"?
4.6 Helpful tips from the market

5 Agile test management, methods and techniques

5.1 Test Management
5.1.1 Test Planning in the Traditional Environment
5.1.2 Test Planning in the Agile Environment
5.1.3 Test Concept
5.1.4 Test Activities in Iteration Zero - Initialization Sprint
5.1.5 External Support for Test Planning
5.1.6 Test Estimation
5.1.7 Test Organization
5.1.8 Test Creation, Execution and Release
5.2 Test Methods in the Agile Environment
5.2.1 Risk-based and Value-based Testing
5.2.2 Exploratory Testing
5.2.3 Session-based Testing
5.2.4 Acceptance Test-Driven Development
5.2.5 Test Automation
5.3 Key Factors Influencing Testing
5.3.1 Continuous Integration (CI)
5.3.2 Automated Configuration Management

6 Agile test documentation

6.1 The Role of Documentation in Software Development
6.2 The Benefits of Documentation
6.3 Types of Documentation
6.3.1 Requirements Documentation
6.3.2 Code Documentation
6.3.3 Test Documentation
6.3.4 User Documentation
6.4 The Tester as Documenter
6.5 Importance of Documentation in Agile Testing

7 Agile test automation

7.1 The crux with the tools in agile projects
7.2 Test automation - How do you go about it?
7.3 Test Automation with Increasing Software Integration
7.3.1 Unit Test or Component Test
7.3.2 Component Integration Test
7.3.3 system testing
7.3.4 System Integration Test
7.4 xUnit Frameworks
7.5 Use of placeholders
7.6 Integration servers
7.7 Test automation in the technical oriented test
7.7.1 A Framework - for what?
7.7.2 Agile versus classic automation of user input
7.7.3 A typical example: FitNesse and Selenium
7.8 Test automation in load and performance testing
7.9 The seven worst ideas for test automation
7.9.1 Expecting success after a few sprints
7.9.2 Blindly trust test tools
7.9.3 View writing test scripts as a sideline
7.9.4 Bury test data somewhere in test cases
7.9.5 Associate test automation only with user interfaces
7.9.6 Underestimate target/actual comparison
7.9.7 Simply accept (un)testability of the application

8 Use of tools in agile projects

8.1 Project Management
8.1.1 Rally
8.2 Requirements Management
8.2.1 Polarion QA/ALM
8.3 Bug Management
8.3.1 The Bug Genie
8.3.2 Atlassian JIRA
8.4 Test Planning and Control
8.4.1 Atlassian JIRA
8.5 Test Analysis and Test Design
8.5.1 Risk-Based Testing in the TOSCA Test Suite
8.6 Test Realization and Test Execution
8.6.1 Microsoft TFS Test Manager

9 Training and its importance

9.1 ISTQB Certified Tester
9.2 Certified Agile Tester/CAT
9.2.1 Motivation
9.2.2 Training Insights
9.3 Individual Trainings (Customized Trainings)
9.3.1 Recommended Procedure for the Introduction of Agility
9.3.2 Organizational
9.3.3 Pilot Phase
9.3.4 Roll Out in Companies

10 Retrospective