The traditional software testing.
The Traditional Software Testing.
The TS suffer from pesticide paradox.
Pesticide Paradox: Every method you use to prevent or find
bugs leaves a residue of subtler bugs against which those
methods are ineffectual.
Test Scenarios are difficult to change.
“ Is a way of representing the behavior of a system”.
Finite State Machine
Constructing the behavioral models can begin early in the
Modeling exposes ambiguities in the specification and
design of the software.
The model embodies behavioral information that can be re-
used in future testing, even when the specifications change.
The model is easier to update than a suite of individual tests
“ Is an area of mathematics that deals with entities (called
nodes) and the connections (called links) between the
Anything that we can represent with node and edges.
The behavior of any software can be represent as states
Königsberg bridge problem (Eukerian)
A Postman’s Problem (a b c b e f g d d )
A Street Sweeper’s Problem.
Direct Graph : “ is a graph whose edges have direction
and are called arcs”.
Solution: ( a b c b f e g d e g ).
Testing software behavior in an efficient time.
Represent the software behavior as graph help us find
the bugs easily.
Diving the software into many graph to represent all
the software behavior.
Testing Combination of Action
Achieving statement coverage when testing code.
Switch cover: the approach of testing combinations of
abcbf ecbgd ef eg
bc bf bg
Testing under a Time Deadline
If we have several test machines.
If we have very limited time to perform the test.
The system goes to a rest state after certain input.
Each test machine can run a test scenario until rest state
a b c b f e g d e g
Machine 1 : a b c d f e g
Machine 2 : d e g
After using the algorithm
Machine 1 : a b c b g
Machine 2 : d e f e g
Random Walk & Most Likely Paths
“From the current node, choose an outgoing link at
random, follow that link to the next node and repeat
Most likely Paths:
The activities that the user more likely to perform.
Assigning a probability to each link.
Random walk will follow the link with high probability.
Models are an excellent way to represent and understand
Models provide an easy way to update tests.
Testing an application can be viewed as traversing a path
through the graph of the model.
Graph theory techniques allow us to use the behavioral
information stored in models to generate new and useful