Abstract

Maiada M Shabaan
Enhancing Model-Based Testing for Mobile Applications
Model Based Testing (MBT) is defined as the process of generating functional test cases based on a model that describes the behavior of an application under test (AUT). It is used to ensure that the intended purpose of the application will function as expected, where if any change in the behavior is encountered it would be reported as a bug. Existing research in MBT mostly focuses on automating the generation of the application’s model under test. Given that testing each path of the generated model would require considerably large time since the problem of path-testing is known to be NPcomplete, accordingly researchers have focused on developing techniques for test case Selection and generation. However, to the best of our knowledge, no studies in the literature have investigated whether the generated models could be reduced before the test case Selection step is performed, and whether this reduction could positively affect the number of test paths subsequently the number of detected bugs and/or total time needed for testing. In this thesis, a new model is proposed that aims to enhance MBT by minimizing the model of the AUT before test case Selection step is performed. This is done by removing any equivalent states and examining the effect of minimization on the time needed to execute the test cases, and on the number of detected bugs. The thesis implements different algorithms for model minimization along with different graph coverage criteria. The experimental results using a dataset of Android applications show that the proposed approach was able to minimize the testing time by a percentage ranging from 8.6% to 29.5%, while detecting the same bugs that are detected without the proposed minimization step, proving that the model was able to maintain the same coverage.