Test2Vec: An Execution Trace Embedding for Test Case Prioritization

06/28/2022
by   Emad Jabbar, et al.
0

Most automated software testing tasks can benefit from the abstract representation of test cases. Traditionally, this is done by encoding test cases based on their code coverage. Specification-level criteria can replace code coverage to better represent test cases' behavior, but they are often not cost-effective. In this paper, we hypothesize that execution traces of the test cases can be a good alternative to abstract their behavior for automated testing tasks. We propose a novel embedding approach, Test2Vec, that maps test execution traces to a latent space. We evaluate this representation in the test case prioritization (TP) task. Our default TP method is based on the similarity of the embedded vectors to historical failing test vectors. We also study an alternative based on the diversity of test vectors. Finally, we propose a method to decide which TP to choose, for a given test suite. The experiment is based on several real and seeded faults with over a million execution traces. Results show that our proposed TP improves best alternatives by 41.80 of the median normalized rank of the first failing test case (FFR). It outperforms traditional code coverage-based approaches by 25.05 terms of median APFD and median normalized FFR.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/07/2020

Code Coverage Aware Test Generation Using Constraint Solver

Code coverage has been used in the software testing context mostly as a ...
research
10/14/2021

Identifying Similar Test Cases That Are Specified in Natural Language

Software testing is still a manual process in many industries, despite t...
research
05/09/2022

Test Generation for SystemC designs by interlaced Greybox Fuzzing and Concolic Execution

Recent success in high-level synthesis ( HLS ) has enabled designing com...
research
07/15/2018

Visualizing test diversity to support test optimisation

Diversity has been used as an effective criteria to optimise test suites...
research
09/01/2018

Test Case Prioritization Using Test Similarities

A classical heuristic in software testing is to reward diversity, which ...
research
05/08/2018

Crowdtesting : When is The Party Over?

Trade-offs such as "how much testing is enough" are critical yet challen...
research
02/22/2021

Towards Evidence-based Testability Measurements

Evaluating Software testability can assist software managers in optimizi...

Please sign up or login with your details

Forgot password? Click here to reset