Font Size: a A A

Research On Testing Of Software Component And Composition Based On The Dynamic Behavior Model

Posted on:2011-08-29Degree:DoctorType:Dissertation
Country:ChinaCandidate:L M LiFull Text:PDF
GTID:1118330338995767Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Composition technology is the key factor of component-based software development (CBSD) for assembling existing components to construct a software system. A component has to be built upon a special model for the possibility of correct composition. Nevertheless, the dominant implementation models usually omit the specification of component dynamic behavior and lack the theory to validate the correctness of component composition, which bring great challenges to component users when they validate if the component and composition results are consistent with their requirements. In this paper the interface automata is used to model the behavior of component and its formal semantic is applied to validate and test the component function and the composition. The main contributions of our work are as follows:Firstly, a method is presented to implement the transformation from UML statechart to interface automata. There are various models to describe the component behavior, so it is difficult to complete the composition precisely when components are equipped with different behavior models. Interface automata is a formalized model for describing component behavior in open system, however, there is not a universal criterion for deriving behavior from component to construct the model. UML is a widely used model standard, however, it is very difficult to be applied for system verification and testing directly because of its imprecise semantics. After analyzing the expression abilities of two models a set of transformation rules are defined and each step of the transformation is described in detail, and therefore the method lays foundation for the research based on the interface automata. After that, the problem of testing interface automata is studied by producing test cases for each state and transition of the model, which provides assurance for the model's correctness.Secondly, a testing criterion is defined that covers every complete operation of the component and an approach is introduced to generate operational scenario based on the component behavior model. The user should analyze the component model thoroughly when verifying the function, whereas, the absence of certain model knowledge prevents the user frequently from the system validation, and moreover, besides the component details the user usually concerns about the component behavior related with the target system and the user's requirements, however, this is difficult to acquire in practice. With the proposed approach the component behavior can be validated at the system level and the minimum set of test cases that covers the component function could be produced, so the component behavior validation becomes simple and effective. Thirdly, a testing approach for component composition is introduced based on the test cases combination. If the components are equipped with different models it will be very difficult to complete the composition testing effectively and systematically, and moreover, the main disadvantages of assembling models for composition testing are state explosions and the repeated work of unit testing. In the process of CBSD the test suites are reusable as well as software component, so the feasibility and validity of test cases combination are analyzed theoretically, and then the method is presented and the testing process is explained in detail. After that the practicability of the method is illustrated by an example and corresponding result analysis. We propose a novel way for testing of component composition and software integration, which could satisfy the given test criteria and preserve the generality.Fourthly, to play the crucial role of testing in CBSD the test-driven CBSD (TD-CBSD) model and the test-driven component composition (TDCC) process are introduced. First, how to apply the idea of test-driven development (TDD) to component composition is analyzed and then the method of generating test cases are introduced especially according to different composition modes; after that, the algorithm description of TDCC is given in detail. In the proposed process the criteria are designed to measure each step of the composition; therefore, their applications are beneficial to the reduction of development risk and the improvement of software quality. In addition, a prototype testing tool for component composition is preliminary designed.
Keywords/Search Tags:component based software development, component testing, model transformation, model testing, testing criteria, test case combination, development model
PDF Full Text Request
Related items