Jerry Zeyu Gao, H.-S. Jacob Tsao, Ye Wu9781580534802, 1580534805
Table of contents :
Testing and Quality Assurance for
Component-Based Software……Page 3
Copyright……Page 6
Contents……Page 9
What is this book about?……Page 19
Why is testing software components and component- based software important?……Page 20
Book organization……Page 21
Is this book for you?……Page 22
Acknowledgments……Page 23
PART I Introduction……Page 25
1.1 The evolution of software components……Page 27
1.2 Why is software component reuse important?……Page 29
1.3 What is a software component?……Page 30
1.4 Properties of software components in CBSE……Page 32
1.5 Basic elements of software components……Page 35
1.6 Software modules versus software components in CBSE……Page 37
1.7 An engineering process for software components……Page 41
1.8 Questions, concerns, and needs in component validation and quality control……Page 43
1.9 Summary……Page 45
References……Page 46
2 Software component testing……Page 49
2.1 Component testing background……Page 50
2.2 Component testing in CBSE……Page 52
2.2.1 Vendor- oriented component testing……Page 53
2.2.2 User- oriented component testing……Page 54
2.3 Issues and challenges of component testing in CBSE……Page 58
2.3.1 Issues and challenges in user- oriented component validation……Page 59
2.3.2 Issues and challenges in vendor- oriented component testing……Page 62
2.4 Component testing myths and other needs……Page 65
References……Page 68
3.1 Introduction……Page 71
3.2.1 Properties of component- based software……Page 73
3.2.2 Component- based software versus traditional programs……Page 77
3.3 Component- based software infrastructure:component model……Page 79
3.4.1 Process models for traditional software……Page 82
3.4.2 A process model for component- based software……Page 84
References……Page 89
4 Testing component-based software……Page 91
4.1 Introduction……Page 92
4.2.1 Why is adequate testing for component- based software necessary?……Page 93
4.2.2 Difficulties in adequate testing and maintenance for component- based software……Page 95
4.3.1 Interaction model……Page 99
4.3.2 Behavior model……Page 101
4.4 Testing and maintenance methodologies……Page 103
4.5 Enterprise- based test process for component- based software……Page 104
4.6 Summary……Page 105
References……Page 106
5 Testability of software components……Page 109
5.1 Basic concepts of software testability……Page 110
5.2 Understanding component testability……Page 114
5.2.2 Component observability……Page 115
5.2.3 Component traceability……Page 116
5.2.4 Component controllability……Page 119
5.2.5 Test support capability……Page 120
5.3.1 Understanding of testable software components……Page 122
5.3.2 Methods to increase component testability……Page 124
5.3.3 Current research efforts on building testable components……Page 126
5.4 Verification and evaluation of component testability……Page 129
5.4.2 Statistic verification approach……Page 131
5.5.1 What is software testability measurement?……Page 133
5.5.2 How to measure software testability……Page 134
5.6 Summary……Page 137
References……Page 138
PART II Validation methods for software components……Page 141
6.1 Introduction……Page 143
6.2.1 Component specification……Page 146
6.2.2 Component verification history……Page 147
6.2.3 Component customization……Page 149
6.3.1 Random testing……Page 150
6.3.2 Partition testing……Page 151
6.3.3 Boundary value testing……Page 154
6.3.4 Decision tables ¨C based testing……Page 157
6.3.5 Mutation testing……Page 158
6.4 Summary……Page 161
References……Page 162
7 White-box testing methods for software components……Page 165
7.2 Path testing……Page 166
7.2.1 Statement coverage……Page 167
7.2.3 Multiple- condition coverage……Page 168
7.2.4 Path coverage……Page 169
7.2.5 Loop coverage……Page 170
7.3 Data- flow testing……Page 171
7.4.1 Inheritance……Page 173
7.4.2 Polymorphism……Page 174
7.4.4 Binding coverage……Page 175
7.4.5 State- based testing……Page 176
7.5 Issues in testing software components……Page 177
References……Page 178
8 Test automation and tools for software components……Page 181
8.1 Software test automation……Page 182
8.1.1 Basics of software test automation……Page 184
8.1.2 Software test automation process……Page 188
8.1.3 Different types of test automation tools……Page 190
8.2.1 ADLscope: a specification- based test tool for components……Page 194
8.2.2 The Java Compatibility Test Tools and technology compatibility kit……Page 195
8.3.1 Systematic management of component testing information……Page 198
8.3.2 Automatic test execution for software components……Page 200
8.3.3 Automatic test generation for components……Page 203
8.3.4 Systematic performance testing for components……Page 205
8.3.5 Systematic regression testing for software components……Page 207
8.4 Summary……Page 209
References……Page 210
PART III Validation methods for component-based software……Page 213
9.1 Introduction……Page 215
9.1.2 Type II: Interoperability faults……Page 216
9.2.1 Function decomposition ¨C based integration testing……Page 217
9.2.2 Call graph ¨C based integration testing……Page 219
9.3 A test model for integration testing of component- based software……Page 220
9.3.1 Test elements……Page 221
9.3.2 Component interaction graph……Page 222
9.3.3 Test- adequacy criteria……Page 223
9.4 Black box ¨C based integration- testing approaches……Page 224
9.4.2 Event nodes……Page 225
9.5 UML- based integration- testing approaches……Page 226
9.5.1 Context- dependence relationships……Page 227
9.5.2 Content- dependence relationships……Page 231
9.6 Summary……Page 232
References……Page 233
10 Regression testing for component-based software……Page 235
10.1 Introduction……Page 236
10.2 Regression testing for corrective- maintenance activities……Page 239
10.2.1 Representing modifications with UML diagrams……Page 240
10.2.2 Regression testing for corrective maintenance……Page 242
10.3.1 Control similarity evaluation……Page 245
10.3.2 Data dependence similarity evaluation……Page 248
10.4 Summary……Page 249
11 Performance testing and measurement……Page 253
11.1 Basics of software performance testing and measurement……Page 254
11.1.1 Major focuses in software performance testing and evaluation……Page 255
11.1.2 Performance test process……Page 258
11.1.3 Performance testing and evaluation challenges and needs in CBSE……Page 260
11.2.1 Utilization metrics……Page 262
11.2.2 Speed- related metrics……Page 263
11.2.3 Availability metrics……Page 264
11.2.4 Reliability metrics……Page 267
11.2.5 Throughput metrics……Page 269
11.2.6 Scalability metrics……Page 270
11.3.1 Classification of performance evalution approaches……Page 272
11.3.2 Component- based performance evaluation models……Page 275
11.4 Performance testing and evaluation tools and techniques……Page 278
11.4.1 Performance tracking and monitoring techniques……Page 280
References……Page 281
12 Frameworks for testing component-based software……Page 285
12.1.1 BIT components……Page 286
12.1.2 BIT component wrappers……Page 287
12.2.1 Testable component structure……Page 290
12.2.2 Component test framework……Page 292
12.2.4 A distributed component testing environment……Page 293
12.3 A framework for tracking component behaviors……Page 296
12.3.1 Systematic event- based component tracking model……Page 297
12.3.2 Java component tracking package……Page 298
12.3.3 Distributed tracking environment for component software……Page 299
12.4 A framework for component performance measurement……Page 301
12.4.1 A distributed performance measurement environment for components……Page 302
12.4.3 Performance tracking techniques……Page 304
12.5.1 The STCL architecture requirements……Page 306
12.5.2 The STCL architecture……Page 308
12.6 Summary……Page 310
References……Page 312
PART IV Quality assurance for software components
and component-based software……Page 313
13 Quality assurance for software components……Page 317
13.1.1 Modern methodology for assuring quality of hardware……Page 319
13.1.2 Major differences between hardware and software quality assurance……Page 322
13.2.1 The essence of software quality assurance: process and discipline……Page 324
13.2.2 Major software quality assurance tasks……Page 325
13.3 Main issues involved in QA for software components……Page 327
13.4 Integrated development and QA process for software components……Page 328
13.4.1 Prerequirements ( study) phase……Page 331
13.4.2 External- requirements phase ( including user and certifier requirements)……Page 333
13.4.3 Internal- requirements phase……Page 337
13.4.4 Design phase……Page 339
13.4.5 Implementation phase ( or coding phase)……Page 341
13.4.6 Test, evaluation, and validation phase……Page 342
13.4.8 Postdeployment phase……Page 343
13.5 Summary……Page 344
References……Page 345
14 Quality assurance for component-based
software systems……Page 347
14.1.1 Salient features of the development of component- based software systems……Page 348
14.1.2 The main differences between SQA for conventional software
systems and SQA for component-based software systems……Page 350
14.2.2 Multicriteria selection……Page 351
14.2.3 A specific process and technique for evaluating software components……Page 352
14.2.4 A general process for evaluating software components……Page 353
14.3 Ensuring a quality adaptation and integration process……Page 354
14.4 Validation of the quality of software components……Page 355
14.5 Several major limitations of the conventional SQA process……Page 356
14.6 A complementary bottom- up approach for software quality assurance……Page 357
14.6.1 Dromey¡¯s method of quality- carrying properties……Page 359
14.7 Building quality into software: the case of object- oriented design……Page 364
14.8.1 ITSEP……Page 367
14.8.2 Rational unified process……Page 368
14.8.3 RUP/ ITSEP with SQA……Page 369
References……Page 370
15 Standards and certification for components and
component-based software……Page 373
15.1 Standards for software processes and products……Page 375
15.1.1 Standards for software processes……Page 376
15.1.2 Standards for software products……Page 379
15.2 On standards for software testing……Page 380
15.3 Standards for software components and component- based software systems……Page 381
15.4.1 ISO/ IEC 12207 or IEEE/ EIA 12207……Page 386
15.4.2 IEEE SESC Vision 2000 Architecture……Page 387
15.5 Certification of software processes, products, and developers……Page 388
15.6.1 The benefits of certification of software components……Page 389
15.6.2 Research into certification of software components……Page 390
15.7 Liability aspects of producing software components and their certification……Page 391
15.7.1 A ¡° big picture¡±……Page 392
15.7.3 Liability lawsuits against product defects: contract, tort,and product (“ no- fault”) liability……Page 393
15.7.4 Disclaimer as a liability defense……Page 394
15.7.5 The roles of standards and certification in liability defense……Page 395
15.8 Summary……Page 396
References……Page 397
16 Component quality verification and measurement……Page 399
16.1 The classical approach to verification, validation, and testing……Page 400
16.1.1 Terminology and tasks……Page 401
16.1.2 Standards for specification of requirements, design,implementation, and testing……Page 402
16.1.3 Reviews, audits, walk- throughs, and inspections for verification of adherence to standards……Page 403
16.1.4 Testing standards for software components……Page 404
16.2.1 Technical approaches……Page 406
16.2.2 Organizational approaches……Page 407
16.2.3 Integration of the classical and recent approaches……Page 408
16.3 A framework for software quality measurement……Page 410
16.4 Practical quality measures for software components……Page 414
16.4.1 Practical measures for software quality……Page 415
16.4.2 Practical measures for software components……Page 417
16.5.1 Prerelease defect number as a predictor for postrelease defect number: a need for caution……Page 419
16.5.2 Quality guidelines for software design and implementation……Page 421
16.5.3 Some problems with predictive models for defects……Page 426
16.6 Other practical software measures and metrics……Page 427
16.7 Summary……Page 428
References……Page 429
17 Verification of quality for component-based software……Page 433
17.1 Some skepticisms and the companion constructive suggestions……Page 435
17.2.1 Overview of IEEE 1517……Page 439
17.2.2 IEEE 1517 processes, activities, and tasks……Page 440
17.3 Areas for component standardization……Page 442
17.4 Success and failure factors for reuse of in- house developed components……Page 444
17.5 Failure modes and failure causes……Page 448
17.6 Summary……Page 451
References……Page 453
About the authors……Page 455
Index……Page 457
Reviews
There are no reviews yet.