E-Book, Englisch, 410 Seiten
Beydeda / Gruhn Testing Commercial-off-the-Shelf Components and Systems
1. Auflage 2005
ISBN: 978-3-540-27071-3
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Englisch, 410 Seiten
ISBN: 978-3-540-27071-3
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark
Industrial development of software systems needs to be guided by recognized engineering principles. Commercial-off-the-shelf (COTS) components enable the systematic and cost-effective reuse of prefabricated tested parts, a characteristic approach of mature engineering disciplines. This reuse necessitates a thorough test of these components to make sure that each works as specified in a real context. Beydeda and Gruhn invited leading researchers in the area of component testing to contribute to this monograph, which covers all related aspects from testing components in a context-independent manner through testing components in the context of a specific system to testing complete systems built from different components. The authors take the viewpoints of both component developers and component users, and their contributions encompass functional requirements such as correctness and functionality compliance as well as non-functional requirements like performance and robustness. Overall this monograph offers researchers, graduate students and advanced professionals a unique and comprehensive overview of the state of the art in testing COTS components and COTS-based systems.
Sami Beydeda is a research associate at the computer science department of the University of Leipzig, Germany. His research interests include quality assurance of software components and component-based systems. Sami Beydeda has written his PhD on 'The Self-Testing COTS Components (STECC) Method' and has published several articles on testing in component-based development. He was responsible for several software development project in industry, in the financial sector in particular, and for research projects at the Universities of Dortmund and Leipzig. Sami Beydeda is a program committee member of COMPSAC 2004, Workshop on Quality Assurance and Testing of Web-Based Applications 2004, AICCSA 2005. Volker Gruhn is a full professor at the computer science department of the University of Leipzig, Germany. His research interests are component-based development, software processes for distributed systems, architecture of electronic commerce applications and workflow management. He has been chief technical officer of a German software house called LION from 1992 to 1996. In this position he was responsible for a software development department of 150 people. Volker Gruhn was a PC member of major software engineering conferences (ESEC95, ESEC97, ICSE2004) and several software process workshops and conferences. He was program chair of the 6th European Workshop on Software Process Technology and the 8th European Software Engineering Conference. Volker Gruhn has already organized a workshop at ICSE, the Engineering Distributed Objects Workshop during ICSE 99. In 1997 Volker Gruhn co-founded adesso AG, a German software house specialized in component-based software development. adesso AG currently has 170 employees.
Autoren/Hrsg.
Weitere Infos & Material
1;Preface;5
2;Acknowledgments;8
3;Contents;11
4;Basic Concepts and Terms;13
4.1;1 Software Development in the Large;13
4.2;2 Components as Building Blocks;16
4.3;3 Component Models and Frameworks;20
4.4;4 Commercial-off-the-Shelf (COTS) Components;26
5;Context of the Book;27
5.1;1 Lack of information in development of and with components;27
5.2;2 Issues in Testing Components and Component-based Systems;35
6;Testing Components Context-Independently;43
6.1;Testing Polymorphic Behavior of Framework Components;44
6.1.1;1 Introduction;44
6.1.2;2 A Diagram Editor Framework Component;47
6.1.3;3 Interaction Specification;50
6.1.4;4 Testing the Interaction Specifications;57
6.1.5;5 Prototype Implementation;62
6.1.6;6 Related Work;63
6.1.7;7 Conclusions and Future Work;64
6.2;COTS Component Testing through Built-In Test;66
6.2.1;1 Introduction;66
6.2.2;2 Components and COTS-based Products;67
6.2.3;3 Component Testability, BIT;70
6.2.4;4 COTS Components and BIT-Based Application Evolution Scenarios;75
6.2.5;5 Conclusion;80
6.2.6;Acknowledgments;81
6.3;COTS Component Testing through Aspect- Based Metadata;82
6.3.1;1 Introduction;82
6.3.2;2 Aspects and Metadata for Testing;85
6.3.3;3 An Aspect-Based Environment for Component Testing;93
6.3.4;4 Conclusion and Future Work;99
6.3.5;5 Acknowledgments;99
6.4;Automatic Testing of Exception Handling Code;100
6.4.1;1 Introduction;100
6.4.2;2 Related Work;102
6.4.3;3 Problem Description and Motivation;103
6.4.4;4 Detecting Failure Non-Atomic Methods;104
6.4.5;5 Implementations;109
6.4.6;6 Experimental Results;111
6.4.7;7 Conclusion;115
7;Testing Components in the Context of a System;117
7.1;A Process and Role-Based Taxonomy of Techniques to Make Testable COTS Components;118
7.1.1;1 Introduction;118
7.1.2;2 State Machine Models;122
7.1.3;3 Built-In Tests;125
7.1.4;4 Built-In Contract Testing;127
7.1.5;5 Interface Probing;130
7.1.6;6 Traceable Components;133
7.1.7;7 Metacontent;137
7.1.8;8 Binary Reverse Engineering;140
7.1.9;9 Fault Injection Support;141
7.1.10;10 Testable Beans;143
7.1.11;11 Retro Components;144
7.1.12;12 Component Test Bench;145
7.1.13;13 Self-Testing Components;146
7.1.14;14 Conclusions;149
7.2;Evaluating the Integrability of COTS Components – Software Product Family Viewpoint;150
7.2.1;1 Introduction;150
7.2.2;2 The Impact of Architectural Properties on Integrability;152
7.2.3;3 Evaluation Methods of COTS Components for Integrability;166
7.2.4;4 Conclusions;176
7.3;A User-Oriented Framework for Component Deployment Testing;177
7.3.1;1 Introduction;177
7.3.2;2 CB Development Process and Testing Phase;181
7.3.3;3 Related Work;184
7.3.4;4 Overview of the CDT Framework;187
7.3.5;5 A Case Study;189
7.3.6;6 Using CDT;191
7.3.7;7 Framework Architecture;198
7.3.8;8 Conclusions and Future Work;201
7.3.9;Acknowledgments;202
7.4;Modeling and Implementation of Built- In Contract Tests;203
7.4.1;1 Introduction;203
7.4.2;2 Built-In Contract Testing;205
7.4.3;3 Generation of Built-In Contract Tests from UML;208
7.4.4;4 Implementation and Execution of Built-in Tests;211
7.4.5;5 A Working Example;212
7.4.6;6 Summary and Conclusion;217
7.4.7;Acknowledgment;219
7.5;Using a Specification Approach to Facilitate Component Testing;220
7.5.1;1 Context and Orientation;220
7.5.2;2 Specification Approach;221
7.5.3;3 Application to COTS Component Testing;233
7.6;A Methodology of Component Integration Testing;245
7.6.1;1 Introduction;245
7.6.2;2 Overview of the Observation Theory;247
7.6.3;3 Behavioral Observation in Component Integration Testing;261
7.6.4;4 Conclusion;273
7.6.5;5 Acknowledgments;275
8;Testing Component-Based Systems;276
8.1;Modeling and Validation of Publish/ Subscribe Architectures;277
8.1.1;1 Introduction;277
8.1.2;2 Our Approach;279
8.1.3;3 Modeling;280
8.1.4;4 Validation;285
8.1.5;5 Tool Support;291
8.1.6;6 Related Work;292
8.1.7;7 Conclusions and Future Work;294
8.2;Performance Testing of Distributed Component Architectures;296
8.2.1;1 Introduction;296
8.2.2;2 Related Work;299
8.2.3;3 Approach;300
8.2.4;4 Preliminary Assessment;309
8.2.5;5 Scope and Extensions;313
8.2.6;6 Conclusions and Future Work;316
8.2.7;Acknowledgments;317
8.3;A Generic Environment for COTS Testing and Quality Prediction;318
8.3.1;1 Introduction;318
8.3.2;2 A Development Framework for Component-Based Software Systems;321
8.3.3;3 Quality Assurance for Component-Based Software Systems;323
8.3.4;4 A Quality Assurance Model for Component-Based Software Systems;324
8.3.5;5 A Generic Quality Assessment Environment for Component- Based Systems: ComPARE;331
8.3.6;6 Experiment and Discussion;339
8.3.7;7 Conclusion;349
8.3.8;Acknowledgment;350
8.4;Automatic Testing for Robustness Violations;351
8.4.1;1 Introduction;351
8.4.2;2 Goals and Objectives;353
8.4.3;3 Methodology;356
8.4.4;4 Example: Fault-containment Wrapper;362
8.4.5;5 Related Work;363
8.4.6;6 Conclusion;364
8.5;Testing Component-Based Systems Using FSMs;365
8.5.1;1 Introduction;365
8.5.2;2 Demonstrative Example;368
8.5.3;3 Description of the Testing Technique;373
8.5.4;4 Conclusions;381
9;References;382
10;Index;407




