图1. 测试系统的整体架构
如图1所示,测试平台分为四层,包括用户接口层,测试控制层,通讯层和设备Agent层。 其中,过程监控模块,测试环境控制模块和设备Agent层采用Agent的思想进行设计,以更好的支持嵌入式设备的测试。
3.2系统基本执行流程
测试过程是对真实用户使用手机时“输入-反馈”模型的一个模拟。
系统的基本的使用用例如下,首先用户通过脚本编辑器或者虚拟手机创建测试脚本并进行基本的配置,然后过程监控模块调度脚本开始执行,当脚本解释器解释执行脚本语句时,脚本解释器通常使用通讯模块向手机发送模拟按键,然脚本解释器进入等待状态,目标设备Agent从通讯模块得到按键,执行按键动作,截取屏幕并返回给测试控制Agent,或者如果手机有敏感世事件的发生(如来电,短信,异常等)也会反馈给测试控制Agent,测试控制Agent接到数据,再次激励脚本运行,并同时将测试结果输入存入测试资源库。脚本继续运行下面的语句,直到运行结束。
3.3目标设备Agent
目标设备Agent驻留在被测试的智能设备中,实现对目标设备的建模。本系统中它接收从PC机中接收到的控制命令,然后在智能设备中进行相应的操作,包括模拟键盘事件,截取屏幕并返回给PC,以及根据知识库中的配置的测试目标,通过推理,有所选择的将必需的状态信息主动通知测试宿主机。
3.3.1设备Agent 依赖的决策规则
系统事件报告决策规则(SERD-RULE) 这个决策规则决定设备Agent在获取到状态信息时,是否将状态信息反馈给上层系统。异常处理规则(EM-RULE)这个决策规则决定了当Agent发现测试中出现异常,要采取的处理方式。