Software Testing is the process of evaluation a software item to detect differences between given input and expected output.
Software TestingFull description
Full description
Software TestingFull description
TestingFull description
only manual testing notes......
Software Testing is the process of executing an application with intent to identify the bugs present in the application. The key objective of Software Testing is to ensure that the application meets the requirements specified in the requirements docu
In this era of computing, the ideas and techniques of software testing have become essential knowledge for all software developers. A software developer can expect to use the concepts presented in this book many times during his or her career. This c
Software Testing Interview Questions
Interview Questions Software Testing
Software Testing Tutorial
The purpose of this paper is to analyze in general the process of testing games and describe in more detail all the aspects of test phases in a game development process. The game industry has grown significantly in the last decade and many companies
JNTU CSE IV I manual
Software Reviews and Testing
Software Testing Notes
Software Testing Framework, For more information Check this site www.examsinfo.in
JNTU CSE IV I manual
SOFTWARE TESTING
Yogesh Singh
MM CAMBRIDGE UNIVERSITY PRESS
Contents
List
of Figures
List
of Tables
xi xv
Preface Acknowledgements 1.
xxi xxiii
Introduction 1.1
Some Software Failures
The
1.1.2
The Y2K Problem
1.1.3
The USA Star-Wars Program
3
1.1.4
Failure of London Ambulance System USS Yorktown Incident
3
Accounting Software Failures Experience of Windows XP
3
1.1.6
1.1.7
Explosion of the Ariane
5 Rocket
1 2
Testing Process 1.2.1
1.3
1
1.1.1
1.1.5
1.2
1
3
4 4
What is Software
Testing?
5
1.2.2
Why
1.2.3
Who Should We Do the
1.2.4
What Should We Test?
16
Terminologies 1.3.1 Program and Software
19
1.3.2
Verification and Validation
20
1.3.3
Fault, Error, Bug and Failure Test, Test Case and Test Suite
21
1.3.4
1.3.5
Deliverables and Milestones
22
1.3.6
Alpha,
Beta and Acceptance
1.3.7
Quality
Should We Test?
14
Testing?
Some
and
Reliability
15
19
Testing
21
22
23
iv
Contents
1.4
1.5
2.
1.3.8
23
1.3.9
23
Testing, Quality Assurance and Quality Control Static and Dynamic Testing 1.3.10 Testing and Debugging Limitations of Testing 1.4.1 Errors in the Software Requirement and Specification 1.4.2 Logical Bugs 1.4.3 Difficult to Measure the Progress of Testing The V Shaped Software Life Cycle Model 1.5.1 Graphical Representation 1.5.2 Relationship of Development and Testing Parts
Document
24 24
26 26 27
27
Multiple Choice Questions
28
Exercises
34
Further
35
Reading
Functional 2.1
2.2
Testing
37
Boundary Value Analysis Robustness Testing 2.1.1 2.1.2 Worst-Case Testing
38
2.1.3
Robust Worst-Case Testing
46
2.1.4
Applicability
48
Equivalence 2.2.1
2.3
2.4
Class
43 44
63
Testing Classes
Equivalence 2.2.2 Applicability Decision Table Based Testing Creation of
63 65
81
2.3.1
Parts of the Decision Table
81
2.3.2
Limited Entry and Extended Entry Decision Tables
82
2.3.3
'Do Not Care'Conditions and Rule Count
82
2.3.4
Impossible
2.3.5
Applicability
Cause-Effect
Conditions
83
83 96
Graphing Technique
2.4.1
identification of Causes and Effects
2.4.2
Design
2.4.3
Use of Constraints in Cause-Effect
2.4.4
Choice
Questions
97 97
Graph
Design Entry Writing of Test Cases Applicability
2.4.6
Multiple
of Cause-Effect
of Limited
2.4.5
3.
24 24
Graph
Decision Table
97 99
99 99 102
Exercises
105
Further
108
Reading
Essentials of 3.1
Graph Theory
110
What is
a Graph? Degree of a Node
110
3.1.1
112
3.1.2
Regular Graph
113
Contents
3.2
Matrix
Representation
3.2.1
Incidence Matrix
3.2.2
3.3
3.4
3.5
Graphs
114
Independent Paths
116
3.3.1
Cycles
3.3.2
Connectedness of a Graph
Generation of a
113 114
Matrix
Adjacency
Paths and
of
v
117
Graph
from
3.4.1
Program Graphs
3.4.2
DD Path
Program
117 123
124
Graphs
127
Identification of Independent Paths
144
3.5.1
144
3.5.2
Cyclomatic Complexity Graph Matrices
150
Multiple Choice Questions
159
Exercises
161
Reading
Further
Structural 4.1
4.2
4.3
4.4
163
Testing
Control Flow
165
Testing Coverage
165
4.1.1
Statement
4.1.2
Branch Coverage
167
4.1.3
Condition
167
4.1.4
Path
Data Flow
166
Coverage
167
Coverage
Testing
173
4.2.1
Define/Reference Anomalies
174
4.2.2
Definitions
174
4.2.3
Identification of du and dc Paths
4.2.4
Testing Strategies Using
4.2.5
Generation of Test Cases
Slice Based
du-Paths
Testing
175 175
176 197
4.3.1
Guidelines for
4.3.2
Creation of Program Slices
198
4.3.3
Generation of Test Cases
202
Mutation
Slicing
Testing
197
212
4.4.1
Mutation and Mutants
212
4.4.2
Mutation
216
4.4.3
Mutation Score
Choice
Multiple
Operators
Questions
216 223
Exercises
226
Further
228
Reading
Software Verification 5.1
Verification Methods 5.1.1
Peer Reviews
230 230 231
vi
Contents
5.1.2
Walkthroughs
231
5.1.3
Inspections Applications
231
5.1.4 5.2
5.3
5.4
5.5
5.6
5.7
Software 5.2.1
Nature of the SRS Document
5.2.2
Characteristics and
5.2.3
SRS Document Checklist
Software
Document Verification
233 233
Organization
of the SRS Document
233 235
Design Description (SDD)
Document Verification
5.3.1
Organization of the
5.3.2
The SDD Document Checklist
SDD Document
238
239 239
Source Code Reviews
241
5.4.1
Issues Related to Source Code Reviews
241
5.4.2
Checklist of Source Code Reviews
242 243
User Documentation Verification 5.5.1
Review Process Issues
5.5.2
244
User Documentation Checklist
244
Software Project Audit
245
5.6.1
Relevance Scale
246
5.6.2
Theory
5.6.3
Project
Case
Multiple
6.
232
Requirements Specification (SRS)
and Practice Scale
246
Audit and Review Checklist
Study
Choice
246 257 279
Questions
Exercises
282
Further Reading
283
Creating Test Cases from Requirements and Use Cases 6.1
Use Case
Identification of Actors
286
6.1.2
Identification of Use Cases
287
6.1.3
Drawing Diagram Writing of Use Case Description
288 290 292
6.2.1
Generation of Scenario
6.2.2
Creation of Use Case Scenario Matrix
294
6.2.3
Identification of Variables in
295
6.2.4
Identification of Different Input States of a Variable
6.2.6
Design
Diagrams a
Use Case
of Test Case Matrix
Assigning
Guidelines for
Actual Values to Variables
generating validity
checks
293
296
296 296
316
6.3.1
Data
Type
316
6.3.2
Data
Range
316
6.3.3
6.4
of Use Case
Generation of Test Cases from Use Cases
6.2.5
6.3
285
6.1.1
6.1.4 6.2
Diagram and Use Cases
285
Special Data Conditions 6.3.4 Mandatory Data Inputs 6.3.5 Domain Specific Checks Strategies for Data Validity 6.4.1 Accept Only Known Valid Data
316
316 316
317 317
Contents
6.5
6.4.2
Reject Known Bad Data
6.4.3
Sanitize All Data
Database
Multiple
7.
322
322 326
Testing
Choice
331
Questions
Exercises
333
Further
334
Reading
Selection, Minimization and Prioritization of Test Cases for 335
Regression Testing 7.1
7.2
7.3
7.4
7.5
8.
vii
What is
335
Regression Testing? Regression Testing
7.1.2
Selection of Test Cases
Regression
336
Process
7.1.1
337
339
Test Cases Selection
7.2.1
Select All Test Cases
339
7.2.2
Select Test Cases
339
7.2.3
Select Modification
Reducing the
Randomly Traversing
Test Cases
Number of Test Cases
7.3.1
Minimization of Test Cases
7.3.2
Prioritization of Test Cases
339 340 340 341 342
Risk Analysis 7.4.1
What is Risk?
7.4.2
Risk Matrix
342 343
Code Coverage Prioritization
Technique
346
7.5.1
Test Cases Selection Criteria
347
7.5.2
Modification
347
7.5.3
Deletion Algorithm
Algorithm
352
Multiple Choice Questions
363
Exercises
364
Further Reading
365
Software Testing Activities 8.1
8.2
8.3
Leve Is of
Testing 8.1.1 Unit Testing 8.1.2 Integration Testing 8.1.3 System Testing 8.1.4 Acceptance Testing Debugging 8.2.1 Why Debugging is so Difficult? 8.2.2 Debugging Process 8.2.3 Debugging Approaches 8.2.4 Debugging Tools Software Testing Tools 8.3.1
Static Software
Testing Tools
368 368 369
370 373 373
374 374
375 377
378 379
379
viii
Contents
8.4
8.3.2
Dynamic Software Testing Tools
381
8.3.3
Process
382
Software Test Plan Choice
Multiple
9.
Management
Tools
382 383
Questions
Exercises
386
Further
387
Reading
Object Oriented Testing 9.1
What is
Classes and
9.1.2
Inheritance
What
9.5
390
391
9.2.1
What is
9.2.2
Levels of Testing
Abstraction
a
394
395
Unit?
395 395
396
9.3.2
Activity Diagram Calculation of Cyclomatic Complexity
9.3.3
Generation of Test Cases
State Based
393
394
Testing
9.3.1
9.4
Objects
Polymorphism Encapsulation is Object Oriented Testing?
9.1.5
Path
389
Messages, Methods, Responsibility,
9.1.4
9.3
Orientation?
9.1.1 9.1.3
9.2
Object
389
396 400 401
Testing
404
9.4.1
What is
9.4.2
State Chart
9.4.3
State Transition Tables
407
9.4.4
Generation of Test Cases
408
Class
a
State Machine?
Diagram
406
411
Testing
9.5.1
How Should We Test
9.5.2
Issues Related to Class
9.5.3
Generating
Multiple
404
Choice
a
Class?
412
Testing
412
Test Cases
412
Questions
415
Exercises
417
Further
418
Reading
10. Metrics and Models in Software 10.1
10.2
420
Software Metrics
420
10.1.1
Measure, Measurement and Metrics
420
10.1.2
Applications
421
Categories of Metrics 10.2.1
10.3
Testing
Product Metrics for
422
Testing
422
10.2.2 Process Metrics for Testing
423
Object
Oriented Metrics Used in
Testing
423
Contents
10.3.1
ix
Coupling Metrics
424
10.3.2 Cohesion Metrics
424
10.3.3 Inheritance Metrics
425 426
10.3.4 Size Metrics 10.4 What Should We Measure
427
During Testing?
10.4.1 Time 10.4.2
427
Quality of
Source Code
428
10.4.3 Source Code Coverage
429
10.4.4 Test Case Defect
429
Density Efficiency 10.5 Software Quality Attributes Prediction Models 10.4.5 Review
429 430 430
10.5.1 Reliability Models 10.5.2 An
Example of Fault Prediction Model in Practice
10.5.3 Maintenance Effort Prediction Model
437 442
Multiple Choice Questions
446
Exercises
449
Further
451
Reading
11. Testing Web Applications 11.1
What is Web 11.1.1
Web
453
Testing?
Application
11.1.2 Key Areas in
versus
Testing
Client Server
Web
Application
455
Applications
458
Navigation Testing
458
Functional
11.3
User Interface
456
11.3.2 Form Based
Testing 11.3.3 User Interface Testing Checklist 11.4 Usability Testing 11.4.1 What is Usability and Usability Testing? 11.4.2 Identification of Participants 11.4.3 Development of Usability Testing Questionnaire 11.4.4 Setting up Environment for Conducting Test 11.4.5
Conducting
the Test
Analyze the Results and Observations 11.5 Configuration and Compatibility Testing Browser