基于AUML的BDI Agent软件测试用例生成算法
2014-11-30宫大鹏王黎明
宫大鹏,王黎明,夏 静
(郑州大学 信息工程学院,河南 郑州450001)
0 引 言
目前,有关Agent软件测试的研究工作主要有[1]:①基于模型的测试 (model based testing-MBT)。文献 [2]在文献 [3]的基础上扩展了3种面向对象的测试方法对A-gent软件进行了随机测试、行为测试、等价类测试的研究,但是,由于没有考虑Agent与object的区别,所以测试用例的完备性有待商榷。文献 [4]利用嵌入了BDI特性的扩展状态机 (extended state machine-ESM)对Agent软件进行了需求与实现的一致性测试,该方法使用ESM并结合BDI的特点,运用基于状态覆盖的方法对Agent软件进行测试。但由于ESM表达能力有限,Agent复杂的行为空间规模并不能很好的在有限状态的ESM中表示出来,所以测试用例的生成也具有局限性。文献 [5]基于Prometheus模型对Agent软件进行单元测试,将Agent看作是由规划、事件和信念集封装而成并具有感知能力的计算实体。主要对规划进行测试,针对规划依赖、规划循环进行研究,生成测试用例序列,但并未考虑测试用例的自动生成。②针对MAS系统中各个Agent间交互进行的研究。文献 [6]利用Petri网对Agent的建模语言AUML的语义进行了形式化地分析,对软件设计人员分析软件有所益处,但并不适合以测试为目的的分析。文献 [7]针对 MAS系统中Agent可能发生的交互定义了诸如,消息覆盖、规划覆盖、规划路径覆盖等用来衡量测试用例质量的标准,但是也没有考虑Agent软件测试用例的生成。
在以上文献的基础上,本文首先介绍BDI Agent的工作原理,在此基础上分析出Agent的行为空间,进一步描述在MAS系统中,何时会触发Agent的BDI决策过程,并使用AUML模型来对该触发过程进行详细描述,将MBT测试与Agent结合起来,进行测试用例的自动生成。……
