Basic knowledge test automation 

 20 June 2015

Concepts, methods and techniques

Test automation is a powerful tool to make testing repeatable and more efficient. This book explains how to design test automation with a focus on the functional system testing and how it can be integrated into existing projects and the organization. Both functional and technical concepts are presented. Examples from different application areas (e.g. web applications, data warehouse systems) and project types (e.g. Scrum, V-model) explain the methodological basics. Furthermore, tools as well as quality gains and savings potentials through test automation are dealt with in detail.

Authors: Thomas Bucsics, Manfred Baumgartner, Richard Seidl, Stefan Gwihs

Publisher: dpunkt.verlag

ISBN: 978-3-86490-194-2

Edition: 2nd edition

Table of Contents

1 Motivation and introduction

1.1 Standards and norms
1.2 The use of machines
1.3 Quantities and masses
1.4 What is meant by test automation?
1.5 Control questions for the chapter

2 Test process and development procedure

2.1 The Fundamental Test Process
2.1.1 Test Planning, Test Monitoring and Control
2.1.2 Test Analysis and Test Design
2.1.3 Test Realization and Test Execution
2.1.4 End Criteria Evaluation and Report
2.1.5 Completing Test Activities
2.2 Software Development Models and Project Approach
2.2.1 Classic Development Models
2.2.2 Iterative and Agile Development Models
2.2.3 Process Maturity Models and Test Automation
2.3 Control Questions for Chapter

3 Test case specification and execution

3.1 Test Case Design and Creation
3.1.1 Combinatorics
3.1.2 Test Case Creation Based on Models
3.2 Test Data Description
3.2.1 Syntax Related Test Data
3.2.2 XML
3.3 Automated Test Execution
3.3.1 Timing
3.3.2 Case-by-Case Execution
3.3.3 Error Workflow
3.4 Control Questions for the Chapter

4 Conception of an automation framework

4.1 Technical Concepts
4.1.1 The Graphical User Interface
4.1.2 Web Applications and Web Services
4.1.3 CSS Selectors
4.1.4 Databases
4.1.5 Interfaces and Tools for Test Automation
4.1.6 Service Virtualization
4.2 Logical Concepts
4.2.1 Typical Forms of Automated Test Cases
4.2.2 Criteria for Deciding on a Test Case Representation
4.3 Structure, Design and Implementation
4.3.1 Why Build an Automation Structure?
4.3.2 Basic structure
4.3.3 Tools and interfaces
4.3.4 Reference to common forms of automation
4.3.5 Implementation of an automation framework
4.3.6 Implementation of compact test cases (according to A2A)
4.4 Control questions for the chapter

5 Fields of application

5.1 Areas of Application by System Type
5.1.1 Desktop Applications
5.1.2 Client-Server Systems
5.1.3 Web Applications
5.1.4 Mobile Applications
5.1.5 Web Services
5.1.6 Data Warehouse
5.1.7 Dynamic GUIs: Forms Solutions
5.1.8 Cloud Based Systems
5.2 Application Areas by Test Type
5.3 Software Quality Criteria
5.3.1 Functionality (functional suitability)
5.3.2 Performance (performance efficiency)
5.3.3 Compatibility (compatibility)
5.3.4 Usability
5.3.5 Reliability (reliability)
5.3.6 Security (security)
5.3.7 Maintainability
5.3.8 Portability
5.4 Areas of Application by Project Type
5.4.1 The Classic Software Development Project
5.4.2 The Maintenance Project and Product Enhancement
5.4.3 The SAP Project
5.4.4 Agile Projects
5.4.5 Migration Projects
5.4.6 Load and Performance Testing
5.5 Control Questions for the Chapter

6 Test execution tools

6.1 Evaluation of Automation Tools
6.1.1 Supported Technologies
6.1.2 Possibilities of Test Case Description and Modularization
6.1.3 Target Group
6.1.4 Integration into the Tool Landscape
6.1.5 Test Settings
6.1.6 Training, Support and Documentation
6.1.7 Licensing Model
6.2 Evaluation Made Easy
6.2.1 Preparation of the Scenarios
6.2.2 Preparation of the Test Computer
6.2.3 Installing the tool and creating the workspace
6.2.4 Creating the first scenario
6.2.5 Refactoring and variabilizing the first scenario
6.2.6 Implementing further scenarios
6.2.7 Integration into the development process
6.2.8 Conclusion
6.3 Overview of some automation tools
6.3.1 Commercial test tools
6.3.2 Open source tools
6.4 Control questions for the chapter

7 Integration into the organization

7.1 Starting today, we automate!
7.2 The role of the test automator
7.3 Control questions for the chapter

8 Outlook

8.1 Challenges in test automation
8.1.1 Technical interfaces
8.1.2 Organizational interfaces
8.1.3 Test automation as a complex task
8.2 Trends and possible developments
8.3 Control questions for the chapter