3.2 系统基本执行流程
测试过程是对真实用户使用手机时“输入-反馈”模型的一个模拟。
系统的基本的使用用例如下,首先用户通过脚本编辑器或者虚拟手机创建测试脚本并进行基本的配置,然后过程监控模块调度脚本开始执行,当脚本解释器解释执行脚本语句时,脚本解释器通常使用通讯模块向手机发送模拟按键,然脚本解释器进入等待状态,目标设备Agent从通讯模块得到按键,执行按键动作,截取屏幕并返回给测试控制Agent,或者如果手机有敏感世事件的发生(如来电,短信,异常等)也会反馈给测试控制Agent,测试控制Agent接到数据,再次激励脚本运行,并同时将测试结果输入存入测试资源库。脚本继续运行下面的语句,直到运行结束。
3.3 目标设备Agent
目标设备Agent驻留在被测试的智能设备中,实现对目标设备的建模。本系统中它接收从PC机中接收到的控制命令,然后在智能设备中进行相应的操作,包括模拟键盘事件,截取屏幕并返回给PC,以及根据知识库中的配置的测试目标,通过推理,有所选择的将必需的状态信息主动通知测试宿主机。
3.3.1 设备Agent 依赖的决策规则
系统事件报告决策规则(SERD-RULE)
这个决策规则决定设备Agent在获取到状态信息时,是否将状态信息反馈给上层系统。
异常处理规则(EM-RULE)
这个决策规则决定了当Agent发现测试中出现异常,要采取的处理方式。
3.3.2 Agent 属性
目标设备Agent具有下面的属性。
自主性
目标设备Agent使得测试用户无需关注设备的细节,它是设备功能和状态的一个很好的抽象,通过目标代理Agent,上层测试框架只需要执行相应的虚拟操作,则目标设备Agent会自动将这些虚拟操作映射为对手机的实际操作,并且手机的响应和其它状态也能够自动的反馈给客户,这使得上层测试和底层的设备具体操作无关。
智能性
当目标设备Agent获取到一个变化的被测系统状态或信息时,它会根据推理规则,仅仅把和本次目标相关的信息发送给测试控制Agent。目标设备Agent还能够根据异常处理规则,合理的处理测试中出现的异常。
3.4 测试控制 Agent
测试控制Agent 实现了对测试过程的建模。它主要实现三个目标:
在测试过程中,对测试人员感兴趣的事件进行捕获,当这些敏感事件发生后,系统立刻执行预定义的动作,并为测试提供准确和详尽的日志。
通过和脚本解释器交互,实现异步的事件通知和交互测试用例的执行。
处理测试过程中的异常,使得测试过程可以自我修复,进而多个脚本能够按照预先的调度正常运行。
3.4.1 测试控制Agent的决策规则
事件-条件-行动规则(ECA-RULE)
这是测试控制Agent所依据的核心规则,它定义了某个测试所关心的事件,并根据比对条件,采取相应的动作。
异常处理规则(EM-RULE)
测试控制Agent也遵守异常处理规则,它能够检测测试过程中发生的异常事件,并执行相应的解决方案,使得测试能够顺利的进行。
3.4.2 测试控制Agent 的属性
<1>自主性
自主性使得测试人员无需过分关注测试的细节,测试人员仅仅需要选择测试目标,测试控制Agent就能根据知识库中的信息,自动生成ECA规则表,并在脚本运行时,按照ECA规则,捕捉敏感的事件并执行相应的操作。
<2>智能性
测试控制Agent能够根据用户选择的测试目标,自动生成ECA规则表,并根据ECA规则,进行推理并采取相应的动作。测试控制Agent还能根据异常处理规则来处理测试过程中发身的异常,保障测试过程的自动,平稳进行。
3.5 网络环境Agent
网络环境Agent 实现了对网络环境的模拟和控制。为了测试手机的射频性能,通常使用基站模拟系统来提供设备所处的无线网络环境,并且利用编程接口,通过软件对设备的环境进行控制,使得复杂网络环境下对目标设备的测试成为可能。
4 系统评估
为了评价本系统的有效性,我们设计了一个比较实验。试验在信息产业部泰尔实验室真实的测试项目中进行。我们将测试工程师分为两组,第一组使用本文的系统MobileTest进行测试,第二组使用业界著名的TestQuest Pro 进行测试。测试的依据是中国通讯行业标准的数字移动台测试部分。测试的内容是根据这两个系统各自已经建立好的回归测试用例对新的智能手机进行回归测试,从而比较这两个测试工具的测试效率和脚本的可维护性。
0
0
免责声明:以上内容凡注明署名的,其版权属于署名者所有,转载请注明署名;所有转载的内容,EDN China发布该内容都是出于传递更多信息之目的,如果有侵犯版权事宜,请通知
edneditor@gmail.com 或 010-66422242-213,我们将在第一时间删除该信息。