Metamorphic Relations Based Test Oracles for Image Processing Applications

Metamorphic Relations Based Test Oracles for Image Processing Applications

Tahir Jameel, Mengxiang Lin, Liu Chao
Copyright: © 2017 |Pages: 15
DOI: 10.4018/978-1-5225-0983-7.ch035
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Evaluation of output images carrying visual semantics is a challenging task which is carried out by domain experts through visual inspection. Automatic test oracle is required to augment the test oracle problem and to eliminate the manual efforts. Metamorphic testing is an effective technique to alleviate these problems. In this paper, the authors have demonstrated that how inherent properties of implementation under test can be used to generate an automatic test oracle for image processing applications. Metamorphic testing is a general technique in which follow-up test cases are generated using a transformation function and the anticipated output is evaluated. They have used some general metamorphic relations and also designed some algorithm specific metamorphic relations for morphological image operations. Selection of metamorphic relations is the most important step and the authors have analyzed relative effectiveness of different metamorphic relations using mutation analysis. The results show metamorphic testing is a very effective technique to automate output images evaluation and to alleviate oracle problem.
Chapter Preview
Top

1. Introduction

Image processing applications continue to provide more features, handle larger data and generate complex outputs. Advancement in signal processing and digital imaging devices has enabled their extensive use. These applications play a vital role in our daily life such as medical imaging, surveillance, biometrics etc., and the human dependence on these systems has increased the demand of their reliability.

Testing is a practical approach to evaluate the quality of these systems which includes input generation, test execution and evaluation of output. Generation of test images and evaluation of output images are considered a challenging task due to complex nature of images and their visual semantics. Currently, these applications are tested by giving manually crafted test images or commonly used standard test images. The outputs of these images are analyzed by visual inspection carried out by domain expert. This procedure is tedious and sometimes ineffective in a way that a human inspector can only analyze a limited number of images which may not enough to find out subtle errors. Automatic output image analysis is required to make the testing procedure cost effective and larger scaled.

Let function 978-1-5225-0983-7.ch035.m01 be an implementation of algorithm 978-1-5225-0983-7.ch035.m02 and 978-1-5225-0983-7.ch035.m03 be a subset of input space 978-1-5225-0983-7.ch035.m04 given by978-1-5225-0983-7.ch035.m05. Function 978-1-5225-0983-7.ch035.m06is executed to produce output978-1-5225-0983-7.ch035.m07, whereas set of expected output of function 978-1-5225-0983-7.ch035.m08is given by978-1-5225-0983-7.ch035.m09. Test oracle is a mechanism to determine whether the executed test has passed or failed. In the article by (Zhou & Huang, 2004), the authors says that in output evaluation, the actual output is compared with the expected output to analyze the correctness i.e. whether, 978-1-5225-0983-7.ch035.m10 or not. In the books by (Binder, 2000)(Weyuker, 1982), the authors says that in practice, the test oracle is either not available or very expensive to apply, which is known as test oracle problem. In case of image processing applications, sometimes test oracle cannot be clearly defined, e.g. visually similar images may have slight difference at pixel level.

Complete Chapter List

Search this Book:
Reset