Test Case Prioritization Techniques for Model-Based Testing: A Replicated Study

Recently, several Test Case Prioritization (TCP) techniques have been proposed to order test cases for achieving a goal during test execution, particularly, revealing faults sooner. In the Model-Based Testing (MBT) context, such techniques are usually based on heuristics related to structural elements of the model and derived test cases. In this sense, techniques' performance may vary due to a number of factors. While empirical studies comparing the performance of TCP techniques have already been presented in literature, there is still little knowledge, particularly in the MBT context, about which factors may influence the outcomes suggested by a TCP technique. In a previous family of empirical studies focusing on labeled transition systems, we identified that the model layout, i.e. amount of branches, joins, and loops in the model, alone may have little influence on the performance of TCP techniques investigated, whereas characteristics of test cases that actually fail definitely influences their performance. However, we considered only synthetic artifacts in the study, which reduced the ability of representing properly the reality. In this paper, we present a replication of one of these studies, now with a larger and more representative selection of techniques and considering test suites from industrial applications as experimental objects. Our objective is to find out whether the results remain while increasing the validity in comparison to the original study. Results reinforce that there is no best performer among the investigated techniques and characteristics of test cases that fail represent an important factor, although adaptive random based techniques are less affected by it.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/28/2020

Metamorphic Testing: A New Approach for Generating Next Test Cases

In software testing, a set of test cases is constructed according to som...
research
11/09/2018

Reinforcement Learning for Automatic Test Case Prioritization and Selection in Continuous Integration

Testing in Continuous Integration (CI) involves test case prioritization...
research
06/26/2018

How Do Static and Dynamic Test Case Prioritization Techniques Perform on Modern Software Systems? An Extensive Study on GitHub Projects

Test Case Prioritization (TCP) is an increasingly important regression t...
research
07/31/2019

Comprehending Test Code: An Empirical Study

Developers spend a large portion of their time and effort on comprehendi...
research
01/05/2021

A Testing Tool for IoT Systems Operating with Limited Network Connectivity

For Internet of Things (IoT) systems operating in areas with limited net...
research
08/10/2017

A Hint-Based Technique for System Level Model-Based Test Case Prioritization

Test Case Prioritization (TCP) techniques aim at proposing new test case...
research
04/28/2023

Reflections on Surrogate-Assisted Search-Based Testing: A Taxonomy and Two Replication Studies based on Industrial ADAS and Simulink Models

Surrogate-assisted search-based testing (SA-SBT) aims to reduce the comp...

Please sign up or login with your details

Forgot password? Click here to reset