Skip to main content
placeholder image

Metamorphic testing 20 years later: A hands-on introduction

Conference Paper


Abstract


  • © 2018 ACM. Two of the key challenges in software testing are the automated generation of test cases, and the identification of failures by checking test outputs. Both challenges are effectively addressed by metamorphic testing (MT), a software testing technique where failures are not revealed by checking an individual concrete output, but by checking the relations among the inputs and outputs of multiple executions of the software under test. Two decades after its introduction, MT is becoming a fully-fledged testing paradigm with successful applications in multiple domains including, among others, big data engineering, simulation and modeling, compilers, machine learning programs, autonomous cars and drones, and cybersecurity. This technical briefing will provide an introduction to MT from a double perspective. First, we will present the technique and the results of a novel survey outlining its main trends and lessons learned. Then, we will go deeper and present some of the successful applications of the technique, as well as challenges and opportunities on the topic. The briefing will be complemented with practical exercises on testing real web applications and APIs.

Publication Date


  • 2018

Citation


  • Segura, S. & Zhou, Z. (2018). Metamorphic testing 20 years later: A hands-on introduction. International Conference on Software Engineering (pp. 538-539). New York: ACM Digital Library.

Scopus Eid


  • 2-s2.0-85049664887

Ro Metadata Url


  • http://ro.uow.edu.au/eispapers1/1667

Start Page


  • 538

End Page


  • 539

Place Of Publication


  • New York

Abstract


  • © 2018 ACM. Two of the key challenges in software testing are the automated generation of test cases, and the identification of failures by checking test outputs. Both challenges are effectively addressed by metamorphic testing (MT), a software testing technique where failures are not revealed by checking an individual concrete output, but by checking the relations among the inputs and outputs of multiple executions of the software under test. Two decades after its introduction, MT is becoming a fully-fledged testing paradigm with successful applications in multiple domains including, among others, big data engineering, simulation and modeling, compilers, machine learning programs, autonomous cars and drones, and cybersecurity. This technical briefing will provide an introduction to MT from a double perspective. First, we will present the technique and the results of a novel survey outlining its main trends and lessons learned. Then, we will go deeper and present some of the successful applications of the technique, as well as challenges and opportunities on the topic. The briefing will be complemented with practical exercises on testing real web applications and APIs.

Publication Date


  • 2018

Citation


  • Segura, S. & Zhou, Z. (2018). Metamorphic testing 20 years later: A hands-on introduction. International Conference on Software Engineering (pp. 538-539). New York: ACM Digital Library.

Scopus Eid


  • 2-s2.0-85049664887

Ro Metadata Url


  • http://ro.uow.edu.au/eispapers1/1667

Start Page


  • 538

End Page


  • 539

Place Of Publication


  • New York