一种智能家电设备应用的UI自动化测试方法与流程

文档序号:12123652阅读:583来源:国知局

本发明涉及应用层测试技术,具体涉及一种智能家电设备应用的UI自动化测试方法。



背景技术:

物联网产品越来越多的走进我们的生活,智能家电已然成为我们生活的一部分,但是智能家电的应用层测试方法特别是UI等应用层面的测试大多依赖于手工测试,而且除了手机端还需要设备端的反馈结果来支持,在版本的迭代过程中,需要花费大量的人力来进行常规的测试。

目前智能终端应用层测试基本都是手工通过操作安装在手机上的app来控制操作设备,然后根据设备的反馈结果,来验证手机应用上的功能是否满足要求。这样的测试由于需要检查设备是否正确响应手机app给出的指令,手机app是否正确显示当前设备的状态,所以就需要测试人员在操作手机app的过程中,还要时刻监测设备的反馈结果,不仅可能因为一心二用而忽视了设备或手机端的一些问题,还需要投入大量的人力。特别是在版本迭代过程中,为了保证每个发布版本的正确性,每个版本都要进行一轮测试有很大一部分是完全相同的工作,这种重复的工作更是对人力资源的一种浪费。

目前智能终端应用层测试除了基本的功能测试,还应该包括压力测试、稳定性测试以及可靠性测试,如果仅仅使用手工测试这种测试方法,是无法满足上述所有测试类型的,而且这种测试操作繁琐,涉及的终端较多,大大降低的测试效率,更无法保证产品的质量。所以智能终端UI测试方法还不够成熟。



技术实现要素:

本发明所要解决的技术问题是:提出一种智能家电设备应用的UI自动化测试方法,解决传统技术中智能设备应用层测试操作繁琐、效率低的问题。

本发明解决其技术问题所采用的技术方案是:

一种智能家电设备应用的UI自动化测试方法,包括以下步骤:

A、使用脚本语言编写测试步骤并保存;

B、在进行自动化测试时,首先判断本地有无可执行的测试套,如果有,则选择已有测试套,如果没有,则新建测试套,保存于PC上位机测试平台的指定目录下;

C、检查测试配置是否完成,在测试配置完成后执行测试套进行自动化测试;

D、测试平台自动生成测试报告。

作为进一步优化,步骤A中,编写测试步骤具体包括:

借助UiAutomator平台生成脚本语言可以直接调用执行的jar包导入到手机中,然后使用python脚本语言调用jar包里的类,封装成可以用于手机端执行的步骤;

电脑端测试步骤可以借助SiKuli平台,使用脚本语言封装成可以直接执行的步骤。

作为进一步优化,所述测试套包括测试用例序号、执行端、测试步骤、期望结果、是否执行当前用例、测试类型、测试循环次数。

作为进一步优化,步骤B中,所述编写的测试套中包含多个测试用例,每个测试用例包含多个测试步骤,每个测试步骤有对应的执行端;对于手机端和电脑端的测试步骤,在对应单元格内导入本地文件夹的脚本名称;对于家电设备端的测试步骤,直接在对应单元格内输入设备可识别的执行命令。

作为进一步优化,步骤C中,所述测试配置包括设置端口、波特率和邮箱地址,并使用串口连接PC上位机和智能终端。

作为进一步优化,步骤C中,在执行测试套进行自动化测试时,首先判断当前测试套的类型是场景测试还是功能测试,然后根据不同的逻辑关系以及是否执行当前用例的关键字,依次执行测试套中的测试用例,并在PC上位机测试平台中打印测试套中各个测试用例及测试步骤执行情况;

如果是场景测试,各个测试用例间是耦合关系,即上一个测试用例执行成功后才会继续执行下一个测试用例,否则将判断当前测试套执行失败,不再继续执行后面的测试用例;

如果是功能测试,各个测试用例间是普通的顺序执行关系,即不管上一个测试用例是否执行成功,都会继续执行后面的测试用例,直到所有测试用例都执行完;

用例执行过程中,如果手机端或电脑端测试步骤执行后没有打印出期望关键字和失败关键字,则判定当前用例没有执行;如果手机端或电脑端测试步骤执行后打出期望关键字,则在家电设备端的串口打印信息中去寻找测试套中配置的期望值,如果出现,则判定当前步骤执行成功,继续执行下一个步骤,直到用例的所有步骤都成功执行完即判定当前用例执行成功;如果手机端或电脑端测试步骤执行后打出失败关键字,则直接判定当前步骤执行失败,即所在用例执行失败;所有测试用例执行情况信息均以文本文档的形式保存在PC上位机中,在测试完成后供测试和开发人员参考。

作为进一步优化,步骤D中,所述测试报告包括所有测试用例的状态、通过率、测试时间信息以及相应的智能终端日志文件链接。

本发明的有益效果是:通过测试套的应用使得智能终端的应用层测试流程大大简化,自动化的用例执行和结果体现,确保了测试质量,缩短了测试周期,减少了人力资源的投入。

附图说明

图1为本发明智能家电设备应用的UI自动化测试方法流程图。

具体实施方式

本发明旨在提出一种智能家电设备应用的UI自动化测试方法,解决传统技术中智能设备应用层测试操作繁琐、效率低的问题。本发明中智能终端通过串口线与PC上位机相连。手机端的测试首先将操作以jar包的形式保存在被测手机,然后使用脚本语言进行封装保存在PC上位机供测试平台读取执行;电脑端的测试直接以脚本语言进行操作封装,保存在PC上位机中供测试平台读取执行。进行测试的智能终端需要预先配置好测试环境,启动时智能终端首先处于正常的运行环境,需要测试时能够唤醒测试环境,实现手机能够正常控制智能设备。在执行测试套时,测试平台中打印智能终端实际运行信息,根据测试套中预先配置好的期望结果来进行测试结果的判断,从而生成测试报告。

下面结合附图对本发明的方案作进一步详细的描述:

如图1所示,首先用户判断本地有无可执行的测试套,没有的话通过PC上位机测试平台新建测试步骤和测试套,包括测试用例序号、执行端、测试步骤、期望结果、是否执行当前用例、测试类型、测试循环次数。接着检查配置是否完成,包括设置好端口、波特率、邮箱地址,通过一根USB转TTL串口线连接智能终端的DEBUG口,打开串口连接并将智能终端上电。成功建立连接后,检查手机app、网络等配置是否完成,以及电脑端网络等配置是否完成。所有配置都完成后,使用PC上位机测试平台执行选中的测试套。开始测试后,首先判断当前测试套的类型是场景测试还是功能测试,然后根据不同的逻辑关系以及是否执行当前用例的关键字,依次执行测试套中的测试用例,并在PC上位机测试平台中打印测试套中各个测试用例及测试步骤执行情况。如果是场景测试,各个测试用例间是耦合关系,即上一个测试用例执行成功后才会继续执行下一个测试用例,否则将判断当前测试套执行失败,不再继续执行后面的测试用例;如果是功能测试,各个测试用例间就是普通的顺序执行关系,即不管上一个测试用例是否执行成功,都会继续执行后面的测试用例,直到所有测试用例都执行完。用例执行过程中,如果手机端或电脑端测试步骤执行后没有打印出期望关键字(PASS)和失败关键字(FAIL),则判定当前用例没有执行;如果手机端或电脑端测试步骤执行后打出期望关键字,则在智能终端的串口打印信息中去寻找测试套中配置的期望值,如果出现,则判定当前步骤执行成功,继续执行下一个步骤,直到用例的所有步骤都成功执行完即判定当前用例执行成功;如果手机端或电脑端测试步骤执行后打出失败关键字,则不用去匹配智能终端的打印信息,直接判定当前步骤执行失败,即所在用例执行失败。所有测试用例执行情况信息均以文本文档的形式保存在PC上位机中,在测试完成后供测试和开发人员参考。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1