unit 5 of software testing ppt

39
1 Prof. N. Prasanna Balaji SOFTWARE TESTING METHODOLOGY Term:2009-2010 B.Tech III/IT Semester - I Unit-V PPT Slides Text Books : 1.Software Testing Techniques: Boris Beizer 2. Craft of Software Testing: Brain Marrick

Upload: sathishkumar-m

Post on 09-Mar-2016

446 views

Category:

Documents


29 download

DESCRIPTION

unit 5 of software testing ppt boris beizer

TRANSCRIPT

Page 1: unit 5 of software testing ppt

1

Prof. N. Prasanna Balaji

SOFTWARE TESTING METHODOLOGYTerm:2009-2010

B.Tech III/IT Semester - I

Unit-V PPT Slides

Text Books: 1.Software Testing Techniques: Boris Beizer 2. Craft of Software Testing: Brain Marrick

Page 2: unit 5 of software testing ppt

22

Sub Topic No’s

Sub Topic name Lecturer No

Slide No’s

1 Path Products & expressions: Introduction L1 3

2 Path ExpressionPath ExpressionL1

6

3 Path ProductPath ProductL2

14

4 Reduction ProcedureL3

19

5 Reduction Procedure: Application L4 25

6 Regular Expression L5 34

7 Flow anomaly detection L6 69

8 Review: Questions from the previous year’s Questions from the previous year’s examsexams

L7 73

Page 3: unit 5 of software testing ppt

3

Path Products & expressions - PurposePurposePURPOSE: APPLICATIONSPURPOSE: APPLICATIONS

1. How many paths in a flow-graph?

Maximum, minimum etc.

2. The probability of getting to a point in a program ?

(to a node in a flow graph)

3. The mean processing time of a routine (a flow graph)

4. Effect of Routines involving complementary operations :

(Push / Pop & Get / Return)

Page 4: unit 5 of software testing ppt

4

Path Products & expressions - PurposePurpose

PURPOSE & APPLICATIONSPURPOSE & APPLICATIONS

1. Check for data flow anomalies.

2. Regular expressions are applied to problems in test design & debugging

3. Electronics engineers use flow graphs to design & analyze circuits & logic designers.

1. Software development, testing & debugging tools use flow graph analysis tools & techniques.

1. These are helpful for test tool builders.

Page 5: unit 5 of software testing ppt

5

Path Products & expressions - MotivationMotivationMotivation

1. Flow graph is an abstract representation of a program.

2. A question on a program can be mapped on to an equivalent question on an appropriate flow graph.

3. It will be a foundation for syntax testing & state testing

Page 6: unit 5 of software testing ppt

6

Path Products & expressions - DefinitionsDefinitions

Path Expression:Path Expression:

An algebraic representation of sets of paths in a flow graph.

Regular Expression:

Path expressions converted by using arithmetic laws & weights into an algebraic function.

Page 7: unit 5 of software testing ppt

7

Path Products & expressions – Path ProductPath Product

• Annotate each link with a name.

• The pathname as you traverse a path (segment) expressed as concatenation of the link names is the path productpath product.

• Examples of path products between 1 & 4 are:

a b d a b c b d a b c b c b d ….

2 31b

c

a4

d

Page 8: unit 5 of software testing ppt

8

Path Products & expressions – Path ExpressionPath ExpressionPath Expression

Simply: Derive using path products.

Example:

{ a b d, a b c b d, a b c b c b d , ….. }

abd + abcbd + abcbcbd + ….

2 31b

c

a4

d

Page 9: unit 5 of software testing ppt

9

Path Products & expressions – Path ExpressionExample:

a b c d

hfe

g

ji

{ abcd , abfhebcd , abfigebcd , abfijd }

abcd + abfhebcd + abfigebcd + abfijd

Page 10: unit 5 of software testing ppt

10

Path Products & expressions – Path Expression

Path name for two successive path segments is the concatenation of their path products.

X = abc Y = def XY = abcdef

a X = aabc X a = abca XaX = abcaabc

X = ab + cd Y = ef + gh XY = abef + abgh + cdef + cdgh

Page 11: unit 5 of software testing ppt

11

Path Products & expressions – Path Segments & Path Segments & ProductsProducts

• Loops:

a1 = a a2 = aa a3 = aaa an = aaaaa … n times

X = abc X1 = abc X2 = (abc)2 = abcabc

• Identity element

a0 = 1 X0 = 1 (path of length 0)

Page 12: unit 5 of software testing ppt

12

Path Products & expressions – Path Product

Path Product

• Not Commutative:

XY ≠ YX in general

• Associative

A ( BC ) = ( AB ) C = ABC : Rule 1

Page 13: unit 5 of software testing ppt

13

Path Products & expressions – Path Product

Denotes a set of paths in parallel between two nodes.

• Commutative

X + Y = Y + X : Rule 2

• Associative

( X + Y ) + Z = X + ( Y + Z ) = X + Y + Z : Rule 3

• Distributive

A ( B + C) = A B + A C : Rule 4 ( A + B ) C = A C + B C

Page 14: unit 5 of software testing ppt

14

Path Products & expressions – Path ProductsPath Products

• Absorption

X + X = X : Rule 5

X + any subset of X = X

X = a + bc + abcd X + a = X + bc + abcd = X

Page 15: unit 5 of software testing ppt

15

Path Products & expressions – Path ProductsPath Products

• Loop:

An infinite set of parallel paths.

b* = b0 + b1 + b2 + b3 + ……

X* = X0 + X1 + X2 + X3 + ……

X+ = X1 + X2 + X3 + ……

• X X* = X* X = X+ a a* = a* a = a+

Xn = X0 + X1 + X2 + X3 + …… + Xn

a c

b

Page 16: unit 5 of software testing ppt

16

Path Products & expressions – Path productsPath productsMore Rules…

Xm + Xn = Xn if n ≥ m : Rule 6 = Xm if n < m

Xm Xn = Xm+n : Rule 7

Xn X* = X* Xn = X* : Rule 8

Xn X+ = X+ Xn = X+ : Rule 9

X* X+ = X+ X* = X+ : Rule 10

Page 17: unit 5 of software testing ppt

17

Path Products & expressions – Path productsPath productsIdentity Elements ..

1 : Path of Zero Length

1 + 1 = 1 : Rule 11

1 X = X 1 = X : Rule 12

1n = 1n = 1* = 1+ = 1 : Rule 13

1+ + 1 = 1* = 1 : Rule 14

Page 18: unit 5 of software testing ppt

18

Path Products & expressions – Path productsPath productsIdentity Elements ..

0 : empty set of paths

X + 0 = 0 + X = X : Rule 15

X 0 = 0 X = 0 : Rule 16

0* = 1 + 0 + 02 + 03 + . . . = 1 : Rule 17

Page 19: unit 5 of software testing ppt

19

Path Products & expressions – Reduction ProcedureReduction Procedure

To convert a flow graph into a path expression that denotes the set of all entry/exit paths.

Node by Node Reduction Procedure

Page 20: unit 5 of software testing ppt

20

Path Products & expressions – Reduction ProcedureReduction ProcedureInitialization Steps:

1. Combine all serial links by multiplying their path expressions.

1. Combine all parallel links by adding their path expressions.

1. Remove all self-loops - replace with links of the form X*

Page 21: unit 5 of software testing ppt

21

Path Products & expressions – Reduction ProcedureReduction ProcedureSteps in the Algorithm’s loop

4. Select a non-initial & non-final node.

Replace it with a set of equivalent links, whose path expressions correspond to all the ways you can form a product of the set of in-links with the set of out-links of that node.

1 2 3

54

a b

f

c

ged

Page 22: unit 5 of software testing ppt

22

Path Products & expressions – Reduction ProcedureReduction ProcedureSteps in the Algorithm’s loop:

5. Combine any serial links by multiplying their path expressions. ( as in step 1)

6. Combine any parallel links by adding their path expressions.( as in step 2)

7. Remove all the self-loops.( as in step 3)

8. IF there’s just one node between entry & exit nodes, path expression for the flow graph is the link’s path expression.ELSE, return to step 4.

Page 23: unit 5 of software testing ppt

23

Path Products & expressions – Reduction ProcedureReduction Procedure

Path Expression for a Flow Graph

• is not unique

• depends on the order of node removal.

Page 24: unit 5 of software testing ppt

24

Path Products & expressions – Reduction Procedure Reduction Procedure ExampleExample

Cross-Term StepCross-Term Step (Step 4 of the algorithm)

• Fundamental step.

• Removes nodes one by one till there’s one entry & one exit node.

• Replace the node by path products of all in-links with all out-links and interconnecting its immediate neighbors.

Page 25: unit 5 of software testing ppt

25

Path Products & expressions – Reduction Procedure Reduction Procedure ExampleExample

Processing of Loop Terms:Processing of Loop Terms:

b

1 2ca

d

1 2b*ca

b*d

Page 26: unit 5 of software testing ppt

26

Path Products & expressions – Reduction Procedure Reduction Procedure ExampleExample

Processing of Loop Terms:Processing of Loop Terms:

1 2 3 4 5b c fa

ed

bd

1 2 4 5bc fa

e

1 2 4 5(bd)* bc fa

e

Page 27: unit 5 of software testing ppt

27

Path Products & expressions – Reduction Procedure Reduction Procedure ExampleExample

Processing of Loop Terms:Processing of Loop Terms:

1 2 4 5(bd)* bc fa

e

1 4 5a (bd)* bc f

e (bd)* bc

1 4 5a (bd)* bc ( e (bd)* bc ) * f

a (bd)* bc ( e (bd)* bc )* f

Page 28: unit 5 of software testing ppt

28

Path Products & expressions – Reduction Procedure Reduction Procedure ExampleExample

Example:Example:

1 3 4 5 6

7 8 9

f

b c da

gj

m

kh

2e

10

il

1 3 4 5 6

7 8 9

f

b c da

gj

im

kh

2e

il

Page 29: unit 5 of software testing ppt

29

Path Products & expressions – Reduction Procedure Reduction Procedure ExampleExample

1 3 4 5 6b c+gkh da

gif

imf

2e

ilh

1 3 4 5 6

8jf

b c da

g

imf

kh

2e

ilh

1 3 4 5 6

7 8

f

b c da

gj

im

kh

2e

ilh

Page 30: unit 5 of software testing ppt

30

Path Products & expressions – Reduction Procedure Reduction Procedure ExampleExample

1 3 5 6b(c+gkh) da

bgif

imf

2e

ilh

1 3 5 6(bgif)*b(c+gkh) da

imf

2e

ilh

1 3 6(bgif)*b(c+gkh)da

imf

2e

ilhd

Page 31: unit 5 of software testing ppt

31

Path Products & expressions – Reduction Procedure Reduction Procedure ExampleExample

1 3 6(bgif)*b(c+gkh)da

(ilhd)*imf

2(ilhd)*e

1 6a(bgif)*b(c+gkh)d

(ilhd)*imf(bgif)*b(c+gkh)d

2(ilhd)*e

Page 32: unit 5 of software testing ppt

32

Path Products & expressions – Reduction Procedure Reduction Procedure ExampleExample

Flow Graph Path Expression :Flow Graph Path Expression :

a(bgif)*b(c+gkh)d {(ilhd)*imf(bgif)*b(c+gkh)d}* (ilhd)*e

1 6a(bgif)*b(c+gkh)d

2{(ilhd)*imf(bgif)*b(c+gkh)d}* (ilhd)*e

Page 33: unit 5 of software testing ppt

33

Path Products & expressions – Before going into Before going into ApplicationsApplications

Before that, we learn:

Identities

Structured Flow Graphs (code/routines)

Unstructured Flow graphs (routines)

Page 34: unit 5 of software testing ppt

34

Path Products & expressions – Identities / RulesIdentities / Rules( A + B ) * = ( A* + B* ) * :

I1

= ( A* B* )* : I2

= ( A* B )* A* : I3

= ( B* A )* B* : I4

= ( A* B + A )* : I5

= ( B* A + B )* : I6

( A + B + C + . . . ) * = ( A* + B* + C* + . . . )* : I7

= ( A* B* C* . . . )* : I8

Derived by removing nodes in different orders & applying the series-parallel-loop rules.

Page 35: unit 5 of software testing ppt

35

Path Products & expressions – Structured Flow Structured Flow GraphsGraphs

Reducible to a single link by successive application of the transformations shown below.

A B A, BProcess

A BWHILE .. DO ..

A B A

IF THEN .. ELSE ..B

Page 36: unit 5 of software testing ppt

36

Path Products & expressions – Structured Flow Structured Flow GraphsGraphs

Structured flow graph transformationsStructured flow graph transformations

A B A, B

REPEAT .. UNTIL ..

Properties:Properties:

•No cross-term transformation.

•No GOTOs.

•No entry into or exit from the middle of a loop.

Page 37: unit 5 of software testing ppt

37

Path Products & expressions – Structured Flow Structured Flow GraphsGraphs

Some examples:

a c

bd

a b c d eg h

i

je

f

Page 38: unit 5 of software testing ppt

38

Path Products & expressions – UNstructured Flow UNstructured Flow GraphsGraphs

Some examples – unstructured flow graphs/code:

X

XJumping into loops

XJumping out of loops

Branching into Decisions

X

Branching out of Decisions

Page 39: unit 5 of software testing ppt

39

Questions from the previous year’s examsQuestions from the previous year’s exams

1. Write short notes on: path products, path expressions, path sums, loops.

2. Define structured code. Explain lower path count Arithmetic.

3. What is the looping probability of a path expression. Write arithmetic rules. Explain with an example.

4. Write the steps involved in Node Reduction Procedure. Illustrate all the steps with the help of neatly labeled diagrams.