Font Size: a A A

On Software Architecture-based Test Cases Generation

Posted on:2006-11-14Degree:DoctorType:Dissertation
Country:ChinaCandidate:J M YeFull Text:PDF
GTID:1118360215459736Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Software architecture techniques have increasingly been used in research and industry since 1990s. In fact, software architectural design is of vital importance to the development of software system. The importance embodies not only in software development, but also in the fact that they can guide software testing. Therefore, it is necessary to study the specification-based software architecture testing techniques in order to improve the quality of software architectural design and guide software testing. While software architecture has raised many challenging questions for testing, relatively little work has been done to address how software architecture should be tested. Undoubtedly, the ultimate successful application of software architecture techniques largely depends on whether or not effective testing techniques suitable for software architecture are available.The core of researches on the testing techniques of the specification-based software architecture is to generate test cases automatically. To do that, it is necessary to select or design an appropriate software architecture description language to describe Implementation Under Test (IUT) at software architecture level from which to look for appropriate viewpoints, test criteria and test cases generation algorithms.Our research work starts with software test viewpoints to achieve the goal of testing software architecture from multi-viewpoints. In the first part of this dissertation, we propose a multi-viewpoint demand concerning software architectural basic model, namely, structural viewpoint and behavioural viewpoint and their corresponding models. We also discuss the testability of the models. Based on the information from structural model, we can decide weather. the links between software architectural elements are appropriate or not, interfaces match or not, we can also test the interaction paths between software architectural elements; based on the process algebra specifications of behavioural model, we can test the behaviours of software architectural elements and the interactions between elements.In the second part of this research work, we propose and design a distributed real-time system architecture description language (DRTSADL) in which a timed process algebra TSP (Timed State Processes) model is embedded. The operational semantics of TSP is also discussed to support behaviour description of distributed real-time system. On the basis of FSP (Finite State Processes), by means of amplification and deletion, TSP is defined. TSP mainly includes Constants Process, Action Prefix Process, Overtime Process, Reset Clock Process, Guarded Action Process, Non-determinant Choice Process, Send Process, Receive Process, Composite Process and Sequence Process. Compared with FSP, TSP can support communications between timed features and components/processes. In this research work, we define Simple Component, Composite Component, Connector and Port. From the style of components and connectors, we discuss how to use DRTSADL to describe applied software architecture. By taking MMI (Man Machine Interface) of C~3I as an example, we give a general description of the MMI software architecture.In the third part of this research work, a method to generate test cases of a distributed real-time system is designed, which includes the following contents:(1) presenting a set of test criteria according to software architecture configuration information and defining their corresponding computational rules;(2) presenting, from structure viewpoint, corresponding test cases generation algorithm on the basis of configuration information of DRTSADL specification;(3) presenting an algorithm to generate distributed system test cases on the basis of DRTSADL specifications and asynchronous network distributed system model;(4) by using Timed Wp-algorithm of A.En-Nouaary, on the basis of DRTSADL specifications and a timed automata model, presenting an algorithm to generate real-time system test cases, with the termination of this algorithm being proved.In the fourth part of this research work, a DRTSADL-based test cases generation environment prototype is implemented to validate methods (2) and (4) mentioned above. The environment prototype supports the visual mode modelling and textual mode modelling of DRTSADL. This prototype generates test cases from structural and behavioural viewpoints according to the described IUT. Experiments with MMI indicate that the environment prototype is able to generate test cases according to the demands of users.
Keywords/Search Tags:software architecture, architecture description language, timed state process, operational semantics, distributed real-time system, test case
PDF Full Text Request
Related items