Software Testing Methodologies
Software Testing Methodologies
Course Name
Course Number
: 57047
Course Designation
: Core
Prerequisites
: Software Engineering
IV B Tech I Semester
(2013-2014)
B. Ujwala
Assistant Professor
SYLLABUS
Unit I
Unit II
Flow graphs and Path testing : Basics concepts of path testing, predicates,
path predicates and achievable paths, path sensitizing, path instrumentation,
application of path testing
Unit
III
model
for
testing,
Unit IV
Domain Testing: Domains and paths, Nice & ugly domains, domain testing,
domains and interfaces testing, domain and interface testing, domains and
testability
Unit V
Paths, Path products and Regular expressions: Path products & path
expression, reduction procedure, applications, regular expressions & flow
anomaly detection.
Unit VI
Unit
VII
State, State Graphs and Transition testing: State graphs, good & bad
state graphs, state testing, Testability tips.
UnitVIII
3
4.
5.
6
7
Websites References
1. www.tutorialspoint.com/software_testing/software_testing_quick_guide.ht
m
2.
3.
www.etestinghub.com
https://www.owasp.org/index.php/Testing_Guide_Introduction
Time Table
Room No:
Time
MON
TUE
WED
THU
FRI
SAT
9:00
-09:50
09.50
10:40
10:40
11:30
11:30
12: 20
1:10
2:00
2:00
2:50
2:50
3:40
Class
Hour
W.E.F:
PEO2
PEO3
PEO4
PO2
PO3
PO4
PO5
PO6
Course Outcomes:
1. Have an ability to apply software testing knowledge and engineering
methods.
2. Have an ability to design and conduct a software test process for a
software testing project.
3. Have an ability understand and identify various software testing
problems, and solve these problems by designing and selecting
software test models, criteria, strategies, and methods.
4. Have an ability to use various communication methods and skills to
communicate with their teammates to conduct their practice-oriented
software testing projects.
5. Have basic understanding and knowledge of contemporary issues in
software testing, such as component-based software testing problems
6. Have an ability to use software testing methods and modern software
testing tools for their testing projects.
POs
PEOs
CO1
CO2
CO3
CO4
CO5
CO6
PO
PO
PO
PO
PO
PO
PEO
PEO
PEO
PEO
PEO
PEO
COURSE SCHEDULE
Distribution of Hours Unit Wise
Chapters
Unit
Topic
Introduction
II
III
IV
Domain Testing
VI
VII
VIII
Book1
Book2
Ch1,2
Ch 3,4,5
Ch 6, 7
Ch 8
Ch 9,10,11
Ch 12
Ch13
Ch14
Total No.
of Hours
8
9
Ch 13
Ch 15
12
65
65
The number of topic in every unit is not the same because of the variation, all
the units have an unequal distribution of hours
Lecture Plan
S. No.
Topic
Unit-1
Introduction:
Purpose of testing
Dichotomies
Consequences of bugs
Taxonomy of bugs
Unit-2
6
Date of
Completion
9
path testing
Predicates
Path sensitizing
10
Path instrumentation
11
Unit-3
14
15
Transaction flows
16
Timing diagram
17
18
19
20
Unit-4
21
22
23
Domain testing
10
24
Unit-5
30
31
32
33
Reduction procedure
Applications
Unit-6
39
40
Decision tables
41
Path expressions
42
Kv charts
43
Unit-7
48
49
50
State testing
51
Testability tips
transition
Unit-8
testing:
11
57
58
Matrix of graph
59
Relations
60
Power of matrix
61
62
Building tools
__ / __ / __
Remarks:
________________________________________________________________________
________________________________________________________________________
Unit 2
Date
__ / __ / __
Remarks:
________________________________________________________________________
________________________________________________________________________
Unit 3
Date
Remarks:
__ / __ / __
12
________________________________________________________________________
________________________________________________________________________
Unit 4
Date
__ / __ / __
Remarks:
________________________________________________________________________
________________________________________________________________________
Unit 5
Date
__ / __ / __
Remarks:
________________________________________________________________________
________________________________________________________________________
Unit 6
Date
__ / __ / __
Remarks:
________________________________________________________________________
________________________________________________________________________
Unit 7
Date
__ / __ / __
Remarks:
________________________________________________________________________
________________________________________________________________________
Unit 8
__ / __ / __
13
Remarks:
________________________________________________________________________
________________________________________________________________________
14
3.
4.
Unit 2
1.
2.
Double link markers are more effective than single link markers justify
the statement
How a programs control structure can be represented graphically?
Explain with the help of required diagrams.
3.
4.
Unit 3
1.
2.
3.
4.
Static analysis alone is not enough for data flow testing. Justify?
Distinguish Control Flow and Transaction flow
Unit 4
1.
2.
3.
4.
Unit 5
15
Obtain the mean processing time of a program represented by the
following flow graph. Numbers in the brackets are the probabilities and
the other numbers are processing times.
1.
2.
3.
Unit 6
1.
2.
i.
Associative Laws
ii.
iii.
Distributive Law
iv.
Absorption Rule
Unit 7
1.
2.
3.
4.
16
Unit 8
1.
2.
3.
1.
}
}
void insert(Record*& city, lnode*& list) {
lnode* ptr = new lnode;
ptr->next = list;
list = ptr;
prt->data = city;
}
Unit 2
1.
17
[A] Draw Flaw graph for this program.
[B] Find out independent paths for above flow graph.
[C] Find out Code Complexity for the same program.
Unit 3
program Example()
var staffDiscount, totalPrice, finalPrice, discount, price
staffDiscount = 0.1
totalPrice = 0
input(price)
while(price != -1) do
totalPrice = totalPrice + price
input(price)
od
print("Total price: " + totalPrice)
if(totalPrice > 15.00) then
discount = (staffDiscount * totalPrice) + 0.50
else
discount = staffDiscount * totalPrice
fi
print("Discount: " + discount)
finalPrice = totalPrice - discount
print("Final price: " + finalPrice)
endprogram
1.
For the above pseudo code draw the data flow Model
Unit 4
1.
18
1.
1.
Unit 7
1.
There are two buttons on the watch called the ModeButton and
the IncButton; pressing either of these generates an event, which may cause
a transition between two states. There are three states called Display, Set
Hours and Set Minutes. Display is the start state, indicated by the arrow
from the black dot. In theSet Hours state, event ModeButton causes a
transition to the Set Minutes state, whereas event IncButton causes the
action Increase Hours to occur (with no state change). Draw State Diagram.
Unit 8
1.
Represent the above graph as a matrix and find the path expression.
19
Unit 1
1.
Why is it impossible for a tester to find all the bugs in a system? Why
might it not be necessary for a program to be completely free of
defects before it is delivered to its customers?
2.
To what extent can testing be used to validate that the program is fit
for its purpose.
3.
4.
Unit 2
1.
2.
3.
4.
Unit 3
1.
2.
3.
4.
Unit 4
1.
2.
3.
4.
Unit 5
1.
2.
What we can find using Regular expression.
20
3.
2.
Unit 7
1.
2.
Write the design guidelines for building finite state machine into code.
3.
Unit 8
1.
2.
3.
How can a relation matrix be represented and what are the properties of
relations?
Explain cross-term reduction and node term reduction optimization.
How a loop can be identified in a matrix
21
Unit Wise Multiple Choice Questions
Unit I:
1. Consequences of bugs range from mild to catastrophic
2. A programs environment is the hardware or software to run it
3. importance of bug depends on correction cost,installation
cost,consequences,frequency
4. syntax errors come under the category of coding bugs
5. Insufficient effort in QA results in High Rejection Ratio
6. Higher Rework results in Higher Net Costs
7. The main Purpose of Testing is to catch bugs
8. Contents: are pure bit pattern & bugs are due to misinterpretation or
corruption of it.
9. Structure: Size, shape & alignment of data object in memory. A
structure may have substructures
10. Attributes: Semantics associated with the contents (e.g. integer,
string, subroutine).
11.Testing cost in consumer good is as low as [ ]
A. 12% B. 2% C. 4% D. 9%
Unit II:
1. SQA stands for Software quality assurance
2. A control flow graph is programs control structure
3. Acceptance test in done to find programs ability
4. Syntax error detection is archytepal result of static analysis
5. Phase 0: says no difference between debugging & testing
6. Phase 3: says Test for Risk Reduction
7. Phase 2: says Software does not work
8. Execute all statements in the program at least once under the some
test. Is called as statement testing
9. Path testing (with mainly P1 & P2) catches ~65% of bugs
10.
22
11.
decision
12.
Unit III:
1. The outcome of test is what we expect to happen
2. System test does test the components of system
3. The normal sequence with regard to narmal variable (killed-k,usedu,defined-d) uu
4. Transaction-flow represents a systems processing
5. TFG represents a behavioral (functional) model of the program
(system) used for functional testing by an independent system tester.
6. System is controlled by a scheduler
7. DFG Test the Von Neumann way
8. dd means harmless and suspicious
9. dk means probably a bug.
10.
du means normal
11.
kd means normal
Unit IV:
1. A domain basically is a set
2. In the context of domain span for domain and interfacing testing for
every input variable we need atleast compatible domain spans &
compatible closure
3. Three generic cases of complex domains are disconnected
pieces,holes and concavities
4. to confirm compatibility of callers range and called routines domain
span we need to test every input variable
5. Domain testing Verifies if the classification is correct
6. Domain testing model Structural Knowledge is not needed
23
7. Predicate Specifies the Domain Boundary
8. Nice domain Boundaries are Linear
9. Ugly domain
10.
Ambiguities
Unit V:
1. ABCD+BCD+CD+AB can be reduced to CD+AB
2. ABC+BCD+CDE+EFG is said to be in the form of sum of
products
3. Path segment are also called as sub paths
4. A heauristic methods of sensitizing paths checks for predicate
coverage in the order independent uncorrelated,correlated
dependent
5. Path expression algebraic representation of sets of paths in a flow
graph.
6. Flow graph is an abstract representation of a program.
7. X + X
= X
8. Cross term step Removes nodes one by one till theres one entry
& one exit node.
9. 1+ + 1 = 1*
10.
Xm Xn
=
=
1
Xm+n
Unit VI:
1. break points Method is usefull where hard to sensitize paths
begin.
2. The process of changing operating environment to support old
software is rehosting
3. hardware logic test design tools and methods use logic & Boolean
algebra
4.
24
6. Rules Specify which actions are to be followed for a given set of
conditions
7. x + x' = 1
8. x (y z) = (x y) z
9. 0' = 1
Unit VII:
1. In context of data object state and usage c,p stand for caluculation
and predicate
2. Using x+y>=7 when x+y>=7 is an intended example of shift
boundary
3. A state graph and its associated state table
4. State graphs are not dependent on time or temporal behavior or
the program
5. State testing doesnt test the Temporal behavior
6. The total number of states is equal to the product of possibilities of
factors that make up the state
7. Bad state graphs contain states not reachable
8. For every state and every input there is exactly one transition
specified to exactly one, possibly the same, state.
9. A good state graph has at least two input symbols
10.
Unit VIII:
1. A matrix is a set of real or complex numbers
2. To perform addition or subtraction on matrices, the two matrices must
be of the same order
3. If the rows and columns of a matrix are interchanged, it is called as
transpose of a matrix
4. matrix is called a square matrix if its number of row equals to the
number of columns.
5. A null (zero) matrix, N, is a matrix with all elements equal to 0.
6. A unit matrix, I, is a square matrix with all elements in the leading
diagonal equal to 1 and all other elements equal to 0.
7. A relation between finite sets can be represented using a zero-one
matrix.
25
8. A directed graph consists of a set V of vertices (or nodes) together
with a set E of ordered pairs of elements of V called edges (or arcs).
26
[16]
27
representations?
8
]
[8+8]
28
Tutorial Sheet
Unit-I
Topics Revised
Date:
Date:
Date:
Unit-II
Topics Revised
Date:
Date:
Date:
Unit-III
29
Topics Revised
Date:
Date:
Date:
Topics Revised
Date:
Date:
Date:
Unit-IV
Unit-V
Topics Revised
Date:
30
Quick Test Topics
Date:
Date:
Unit-VI
Topics Revised
Unit-VII
Topics Revised
31
Quick Test Topics
Unit-VIII
Topics Revised
32
Unit 2
1.
2.
3.
4.
Unit 3
1.
2.
3.
4.
Unit 4
1.
2.
3.
4.
Unit 5
1.
2.
3.
4.
Unit 6
1.
2.
3
4
33
Unit 7
1.
2.
3.
4.
Unit 8
1.
2.
3.
4.
UNDERSTANDIN
G
LEVEL 3
APPLYING
LEVEL 4
ANALYZING
LEVEL 5
EVALUATING
LEVEL 6
CREATING
34
S.No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Hall
Ticket
Number
IIntern
al
Marks
Assignment
Marks
Remarks
&
Blooms
Taxonom
y
Assessme
nt
IIInternal
Marks
Assignme
nt
Marks
Remarks
&
Blooms
Taxonomy
Assessme
nt
Av
g.
Ma
rks
35
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Oral Communication
S.No
5
4
3
2
1
5
2
4
Writing Skills
36
3
Information gathered is relevant to the given task. sentences were framed properly with
inappropriate use of grammar
Information is gathered without continuity of topic, sentences were not framed properly. Few
topics are copied from other documents
Content Knowledge
Student Participation
Practical
Knowledge
5
4
3
2
Information gathered was not relevant to the given task. Content is copied from other
documents
Student identifies most potential ethical or societal issues and provides solutions for them
discussing with peers
Student identifies most potential ethical or societal issues and provides partial solutions for
them discussing with peers
Student identifies the societal and ethical issues but tries to provide solutions for them
discussing with peers
Student identifies the societal and ethical issues but fails to provide any solutions discussing
with peers
Student uses appropriate methods, techniques to model and solve the problem accurately
4
.
3
Student uses appropriate methods, techniques to model and solve the problem partially.
Student tries to model the problem and fails to solve the problem
Student fails to model the problem and also fails to solve the problem
Student listens to the class but doesnt attempts to answer the questions
Student neither listens to the class nor attempts to answer the questions
5
4
3
Student uses appropriate methods to model the problem but attempts to solve the problem
The program structure is well organized with appropriate use of technologies and methodology.
Code is easy to read and well documented. Student is able to implement the algorithm
producing accurate results
Program structure is well organized with appropriate use of technologies and methodology.
Code is easy to read and not properly documented. Student is able to implement the algorithm
providing accurate results.
Program structure is well organized with appropriate use of technologies and methodology.
Code is quite difficult to read and not properly documented. Student is able to implement the
algorithm providing accurate results.
Program structure is well organized with usage of appropriate technologies and methodology.
Code is difficult to read and not documented properly and not able to execute the program
Program structure is not well organized with mistakes in usage of appropriate technologies and
methodology. Code is difficult to read and student is not able to execute the program
Independently able to write programs for any given context to strengthen the concepts covered
in theory
Independently able to write programs and able to strengthen the concepts learned in theory
37
2
Not able to write programs but able to strengthen the concepts learned in theory.
Not able to write programs and not able to strengthen the concepts learned in theory
5
4
3
2
Student uses appropriate methods, techniques to model and solve the problem accurately in the
context of multidisciplinary projects
Student tries to model the problem and solve the problem in the context of multidisciplinary
projects
Student tries to model the problem and attempts to solve the problem in the context
of multidisciplinary projects.
Student tries to model the problem but fails to solve the problem in the context
of multidisciplinary projects.
Student fails to model the problem and also fails to solve the problem in the context
of multidisciplinary projects
UNDERSTANDIN
G
LEVEL 3
APPLYING
LEVEL 4
ANALYZING
LEVEL 5
EVALUATING
LEVEL 6
CREATING
38
solutions.
Hall Ticket
Number
Rubric
Assessment
Blooms
Taxonomy
Assessment
Remarks
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Remedial Classes:
Unit Number
Unit-I
Unit-II
Unit-III
Unit-IV
Unit-V
Unit-VI
Unit-VII
Unit-VIII
Date Conducted
Add-on Programmes:
1
2
3
4
Guest Lectures:
1.
2.
3.
Topics Revised
40
4.
Unit Wise PPTs: