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.


Top Related