应用软件测试方法、装置及系统的制作方法

文档序号:8922500阅读:328来源:国知局
应用软件测试方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种应用软件测试方法、装置及系统。
【背景技术】
[0002]现在越来越多的智能手机不断涌现,以Android操作系统为例,为了确保Android平台的应用软件能够在各种品牌的手机上稳定运行,就需要对应用软件进行测试。在测试时,测试人员需要在大批量品牌的手机上反复运行同一款软件,找出其中可能是软件自身的问题,也可能是因为厂商的不同所导致的问题,也叫做适配问题。
[0003]由于人工测试时,测试人员只能同时对一款机器进行测试,而且测试每一款机器都需要按照同样的流程来进行,效率比较低下,由此产生了自动化测试,可以解放大量的人力资源,通过在一款机器测试完用例后,以后的机器可以自动的执行用例,不需要人为来操作,大大提高应用软件的测试效率。
[0004]目前,通常采用以下两种自动测试方案:
[0005]一种是生成一个自动化测试的APK,来与目标APK进行绑定。然后通过监控目标APK控件的点击状态来完成自动化测试。
[0006]另一种是读取手机底层的事件驱动,来保存测试期间的所有操作。然后通过向设备硬件驱动中重新写入这些事件操作,来完成自动测试。
[0007]但是,现有的两种自动化测试方案,都存在一定的缺陷。
[0008]第一种以APK绑定的形式来完成自动化测试,要求监控APK和目标APK具有同样的签名,这样就限制了目标APK的选择范围,因为很多APK的签名是不允许改变的。此外,这种绑定方式无法监控到测试过程中键盘的使用,也即无法完成退出目标APK后的测试工作。
[0009]第二种通过向底层事件驱动中写入操作事件来完成自动化测试,其缺陷是,操作该事件如果放到不同品牌不同型号的手机上,则无法完成自动化测试工作。
[0010]因此,现有的对应用软件的自动化测试方案,缺乏通用性,降低了测试效率。

【发明内容】

[0011]本发明实施例提供一种应用软件测试方法、装置及系统,旨在提高终端应用软件测试的通用性及测试效率。
[0012]本发明实施例提出一种应用软件测试方法,包括:
[0013]获取基于用例终端生成的测试用例脚本文件,所述测试用例脚本文件包括在所述用例终端上触发的用例操作事件及对应的设备驱动文件;
[0014]获取被测终端的操作事件样本文件;
[0015]根据所获取的被测终端的操作事件样本文件,修改所述测试用例脚本文件,得到新的测试用例脚本文件;
[0016]根据得到的所述新的测试用例脚本文件,调用所述被测终端对应的设备驱动文件,执行与所述用例终端上相应的用例操作事件。
[0017]本发明实施例还提出一种应用软件测试装置,包括:
[0018]用例脚本获取模块,用于获取基于用例终端生成的测试用例脚本文件,所述测试用例脚本文件包括在所述用例终端上触发的用例操作事件及对应的设备驱动文件;
[0019]样本文件获取模块,用于获取被测终端的操作事件样本文件;
[0020]文件修改模块,用于根据所获取的被测终端的操作事件样本文件,修改所述测试用例脚本文件,得到新的测试用例脚本文件;
[0021]调用执行模块,用于根据得到的所述新的测试用例脚本文件,调用所述被测终端对应的设备驱动文件,执行与所述用例终端上相应的用例操作事件。
[0022]本发明实施例还提出一种应用软件测试系统,包括:用例终端、至少一被测终端以,及测试操作终端,所述用例终端、被测终端均与所述测试操作终端通信连接,其中:
[0023]所述测试操作终端包括如上所述的装置;
[0024]所述用例终端,用于配合所述测试操作终端生成所述测试用例脚本文件;
[0025]所述至少一被测终端,用于配合所述测试操作终端,对该被测终端的应用软件进行测试。
[0026]本发明实施例提出的一种应用软件测试方法、装置及系统,能够针对多种厂商的终端,通过录制一个终端的测试用例后,在其他不同厂商的终端上自动运行该测试用例,从而实现了不同厂商终端通用一个测试用例的自动化测试效果,提高了终端应用软件测试的通用性以及测试效率,减少了人工大量的重复性工作;此外在测试过程中,还可以记录当前屏幕状态,以便测试人员后期查阅。
【附图说明】
[0027]图1是本发明应用软件测试方法第一实施例的流程示意图;
[0028]图2是本发明应用软件测试方法第二实施例的流程示意图;
[0029]图3是本发明实施例中一种实例应用场景的测试用例工具目录界面示意图;
[0030]图4是本发明实施例中一种实例应用场景的工具主界面示意图;
[0031]图5是本发明实施例中一种实例应用场景的初始化界面示意图;
[0032]图6是本发明实施例中一种实例应用场景的录制界面示意图;
[0033]图7是本发明实施例中一种实例应用场景的播放用例界面示意图;
[0034]图8是本发明应用软件测试装置第一实施例的功能模块示意图;
[0035]图9是本发明应用软件测试装置第二实施例的功能模块示意图;
[0036]图10是本发明应用软件测试装置实施例中用例生成模块的结构示意图;
[0037]图11是本发明应用软件测试系统较佳实施例的结构示意图。
[0038]为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
【具体实施方式】
[0039]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0040]本发明实施例方法涉及的硬件运行环境包括测试操作终端、用例终端及被测终端,其中,测试操作终端可以为PC、服务器等;用例终端及被测终端可以为平板电脑、手机、电子阅读器、遥控器、车载设备、可穿戴设备等具有网络功能并安装有应用软件的移动智能设备,本实施例以手机进行举例。
[0041]本实施例能够针对多种厂商的移动终端,通过录制一个移动终端(用例终端)的测试用例后,在其他不同厂商的移动终端(被测终端)上自动运行该测试用例,以实现不同厂商移动终端通用一个测试用例的自动化测试效果,提高移动终端应用软件测试的通用性以及测试效率,减少人工大量的重复性工作。
[0042]以Android手机为例,Android手机的操作系统中硬件抽象层(HAL),是每个手机厂商都需要自己来实现的一个与内核打交道的关键层。一个按键事件由哪个设备驱动文件来响应,并通知到内核,就是由HAL来实现的。
[0043]由此产生的问题是:由于不同的厂商针对HAL的实现是不一样的,因此将一个厂商生产的手机中的相应操作事件,放到另一个厂商手机上去处理,不会出现正确的处理结果O
[0044]本发明实施例则是通过不同厂商的个性与共性,来完成测试用例的移植。其中个性所表示的是:不同厂商手机对于按键或者点击事件的设备驱动文件是不同的,而且相应的顺序和逻辑也是不同。而共性所表示的则是,虽然不同厂商手机对于按键或者点击事件的设备驱动文件不一样,但是对应到Linux内核中,表示按键或点击事件的CODE值是一样的。所以如果能将一个标准的测试用例,针对不同品牌的手机翻译成对应的测试用例即可完成移植过程。
[0045]本发明实施例就是通过读取用例终端的设备驱动文件中的操作事件,并将其转化成可读性较高的事件命令,通过修改、增加、删除这些事件命令,以满足被测终端的测试需求,然后再重新转化为被测终端的设备驱动文件可以执行的命令。然后在执行这些命令的过程中,通过一个监听APK来完成相应的截屏操作,由于截屏等其他非按键和点击事件都是通过socket传递的,所以监听APK不需要同目标APK使用相同的签名,这样基本所有的APK应用程序都可以用本发明实施例方案来完成自动化测试。
[0046]具体地,如图1所示,本发明第一实施例提出一种应用软件测试方法,包括:
[0047]步骤S101,获取基于用例终端生成的测试用例脚本文件,所述测试用例脚本文件包括在所述用例终端上触发的用例操作事件及对应的设备驱动文件;
[0048]首先,测试操作终端获取基于用例终端生成的测试用例脚本文件,该用例终端为一标准测试终端,通过在该用例终端上执行设定的一个或多个用例操作事件,比如在用例终端上进行点击屏幕、拖拽、双击、按返回键等操作,由于每一个操作对应由相应的设备驱动文件来处理,用例终端会调用相应的设备驱动文件来响应上述操作,并以此生成测试用例脚本文件,作为执行自动化测试的用例脚本,其中,在生成测试用例脚本文件时,会将操作过程中产生的操作事件转换成易读的命令语句。自动化测试过程就是读取该文件中的每一行命令,并作出相应的操作。
[0049]所述测试用例脚本文件包括在所述用例终端上触发的用例操作事件及对应的设备驱动文件,每一设备驱动文件具有相应的编号,一般手机会有4个以上的设备驱动文件来处理不同的操作响应,分别从O号开始,编号递增。
[0050]步骤S102,获取被测终端的操作事件样本文件;
[0051]获取被测终端的操作事件样本文件,操作事件样本文件包括被测终端上的操作事件及对应的设备驱动文件,即被测终端上的每一个按键或点击事件都是由哪些设备驱动文件来处理的。此操作事件样本文件将作为一个参考样本文件,来针对上述获取的测试用例脚本文件进行修改操作。
[0052]其中,被测终端的操作事件样本文件可以采用以下方式获取:
[0053]在被测终端上触发至少一个操作事件,比如点击屏幕操作。响应在所述被测终端上触发的操作事件;根据所述操作事件,获取对应调用的设备驱动文件;根据所述被测终端上触发的操作事件,及对应调用的设备驱动文件生成所述操作事件样本文件。
[0054]步骤S103,根据所获取的被测终端的操作事件样本文件,修改所述测试用例脚本文件,得到新的测试用例脚本文件;
[0055]在获取到被测终端的操作事件样本文件以及用例终端的测试用例脚本文件之后,根据被测终端的实际特点,对比分析被测终端的操作事件样本文件和测试用例脚本文件,对测试用例脚本文件进行修改,以满足被测终端应用软件的测试需求。
[0056]其中,对测试用例脚本文件的修改操作包括对文件中命令的删除、增加和修正。
[0
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1