As the field of computing has evolved, the increasing level of software complexity has severely affected the capability to deliver software that works as intended. Despite progress during the past decade towards addressing the software quality problems, the software-quality problems remain. Software quality is enhanced by improved testing techniques. One of the functions of testing is the determination of expected results from selected test cases. The mechanism for making that determination is called an oracle. A methodology that provides a knowledge-based oracle to assist with the comparison of actual results with expected results is presented. The methodology is based on a dual transformation of the design to knowledge base and to the source code. A dual evaluation of selected test data in both the knowledge base and the code provide a technique for evaluating the correctness of the code for a given input value.
展开▼