- KonferenzbeitragTesting in the component age(Testing of component-based systems and software quality, 2004) Winter, Mario; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzAt the end of the last century, quality and especially reusability problems of object-oriented software cropped out. As a remedy, nowadays component based software development resounds throughout the developer communities. Nevertheless the special aspects of testing component based systems often remain overlooked. After characterizing the main differences between object-oriented and componentbased software, this paper firstly surveys some basic concepts of component development and software testing. Then applicable techniques for specification and black-box testing of components are depicted, and particularly contract-based test case specification for component interfaces is emphasized. On this groundwork, some new testing levels and testing roles which have to be played in component based software development are proposed. The paper ends with some prospects on appropriate testing tools.
- KonferenzbeitragMeasuring the effectiveness of software testing(Testing of component-based systems and software quality, 2004) Sneed, Harry M.; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzIn 1978 Harry Sneed set up the first commercial software test laboratory in Budapest charging DM 75,- per test case and DM 100,- for each error found. The laboratory was used to test the Integrated Transport Steuerung system of the German railroad and the BS2000 operating system of Siemens. Today, some 26 years later, managers are looking for a means to justify the cost of testing. While working as a test consultant for a Viennese software house from 1998 until 2003, Harry Sneed conceived a set of metrics for measuring the effectiveness of the test operations there. These metrics were intended to measure the performance of the test department, but they are equally valid for measuring test operations anywhere. In fact, with these metrics it should be possible to convert software testing from an art as perceived by Glenford Meyers in 1975 to a science as defined by Lord Kelvin in 1875. The metrics were obtained using the Goal/Question/Metric Method of Basili and Rombach and were refined through three years of practical application. In effect, they are a continuation of the test measurement work Sneed began as a young test entrepreneur in 1978. They are supported by a set of tools designed for both static and dynamic analysis as well as for evaluating the results of both. Working as a test team leader at the Wirtschaftskammer in Vienna, Sneed applied these metrics to successfully predict the test effort required to test a complex web application. From this presentation the attendants will be exposed to the experience of 30 years of software testing.
- KonferenzbeitragSafety assessment of systems embedded with COTS components by PIP technique(Testing of component-based systems and software quality, 2004) Chen, Luping; May, John; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzThe difficulties to assess reliability of systems that use COTS components are sometimes compounded by the inaccessibility of some COTS codes. This paper develops an approach of Perturbation of Interface Parameters (PIP) to simulate failures of COTS components. It is to validate the use of PIP as a fault-injection technique to test COTS components and surrounding systems. Tests of a nuclear protection system will be presented to demonstrate that PIP can be used to assess and aid safety designs in COTS based software.
- KonferenzbeitragMeasuring component performance using a systematic approach and environment(Testing of component-based systems and software quality, 2004) Gao, Jerry; Ravi, Chandra S.; Raquel, Espinoza; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzAs more third-party software components are available in the commercial market, more people begin to use the component-based software engineering approach to developing component-based programs. Since most e-business and e-commerce application systems are net-centered distributed systems, customers usually have very restricted system performance requirements. Hence, performance testing and evaluation of software components becomes a critical task for component-based software. Although a lot of research efforts have been devoted to analysis and design methods of component-based software, only a few research papers address the issues and systematic solutions to performance testing and measurement for modern components. This paper proposes a systematic solution and environment to support performance measurement for software components. The objective is to provide a plug-in-and-measure approach to evaluate component performance, including functional speed, throughput, availability, reliability and resource utilization. It reports the development effort on constructing a distributed performance evaluation environment for software components based on a set of well-defined performance evaluation metrics and techniques. In addition, some application examples and case study results are reported.
- KonferenzbeitragAn optimum, system-based component testing approach for evaluating software reliability(Testing of component-based systems and software quality, 2004) Rajgopal, Jayant; Mazumdar, Mainak; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzIn a component testing approach for evaluating system reliability, one tests units of the components or subsystems that make up a larger system in order to draw conclusions about the reliability of the latter. An optimum, system-based component test plan explicitly account for the relationship between component and system reliabilities and also minimizes total testing effort. This paper reviews the main features of such plans and describes an application to reliability testing of a software system that is made up of several different components/modules.
- KonferenzbeitragA strategy to improve component testability without source code(Testing of component-based systems and software quality, 2004) Ribeiro Rocha, Camila; Martins, Eliane; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzA software component must be tested every time it is reused, to guarantee the quality of both the component itself and the system in which it is to be integrated. To reduce testing costs, we propose a model to build highly testable components by embedding testing and monitoring mechanisms inside them. The approach is useful to component developers, who can use these built-in test capabilities in the testing phase, as well as to component users, who can verify whether the component fulfills its contract. Our approach proposes the insertion of built-in mechanisms directly into intermediate code, allowing its use even in COTS components.
- KonferenzbeitragScenario-based component testing using embedded metadata(Testing of component-based systems and software quality, 2004) Strembeck, Mark; Zdun, Uwe; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzWe present an approach for the use case and scenario-based testing of software components. Use cases and scenarios are applied to describe the functional requirements of a software system. In our approach, a test is defined as a formalized and executable description of a scenario. Tests are derived from use case scenarios via continuous refinement. The use case and test information can be associated with a software component as embedded component metadata. In particular, our approach provides a model-based mapping of use cases and scenarios to test cases, as well as (runtime) traceability of these links. Moreover, we describe an implementation-level test framework that can be integrated with many different programming languages.
- KonferenzbeitragAn aspect-based environment for COTS component testing(Testing of component-based systems and software quality, 2004) Polo, Macario; Cechich, Alejandra; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzComponent qualification is one of the major steps in the development of component-based applications. Several techniques are used to enrich documentation by structuring and classifying components' metadata. In that line, aspect information has been used to help implement better component interfaces and to encode knowledge of components' capabilities. In this paper, we describe an environment to generate and execute aspect-dependent test cases, which is based on an aspect-based categorisation of information for testing.
- KonferenzbeitragCate: A system for analysis and test of Java card applications(Testing of component-based systems and software quality, 2004) Pfahler, Peter; Günther, Jürgen; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzCate is a domain-specific testing environment. It integrates both static and dynamic analyzes that are designed for Java Card application software. Cate supports the test process by analyzing the command/response behavior of the software, by performing test coverage analysis and by providing tools to visualize the analysis results. This paper gives a concise overview over the system which is successfully employed in the area of smart card development for mobile phones.
- KonferenzbeitragTest oracles using statistical methods(Testing of component-based systems and software quality, 2004) Mayer, Johannes; Guderlei, Ralph; Beydeda, Ksami; Gruhn, Volker; Mayer, Johannes; Reussner, Ralf; Schweiggert, FranzThe oracle problem is addressed for random testing and testing of randomized software. The presented Statistical Oracle is a Heuristic Oracle using statistical methods, especially statistical tests. The Statistical Oracle is applicable in case there are explicit formulae for the mean, the distribution, and so on, of characteristics computable from the test result. However, the present paper only deals with the mean. As with the Heuristic Oracle, the decision of the Statistical Oracle is not always correct. An example from image analysis is shown, where the Statistical Oracle has successfully been applied.