如何把握真正行之有效的嵌入式智能设备测试?

1 前言
智能软件agent是能够为用户执行特定的任务、具有一定程度的智能、能够自主的执行部分任务并以一种合适的方式和环境相互作用的软件程序。agent 有自主性、响应性、学习能力和社会性等特性。这使得它适合在高度动态的环境下做出及时的响应。
嵌入式技术和新一代移动通讯网络的发展使得嵌入式智能设备大量的涌现。这些设备的大都具有嵌入式操作系统的支持, 并运行着越来越丰富的应用程序。如何对这些应用程序进行测试,就成为一个需要研究的课题。本文将agent技术引入嵌入式智能设备的测试中,使用目标设备agent, 测试控制agent, 网络环境agent分别模拟和处理测试设备,测试工程师和测试环境的复杂性,利用agent自身具有的特点,提出了一种有效的自动化测试的方法。
2 相关的研究及本文的思路
agent 所具有的自主性、响应性、学习能力和社会性等特性,使得它很适合处理复杂测试系统中的问题。将agent技术应用于测试领域已经有一些相关的研究,下面是具体的介绍。
jeongeun choi 和 byoungju choi [1]提出了一个基于agent技术的测试工具,它通过使用用户接口agent来处理和测试者的交互,使用测试用例选择agent来进行测试用例的选择,并使用回归测试agent进行回归测试,从而很好的实现了自动化的软件测试。但是他们提出的测试用例选择技术仅能在大量已有的测试用例中选择最佳的用例,不能减少编写测试用例本身的复杂性。
另外一些研究将agent 技术应用到了某一领域的测试中。yu qi、 david hung 和 eric wong [3] 提出了一个基于agent 技术的web 应用程序测试方法。他们使用agent技术降低了网络应用测试的复杂性。他们的方法不仅仅适用于web应用程序的测试,也适合于嵌入式智能设备的测试。
在实际测试过程中,测试人员很大的一项任务仍然是编写各种测试用例,要真正的提高测试效率,就要提高测试脚本的通用性,减少测试脚本的变化[2] [4]。常见的嵌入式智能设备测试工具(比如testquest)使用图像比对来判断目标设备的状态, 这种方法虽然实现了非侵入性的测试,但是存在两个问题:
图片的抓取和传送消耗了大量测试资源。
不同手机的用户界面风格变化很大,这使得测试脚本在用来进行新设备的测试时需要对脚本进行维护。
然而,实际的设备中,当重要的事件发生时,系统会产生敏感事件来激励相关模块进行处理。如果能够在测试过程中捕获这些敏感事件,就能更加高效的进行测试。 并且,只要操作系统相同,敏感事件的捕获方式也是一样,测试用例不会因为界面的变化而变化。本文用目标设备agent抽象和捕获测试过程中的敏感事件,并将敏感事件发送给测试控制agent。而测试控制agent收到敏感事件后,根据自己的知识,采取相应的动作的机制(如异常处理,重新调度测试等)加以处理。这正好可以作为agent的推理规则,用agent的智能性来屏蔽测试过程的复杂性。此外,考虑到目标设备处于复杂的网络环境中,我们利用网络环境 agent来控制目标设备所处的网络信号,从而实现对设备所处网络环境的控制。
3 基于agent的测试系统
3.1 总体结构
测试系统的最终目标是实现一个移动数字终端的自动化测试平台,能够对移动数字终端上的系统软件和应用层软件建立模块化、可重用的测试脚本库,提高各种黑盒测试的效率,自动化测试结果的生成,并实现测试结果的回放。

纵维立方3月27日新品发布会,多项行业首推新技术
高速PCB电源去耦设计指南
情感语音识别数据的重要性及其在人机交互领域的应用
智能医疗的发展驱动力及主要应用场景
SPR工艺
如何把握真正行之有效的嵌入式智能设备测试?
一体成型电感与功率电感之间的区别是什么
锂电池起火的原因有哪些?
斯特林热机制作方法
全球首款商用5G移动设备亮相:AT&T将用它提供毫米波服务
新一代信息技术是新一轮科技革命和产业变革的关键力量
新年礼物怎么选,2021新年礼物选择推荐
基于SN7400N的单IC信号注入器电路
华为首款鸿蒙OS终端明天发布
光舵微纳完成由国投创合投资的近亿元B+轮股权融资
泰克公司展出最新Certus 2.0 ASIC原型调试解决方案
采用复杂可编程逻辑器件设计无线数据接收平台
中国首家三星Cinema LED影厅_尽现影音极致体验
拍照手机推荐:华为P10、努比亚Z17、荣耀v9和OPPOR11
如何自制超声波清洗机?