Introduction to Test Techniques

Blog, September 9, 2020

Blog, September 9, 2020

Do you want to become more efficient and structured in your testing work? Are you missing an overview of what has been tested – and not least how thoroughly it has been tested? Then test techniques might be for you.

Test techniques are one of the most important tools if you want to work professionally and efficiently with software testing. Using test techniques provides the necessary structure to create an overview of what to test, how much to test, and how to test it. In addition, they offer the following benefits:

  • Better visibility into the quality of the system – and therefore a stronger basis for decision-making
  • Clearer insight into how much testing makes sense for a given area
  • Ensures the system is tested in different ways (not only the happy path)
  • Prevents duplicate testing of the same functionality
  • Greater likelihood of finding the most important and critical deviations (commonly referred to as defects)
  • Far more targeted testing

In short, by applying test techniques we ensure that we test the right things, in the right way – and avoid spending effort on redundant tests and ultimately wasted work.

As illustrated above, different techniques are used to detect different types of bugs (deviations). The more techniques you apply to a specific area of the software, the greater the likelihood of identifying as many defects as possible.

What Are Test Techniques?

Let’s start by clarifying what test techniques actually are. According to ISTQB[1], test techniques are: “A procedure used to derive and/or select test cases.”
This definition may need some elaboration: Test techniques are tools we use to systematically break down requirements into test cases, ensuring adequate test coverage. What is considered “adequate” depends on the risk associated with implementing a specific requirement and how business-critical it is.

There are many different test techniques, which can broadly be divided into three categories: Black-box (e.g., equivalence partitioning and boundary value analysis), White-box (e.g., decision testing), and Experience-based (e.g., checklist-based testing). You can learn more about these in our free webinars available on YouTube.

[1] ISTQB: International Software Testing Qualifications Board – https://www.istqb.org/

Example of a test technique: Below is an example of a test case table that provides an overview of the number of test cases required to cover all possible inputs and outputs when using the technique equivalence partitioning.

In the example, there is a system where, depending on whether you have a fever (Yes/No), your age group (Child/Youth/Adult), and whether you have breathing problems (Yes/No), you are shown certain information (Yes/No) and/or referred to medical testing (Yes/No).

If all possible combinations were tested, this would result in 48 test cases (2*3*2*2*2). By structuring it in a table format, you ensure that all inputs and outputs are used at least once and can reduce the number to 8 test cases. In this example, the technique helps identify defects related to specific values while reducing the number of test cases and the time spent testing. See the full explanation in our YouTube webinar on black-box techniques.

Why Should You Use Test Techniques?

As mentioned in the introduction, test techniques ensure a professional approach to testing. You could say they are one of the essential tools in your toolbox – just as a screwdriver is essential for an electrician.

“The goal is to create the fewest possible test cases that detect the highest number of potential defects as early as possible.”

At its core, we aim to test software systems as efficiently as possible. The purpose is to design the fewest test cases that uncover the most potential defects as early as possible. By applying a structured test approach – including the use of test techniques – we can achieve exactly that.

Using test techniques also enables more precise measurement and documentation of quality, as we can clearly demonstrate test coverage, defect density, and more. It only makes sense to talk about coverage when you know exactly what you aim to cover.

For example, it is relatively easy to achieve 100% test coverage if the only requirement is that “all requirements must be tested,” or if each test is extremely simple. However, this does not reflect the true quality of the system.

Instead, test techniques allow us to report more precisely, for example: “All high-risk requirements in Module A have been tested with 100% coverage using techniques X, Y, and Z, and we have identified two critical defects.” Achieving 100% coverage according to specific techniques does not mean everything has been tested – it simply means that all possible test cases derived from those techniques have been executed.

“Using test techniques enables more precise measurement and documentation of quality by making coverage, defect density, and related metrics visible.”

Test techniques provide you, your team, and your organization with a more consistent and accurate approach to quality control – and a clearer understanding of the quality of the systems under test.
They should be used as an essential tool in your test process, complementing other test activities such as reviews and static analysis (which, unlike dynamic test techniques, do not require a running system).

Who Should Use Test Techniques?

Different roles and profiles may need knowledge of test techniques, depending on how responsibilities are distributed. Here is a general overview:

Testers
Test analysts and automation specialists must master test techniques to design efficient and structured tests, whether manual or automated.

Test Manager / Scrum Master / Coach
If you are responsible for teaching, coaching, or mentoring others in these techniques, you should ideally know them even better than the testers themselves. You should also define at a strategic level which techniques are used and when.

Developers
Developers should design structured and efficient tests of their own code or components and therefore understand black-box, white-box, and experience-based techniques.

Business Stakeholders / Users / Requirements Engineers
Test techniques increase focus on testability in requirements. To apply specific techniques, clarity about business rules and requirements is essential. If business stakeholders are directly involved in testing, they should also understand test techniques.

Management
When test techniques are used across the organization, management gains clearer insight into quality and greater confidence in the product, supported by measurable coverage rather than a tester’s “gut feeling.”

When Should You Use Test Techniques?
ISTQB defines several test activities within a test process. Test techniques are typically applied during test planning, analysis, and design. However, they can be used formally during these activities or informally as part of your testing mindset.

Always choose test techniques based on what you are trying to detect. For example, if you want to test issues related to boundary values in age calculations when applying for a driver’s license, boundary value analysis is appropriate. If you want to test whether a hotel booking system correctly changes the status of a room in an app, state transition testing would be a suitable technique.

How Do You Get Started?
There are many ways to begin working with test techniques. Numerous websites describe their application. You can also watch our free webinars on test techniques on Trifork QI’s YouTube channel. Additionally, the ISO 29119-4 standard focuses exclusively on test techniques and includes practical examples. Finally, you can attend a course to gain hands-on training.

Test TechniquesA 2-day course focused entirely on test techniques.

Fundamentals of Structured TestingAn introductory course to testing as a discipline, including test techniques.

ISTQB Foundation – An international certification providing a comprehensive introduction to testing, including the option to obtain an internationally recognized certificate.

Need Assistance?

If you need sparring on how to get started or would like help designing your testing using test techniques, please contact us at +45 44 979 979 or via email at info@testhuset.dk.