Blog

Test Design Techniques - Richard Seidl

Written by Richard Seidl | 01/24/2025

Test design techniques are an essential tool for effectively testing and verifying the quality of IT systems. Despite their importance, they are still underutilized by many testers. These techniques can be divided into four main groups, and it is crucial to master at least one or two from each group in order to be able to react flexibly to different requirements. Choosing the right method depends heavily on the problem at hand, and specific recommendations can help to optimize the testing strategy. The correct application of these techniques contributes significantly to a structured and successful testing process.

Podcast episode on test design techniques

In this episode, I talk to Rik Marselis about test design techniques. Rik, who has been teaching these techniques for nearly 25 years, shared his thoughts on why so many testers underutilize them. He explains why these methods are so important, especially if you want to prove the quality of IT systems. We also talk about how test design techniques can be categorized into four main types and why it’s crucial for testers to know at least one or two techniques from each group. Rik shares his three favorite techniques and gives tips on how to choose the right technique for a particular problem.

“So we make them aware of the fact that basically there are four things relevant for selecting a test design technique: the kind of testing problem, the quality characteristic, the risk level, and the skills of the involved people.” - Rik Marselis

Rik Marselis is a senior quality consultant at Sogeti in the Netherlands. He is a respected speaker, trainer, author, consultant and coach who has helped many organizations and individuals improve their quality development and testing practices by providing tools and checklists, practical support and deep discussions. His presentations are always appreciated for their vividness and his use of practical examples with humorous comparisons.

Highlights of the Episode

  • Test design techniques are essential to demonstrate coverage and ensure the quality of IT systems.
  • TMAP certification now focuses on a smaller selection of techniques to improve their learning and application.
  • Practical examples and templates can help testers to better understand and apply the techniques.
  • Developers, who are often focused on code coverage, can benefit from test design techniques such as equivalence class building.
  • Teaching and applying test design techniques in different test environments can provide valuable insights.

Why test design techniques are often overlooked and how to use them effectively

Why are test design techniques not frequently used?

Test design techniques provide a structured basis for testing IT systems, but their use is still not widespread - even though some of them have been around for a long time. One of the main reasons for this is that testers often find it difficult to transfer them into practice. According to ISTQB and TMAP, the combination of experience-based methods such as exploratory testing and structured test design techniques provides comprehensive coverage and increases confidence in the functionality of a system.

The challenge of diversity

Another stumbling block is the large number of available test design techniques. According to research findings, there are actually around 25 to 30 techniques. This variety can overwhelm testers and make selection difficult. However, focusing on five central techniques offers a practicable solution: equivalence class formation, limit value analysis, path testing, decision tables and syntactic testing. In addition, exploratory testing plays an important role as an experience-based method.

Categorization of test design techniques

Test design techniques can be divided into four main categories: process-oriented techniques (e.g. path testing), condition-oriented techniques (e.g. decision tables), data-oriented techniques (e.g. equivalence class formation) and appearance-oriented techniques (e.g. syntactic testing). Understanding these categories makes it easier to select suitable methods. The use of suitable methods is crucial for different problems - for example, a condition-oriented method would be ineffective for a data-oriented problem. If you have mastered at least one or two methods from each category, you have a versatile tool set at your disposal.

Practical application of the techniques

Implementing these methods in day-to-day work can be difficult without suitable tools. Some methods, such as limit value analysis, are so intuitive that they are often applied unconsciously. More complex approaches such as decision tables, on the other hand, benefit from standardized templates, for example from TMAP. Such templates facilitate correct and efficient application and lower the inhibition threshold when using them.

Training courses and practical examples

An effective introduction to test design methods requires training based on real examples. Applying these methods to specific processes, such as those carried out by business analysts, increases understanding and acceptance. This practical approach shows the direct benefit of the methods in the respective work context and facilitates their use.

Fazit

Test design techniques are an indispensable tool for high-quality and comprehensive software testing. By focusing on key methods, understanding the categories and using templates and training, testers can efficiently integrate these techniques into their daily work. This leads to a more systematic and well-founded quality assurance of IT systems.

Frequently asked questions about test design techniques

How can test design procedures be successfully integrated into agile development processes?

In order to successfully integrate test design procedures into agile development processes, they should be planned early on in the development cycle. Teams need to create tests together to clarify requirements and acceptance criteria. Automation of tests promotes quick feedback and adjustments. Regular reviews and retrospectives help to continuously optimize the test design process. Close interaction between developers and testers ensures that quality is taken into account from the outset.

What challenges often arise when using test design procedures?

Common challenges when using test design techniques are unclear test objectives and insufficient requirements, which can lead to ineffective testing. In addition, there is often a lack of resources, which makes it difficult to carry out extensive tests. Selecting the appropriate test design method is also critical, as not all methods are suitable for every project. Finally, the integration of test procedures into existing development processes and the training of employees can present additional difficulties.

How to choose the right test design method for different projects?

To select the right test design method, first analyze the project requirements and objectives. Consider factors such as complexity, risk levels, test scope and available resources. For simple projects, methods such as equivalence class formation or boundary value analysis are sufficient. Complex projects may require structured methods such as test case-based approaches or exploratory testing. Also consider feedback from stakeholders and the available expertise in the team to maximize the efficiency and effectiveness of testing.

What are the advantages of specification-based test design procedures?

Specification-based test design methods offer the advantage that they are based directly on the requirements and specifications of a system. This ensures that all functional and non-functional aspects are tested. They enable the systematic identification of test cases, reduce the risk of overlooking important scenarios and promote the traceability of tests. In addition, errors can be detected and rectified at an early stage, which improves the quality of the end product.

What are the test design procedures for model-based testing?

The test design techniques for model-based testing include techniques for generating test cases from models that represent system behavior. The most common techniques include state diagrams, decision tree testing and activity diagrams. These techniques make it possible to systematically cover different scenarios and facilitate the identification of test cases based on the specified requirements. The use of these test design techniques increases the efficiency and effectiveness of testing by supporting automated test generation and early defect detection.

What are the principles of risk-based testing in the context of test design procedures?

Risk-based testing as part of the test design process focuses on the identification and prioritization of risks. As a result, tests are targeted at the most problematic areas. Important principles are Understanding the application area and its risks, prioritizing test cases according to risk level and continuous risk review during the testing process. The aim is to use resources efficiently and minimize the probability of serious errors. This improves the quality of the software in a targeted and measurable way.

What are the advantages of experience-based test design methods and when should they be used?

Experience-based test design methods offer the advantage that they are based on practical experience and real usage scenarios, which means that they often identify realistic sources of error. They should be used when comprehensive specifications are not available or the software is already in use. These techniques promote effective testing by integrating knowledge from previous testing and user feedback, which improves the quality of testing and increases testing efficiency.

What are the differences between black box and white box testing?

Black-box test procedures check the functionality of a system without knowledge of the code, focusing on inputs and outputs. In contrast, white-box testing analyzes the internal code and structure to identify sources of error. While black-box tests simulate user perspectives, white-box tests aim to refine the program technology. Both test design methods are important, but offer different perspectives on the quality of the software.

What different types of test design procedures exist and how do they differ?

There are various test design procedures that differ in their methodology. The main types include equivalent classes, boundary value analysis, state transition testing and exploratory testing. Equivalent classes group similar inputs, while limit analysis examines the extreme values. State transition tests visualize systems as state diagrams, and exploratory testing encourages creative approaches. Each method has its own strengths and is suitable for specific test objectives. Choosing the right test design method depends on the specific requirements of the project.

What is meant by test design procedures and what methods are there?

Test design techniques are systematic approaches to creating test cases to effectively find software defects. There are various methods, including equivalent partitioning, in which input values are divided into classes, and limit value analysis, which focuses on edge cases. Other methods include the decision tree technique and failure mode and effects analysis (FMEA). These methods help to maximize test coverage and increase the efficiency of the tests.