本发明涉及软件测试技术领域,尤其涉及一种模拟人工操作的终端软件测试方法及系统。
背景技术:
终端设备软件,例如手机软件在开发成功后要进行测试,目前的测试有两种:
1.目前手机软件版本内部发布后,都需要先到专门的软件测试组,来对软件进行测试,一般一个测试组8-12人,来分解测试各个模块的软件功能,每个人要测试大概5-8部手机进行重复多次测试。
2.开发手机自动测试程序,要测试的时候把测试程序安装到手机上进行测试。
目前的测试主要缺陷是:
1.人工的测试,投入的人力成本比较大。人工测试效率比较慢,而且测试人员受外界的影响比较大,测试的实际效果无法保证。
2.使用自动测试程序方式,需要投入专门的开发人员,开发周期较长,也无法模仿人的操作。
技术实现要素:
本发明提供了一种模拟人工操作的终端软件测试方法,包括如下步骤:
加载步骤:加载测试脚本;
执行步骤:执行测试项;
机械手控制步骤:控制机械手移动到测试项设定的触摸位置;
触摸屏幕步骤:控制触摸探头触摸到屏幕的指定位置;
移动控制步骤:控制机械手移动到设定的拍照位置;
拍照步骤:控制相机拍照并把图像显示在测试软件的图像显示区域;
结果判断步骤:根据测试项设定的判断成功标志,判断测试是否成功,若是,那么执行剩余测试项判断步骤,否则保存失败图片并结束;
剩余测试项判断步骤:判断测试脚本是否有剩余的测试项没有执行,若是,那么返回执行步骤,否则结束测试。
作为本发明的进一步改进,在所述剩余测试项判断步骤中,判断测试脚本是否有剩余的测试项没有执行,若是,那么返回执行步骤,否则判断测试脚本是否进行循环测试,若要进行循环测试,那么返回执行步骤,否则结束测试。
作为本发明的进一步改进,在所述结果判断步骤中,根据测试项设定的判断成功标志,判断测试是否成功,若是,那么执行剩余测试项判断步骤,否则保存失败图片并判断测试脚本是否进行循环测试,若要进行循环测试,那么返回执行步骤,否则结束测试。
作为本发明的进一步改进,该终端软件测试方法还包括编辑测试脚本步骤,在编辑测试脚本步骤中包括依次执行如下步骤:
新建测试脚本:弹出对话框,输入脚本名字,点击确定;
设置触摸高度:把机械手进行手动移动离屏幕一定距离,使触摸探头离屏幕4至6mm距离;
保存触摸高度:把每次需要点击触摸屏时机械手的高度记录下来;
设置拍照位置:把机械手移动到相机正对终端屏幕中心位置,距离屏幕9至11CM;
连续采集图像:在图像显示区,显示拍到的终端图片,调整镜头让图像清晰;
保存拍照位置:把每次拍照时机械手的位置记录下来;
停止采集图像:相机停止摄像;
新建测试项:弹出对话框,输入测试项名字,点击确定;
设置触摸位置:把机械手进行手动移动到触摸探头对准测试时手需要点击的位置;
保存触摸位置:记录下测试位置,并让终端进入相关测试界面;
返回拍照位置:机械手自动回到设置的拍照位置;
单次采集图像:图像采集后,显示在图像显示区域;
截取成功标志:弹出选择框,把图像上能判断成功的标志图案截取;
保存测试项:测试项记录到测试脚本;
判断编辑测试项是否结束,若是,那么保存测试脚本,否则返回新建测试项。
作为本发明的进一步改进,
设置触摸高度:把机械手进行手动移动离屏幕一定距离,使触摸探头离屏幕5mm距离;
设置拍照位置:把机械手移动到相机正对终端屏幕中心位置,距离屏幕10CM。
本发明还提供了一种模拟人工操作的终端软件测试系统,包括:
加载模块:用于加载测试脚本;
执行模块:用于执行测试项;
机械手控制模块:用于控制机械手移动到测试项设定的触摸位置;
触摸屏幕模块:用于控制触摸探头触摸到屏幕的指定位置;
移动控制模块:用于控制机械手移动到设定的拍照位置;
拍照模块:用于控制相机拍照并把图像显示在测试软件的图像显示区域;
结果判断模块:用于根据测试项设定的判断成功标志,判断测试是否成功,若是,那么执行剩余测试项判断模块,否则保存失败图片并结束;
剩余测试项判断模块:用于判断测试脚本是否有剩余的测试项没有执行,若是,那么返回执行模块,否则结束测试。
作为本发明的进一步改进,在所述剩余测试项判断模块中,判断测试脚本是否有剩余的测试项没有执行,若是,那么返回执行模块,否则判断测试脚本是否进行循环测试,若要进行循环测试,那么返回执行模块,否则结束测试。
作为本发明的进一步改进,在所述结果判断模块中,根据测试项设定的判断成功标志,判断测试是否成功,若是,那么执行剩余测试项判断模块,否则保存失败图片并判断测试脚本是否进行循环测试,若要进行循环测试,那么返回执行模块,否则结束测试。
作为本发明的进一步改进,该终端软件测试系统还包括编辑测试脚本模块,在编辑测试脚本模块中包括依次执行如下模块:
新建测试脚本模块:用于弹出对话框,输入脚本名字,点击确定;
设置触摸高度模块:用于把机械手进行手动移动离屏幕一定距离,使触摸探头离屏幕4至6mm距离;
保存触摸高度模块:用于把每次需要点击触摸屏时机械手的高度记录下来;
设置拍照位置模块:用于把机械手移动到相机正对终端屏幕中心位置,距离屏幕9至11CM;
连续采集图像模块:用于在图像显示区,显示拍到的终端图片,调整镜头让图像清晰;
保存拍照位置模块:用于把每次拍照时机械手的位置记录下来;
停止采集图像模块:用于相机停止摄像;
新建测试项模块:用于弹出对话框,输入测试项名字,点击确定;
设置触摸位置模块:用于把机械手进行手动移动到触摸探头对准测试时手需要点击的位置;
保存触摸位置模块:用于记录下测试位置,并让终端进入相关测试界面;
返回拍照位置模块:用于机械手自动回到设置的拍照位置;
单次采集图像模块:用于图像采集后,显示在图像显示区域;
截取成功标志模块:用于弹出选择框,把图像上能判断成功的标志图案截取;
保存测试项模块:用于测试项记录到测试脚本;
判断编辑测试项是否结束,若是,那么保存测试脚本,否则返回新建测试项模块。
作为本发明的进一步改进,设置触摸高度模块:用于把机械手进行手动移动离屏幕一定距离,使触摸探头离屏幕5mm距离;设置拍照位置模块:用于把机械手移动到相机正对终端屏幕中心位置,距离屏幕10CM。
本发明的有益效果是:在本发明中,同一机型只要编辑一次测试脚本即可,不同的机型更换不同测试脚本就可以实现,通用性比较高;测试系统可以对手机24小时进行压力测试,测试过程不受外界环境影响,提高测试效率。
附图说明
图1是本发明的测试脚本执行流程图。
图2是本发明的测试脚本一实施例执行流程图。
图3是本发明的测试脚本编辑流程图。
图4是本发明的测试软件控制界面图。
具体实施方式
本发明的硬件设施包括:
固定底板:把机械手跟手机固定夹具固定到固定底板上;
4轴的机械手:固定到底板上,通过电脑控制机械手末端可以X、Y、Z移动到指定位置;
工业相机:连接到电脑,机械手移到指定位置后,对手机屏幕进行拍照,用后台软件对图片进行处理,判断手机目前状态,然后进行下一下操作;
触摸探头:触摸探头通过气缸控制,连接到小气泵,小气泵通过机械手平台进行控制。模拟人手,机械手移动到指定位置后,通过触摸探头对屏幕进行操作。
手机固定夹具:待测手机固定到夹具上。
如图1所示,本发明公开了一种模拟人工操作的终端软件测试方法,包括如下步骤:
加载步骤:加载测试脚本;
执行步骤:执行测试项;
机械手控制步骤:控制机械手移动到测试项设定的触摸位置;
触摸屏幕步骤:控制触摸探头触摸到屏幕的指定位置;
移动控制步骤:控制机械手移动到设定的拍照位置;
拍照步骤:控制相机拍照并把图像显示在测试软件的图像显示区域;
结果判断步骤:根据测试项设定的判断成功标志,判断测试是否成功,若是,那么执行剩余测试项判断步骤,否则保存失败图片并结束;
剩余测试项判断步骤:判断测试脚本是否有剩余的测试项没有执行,若是,那么返回执行步骤,否则结束测试。
如图2所示,在所述剩余测试项判断步骤中,判断测试脚本是否有剩余的测试项没有执行,若是,那么返回执行步骤,否则判断测试脚本是否进行循环测试,若要进行循环测试,那么返回执行步骤,否则结束测试。
在所述结果判断步骤中,根据测试项设定的判断成功标志,判断测试是否成功,若是,那么执行剩余测试项判断步骤,否则保存失败图片并判断测试脚本是否进行循环测试,若要进行循环测试,那么返回执行步骤,否则结束测试。
本发明中的终端可以是智能手机或者平板电脑。
如图3所示,该终端软件测试方法还包括编辑测试脚本步骤,在编辑测试脚本步骤中包括依次执行如下步骤:
1.新建测试脚本:弹出对话框,输入脚本名字,点击确定。
2.设置触摸高度:把机械臂手动移动离屏幕一定距离,使触摸探头离屏幕大概4至6mm距离。
3.保存触摸高度:点击后,把每次需要点击触摸屏时机械手的高度记录下来。
4.设置拍照位置:把机械手移动到相机正对手机屏幕中心位置,距离屏幕大概9至11CM。
5.连续采集图像:在图像显示区,显示拍到的手机图片,调整镜头让图像清晰。
6.保存拍照位置:点击后,把每次拍照时机械手的位置记录下来。
7.停止采集图像:相机停止摄像。
8.新建测试项:弹出对话框,输入测试项名字,点击确定。
9.设置触摸位置:把机械臂手动移动到触摸探头对准测试时手需要点击的位置。
10.保存触摸位置:记录下测试位置,并让手机进入相关测试界面。
11.返回拍照位置:点击后,机械手自动回到设置的拍照位置。
12.单次采集图像:图像采集后,显示在图像显示区域。
13.截取成功标志:弹出选择框,把图像上能判断成功的标志图案截取。
14.保存测试项:测试项记录到测试脚本。
15.保存测试脚本:保存测试脚本,并关闭脚本。
作为本发明的优选实施例,设置触摸高度:把机械手进行手动移动离屏幕一定距离,使触摸探头离屏幕5mm距离;设置拍照位置:把机械手移动到相机正对终端屏幕中心位置,距离屏幕10CM。
本发明还公开了一种模拟人工操作的终端软件测试系统,包括:
加载模块:用于加载测试脚本;
执行模块:用于执行测试项;
机械手控制模块:用于控制机械手移动到测试项设定的触摸位置;
触摸屏幕模块:用于控制触摸探头触摸到屏幕的指定位置;
移动控制模块:用于控制机械手移动到设定的拍照位置;
拍照模块:用于控制相机拍照并把图像显示在测试软件的图像显示区域;
结果判断模块:用于根据测试项设定的判断成功标志,判断测试是否成功,若是,那么执行剩余测试项判断模块,否则保存失败图片并结束;
剩余测试项判断模块:用于判断测试脚本是否有剩余的测试项没有执行,若是,那么返回执行模块,否则结束测试。
在所述剩余测试项判断模块中,判断测试脚本是否有剩余的测试项没有执行,若是,那么返回执行模块,否则判断测试脚本是否进行循环测试,若要进行循环测试,那么返回执行模块,否则结束测试。
在所述结果判断模块中,根据测试项设定的判断成功标志,判断测试是否成功,若是,那么执行剩余测试项判断模块,否则保存失败图片并判断测试脚本是否进行循环测试,若要进行循环测试,那么返回执行模块,否则结束测试。
该终端软件测试系统还包括编辑测试脚本模块,在编辑测试脚本模块中包括依次执行如下模块:
新建测试脚本模块:用于弹出对话框,输入脚本名字,点击确定;
设置触摸高度模块:用于把机械手进行手动移动离屏幕一定距离,使触摸探头离屏幕4至6mm距离;
保存触摸高度模块:用于把每次需要点击触摸屏时机械手的高度记录下来;
设置拍照位置模块:用于把机械手移动到相机正对终端屏幕中心位置,距离屏幕9至11CM;
连续采集图像模块:用于在图像显示区,显示拍到的终端图片,调整镜头让图像清晰;
保存拍照位置模块:用于把每次拍照时机械手的位置记录下来;
停止采集图像模块:用于相机停止摄像;
新建测试项模块:用于弹出对话框,输入测试项名字,点击确定;
设置触摸位置模块:用于把机械手进行手动移动到触摸探头对准测试时手需要点击的位置;
保存触摸位置模块:用于记录下测试位置,并让终端进入相关测试界面;
返回拍照位置模块:用于机械手自动回到设置的拍照位置;
单次采集图像模块:用于图像采集后,显示在图像显示区域;
截取成功标志模块:用于弹出选择框,把图像上能判断成功的标志图案截取;
保存测试项模块:用于测试项记录到测试脚本;
判断编辑测试项是否结束,若是,那么保存测试脚本,否则返回新建测试项模块。
设置触摸高度模块:用于把机械手进行手动移动离屏幕一定距离,使触摸探头离屏幕5mm距离;
设置拍照位置模块:用于把机械手移动到相机正对终端屏幕中心位置,距离屏幕10CM。
机械手跟PC机通过串口或者USB口相连,由PC机向机械手控制平台发送相关指令,让机械手完成移动跟触摸探头操作屏幕的功能。工业相机通过网口或者专门的图像采集卡来跟电脑连接,完成拍照跟图片传输功能。
测试前,操作人员先根据软件测试需求,通过开发商提供的软件平台编辑测试脚本。编辑完测试脚本后,运行测试软件进行自动测试即可。测试过程失败时,可以通过相机记录下失败时手机屏幕显示的状态。
多台设备可以直接拷贝测试脚本到别的电脑上机型即可。
在本发明中,具有如下技术优势:
1.手机每个测试用例,只要编辑一个测试脚本,测试脚本编辑快速简单,不需要专门人员来操作,普通测试人员就可以快速完成工作。替代现在的人工测试方式,减少人工成本。
2.同一机型只要编辑一次测试脚本即可,不同的机型更换不同测试脚本就可以实现,通用性比较高。
3.测试系统可以对手机24小时进行压力测试,测试过程不受外界环境影响,提高测试效率。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。