Sei sulla pagina 1di 8

KUVEMPU UNIVERSITY

INFORMATION TECHNOLOGY PROGRAMMES


Bachelor of Science in Information Technology - B.Sc.(IT)
Master of Science in Information Technology - M.Sc. (IT)

B.Sc.(IT) - 5th Semester

BSIT - 54

Software Quality and Testing

Directorate of Distance Education

Kuvempu University
Shankaraghatta, Shimoga District, Karnataka

In
collaboration
with

Universal Education Trust


Bangalore

II

Titles in this Volume :


BSIT - 54 Software Quality and Testing

Prepared by UNIVERSAL EDUCATION TRUST (UET)


Bangalore

First Edition
Second Edition

: May 2005
: May 2012

Copyright by UNIVERSAL EDUCATION TRUST, Bangalore


All rights reserved

No Part of this Book may be reproduced


in any form or by any means without the written
permission from Universal Education Trust, Bangalore.

All Product names and company names mentioned


herein are the property of their respective owners.

NOT FOR SALE


For personal use of Kuvempu University
IT - Programme Students only.

Corrections & Suggestions


for Improvement of Study material
are invited by Universal Education Trust, Bangalore.
E-mail : info@uetb.org

Printed at :

Pragathi Print Communications


Bangalore - 20
Ph : 080-23340100

III

SOFTWARE QUALITY AND TESTING


(BSIT - 54)

: Contributing Author :

Dr. B. M. Subraya
Infosys Technologies Ltd.
Mysore

IV

V
a

Contents

Chapter 1
INTRODUCTION TO SOFTWARE TESTING

1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8

1
1
3
4
5
6
6
7
7
8
9

Learning Objectives..........................................................................
Introduction.......................................................................................
What is Testing?...............................................................................
Approaches to Testing.......................................................................
Importance of Testing.......................................................................
Hurdles in Testing.............................................................................
Defect Distribution...........................................................................
Testing Fundamentals........................................................................
1.8.1 Testing Objectives....................................................................
1.8.2 Test Information Flow..............................................................
1.8.3 Test Case Design....................................................................

Chapter 2
TYPES OF SOFTWARE TESTING

11

2.1
2.2
2.3

11
11
12

Learning Objectives..........................................................................
Introduction......................................................................................
Types of Software Testing.................................................................

Chapter 3
SOFTWARE QUALITY ASSURANCE

20

3.1
3.2

20
20

Learning Objectives..........................................................................
Introduction......................................................................................

VI
3.3
3.4
3.5
3.6
3.7

Quality Concepts...............................................................................
Quality of design:...............................................................................
Quality of Conformance:...................................................................
Quality Control (QC).........................................................................
Quality Assurance (QA)....................................................................
3.7.1
Cost of Quality....................................................................
3.8 Software Quality Assurance SQA......................................................
3.8.1
Background Issues..............................................................
3.8.2
Software Reviews...............................................................
3.8.3
Cost impact of Software Defects..........................................
3.8.4
Defect Amplification and Removal.......................................
3.9 Formal Technical Reviews (FTR).......................................................
3.9.1
The Review Meeting...........................................................
3.9.2
Review reporting and record keeping....................................
3.9.3
Review Guidelines...............................................................
3.10 Statistical Quality Assurance..............................................................
3.11 Software Reliability............................................................................
3.11.1 Measures of Reliability and Availability.................................
3.11.2 Software Safety and Hazard Analysis...................................
3.12 The SQA Plan..................................................................................
3.12.1 The ISO Approach to Quality Assurance System..................
3.12.2 The ISO 9001 standard........................................................

21
22
22
23
23
23
25
25
27
27
28
31
31
31
32
32
35
36
36
37
38
38

Chapter 4
PROGRAM INSPECTIONS, WALKTHROUGHS, AND REVIEWS

41

4.1
4.2
4.3
4.4
4.5
4.6

41
41
42
43
44
47

Learning Objectives..........................................................................
Introduction......................................................................................
Inspections and Walkthroughs............................................................
Code Inspections..............................................................................
An Error Checklist for Inspections......................................................
Walkthroughs....................................................................................

Chapter 5
TEST CASE DESIGN

49

5.1
5.2
5.3
5.4

49
19
50
51

Learning Objectives..........................................................................
Introduction......................................................................................
White Box Testing ...........................................................................
Basis Path Testing.............................................................................

VII

5.5

5.6

5.7

5.8

5.4.1
Flow Graph Notation...........................................................
5.4.2 Cyclomatic Complexity............................................................
5.4.3 Deriving Test Cases.................................................................
5.4.4 Graph Matrices .......................................................................
Control Structure testing....................................................................
5.5.1 Conditions Testing...................................................................
5.5.2 Data Flow Testing...................................................................
5.5.3 Loop Testing...........................................................................
Black Box Testing.............................................................................
5.6.1 Equivalence Partitioning...........................................................
5.6.2 Boundary Value Analysis.........................................................
5.6.3 Cause Effect Graphing Techniques...........................................
5.6.4 Comparison Testing.................................................................
Static Program Analysis....................................................................
5.7.1 Program Inspections................................................................
5.7.2 Mathematical Program Verification ...........................................
5.7.3 Static Program Analyzers........................................................
Automated Testing Tools...................................................................

51
52
54
54
56
56
57
58
59
60
61
61
63
63
63
63
64
64

Chapter 6
TESTING FOR SPECIALIZED ENVIRONMENTS

66

6.1
6.2
6.3
6.4
6.5

66
66
66
69
69

Learning Objectives..........................................................................
Introduction......................................................................................
Testing GUIs....................................................................................
Testing of Client/Server Architectures ...............................................
Testing documentation and Help facilities...........................................

Chapter 7
TESTING APPROACHES & ISSUES

71

7.1
7.2
7.3
7.4
7.5

71
71
72
74
75
75
76
78
79
79
80

7.6

Learning Objectives...........................................................................
Introduction......................................................................................
A Software Testing Strategy ..............................................................
Strategic issues.................................................................................
Unit Testing......................................................................................
7.5.1 Unit test consideration..............................................................
7.5.2 Checklist for interface tests......................................................
7.5.3 Unit test procedures.................................................................
Integration Testing.............................................................................
7.6.1 Different Integration Strategies.................................................
7.6.2 Top down integration................................................................

VIII

7.7

7.8

7.9

7.6.3 Bottom -Up Integration............................................................


7.6.4 Regression Testing ..................................................................
7.6.5 Integration Test Documentation................................................
Validation Testing..............................................................................
7.7.1 Validation Test Criteria.............................................................
7.7.2 Configuration Review...............................................................
7.7.3 Alpha and Beta Testing............................................................
System Testing..................................................................................
7.8.1 Recovery Testing.....................................................................
7.8.2 Security Testing.......................................................................
7.8.3 Stress testing...........................................................................
7.8.4 Performance Testing................................................................
7.8.5 Debugging...............................................................................
7.8.6 The Debugging Process............................................................
7.8.7 Debugging approach................................................................
Summary..........................................................................................
References.......................................................................................

81
81
82
84
84
85
85
85
86
86
87
87
88
88
90
90
92

Potrebbero piacerti anche