|
|
Background - Project Objectives | |||
|
AGEDIS - Project ObjectivesSoftware is becoming increasingly complex, and the testing of software is taking up a greater proportion of development budgets. Testing was reported as 32% of development effort in Verbruggen's article on Controlling Development and Maintenance Costs in Telecom Systems (Proceedings of the Telecom Open Seminar: Strategies and Solutions for an Open Telecom World, 1993). Maintenance costs are also rising and these costs are directly related to the quality of the software, although it is difficult to measure the direct effects of better testing on maintenance costs. For these reasons, it is of critical importance for the software industry to develop efficient automated methods to achieve higher product quality at lower testing costs. Current software testing practice is based on a highly manual process for generation of test cases based on requirements or specifications documents. These manually generated tests are sometimes executed using an ad hoc execution framework - typically constructed as a test driver for the particular application under test. These processes are often tedious and error prone, and fail to provide the required level of quality. The goal of AGEDIS is to address these problems by providing a methodology and toolset for automation of testing to give improved software quality at a lower cost. One fundamental problem in the current software development environment is that testing is not begun at early enough in the development process. AGEDIS recommends a methodology that begins as soon as the software functional specification is available. This enables the "testware" to be developed in parallel with the software and facilitates defect detection even before code is written. This early defect discovery occurs as the specification is exposed to early scrutiny. Moreover defects detected at an early stage of the development are much cheaper to fix (see Software Testing Techniques, Boris Beizer). The major piece of testware produced by a test organization in the AGEDIS methodology is not a suite of test cases. Rather, it is a model of the software application written in a software modelling language, specifically designed to enable the automated generation of a comprehensive test suite. The other fundamental piece of testware produced is a set of test case objects that bridge the gap between the model and the implementation. This enables the test execution engine to execute the test suite and compare the results of the test execution with the predictions of the model. AGEDIS will develop state-of-the-art technology to automatically generate a test suite based on coverage criteria and testing constraints defined in the model. A component-based execution engine that encapsulates knowledge of the model then executes the automated test suite and its translation to the software under test. This approach is particularly suited to component-based software whose interfaces are clearly specified. AGEDIS intends to capitalize on the experience and expertise of the research partners in this field, while providing an industry-proven methodology and automation tools for the use of the European Community's Software Development Industry. By the end of the project, AGEDIS will have proven its effectiveness as a methodology and toolset. This will be done by comparative studies with existing testing methodologies and with existing tools that implement similar methodologies. As part of the tangible objectives of the project, we intend to have the AGEDIS methodology and tools adopted by at least four leading software producers in the European community. The results of the project will be available to all European software producers, both in the form of an educational package and software tools, and as a testing service provided by the technology transfer member of the consortium. << Project Summary Innovative Aspects >> |