软件测试方法、装置、可读存储介质和电子设备与流程

文档序号:36736061发布日期:2024-01-16 12:50阅读:16来源:国知局
软件测试方法、装置、可读存储介质和电子设备与流程

本技术属于测试,具体涉及一种软件测试方法、装置、可读存储介质和电子设备。


背景技术:

1、随着科学技术的发展,前端测试技术越来越强。但是现有的前端自动化测试,仍然需要手工操作,无法完全实现自动化测试。


技术实现思路

1、本技术旨在解决现有方案中的技术问题之一。

2、为了解决上述技术问题,本技术第一方面的实施例提供了一种软件测试方法。

3、本技术第二方面的实施例提供了一种软件测试装置。

4、本技术第三方面的实施例提供了一种软件测试装置。

5、本技术第四方面的实施例提供了一种可读存储介质。

6、本技术第五方面的实施例提供了一种电子设备。

7、本技术的第一方面的实施例提出了一种软件测试方法,包括:获取待测应用程序的运行界面图像;对运行界面图像进行识别,以确定出运行界面图像上的可操作点,确定每个可操作点的位置;根据每个可操作点及其位置生成与每个可操作点对应的操作测试指令,并执行操作测试指令。

8、根据本技术的软件测试方法,在待测应用程序每出现一个新的运行界面时,就可从待测应用程序获取该运行界面对应的运行界面图像,一般而言,可通过对待测应用程序的运行界面进行截图,以产生运行界面图像。此后,可以对运行界面图像进行文字和/或图标识别,以确定出每个运行界面图像上的可操作点,同时,确定出每个可操作点的位置。然后便可根据每个可操作点及其位置生成测试操作指令,以对对应的可操作点进行预设操作,比如进行点击操作,或者滑动操作,这样就可以基于图像识别技术模拟测试人员的点击或者滑动等操作,从而完成对待测应用程序的ui界面的自动测试。而该种测试过程,不需要人为参与,实现了ui(user interface)界面测试的自动化操作。

9、可选地,获取待测应用程序的运行界面图像的步骤包括:响应于测试指令,打开待测应用程序;对待测应用程序的初始运行界面进行截图,以获取初始运行界面图像。

10、在该技术方案中,在开始测试后,可以自动打开待测应用程序,不需要用户手动打开。而在打开待测应用程序后,可以先获取初始运行界面的图像,并对初始运行界面的图像进行文字和图标等识别,以识别出初始运行界面上所有的可操作点,然后便可对识别出的可操作点进行测试。

11、可选地,获取待测应用程序的运行界面图像的步骤包括:通过截图获取待测应用程序响应任一操作测试指令前后的图像,记为该操作测试指令的操作前图像和操作后图像;在操作前图像和操作后图像存在差异的情况下,确定操作前图像和操作后图像之间的差异图像;将差异图像作为运行界面图像。

12、在该技术方案中,不仅测试了初始运行界面上的各个功能,还对各个界面操作后出现的界面上的可操作点均进行了测试,这样就确保了测试的完整性。此外,鉴于执行某个操作前后,运行界面存在一些共同区域,而本技术在识别图像时,是选取前后图像的差异图像,这样就可以避免图像的重复识别,从而简化了识别工作量,提高了测试效率。

13、可选地,在每获取到一个新的运行界面图像的情况下,将与新获取的运行界面图像对应的运行界面作为当前操作界面,并对当前操作界面上的可操作点进行操作。

14、在该技术方案中,在出现新的运行界面后,会沿着该界面一直操作到最后,而不用一直将界面往回切,这样就可以确保操作效率。

15、可选地,在当前操作界面上的所有可操作点均被操作完成后,将上一个运行界面作为当前操作界面,并对当前操作界面上的剩余可操作点进行操作。

16、在该技术方案中,由于本技术是在有新的运行界面出现时,就直接识别新的运行界面,并对新的运行界面进行操作测试,因此,测试过程中,会沿着某个测试指令的支路一直到最后一个页面。而到最后一个页面,且最后一个页面上的可操作点均被操作测试完成后,便可直接返回到上一个页面(即倒数第二个运行界面),以对上一个页面上的剩余可操作点进行测试。这样就可以从后往前一页一页的完成测试,直到实现所有功能的测试操作。

17、可选地,将获取的所有运行界面图像按照获取时间进行升序排列,在当前操作界面上的所有可操作点均被操作完成后,将最近待操作界面作为当前操作界面,并对当前操作界面上的剩余可操作点进行操作,最近待操作界面为与当前操作界面最接近的,且还包括未完成的可操作点的运行界面。

18、在该技术方案中,在沿着某个测试指令的支路测试到最后一个页面,且该页面上的可操作点均被操作测试完成后,可先通过识别出的运行界面图像上的可操作点列表,依次往前判断哪个运行界面上还有剩余的未操作的可操作点,在第一次发现有未操作的可操作点的运行界面(即所谓的最近待操作界面)后,则将待测试软件跳转到最近待操作界面,然后对最近待操作界面上的剩余可操作点进行挨个测试操作。

19、可选地,软件测试方法还包括:针对每个运行界面图像生成可操作点列表;在执行任一操作测试指令后,在对应的可操作点上标记上相对应的标记信息;在可操作点上标记了目标标记信息后,确定可操作点操作完成;在每个运行界面图像上的所有可操作点均被操作完成后,提示测试结束。

20、在该技术方案中,在测试过程中,在每获取到一个新的运行界面图像时,先识别出其上的可操作点,并形成可操作点列表,以便后续按照可操作点列表依次进行操作测试。而在每次针对可操作点执行某个动作后,对该可操作点进行相应的动作标记,而在某个可操作点上的标记信息标记全,从而形成了目标标记信息(比如数字1至5便可作为一个目标标记信息)后,便可认为该操作点上的操作均完成。

21、可选地,在当前操作界面上的所有可操作点均被操作完成后,将最近待操作界面作为当前操作界面的步骤包括:在当前操作界面上的所有可操作点均被操作完成后,根据每个运行界面图像的可操作点列表上的标记信息确定出最近待操作界面;将最近待操作界面作为当前操作界面。可选地,根据可操作点列表上的标记信息确定剩余可操作点。

22、在该技术方案中,由于每次操作完一次测试后,在可操作点上均设置有标记,因此,在后续测试时,可根据标记信息来确定每个页面还剩下哪些点需要操作,以及根据标记信息来确定哪些页面上还有未操作完成的可操作点,这样就可以避免某些点被重复操作,而某些点被遗漏操作的情况发生。

23、可选地,对每个运行界面图像进行识别,以确定出每个运行界面图像上的可操作点的步骤包括:对运行界面图像进行文字识别,以确定出运行界面图像上的文字按钮;对运行界面图像进行图标识别,以确定出运行界面图像上的图标按钮;根据任一文字按钮确定出一可操作点,根据任一图标按钮确定出一可操作点。

24、在该技术方案中,在对图像识别时,不仅识别了文字还识别了图标,这样不管是文字按钮还是图标按钮,均能够被准确地识别出来,进而可以对文字按钮和图标按钮均进行操作而实现测试,以此就确保了测试的完整性。

25、可选地,对运行界面图像进行识别,以确定出运行界面图像上的可操作点的步骤还包括:确定重复操作点;根据两个对应的所述重复操作点确定出一个新的可操作点,并去掉两个对应的所述重复操作点,或去除掉两个对应的所述重复操作点中与所述图标按钮对应的可操作点。

26、在该技术方案中,考虑到有些图标上也带有文字,而本技术由于又对文字和图标分别进行了识别,因此,为了避免可操作点的重复操作,在对图标和文字识别完成后,对于图标和文字重叠的图像会去掉一个对应的可操作点,以实现可操作点的去重操作。

27、进一步地,确定重复操作点的步骤包括:在任一文字按钮的所在区域和任一图标按钮的所在区域存在重叠时,将与所述文字按钮和所述图像按钮对应的两个可操作点确定为重复操作点;和/或计算任意两个所述可操作点之间的距离,在任意两个所述可操作点之间的距离小于目标阈值时,将两个对应的所述可操作点确定为重复操作点。

28、在该技术方案中,如果检测到文字按钮和图标按钮存在区域重合时,则认为该图标和文字对应同一个可操作点,故而认为,该文字按钮和图标按钮对应的两个可操作点为重复操作点。此外,如果两个可操作点之间的距离特别近也可以认为两个点是重复操作点。也即在判断识别出的两个可操作点是否重复时,可以判断图像是否重叠,也可以基于距离判断两个点是否过近,以确定两个点是否重复。

29、可选地,根据两个对应的重复操作点确定出一个新的操作点的步骤包括:所述根据两个对应的所述重复操作点确定出一个新的可操作点的步骤包括:根据两个对应的所述重复操作点与其他可操作点的距离将两个所述重复操作点中的一个点确定为所述新的可操作点;或根据两个对应的所述重复操作点与其他操作点的距离生成一个新的可操作点。

30、在该技术方案中,在确定出相关联的两个重复操作点以后,可以根据这两个点与其他可操作点的距离来确定将其中一个点确定为最终的操作点,而将另一个操作点去掉。而根据距离来确定保留哪个点,可以使确定出的操作点与其他操作点之间的距离更加合适,避免确定出的可操作点与其他操作点相隔地太近。

31、可选地,对运行界面图像进行文字识别,以确定出运行界面图像上的文字按钮的步骤包括:通过ocr对每个运行界面图像进行文字识别,以确定出每个运行界面图像上的文字按钮。

32、在该技术方案中,在对文字进行识别时,可以采用ocr技术来实现对文字的高效识别。而ocr技术比较成熟,且准确率高,这样就可以确保图像识别的准确性,提高测试效果。而图标部分可以用图标识别技术进行识别。

33、可选地,对每个运行界面图像进行识别,以确定出每个运行界面图像上的可操作点,确定每个可操作点的位置的步骤包括:将每个运行界面图像发送至图像识别装置,以供图像识别装置识别出所有的可操作点和任一可操作点的位置;接收图像识别装置反馈的识别结果,以确定出每个运行界面图像上的可操作点和每个可操作点的位置。

34、在该技术方案中,在对图像进行识别时,是将图像发送到外设的图像识别装置进行文字和图标的识别。比如,发送到云端或者远程服务器等上进行识别。也即图像识别装置没有内置到测试装置上。而该种设置,可以通过外置的图像识别装置进行图像识别,而图像识别技术对设备的性能要求比较高,而本技术通过外置的图像识别装置进行图像识别,可以降低软件测试装置的性能要求,从而降低测试成本。

35、可选地,软件测试方法还包括:记录待测应用程序响应任一操作测试指令的响应结果并进行输出。

36、在该技术方案中,在软件测试过程中,在操作任一可操作点时,记录应用程序在操作前后的运行界面图像并进行输出,这样便可在自动测试后,通过对这些图像的记录来验证测试的效果。

37、进一步地,获取待测应用程序的运行界面图像的步骤具体包括:对待测应用程序的运行界面进行截图,以获得待测应用程序的运行界面图像。该种获取图像的方式比较简单,毕竟现在手机等装置上的截图功能都比较成熟。

38、可选地,每个可操作点对应的操作测试指令包括:点击可操作点指令、向上滑动可操作点指令、向下滑动可操作点指令、向左滑动可操作点指令、向右滑动可操作点指令中的一个或多个。

39、在该技术方案中,针对识别出的每个可操作点,可具体进行上下左右滑动操作,还可以进行点击操作。一般而言,对应按钮的操作基本都是滑动和点击,因此,针对识别出的每个可操作点均对应生成上下左右滑动和点击的操作测试指令,就可以涵盖该点的基本操作。当然,特殊情况下,也还可以涉及到旋转等操作。

40、第二方面,本技术实施例提出了一种软件测试装置,包括:获取模块,用于获取待测应用程序的运行界面图像;识别模块,用于对运行界面图像进行识别,以确定出运行界面图像上的可操作点,确定每个可操作点的位置;生成执行模块,用于根据每个可操作点及其位置生成与每个可操作点对应的操作测试指令,并执行操作测试指令,以在待测应用程序的运行界面上完成对应点的操作。

41、根据本技术的软件测试装置,能够从待测应用程序获取运行界面图像,一般而言,可通过对待测应用程序的运行界面进行截图,以产生运行界面图像。此后,可以对运行界面图像进行文字和/或图标识别,以确定出每个运行界面图像上的可操作点,同时,确定出每个可操作点的位置。然后便可根据每个可操作点及其位置生成测试操作指令,以对对应的可操作点进行预设操作,比如进行点击操作,或者滑动操作,这样就可以基于图像识别技术模拟测试人员的点击或者滑动等操作,从而完成对待测应用程序的ui界面的自动测试。而该种测试过程,不需要人为参与,实现了ui界面测试的自动化操作。

42、第三方面,本技术实施例提出了一种软件测试装置,包括:存储器,存储器储存有程序或指令,处理器,处理器执行程序或指令时,实现第一方面任一项方案提供的软件测试方法的步骤。

43、根据本技术的软件测试装置,由于其能够实现第一方面任一项方案提供的软件测试方法的步骤。因此,该软件测试装置具有一方面任一项方案提供的软件测试方法的全部有益效果。

44、第四方面,本技术实施例提出了一种可读存储介质,其上存储有程序或指令,程序或指令被执行时,实现第三方面任一项方案提供的软件测试方法的步骤。

45、由于可读存储介质能够实现第一方面任一项方案提供的软件测试方法的步骤。因此,可读存储介质具有一方面任一项方案提供的软件测试方法的全部有益效果。

46、第五方面,本技术实施例提出了一种电子设备,包括:如第四方面和第五方面任一项方案提供的软件测试装置;和/或第六方面任一项方案提供的可读存储介质。

47、由于本技术实施例的电子设备,包括上述任一技术方案的软件测试装置或可读存储介质。因此,也具有软件测试装置或可读存储介质的全部有益效果。

48、本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。

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