一种基于图像识别的软件测试方法与流程

文档序号:11133846阅读:1480来源:国知局

本发明涉及软件测试技术领域,尤其涉及一种基于图像识别的软件测试方法。



背景技术:

目前的软件测试中。尤其针对界面流转型软件,因为没有数值类的输出,所以如何判定软件的操作结果是够符合预期存在一定难度,现有技术一般都是直接通过人眼判定或者截图之后再通过人眼判定,这样不但工作量较大,判定效率较低,而且容易出错。



技术实现要素:

本发明所要解决的技术问题是:提供一种基于图像识别的软件测试方法,采用这种测试方法工作量较小、判定效率较高且准确率较高。

本发明所采用的技术方案:一种基于图像识别的软件测试方法,它包括两个阶段,分别为软件测试用例录制阶段以及软件测试用例执行阶段,

所述软件测试用例录制阶段包括以下步骤:

(1)、设定软件初始状态;

(2)、操作员输入软件执行命令;

(3)、软件执行相应的命令;

(4)、操作员判断软件执行结果是否正确,若不正确,则上报进行修复,修复后再跳转到步骤(1)重新录制;若正确,则操作员根据执行结果选择判定依据,判定依据包括但不限于以下三种:

A、完整运行程序界面截图;

B、部分运行程序界面截图;

C、界面运行文字识别结果;

(5)、记录初始状态、执行命令、判断依据以及软件执行结果,完成一次软件测试动作的记录;

(6)、重复步骤(1)到步骤(5),直到整个软件的所有测试动作均记录完毕;

所述软件测试用例执行阶段包括以下步骤:

①、导入对应软件已经录用完成的测试用例;

②、设定软件初始状态;

③、根据设定的初始状态从测试用例中选择与初始状态相匹配的软件测试动作;

④、从步骤③中得到的软件测试动作中选择其中一个,然后执行这个软件测试动作,包括输入执行命令,软件执行相应命令,得到执行结果;

⑤、根据步骤④选择的这个测试动作中获取的判定依据,来获取步骤④得到的执行结果的判定依据;

⑥、将步骤⑤获取的判定依据与步骤④选择的这个测试动作中原本就记录的判定依据进行相似性比较,根据相似性结果给出执行结果是否正确的结论,然后将软件初始状态,步骤④中的执行命令和执行结果,以及步骤⑥得到的结论均记录下来;

⑦、重复步骤④到步骤⑥,直到设定的这一初始状态下的所有测试动作均已经被执行或者在设定的这一初始状态下需求的测试动作均已经被执行了,然后重新设定软件的初始状态,再跳转到步骤③继续测试,直到整个软件的所有测试动作或者需要测试的测试动作均已经执行完毕;

⑧、根据步骤⑥记录的数据生成测试报告。

采用以上方法与现有技术相比,本发明具有以下优点:首先操作员只需要做一次软件测试用例录用即可,之后均可以采用这个记录的软件测试用例来进行测试判断,这样操作员只需要查看最后生成的测试报告即可知道软件的测试结果,而不需要时刻用人眼去判断观察,这样不但测试工作量较小,而且测试效率较高,测试准确度较高。

具体实施方式

以下为具体实施方式对本发明做进一步描述,但是本发明不仅限于以下具体实施方式。

本申请所说的软件主要是指手机软件,因为手机软件大部分都是界面流转型软件,即用户操作,然后导致界面跳转。

一种基于图像识别的软件测试方法,它包括两个阶段,分别为软件测试用例录制阶段以及软件测试用例执行阶段,

所述软件测试用例录制阶段包括以下步骤:

(1)、设定初始软件状态;此步骤是设定初始状态,因为很多时候初始状态不同,执行相同的操作,得到的执行结果也不同;

(2)、操作员输入软件执行命令;所述执行命令包括但不限于以下三种:

a、点击;所述点击包括单击、双击以及长按等动作;

b、滑动;

c、拖动;

而且这个执行命令同时也包括了具体位置,即在哪个位置点击,从哪个位置到哪个位置滑动,或者从哪个位置到哪个位置拖动;

(3)、软件执行相应的命令;

(4)、操作员判断软件执行结果是否正确,若不正确,则上报进行修复,修复后再跳转到步骤(1)重新录制,这一步就是要保证测试用例录用的都是正确的执行结果,这样才能作为以后测试的模板,即当在录取时出现错误,就需要修复后再录制;若正确,则操作员根据执行结果选择判定依据,判定依据包括但不限于以下三种:

A、完整运行程序界面截图;当执行结果与用户账号什么都没关系,即每个用户执行这个命令都是这个结果时,可以采用完整运行程序界面截图来作为判断依据;

B、部分运行程序界面截图;当执行结果与用户账号存在关系,即每个用户执行这个命令是有不同的结果,但是有一部分界面还是相同的,此时可以采用部分运行程序界面截图;

C、界面运行文字识别结果;当执行结果界面均不相同,但是有一些文字是一样的,则此时可以采用界面运行文字识别结果;

(5)、记录初始状态、执行命令、判断依据以及执行结果,完成一次软件测试动作的记录;这些记录的都是正确的执行结果相关的信息,形成一条连接链,即在初始状态执行一条命令会出现一个正确的执行结果,然后这个执行结果可以通过判断依据来判断是否正确。

(6)、重复步骤(1)到步骤(5),直到整个软件的所有测试动作均记录完毕;

所述软件测试用例执行阶段包括以下步骤:

①、导入对应软件已经录用完成的测试用例;

②、设定软件初始状态;

③、根据设定的初始状态从测试用例中选择与初始状态相匹配的软件测试动作;因为之前录制测试用例是包括很多个测试动作的,而每个测试动作都是需要一个初始状态的,所以这个测试动作的初始状态需要与步骤②设定的初始状态一致;

④、从步骤③中得到的软件测试动作中选择其中一个,然后执行这个软件测试动作,包括输入执行命令,软件执行相应命令,得到执行结果;因为同一个初始状态上可能是有多个不同的测试动作的,所以需要选择一个来进行执行;

⑤、根据步骤④选择的这个测试动作中原本就记录的判定依据,来获取步骤④得到的执行结果的判定依据;因为开始录制时,测试动作就包括了判断依据,所以此时可以调用出判断依据来获取判断依据,比如这个测试动作中包含的判断依据是完整运行程序界面截图,则此时需要采集执行结果的完整运行程序界面截图;

⑥、将步骤⑤获取的判定依据与步骤④选择的这个测试动作中原本就记录的判定依据进行相似性比较,根据相似性结果给出执行结果是否正确的结论,然后将软件初始状态,步骤④中的执行命令和执行结果,以及步骤⑥得到的结论均记录下来;这一步是将上一步采集到的判断依据与很早之前就录制到测试动作内的判断依据作对比,如果图片是一样的,或者标识的文字一样,则表示执行结果是正确的,如果不同,则表示执行结果是错误的;相似性比较主要是比较两幅图片的相似性,或者是两段文字的相似性,具体如何判断是现有技术就有的方法,并不是本发明所要保护的技术方案。

⑦、重复步骤④到步骤⑥,直到设定的这一初始状态下的所有测试动作均已经被执行或者在设定的这一初始状态下需求的测试动作均已经被执行了,然后重新设定软件的初始状态,再跳转到步骤③继续测试,直到整个软件的所有测试动作或者需要测试的测试动作均已经执行完毕;这一步是先将同一初始状态下的测试动作都先执行了,然后再更换初始状态,直到所有的测试动作都执行掉,或者也可以根据需要,执行一部分测试动作。

⑧、根据步骤⑥记录的数据生成测试报告。

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