A study on functional specification based test case generation for real-time systems

— This paper aims to explicate the method for test case generation in real-time systems. In software engineering, software design phase has the diagrammatic way to understand the real-time systems. The process of software testing to identify the defects and uncovered error as much as possible. Testing the real-time systems has more difficult process because the real-time system programs are adjacent to the hardware device. In this real -time system controls an environment by receiving data, processing and returning the processed data. These systems are simulation process with timing constraint so effective path coverage criteria are required. The testing may be poorly implemented which shows in a low-quality software or more time and cost wastage. A test case plays an important role in software testing. The applicable test cases have been used for generation of test scenarios and test data for real-time systems. This survey puts forward a discussion of research approaches and techniques based on functional specification i.e. behavioural diagram based test cases and structural diagram based test cases. This paper has been classifying the various intermediate approaches that are used to generate a test case for real –time systems notwithstanding discuss the test coverage criteria and major issues applicable to these approaches.

safety applications. FBD is a graphical language for real -time system. That can be sketching the functions between input and output variable. Test cases are the major part in automated test case generation.

Fig. 1.Functional specification diagrams
A set of input values, execution preconditions, expected results and execution post conditions for a particular test condition or to verify compliance with a specific requirement called test case [15]. So functional specification model based test case generation covers FB-Path Complete Condition Test Coverage (FPCC) that can directly test FBD structures and effectively testing FBD at model level [5] A. Behavioural diagrams for real-time system A real-time system has been indicates processing the data and returning the results in faster way to affect the environment at that time [6]. Test case generation from behavioural diagram has added the advantage of allowing test cases to be available early in the software development process, thereby making test planning more effective [7]. UML behavioural diagrams are extensively used to represent and construct the relationships among objects through an inter-object model. An interaction represents communication between objects in realtime system. In UML 2.4, the behavioural can be represent using use case diagram, activity diagram, state diagram, sequence diagram, communication diagram, timing diagram, and interaction overview diagram [7].
The development of real -time system either hardware or software the first module is functional requirements to be represented. These fundamentally explain what the system to do. In UML, use case diagram describes the specification from an external actor's point of view. UML is an object-oriented modelling language which allows expressing the interaction of the system components. UML presents more advantage that supports real-time functionality [8]. This supports concurrency operation to composite the states from one to another. UML 2.4 diagram express timing constraints using time expression. These timing statements can use in behavioural diagrams as showed in figure 2. This time constraints diagram to describe the state evolves over the run time of the system [9].
B. Structural diagrams for real-time system In UML 2.4, the structural specification can be represented using a class diagram, component diagram, deployment diagram, object diagram and profile diagram. The UML presented only a set of notations and not a method [10]. The notations in the UML have particular importance for modelling real -time systems. To gain this functionality, the real-time systems are developing with the inputs from various microprocessors and logical gates. This real-time system design to rely on hardware and software. The UML class diagram specifies systematic relations between the entities. This diagram specification to be regarded as constraints which test data and expected value should comply with the diagram [11]. Each UML structural diagrams describes in the system from a distinctly different perspective. The various components and their relationships with each other are seen in static view of the system through class diagram [11]. FBD describes a function between input and output variables. The FBD contain a set of blocks like AND, OR, NOT within the transactions of the system [11]. There are timer instructions as a parameter among these diagrams. Figure 3 show the FBD with instructions. The effective test case to produce the pre and post conditions or the current state so, FBD with timing parameters are used to understand the specification of realtime system in the design phase itself.

III. OVERVIEW OF SPECIFICATION DIAGRAMS A. Behavioural diagram based test case generation
Behavioural diagrams are the static construction of the model. In real-time systems they are used to describe the relationship and dependencies between elements. Swain SK et al. [6] present the methodology to generate the test case based on use case and sequence diagram. The author presents a comprehensive test case generation technique from UML model, they create Use case Dependency Graph (UDG) from use case diagram and Concurrent Control Flow Graph (CCFG) from corresponding sequence diagrams. The presented testing strategy to create the test cases with full predicate coverage criteria. In the comparison of existing approaches, they made an analysis with real time example. This approach detecting the dependency of use cases and messages. Mingsong Chen et al. [8] have been proposed the methodology for automatically generating test cases based on various model checking techniques. It makes three steps, first set of testing -oriented translation rules that can automatically convert the UML activity diagram to the input specification of the model checker, then the method to derive properties from the specification. Finally, the proposed framework to improve the test case quality for UML activity diagrams. The real -time system experimental results demonstrate with their approach can reduce both test case generation time and overall validation efforts but the path coverage and functional coverage not mentions in the methodology. P Samuel et al. [4] shows an example of an ice cream vending machine with embedded for generating test case based on UML state diagrams. They have produce test data for each predicate on all transitions in a state machine diagram. Hence the maximum number of test cases generated. The software test data coverage criterion is used to find a set of test cases is sufficient for testing the system i.e. Transition path coverage, Full predicate coverage and Boundary-testing coverage. R Hametner et al. [17] has been translated the UML state chart diagram to FBD. The test cases are generated from UML state chart instants of FBD. Their test case is aimed to cover all the branches of the FBD.

B. Structural diagram based test case generation
Functional specification is describing function and attributes in the structural diagram. For understanding the relationship between hierarchical blocks the automatic methodology is proposed to capture and control the relationship in a systematic way [11]. Shoichiro Fujiwara et al. [9] had been used a UML class diagram with Object Constraint Language (OCL) to describe the behaviour and data constraints of the system. These results to be produced with the real-time applications in reasonable times. A verification methodology of UML class diagrams with OCL constraints was presented using translates the UML diagram into a constraint satisfaction problem. The array size to be used to find the length of the string [13]. The boundary conditions or prefix conditions are not explicitly used in this approach. If they used the boundary conditions or prefix conditions generate better data from the point of testing and readability. A.Allhroob et al. [12] presented the methodology to extracts only the well suitable test cases, by removing the duplicate test case and incomputable with the software specification. This selected test path from UML class diagram and OCL guarantees the highest coverage of system units. An automatic methodology has been proposed to control and capture the class relationships using the hierarchical association of software specification.
The structural diagram to present in system modelling language (SysML). It's a general-purpose modelling language for real -time system applications. This Sys ML describes the structural description of block definition diagram i.e. functional block diagram (FBD) apart from the extension of UML diagrams. Our research community has been developed the test cases from FBD for complete path coverage. FBD is growingly utilised in real-time safety applications. FBD is graphical language for real -time system design. That can be sketching the functions between input and output variable. Yi-Chen Wua.b, Chin-Feng Fan [11] presented specification model-based test case generation. This approach covers FB-Path Complete Condition Test Coverage (FPCC) that can directly test FBD structures. The proposed tool FCCTestGen, first translate FBD-to-UPPAAL automatically. UPPAAL templets create blocks for FPCC conversion. The results of automated test case suite can attain the highest FPCC in FCCTestGen tool. Similar work is proposed by E.P. Enoiu et al. [22] with software based self -testing (SBST) technique and FBD. SBST using functional testing mainly is focused on external specifications rather than internal specifications. Jee et al. [13] has proposed the methodology to generate the test cases from FBD to achieve basic coverage of requirement specification, input condition coverage and complex condition coverage. The real -time application of KNICS projects with FBD design applied in this methodology. In these projects, two submodules have presented with the sequence of edges and function condition. W. Linzhang et al. [16] consider a UML class diagram for the test case generation approach. Test case description is generated from an activity diagram for path coverage criterion then class diagram to identify the loop present in the software.
IV. DISCUSSION AND SUMMARY The real-time system must be verified in a boundary, to identify as many flaws possible before the use. Software testing always has turned out to be the best solution for system verification. The techniques for test case generation are made either automated or manually. The automated methodology reduces the time for classifying the paths to cover all major criteria. In this study, various techniques and intermediate model are surveyed. These methodologies are utilized to create a test case from UML and FBD. The methodology has classified as a behavioural diagram and structural diagram for the real-time system. The coverage criteria depend on the technique applied in the diagram. A few observations to be determined in the functional specification based test case generation for real -time system.
1) This functional specification diagram based test case to provide support by automatic or semiautomatic tools, that the tools are needed well -formalised objects.
2) Most of the traditional method founded on the system described time variable. So these approaches not address the issue of test case generation for triggered real -time system.
3) Many of the above proposals generate a test case from input data, but not validate the correctness of corresponding outputs for the timing aspects.
Based on the study functional specification is well suitable for test case generation. Real -time systems are always connected with timing constraints so timing constraint based Functional behavioural diagram [20] achieve high path and boundary coverage in this both the coverage has most essential for real-time systems. The behavioural diagram with timing constraint based test cases clearly indicates the path. This methodology produced more number of valid test cases for each interaction between the objects. V. CONCLUSION This paper analyses on-going research of functional specification based test case generation for a real-time system. The nature of functional diagram is highly suitable for the real-time system. Techniques are classified as behavioural diagram based test cases and structural diagram based test cases. A test case coverage criterion is a most important factor for analysis the test adequacy of a generated test case. The real-time system needs to validate the boundary and path coverage. Timing constraint-based behavioural diagrams are widely used to model concurrent interactions among the multiple objects. The FBD describe the pre and post constraint for each block. The structural diagram based techniques are related to the object constraint. The number of the methodology proposed for functional specification based test case is high. This study presents the few major technique related to the real-time system. These studies observed the test case generation approach using timing constraint are well suitable for the real-time system.