A METHOD TO SPECIFY SOFTWARE FUNCTIONAL REQUIREMENTS FOR SYSTEM TEST CASE GENERATION

In this paper, we propose the next version of Use-case Specification Language (USL) that allows us to formally specify each use case at the user's requirement level with a single model, and without using the detailed use case design. We also propose a formal specification method for the functional requirements. The formal requirement specification can be used to automatically generate system level test cases. Version 2.0 of the USL is defined by extending the activity diagram with a Contract concept. This concept enables a more detailed specification of information when performing an action or a transition. The USL specifies the followings: sequences of actions in flows of events, input and output parameters when performing use case, precondition and post-condition of use case, satisfy conditions on input and output parameters when performing an action or a transition, <<include>> and <<extend>> relations with other use cases, maximum number of repeated times of an action (if any), and change effect in value of input parameters when performing an action or a transition. Our key contributions include a MetaModel (which describes an abstract syntax), a concrete syntax for USL, a concrete textual syntax via BNF, and a formal semantic definition of USL in general. Keyword — Use case, functional requirement, USL, formal specification.