Abstract:
The software testing process plays an important role to improve the quality of the software product. The product or program which is free from errors greatly contributes to assure the quality of the software. An oracle in software testing is a person (tester) who does the process of testing. Therefor oracle problem arises due to the difficulty of determining the expected outcomes of selected test cases. A tester (oracle) may not always be available, or may be available but the process is too expensive and difficult to apply.
This research tried to reduce the effect of oracle problem during testing software. To overcome this problem metamorphic testing (MT) has been used to generate follow-up test case for multiple execution of program under test and verifying the result automatically.
The objectives of the research include analyzing the existing testing methods to reveal the gap of unavailability of solution of oracle problem, proposing an approach (MT) to enhance the quality of testing to solve the oracle problem and verify the proposed approach by applying it in selected case studies.
The researcher tried to use experimental method which explains the mechanism of work for (MT). Therefore JUNIT tool which supports MT was used to apply selected case studies.
The proposed method has been implemented using 3 case studies (trigonometric function, geometric shapes classification, booking web service). The obtained results showed a good enhancement in the testing process.
The importance of this research lies in overcoming oracle problem or alleviates it and thus, the research contributes to knowledge the domain by guiding researchers to use the metamorphic method because of its great advantages, as well as evaluating the effect of metamorphic method through empirical studies.