Disjunction Composition of BDD Transition Systems for Model-Based Testing
Tannaz Zameni, Petra van den Bos, and Arend Rensink

TL;DR
This paper presents a formal disjunction composition method for BDD transition systems, enabling integrated behavior modeling and testing while preserving original testing capabilities, demonstrated through an industrial case study.
Contribution
It introduces a formal disjunction composition for BDD transition systems, ensuring preserved testing power and providing a symbolic semantics framework.
Findings
Disjunction composition preserves testing power of individual scenarios.
Symbolic semantics guarantees equivalence and failure detection.
Industrial case study demonstrates practical applicability.
Abstract
We introduce a compositional approach to model-based test generation in Behavior-Driven Development (BDD). BDD is an agile methodology in which system behavior is specified through textual scenarios that, in our approach, are translated into transition systems used for model-based testing. This paper formally defines disjunction composition, to combine BDD transition systems that represent alternative system behaviors. Disjunction composition allows for modeling and testing the integrated behavior while ensuring that the testing power of the original set of scenarios is preserved. This is proved using a symbolic semantics for BDD transition systems, with the property that the symbolic equivalence of two BDD transition systems guarantees that they fail the same test cases. Also, we demonstrate the potential of disjunction composition by applying the composition in an industrial case…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Formal Methods in Verification · Model-Driven Software Engineering Techniques
