Graph Theory Techniques in Model Based Testing by hcj


									Kumeel Alsmail
 COMP 587
 The traditional software testing.
 Modeling.
 Model Based-Testing.
 Graph Theory.
 Testing Example.
 Random Walk.
 Markov Chain.
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.

 Solution:
 Model based-testing.
 “ Is a way of representing the behavior of a system”.
 Finite State Machine
               Model Based-Testing

 Constructing the behavioral models can begin early in the
  development cycle.
 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
                   Graph Theory
 “ 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
  and edges.
 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 ).
              Software Testing.
 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
  the process”.
 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
  system behavior.
 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

To top