Where academic tradition
meets the exciting future

Testing Web Services with Model-Based Mutation

Faezeh Siavashi, Junaid Iqbal, Dragos Truscan, Juri Vain, Testing Web Services with Model-Based Mutation. In: Enrique Cabello, Jorge Cardoso, Andre Ludwig, Leszek A. Maciaszek, Marten van Sinderen (Eds.), Software Technologies, 743, 45–67, Springer, 2017.



One way of evaluating the robustness of a web service is to test it against invalid inputs. We introduce a model-based mutation technique which automatically generates faulty test inputs. From the specification of a Web service, a test model is designed using Uppaal Timed Automata and the conformance between the model and the implementation is validated via online model-based testing with the Uppaal Tron tool. A set of mutation operators is applied to the test model in order to generate mutant test models. We validate all generated mutants via verification rules and select those that are executable and introduce proper mutations. We employ bisimulation as a tool for detecting and eliminating equivalent mutants, that is those mutants which have identical input-output behavior with the original test model. The resulting mutants are used for online test generation against the service implementation in order to check whether the latter allows for unspecified behavior. We discuss tool support and present an experiment of applying our method for a case study of a blog web service with real-life properties. The experiment shows that the proposed approach of mutating the specifications is effective in detecting errors both in the system functionality and in the test model.


Full publication in PDF-format

BibTeX entry:

  title = {Testing Web Services with Model-Based Mutation},
  booktitle = {Software Technologies},
  author = {Siavashi, Faezeh and Iqbal, Junaid and Truscan, Dragos and Vain, Juri},
  volume = {743},
  editor = {Cabello, Enrique and Cardoso, Jorge and Ludwig, Andre and Maciaszek, Leszek A. and van Sinderen, Marten},
  publisher = {Springer},
  pages = {45–67},
  year = {2017},

Belongs to TUCS Research Unit(s): Software Engineering Laboratory (SE Lab)

Publication Forum rating of this publication: level 2

Edit publication