White-Box and Experience-based Test Techniques

Erkan Akkoç
4 min readOct 31, 2022

--

In my prior article, I wrote about Black-box test techniques. In this article, I’ll try to share some information about White-box and Experience-based test techniques.

White-Box Techniques

  • Statement Coverage
  • Decision Coverage

Experience-based Techniques

  • Error Guessing
  • Exploratory Testing
  • Checklist-based Testing

Let’s start with the White-Box Techniques.

White-Box Techniques

As I mentioned in my previous article, tests for code structure and design are also carried out in the white-box test technique. Errors to be found early here will also facilitate black-box testing. Although most developers do white-box testing techniques, testers can do it too.

  • Statement Testing and Coverage

This technique is to test every possible case in the code at least once. Coverage is measured as the number of statements executed by the tests divided by the total number of executable statements in the test object, normally expressed as a percentage.

Example: Statement Coverage = Number of Statements Covered / Total Number of Statements

  • Decision Testing and Coverage

This technique is for checking all possible paths of a software application (e.g., for an IF statement, one for the true outcome, and one for the false outcome; for a CASE statement, test cases would be required for all the possible outcomes, including the default outcome).

Coverage is measured as the number of decision outcomes executed by the tests divided by the total number of decision outcomes in the test object, normally expressed as a percentage.

Example: Decision Coverage = Number of Decision Outcomes Covered / Total Number of Decision Outcomes

NOTE: Achieving 100% decision coverage guarantees 100% statement coverage (but not vice versa).

Experience-based Techniques

The experience-based testing technique is based on the skills and experience of people who have worked in the same or similar applications before. Because test cases are derived using these experiences. Depending on the tester’s approach and experience, these techniques may achieve widely varying degrees of coverage and effectiveness.

Commonly used experience-based testing techniques are as follows.

  • Error Guessing

Error guessing is a technique used to anticipate the occurrence of mistakes, defects, and failures, based on the tester’s knowledge.

- How the application has worked in the past
- What types of mistakes the developers tend to make
- Failures that have occurred in other applications

This type of test is used in situations where analysis is not available or when time is limited. In this method, there are no rules and the experience of the tester is in the foreground.

  • Exploratory Testing

In exploratory testing, informal (not pre-defined) tests are designed, executed, logged, and evaluated dynamically during test execution.

The test results are used to learn more about the component or system, and to create tests for the areas that may need more testing.

Exploratory testing is most useful when there are few or inadequate specifications or significant time pressure on testing. Exploratory testing is also useful to complement other more formal testing techniques.

We can use it to strengthen existing tests and create new test cases.

  • Checklist-based Testing

In checklist-based testing, testers design, implement and execute tests to cover test conditions found in a checklist.

Checklists can be created to support various test types, including functional and non-functional testing. In the absence of detailed test cases, checklist-based testing can provide guidelines and a degree of consistency. As these are high-level lists, some variability in the actual testing is likely to occur, resulting in potentially greater coverage but less repeatability.

Such checklists can be built based on experience, knowledge about what is important for the user, or an understanding of why and how software fails. In cases where there is more than one tester, these checklists can be interpreted in different ways and different approaches can be followed. This may cause the test to produce different results.

I hope you enjoyed this article and learned about white-box and experience-based testing techniques.

--

--

Erkan Akkoç

ISTQB® Certified Software Test Engineer | Md. Automation Test Engineer @Appnomi. I'm interested in AI and Wearable Technologies.