Usage
  • 210 views
  • 600 downloads

Stochastic Modeling in Software Testing

  • Author / Creator
    Emam, Seyedeh Sepideh
  • Using models in order to formalize and abstract the view of a system is a popular approach in different research areas. Deriving behavioral models from software executions is a common approach used in supporting a broad range of software development, maintenance, and verification and validation tasks. Behavioral models are useful tools in understanding how programs work. Although, several inference approaches have been introduced to generate Extended Finite State Automatons from software execution traces, they suffer from accuracy, flexibility and decidability issues. In this study, we apply a hybrid technique, which uses both Reinforcement Learning and stochastic modelling to generate an Extended Probabilistic Finite State Automaton (called ReHMM) from software traces. Our approach is able to address the problems of inflexibility and un-decidability, reported in other state of the art approaches. Experimental results indicate that ReHMM outperforms other inference algorithms. Moreover, dynamic specification mining of web applications is a helpful approach in observing program execution and generating a model of program behavior. However, it cannot efficiently support the identification of prevalent navigation patterns from a user’s perspective. Inferring a user behavioral model from a history of users’ interactions can assist in evaluating the users’ “satisfaction level” with the application. Based upon this evaluation, such a model can provide insights into possible design and architectural anomalies and lead to the development of software solutions addressing the users’ needs. In this thesis, we also propose a hybrid approach to fully automate the behavioral model generation and a reward calculation process for user-intensive web applications. Our proposed solution infers a reward augmented behavioral model by: (1) dynamically generating a set of probabilistic Markovian models from the interaction history; (2) annotating and analyzing the models to verify the quantitative properties; and (3) augmenting the model using a reinforcement learning method to assign reward values to the states of the model. Additionally, we present a new extended digraph model as the basis of a novel fault-based test case prioritization technique to promote fault-revealing test cases in model-based testing (MBT) procedures. We seek to improve the fault detection rate- a measure of how fast a test suite is able to detect faults during testing – in scenarios such as regression testing. The model is realized using a Reinforcement Learning (RL) and Hidden Markov Model (HMM) based technique, which is able to prioritize test cases for regression testing objectives. We present a method to initialize and train a HMM based upon RL concepts applied to an application’s digraph model. The model prioritizes test cases based upon forward probabilities. In addition, we also propose an alternative approach to prioritizing test cases according to the amount of change they cause in applications. To evaluate the effectiveness of the proposed techniques, we perform experiments on Graphical User Interface (GUI)-based applications and compare the results with state-of-the-art test case prioritization approaches. The experimental results show that the proposed technique is able to detect faults early within test runs. And finally, since the automated test case generation is one of the main challenges in testing mobile applications, and this challenge becomes more complicated when the application under test supports motion-based events, we propose a novel, hidden Markov model (HMM)-based approach to automatically generate movement-based gestures in mobile applications. An HMM classifier is used to generate movements, which mimic a user’s behaviour in interacting with the application’s User Interface (UI). We evaluate the proposed technique on three different case studies; the evaluation indicates that the technique not only generates realistic test cases, but also achieves better code coverage when compared to randomly generated test cases.

  • Subjects / Keywords
  • Graduation date
    Spring 2018
  • Type of Item
    Thesis
  • Degree
    Doctor of Philosophy
  • DOI
    https://doi.org/10.7939/R31G0J90N
  • License
    This thesis is made available by the University of Alberta Libraries with permission of the copyright owner solely for non-commercial purposes. This thesis, or any portion thereof, may not otherwise be copied or reproduced without the written consent of the copyright owner, except to the extent permitted by Canadian copyright law.