Introduction

Path-based testing

Get more detailed information about the current state of the art in path-based testing (process or workflow testing) to understand the benefits of using our proposed extension – Constrained Path-Based Testing

Why do we need Constrained Path-based Testing (CPT)?

Classical PBT might not be enough to handle several practical situations in system testing. To give few examples

Test cost management

Certain situations can be too costly for the given tests and have to be excluded from test scenarios.

Feasibility of certain tests

When a test reaches certain parts of the system workflow, internal state of the SUT might change and it disables continuation of the test in other certain part of the workflow.

Outages of particular parts of the test environment

In more complex projects, parts of the processes might be temporarily unavailable due to hardware or software limitations.

Testing of system component outages

Situations such as limited network connectivity, signal jamming or spoofing, or physical damage to system components have to be effectively tested from the process viewpoint.

CPT

Principle of the technique

Problem model

To maintain maximal compatibility with established path-based testing techniques, we base our model on directed graph, as usual in the field. In such model, nodes represent actions in the SUT and edges represent transitions between them.

Constraints

We extend the graph by a set of additional constraints, thorough which we can model number of practical testing situations that would be difficult to handle by classical path-based testing effectively.

Test Case Generation

Using the system model, our novel algorithms generate an optimized, cost-effective set of test cases that satisfy all the constraints specified in the input model. The principle of the algorithms is well documented in our research papers.

Application examples​

Industrial application is the most important testing point telling us if the method is viable or not. We are successfully applying our methods to prepare tests for real systems. Here are a few examples of the projects in which we applied CPT:

DTA

Experimental sensor network monitoring vital signs of soldiers and increasing their survival chances in case of injury

TERESA

Telerehabilitation environment for patients recovering from post-acute COVID-19 disease

PATRAC

Rescue mission planning and management IoT system that helps mountain rescue service or state police to search for a missing person with a greater effectivity

  • Klima, M., Bures, M., Blaha, M., (2024) Ant Colony Optimization Based Algorithm for Test Path Generation Problem with Negative Constraints, In IEEE International Conference on Software Quality, Reliability and Security (QRS)

Free benchmarks and tool for everyone

We're introducing the CPT manager

We are developing a platform for the creation, management, and sharing of path-based testing SUT models. Let’s create a credible and balanced benchmark of models from real-life systems accompanied by generated problem instances, ensuring enough topology variety. Everyone can contribute. Let’s use this benchmark in further comparison of path-based testing algorithms generating the test cases. The environment supports the constraints specification inside the models and also offers automated test path generation for free!