Abstract

Testing of reactive systems is challenging because long input sequences are often needed to drive them into a state to test a desired feature. This is particularly problematic in on-target testing, where a system is tested in its real-life application environment and the amount of time required for resetting is high. This article presents an approach to discovering a test case chain—a single software execution that covers a group of test goals and minimizes overall test execution time. Our technique targets the scenario in which test goals for the requirements are given as safety properties. We give conditions for the existence and minimality of a single test case chain and minimize the number of test case chains if a single test case chain is infeasible. We report experimental results with our ChainCover tool for C code generated from Simulink models and compare it to state-of-the-art test suite generators.

Highlights

  • We propose two methods to ensure completeness under these circumstances: (1) an abstraction refinement that can be used with any asymmetric travelling salesman problem (ATSP) solver, and (2) a method based on restricting the optimization problem using path constraints that requires a more general solver, e.g. an Answer Set Programming (ASP) solver

  • We have presented a novel approach to discovering a minimal test case chain, i.e., a single test case that covers a given set of test goals in a minimal number of execution steps

  • The test goals might be generated from an extended finite state machines (EFSM) specification or from code coverage criteria like MC/DC

Read more

Summary

Introduction

We formulate some LTL properties for which we generate test cases: p1 : G mode = ON ∧ speed = 1 ∧ dec ⇒ X(speed = 1) p2 : G mode = DIS ∧ speed = 2∧dec ⇒ X(mode = O N ) p3 : G mode = ON ∧ brake ⇒ X(mode = DIS) p4 : G mode = OFF ∧ speed = 2 ∧ ¬enable ∧ button In each of these properties, the operand of the G operator describes a specific transition in the state machine. We will propose techniques for both situations We compute such a minimal test case chain from a set of start states Init via a set of given properties P = { p1, p2, .

Preliminaries
Chaining test cases
Abstraction: property K-reachability graph
Concretization: computing the test case chain
Optimality
Generalizations
Multi-state property triggers
Ensuring completeness
Multiple chains
Test-case generation with bounded model checking
Experimental evaluation
Related work
Summary and prospects
Findings
Robert Bosch GmbH

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.