Where academic tradition
meets the exciting future

Requirement-Driven Scenario-Based Testing Using Formal Stepwise Development

Qaisar A. Malik, Linas Laibinis, Dragos Truscan, Johan Lilius, Requirement-Driven Scenario-Based Testing Using Formal Stepwise Development. International Journal On Advances in Software 3(1 & 2), 147–160, 2010.

Abstract:

This article presents a scenario-based testing approach, in which user-defined abstract testing scenarios of the SUT are automatically refined based on formal specifications of the system under test (SUT). The latter are specified in a stepwise manner using the Event-B formalism until a sufficiently refined specification is obtained, which is then used to generate a Java implementation template of the system. The development of the specification is driven by the requirements of the system which are traced throughout the development and testing process. Abstract testing scenarios, provided by the user, are automatically refined following the same refinement steps used for the system specification. The sufficiently refined scenarios are then transformed into executable Java Unit Testing (JUnit) test cases, which are executed against the Java implementation of the SUT. During the described process, the requirements linked to the testing scenarios are propagated to JUnit tests. The main advantage of the proposed approach that it allows the developer to
evaluate which requirements have been validated and to trace back the failed tests to corresponding elements of the formal specifications.

BibTeX entry:

@ARTICLE{jMaLaTrLi10a,
  title = {Requirement-Driven Scenario-Based Testing Using Formal Stepwise Development},
  author = {Malik, Qaisar A. and Laibinis, Linas and Truscan, Dragos and Lilius, Johan},
  journal = {International Journal On Advances in Software},
  volume = {3},
  number = {1 & 2},
  publisher = {IARIA},
  pages = {147–160},
  year = {2010},
  keywords = {Scenario-based testing; Requirements Traceability; Event- B; Formal Refinement; JUnit;},
}

Belongs to TUCS Research Unit(s): Distributed Systems Laboratory (DS Lab), Embedded Systems Laboratory (ESLAB), Software Engineering Laboratory (SE Lab)

Edit publication