This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Model-Based Test Oracle Generation for Automated Unit Testing of Agent Systems
Sept. 2013 (vol. 39 no. 9)
pp. 1230-1244
Lin Padgham, RMIT University, Melbourne
Zhiyong Zhang, RMIT University, Melbourne
John Thangarajah, RMIT University, Melbourne
Tim Miller, University of Melbourne, Melbourne
Software testing remains the most widely used approach to verification in industry today, consuming between 30-50 percent of the entire development cost. Test input selection for intelligent agents presents a problem due to the very fact that the agents are intended to operate robustly under conditions which developers did not consider and would therefore be unlikely to test. Using methods to automatically generate and execute tests is one way to provide coverage of many conditions without significantly increasing cost. However, one problem using automatic generation and execution of tests is the oracle problem: How can we automatically decide if observed program behavior is correct with respect to its specification? In this paper, we present a model-based oracle generation method for unit testing belief-desire-intention agents. We develop a fault model based on the features of the core units to capture the types of faults that may be encountered and define how to automatically generate a partial, passive oracle from the agent design models. We evaluate both the fault model and the oracle generation by testing 14 agent systems. Over 400 issues were raised, and these were analyzed to ascertain whether they represented genuine faults or were false positives. We found that over 70 percent of issues raised were indicative of problems in either the design or the code. Of the 19 checks performed by our oracle, faults were found by all but 5 of these checks. We also found that 8 out the 11 fault types identified in our fault model exhibited at least one fault. The evaluation indicates that the fault model is a productive conceptualization of the problems to be expected in agent unit testing and that the oracle is able to find a substantial number of such faults with relatively small overhead in terms of false positives.
Index Terms:
BDI agents,Test oracles,unit testing
Citation:
Lin Padgham, Zhiyong Zhang, John Thangarajah, Tim Miller, "Model-Based Test Oracle Generation for Automated Unit Testing of Agent Systems," IEEE Transactions on Software Engineering, vol. 39, no. 9, pp. 1230-1244, Sept. 2013, doi:10.1109/TSE.2013.10
Usage of this product signifies your acceptance of the Terms of Use.