A Comparative Study on Automated Software Test Oracle Methods
|
|
Language: English
Date:
12/25/2009
Software testing has been used to find software faults in order to improve its quality. To verify the software behavior, testers require test oracle. Test oracle is a reliable source of expected software behavior that provides outputs for any input specified in the software specifications and a comparator to verify actual results. While test automation requires automated oracle support, oracle automation is considered as a challenging task. These challenges are from the automation required in expected output generation and results verification. This paper presents oracle activities and the challenges to prepare automated oracle. Then a comparative study of existing automated oracle and expected output generation methods is provided. Finally, a classification of these methods is suggested based on how these methods provide automated test oracle and the tool they used. The classification explains which oracle activities will be automated by the proposed approaches. (Published by IEEE Computer Society)(Scopus indexed)
|
|
|
An Automated Oracle to Test Complex Decision Making Structures
|
|
Language: English
Date:
7/8/2009
Software testing has been used to find software faults in order to improve its quality. To verify the software behavior, testers require test oracle. Test oracle is a reliable source of expected software behavior that provides outputs for any input specified in the software specifications and a comparator to verify actual results. Since there are various conditions and several paths that affect outputs generation in complex decision making structures, complete nested if-then-else structures evaluation is one of the difficult part while unit testing. In addition, providing expected outputs in nested decision making modules requires the programmers and testers understand the program’s domain completely. Therefore, an automated oracle can facilitate testing of such structures and decrease the testing cost significantly. The aim of the present paper is to study the applications of Artificial Neural Networks as automated oracle to test complete decision making structures. The proposed approach is applied to test a web-based student subject registration verifier and evaluated using mutation testing successfully. The results of this study indicate that ANN based oracle are reliable and instrumental if the decision making module is deterministic and there is no conflict between application logic. (Submitted to 16th Asia Pacific Software Engineering Conference (APSEC’09))
|
|
|
Intelligent and Automated Software Testing Methods Classification: A Review
|
|
Language: English
Date:
7/8/2009
Since software applications increased rapidly in modern life, it is important to have enough reliability and minimizing the probability of faults in software products. Software testing is a process to finding faults in software products and increasing their reliability. Because testing process is very costly, automation techniques are need to reduce these costs and also, increase reliability. In automatic testing, an attempt is made to reduce human roles in testing process by converting the testing phases or part of them to performed by intelligent methods. Automatic testing has several advantages such as decrease testing time, resources and costs and on the other hand, increase quality and reliability. In this paper, after explaining software testing phases, a classification of existing automatic testing methods has shown. These methods can automate software testing phases or at least part of them with aim to reach above advantages. The aim of this classification is to show which technique can applied in which phase of software testing. The classification clarifies which problems must address in each phase before moving to next problems and how to automate each phase. Moreover, approaches for automating each testing phase have recommended. (Published in The 4th Postgraduate Annual Research Seminar 2008 (PARS08)).
|
|
|
|