另外一些研究将Agent 技术应用到了某一领域的测试中。Yu Qi、 David Hung 和 Eric Wong 提出了一个基于Agent 技术的Web 应用程序测试方法。他们使用Agent技术降低了网络应用测试的复杂性。他们的方法不仅仅适用于Web应用程序的测试,也适合于嵌入式智能设备的测试。
在实际测试过程中,测试人员很大的一项任务仍然是编写各种测试用例,要真正的提高测试效率,就要提高测试脚本的通用性,减少测试脚本的变化。常见的嵌入式智能设备测试工具(比如TestQuest)使用图像比对来判断目标设备的状态, 这种方法虽然实现了非侵入性的测试,但是存在两个问题:
图片的抓取和传送消耗了大量测试资源。不同手机的用户界面风格变化很大,这使得测试脚本在用来进行新设备的测试时需要对脚本进行维护。然而,实际的设备中,当重要的事件发生时,系统会产生敏感事件来激励相关模块进行处理。如果能够在测试过程中捕获这些敏感事件,就能更加高效的进行测试。 并且,只要操作系统相同,敏感事件的捕获方式也是一样,测试用例不会因为界面的变化而变化。本文用目标设备Agent抽象和捕获测试过程中的敏感事件,并将敏感事件发送给测试控制Agent。而测试控制Agent收到敏感事件后,根据自己的知识,采取相应的动作的机制(如异常处理,重新调度测试等)加以处理。这正好可以作为Agent的推理规则,用Agent的智能性来屏蔽测试过程的复杂性。此外,考虑到目标设备处于复杂的网络环境中,我们利用网络环境Agent来控制目标设备所处的网络信号,从而实现对设备所处网络环境的控制。
3基于Agent的测试系统
3.1总体结构
测试系统的最终目标是实现一个移动数字终端的自动化测试平台,能够对移动数字终端上的系统软件和应用层软件建立模块化、可重用的测试脚本库,提高各种黑盒测试的效率,自动化测试结果的生成,并实现测试结果的回放。