OLYMPIADS IN INFORMATICS, 2015, Vol. 9, pp. 75 - 88
© IOI, Vilnius University

ISSN 1822-7732

DOI: 10.15388/ioi.2015.07

Metamorphic Testing and DSL for Test Cases & Checker Generators

Ryan Ignatius HADIWIJAYA, M. M. Inggriani LIEM

Data and Software Engineering Research, School of Electrical Engineering and Informatics
Institut Teknologi Bandung
e-mail: ryan.ign54@gmail.com, inge@informatika.org

Abstract

In programming competition, a problem setter must prepare a task description, program solution, test cases and sometimes a checker. Test cases should be able to capture all possible cases; therefore, its preparation is time-consuming. Metamorphic Testing (MT) is a property-based testing method where relationships are defined between input and output to alleviate a test oracle problem. The success of MT relies on the existence of a Metamorphic Relation which is comprised of two interrelated relations: the test-case relation and the test-result relation. MR can be used for automated test-case generation and verification of results. In this research, we defined a Domain Specific Language (DSL) to describe metamorphic relations that will be used for test case and checker generation of programming tasks. Our method has been tested for tasks with Knapsack, Greedy, and Dynamic Programming solutions, and it has been proven, reliable, reusable and more systematic.

Keywords:

test case generation, programming task checker, programming competition, Knapsack problem, Greedy problem, metamorphic testing.


PDFTo preview full article text in PDF format click here

Get Free ReaderYou could obtain free Acrobat Reader from Adobe


Copyright © International Olympiads in Informatics, Vilnius University Institute of Mathematics and Informatics, 2015