Test2Vec: An Execution Trace Embedding for Test Case Prioritization
원문 초록
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% in terms of the median normalized rank of the first failing test case (FFR). It outperforms traditional code coverage-based approaches by 25.05% and 59.25% in terms of median APFD and median normalized FFR.
함께 살펴볼 논문
공통 태그를 근거로 연결했습니다. 실제 인용 관계나 논문의 우수성을 뜻하지 않습니다.
Navigating the growing field of research on AI for software testing -- the taxonomy for AI-augmented software testing and an ontology-driven literature survey
Test It Before You Trust It: Applying Software Testing for Trustworthy In-context Learning
Towards Trustworthy GUI Agents: A Survey
Assessing Data Augmentation-Induced Bias in Training and Testing of Machine Learning Models
Can Search-Based Testing with Pareto Optimization Effectively Cover Failure-Revealing Test Inputs?
Leveraging Large Language Models for Enhancing the Understandability of Generated Unit Tests
토론
이 논문과 연결된 포럼 글이 아직 없습니다.