INDEX
A
for critical applications 272
types of 271
Advantages of white box testing 191
Automated testing 409
disadvantages of 415
benefits of 414
Available testing tools, techniques and metrics 20
B
Basic concepts of state machines 310
Basic terminology related to software testing 11
Basic test plan template 583–589
Basic unit for testing, inheritance and testing 302
Basis path testing 149
Benefits of automated testing 414
Beta testing 255
Big bang integration 240
Black box (or functional) testing techniques 65
Bottom-up integration approach 239
Boundary value analysis (BVA) 66
guidelines for 74
limitations of 67
robustness testing 67
worst-case testing 68
Business vertical testing (BVT) 252
BVA. See Boundary value analysis
C
Call graph based integration 241
Categorizing V&V techniques 33
Cause-effect graphing technique 97
causes and effects 97
guidelines for 101
Certification, standards and testing for compliance 257
Characteristics of modern testing tools 425
Chasing false defects 569
Classification of integration testing 238
Code complexity testing 141
Code coverage testing 136
Coming up with entry/exit criteria 258
Comparison of
black box and white box testing in tabular form 188
conventional and object oriented testing 390
various regression testing techniques 223
white box, black box and gray box testing approaches 209
Comparison on
black box (or functional) testing techniques 102
various white box testing techniques 190
Concept of balance 107
Condition coverage 139
Configuration testing 486
Consideration during automated testing 410
Corrective regression testing 221
Coupling between objects (CBO) 145
Criteria for selection of test tools 422
Cyclomatic complexity
properties and meaning 141, 147
Cyclomatic density (CD) 143
D
Data flow testing 171
DD path testing 165
Debugging 418
Decision table based testing 86
guidelines for 96
Decision tables 87
advantages, disadvantages and applications of 87
Decomposition-based integration 238
Deployment acceptance test 272
Deployment testing 253
Design for testability (DFT) 387
Design/architecture verification 251
Differences between QA and QC 31
Differences between regression and normal testing 220
Differences between verification and validation 30
Disadvantages of automated testing 415
Dynamic white box testing techniques 135
E
Equivalence class test cases for next date function 79
Equivalence class test cases for the commission problem 84
Equivalence class test cases for the triangle problem 78
Equivalence class testing 74
guidelines for 85
strong normal 76
strong robust 77
weak normal 75
weak robust 76
Essential density metric (EDM) 142
Evolving nature of area 31
Executing test cases 270
F
Factors governing performance testing 274
Formal verification 37
Function coverage 140
Functional acceptance simple test (FAST) 271
Functional system testing techniques 250
Functional testing (or black box testing) 489
guidelines for 105
techniques 65
Functional versus non-functional system testing 248
G
Game testing process 559
Good bug writing 573
Graph matrices technique 169
Gray box testing 207
various other definitions of 208
Gui testing 390
Guidelines for
BVA 74
cause-effect functional testing technique 101
choose integration method and
conclusions 241
decision table based testing 96
equivalence class testing 85
functional testing 105
scalability testing 262
H
Heuristics for class testing 356
I
Implementation-based class testing/white box or structural testing 333
Incremental testing approach 10
Independent V&V contractor (IV&V) 49
Integration complexity 143
Integration testing of classes 367
Integration testing 237
Interoperability testing 266
K
Kiviat charts 105
L
Levels of object oriented testing 363
Life cycle of a build 563
Limitations of BVA 67
Limitations of testing 19
M
Managing key resources 259
Managing the test process 383
Measurement of testing 10
Mutation testing versus error seeding 186
N
Neighborhood integration 242
Non-functional testing (or white box testing) 486
Non-functional testing techniques 258
O
Object oriented testing 301
levels of 363
P
Pairwise integration 241
Path analysis 453
process 454
coverage 138
Path-based integration with its pros and cons 243
Pathological complexity 143
challenges 280
factors governing 274
steps of 279
tools for 290
Phase wise breakup over testing life cycle 453
Positive and negative effect of software V&V on projects 48
Practical challenges in white box testing 190
Principles of testing 18
Prioritization guidelines 215
Prioritization of test cases for regression testing 224
Priority category scheme 216
Problems with manual testing 413
Progressive regression testing 221
Proof of correctness (formal verification) 37
Pros and cons of decomposition-based techniques 240
Pros and cons 242
R
Rationale for STRs 43
Recoverability testing 488
Regression and acceptance testing 381
Regression testing at integration level 222
Regression testing at system level 223
Regression testing at unit level 222
Regression testing in object oriented software 224
Regression testing of a relational database 493–500
Regression testing of global variables 223
Regression testing technique 225
Regression testing 220, 381, 571
types of 221
Release acceptance test (RAT) 271
Requirements tracing 38
Response for class (RFC) 145
Responsibility-based class testing/black-box/functional specification-based testing of classes 345
Retest-all strategy 221
Risk analysis 217
Robustness testing 67
Role of V&V in SDLC 33
S
Sandwich integration approach 239
Security testing 488
Selecting test cases 269
Selection of good test cases 9
Selective strategy 221
Setting up the configuration 258
Simulation and prototyping 38
Skills needed for using automated tools 416
Slice based testing 226
Smoke testing 571
Software technical reviews 43
rationale for 43
review methodologies 46
types of 45
Software testing 2
basic terminology related to 11
Software V&V planning (SVVP) 39
Software verification and validation 29–57
Standard for software test documentation (IEEE829) 50
State machines
basic concepts of 310
Statement coverage 136
Static versus dynamic white box testing 134
Steps for tool selection 424
Steps of performance testing 279
Stress testing 263
Strong normal equivalence class testing 76
Strong robust equivalence class testing 77
T
Test automation: “no silver bullet” 431
Test cases for commission problem 72, 96
Test cases for next date function 71, 91
Test cases for payroll problem 100
Test cases for the triangle problem 69, 90, 98
Test execution issues 394
Test point analysis (TPA) 435
for case study 450
methodology 436
model 437
philosophy 436
Testing
effectiveness 104
efficiency 104
effort 102
life cycle 17
measurement of 10
number of 9
object oriented systems 333
performance See Performance testing
principles of 18
purpose 6
Testing “around” a bug 572
Testing of e-learning management systems 505–557
Testing process 2
Testing using orthogonal arrays 392
Tools for performance testing 290
TPA. See Test point analysis
Transaction testing 489
Types of
acceptance testing 271
decomposition based techniques top-down 238
integration approach 238
RDBMS 494
regression testing 221
STRs 45
testing tools-static v/s dynamic 411
U
Unit testing a class 364
Unit, integration, system and acceptance testing relationship 236
Unit/code functional testing 135
Usability testing 486
V
Version control 567
V&V limitations 32
W
Weak normal equivalence class testing 75
Weak robust equivalence class testing 76
Web browser-page tests 489
Weighted methods for class (WMC) 145
When to stop testing 18
White box testing 486, 562. See also Black box testing
advantages of 191
comparison of black box and 188
practical challenges in 190
static versus dynamic 134
White box (or structural) testing techniques 133
Worst-case testing 68