首页> 外文期刊>IEEE Transactions on Software Engineering >Model-Based Test Oracle Generation for Automated Unit Testing of Agent Systems
【24h】

Model-Based Test Oracle Generation for Automated Unit Testing of Agent Systems

机译:基于模型的测试Oracle生成,用于代理系统的自动单元测试

获取原文
获取原文并翻译 | 示例
           

摘要

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.
机译:软件测试仍然是当今工业上使用最广泛的验证方法,消耗了整个开发成本的30%至50%。智能代理的测试输入选择存在一个问题,这是由于以下事实:代理旨在在开发人员未考虑的条件下稳定运行,因此不太可能进行测试。使用方法自动生成和执行测试是在不显着增加成本的情况下提供许多条件的一种方法。但是,使用自动生成和执行测试的一个问题是oracle问题:我们如何自动确定观察到的程序行为相对于其规范是否正确?在本文中,我们提出了一种基于模型的预言生成方法,用于单元测试信念-愿望-意图代理。我们基于核心单元的功能开发了一个故障模型,以捕获可能遇到的故障类型,并定义如何从代理设计模型自动生成部分被动的预言。我们通过测试14个代理系统来评估故障模型和Oracle生成。提出了400多个问题,并对这些问题进行了分析,以确定它们是真正的错误还是假阳性。我们发现提出的问题中有70%以上表明设计或代码中存在问题。在我们的甲骨文执行的19个检查中,除5个检查之外的所有检查都发现了错误。我们还发现,在我们的故障模型中确定的11种故障类型中,有8种表现出至少一种故障。评估表明,故障模型是对代理程序单元测试中预期要解决的问题的富有成效的概念,并且预言家能够以假阳性的方式以相对较小的开销找到大量此类故障。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号