4. The problem
● Users love features and options.
● The majority of software application employ a graphical user
interface(GUI).
● The GUI are becoming more and more complex (more
options, more features).
● Testing a GUI taking into consideration
(fonctionality,securitiy, usability…) is laborious and resource
intensive.
10. Why?
● Actions need often to be in specific order.
● Actions have to appear in the context of certain other
actions to provoke faults.
● Tester have to compile the entire test suite.
● Slight changes to the GUI of SUT will break tests.
We do have obviously a problem to generate
automatically test sequences.
11. The metaheuristic approach
● The problem of generating test sequences to GUIs will
be treated as an optimization problem.
● Ant colony optimization algorithm is employed.
● New metric called MCT(Maximum Call Tree) is used
to search fault-sensitive test cases.
13. The event flow graph (EFG)
● Since many sequence are infeasible like this one:
s=(Edit, Paste) it is helpful to employ a model of the
GUI.
14. The maximum call tree criterion (MCT)
● Choosing the right criteria is critical for finding faults.
● Generating sequences that induce a large call tree
within the SUT.
● Sequences are generated online (executing the SUT)
therefore no need for a model of the GUI.
● Don‘t have to deal with the infeasibility.
17. Test environment requierment
● To be able to scan the GUI of the SUT to obtain all
visible widgets and their properties(size, position,
focus…).
● To derive a set of interesting actions(visible, enabled
button, is clickable…).
● To give these actions unique name.
● To execute sequences of these actions.
20. RandomVs ACO
● K is the number of top-K sequences in every
generation.
● α is the pheromone evaporation rate.
● ρ is the probability parameter for the pseudo
proportional random selection rule.
21. Conclusion
We used the ACO optimization algorithm directed by MCT
to automatically generate the input sequence for application
with GUI.
Since we forgo the application of GUI model there is no
risk of generating infeasible sequences.