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-Verlag
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
E-Book, Englisch, 410 Seiten
ISBN: 978-3-540-27071-3
Verlag: Springer-Verlag
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
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.
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




