CN111143188B - 一种对应用进行自动化测试的方法及设备 - Google Patents
一种对应用进行自动化测试的方法及设备 Download PDFInfo
- Publication number
- CN111143188B CN111143188B CN201811300393.2A CN201811300393A CN111143188B CN 111143188 B CN111143188 B CN 111143188B CN 201811300393 A CN201811300393 A CN 201811300393A CN 111143188 B CN111143188 B CN 111143188B
- Authority
- CN
- China
- Prior art keywords
- test
- application
- screenshot
- interface
- abnormal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 324
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000002159 abnormal effect Effects 0.000 claims abstract description 85
- 230000008569 process Effects 0.000 claims abstract description 35
- 238000005516 engineering process Methods 0.000 claims abstract description 31
- 239000013643 reference control Substances 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 10
- 230000002452 interceptive effect Effects 0.000 description 8
- 238000013515 script Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013142 basic testing Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种对应用进行自动化测试的方法及设备,用于在测试过程中利用截图确定是否有测试异常界面存在,利用图像技术来定位测试异常界面,方便测试人员排除异常情况。该方法包括:获取应用测试任务,利用自动化测试框架对应用测试任务中的应用进行自动化测试;在自动化测试应用的过程中,对多次得到的应用测试界面分别进行至少一次截图;利用图像识别技术对其中的至少一张截图进行识别,根据识别结果确定与截图对应的应用测试界面是否为测试异常界面。
Description
技术领域
本发明涉及自动化测试领域,尤其涉及一种对应用进行自动化测试的方法及设备。
背景技术
现有的对终端应用自动化测试技术主要是基于自动化测试框架如UiAutomator、Appium等,通过测试脚本对应用进行自动化测试,然后输出测试过程中的日志和结果,目前现有对测试结果的展示有两种,一种是输出测试过程中的报告或执行脚本日志;一种是对测试结果报告进行截图展示,测试人员需要人工对测试结果进行分析判断。在实际测试过程中上述方案有以下缺点:
由于自动化测试框架都独立运行,所以单独使用某个自动化测试框架进行测试时,部分应用控件或组件无法被测试框架识别或者发送动作指令,无法完全满足应用的测试需求;
测试结果的验证作为自动化测试中重要一环,以兼容性测试为例,测试人员需要对自动化测试任务完成后生成的上千张测试截图逐张进行分析判断,效率低,人力资源耗费大。
发明内容
本发明提供一种对应用进行自动化测试的方法及设备,用于在测试过程中利用截图确定是否有测试异常界面存在,利用图像技术来定位测试异常界面,方便测试人员排除异常情况。
第一方面,本发明提供一种对应用进行自动化测试的方法,该方法包括:
获取应用测试任务,利用自动化测试框架对应用测试任务中的应用进行自动化测试;
在自动化测试应用的过程中,对多次得到的应用测试界面分别进行至少一次截图;
利用图像识别技术对其中的至少一张截图进行识别,根据识别结果确定与截图对应的应用测试界面是否为测试异常界面。
第二方面,本发明提供一种对应用进行自动化测试的设备,该设备包括:
处理器以及存储器,其中,上述存储器存储有程序代码,当上述程序代码被上述处理器执行时,使得上述处理器执行如下步骤:
获取应用测试任务,利用自动化测试框架对应用测试任务中的应用进行自动化测试;
在自动化测试应用的过程中,对多次得到的应用测试界面分别进行至少一次截图;
利用图像识别技术对其中的至少一张截图进行识别,根据识别结果确定与截图对应的应用测试界面是否为测试异常界面。
第三方面,本发明提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如下步骤:
获取应用测试任务,利用自动化测试框架对应用测试任务中的应用进行自动化测试;
在自动化测试应用的过程中,对多次得到的应用测试界面分别进行至少一次截图;
利用图像识别技术对其中的至少一张截图进行识别,根据识别结果确定与截图对应的应用测试界面是否为测试异常界面。
本发明提供的一种对应用进行自动化测试的方法及设备,具有以下有益效果:
一方面,基于现有技术中单独使用某个自动化测试框架进行测试时,部分应用控件或组件无法被测试框架识别或者发送动作指令,本发明提供的实施例能够通过图像识别技术对被测应用可操作组件或控件自动定位并触发控制指令,达到引导自动化测试的过程,满足应用的测试需求;
另一方面,本发明提供了一种对自动化测试过程中常见或特殊的异常测试结果进行图像识别并分类,自动化输出异常测试图片,提高了测试效率,节省了人力资源的耗费。
附图说明
图1为一种对应用进行自动化测试的方法流程图;
图2为一种对应用进行自动化测试的方法实施步骤图;
图3为一种对应用进行自动化测试的方法设备图。
具体实施方式
为了解决现有自动化测试中在应用测试界面有控件而自动化测试框架无法识别被测应用控件或组件的问题,以及提高自动化测试的效率,实现对人力资源需求的最小化,本发明提供了一种对应用进行自动化测试的方法及设备。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种对应用进行自动化测试的方法,如图1所示,包括:
步骤101,获取应用测试任务,利用自动化测试框架对应用测试任务中的应用进行自动化测试,其中,自动化测试框架包含多个基础测试模块,提供多个测试脚本,通过执行测试脚本对应用中控件或组件进行交互触发测试。
具体的,应用测试任务包括终端的多个应用APP,其中每个APP包括多个控件或组件;自动化测试框架对应用测试任务中的应用APP进行自动化测试,利用自动化测试框架模拟鼠标的点击和键盘的操作对各个应用APP中组件或控件进行交互触发测试,根据测试结果确定各个APP是否存在问题。
步骤102,在自动化测试应用的过程中,对多次得到的应用测试界面分别进行至少一次截图。
具体的,在利用自动化测试框架模拟鼠标的点击和键盘的操作对APP进行交互触发测试过程中,在一个完整的测试过程中,每次交互测试完成都对应一个应用测试界面,在整个测试过程中,会不断地输出多张应用测试界面,只要涉及一次新的交互触发测试,就会对应输出新的应用测试界面,根据测试要求不同,可以设置不同的应用测试界面截图间隔时间。
本实施例中,对其中至少一张应用测试界面截图,具体采用两种截图方式,方式一:在测试过程中确定与应用中的控件或组件交互触发失败时,对应用测试界面截图;方式二:在确定得到新的测试应用界面时进行截图;其中在自动化测试过程中可以包括上述方式一和方式二两种截图方式,也可以只独立进行方式一或方式二中的其中一种。
步骤103,利用图像识别技术对其中的至少一张截图进行识别,根据识别结果确定上述与截图对应的应用测试界面是否为测试异常界面。
在实施中,利用图像识别技术对截图进行识别,可以得到截图的内容,在获得截图的内容后,可以根据设定的机制判断应用测试界面是否为异常测试界面。
具体地,在自动化测试过程中,测试人员可以根据经验设定何时进行截图的规则,可以根据测试中经常出现问题的环节针对性的进行应用测试界面截图,也可以采用设定按照一定的频率进行普遍性的截图,也可以设定在每次得到新的应用测试界面时进行截图,具体的截图规则可以根据需要进行设定,这里不作具体的限定。
在设定如何截图的规则的基础,可以根据截图的特点设定判断测试异常界面的规则,例如既可以根据截图时对应的截图时机,与正常的应用测试界面截图进行匹配,如果匹配正确,说明应用测试界面正常,如果不匹配,说明应用测试界面异常。还可以与预先设置的异常测试图片进行匹配,如果匹配,说明为异常应用测试界面,否则为正常应用测试界面。具体的匹配规则可以视截图的情况而灵活设定,这里不作具体的限定。
应用本发明实施例提供的上述自动化测试的方法,在自动化测试时,利用图像识别技术对应用测试界面进行截图,可以自动识别出测试是否出现异常,一方面可以自动定位测试过中哪个环节出现问题,另一方面可以减少人为介入判断的工作量,提高测试的效率。
实施中,上述测试应用任务包括应用终端APP和包括控件或组件的基准图,其中应用终端APP、测试脚本中包括可执行的控件或组件,基于自动化测试框架对测试应用中的可执行控件或组件进行测试,应用终端APP提供包括控件或组件的基准图与应用测试界面进行匹配,根据匹配结果确定应用测试界面是否为测试异常界面。
针对何时进行截图的规则设定及如何判断异常图片的判断机制,下面给本实施例两种可选的实施方式,两种可选的实施方式可以单独实施,也可以结合实施。
作为一种可选的实施方式,本实施例采用如下方式进行应用测试界面截图:
在自动化测试应用的过程中,确定自动化测试框架与应用中的控件或组件交互触发测试失败时,对触发测试失败时得到的应用测试界面进行截图,得到触发失败界面截图;
在自动化测试过程中,执行到与终端APP中的某个控件或组件交互的测试脚本时,首先会生成触发指令模拟点击APP中的控件或组件,触发与应用中的控件或组件交互,如果得到响应,说明交互成功,如果生成触发指令模拟点击APP中的控件或组件时,并无响应。此时失败的原因有两种,一种终端APP出现了问题,交互界面中并无控件或组件,一种是自动化测试框架本身存在问题,不能识别APP界面中的控件或组件。
本实施例中,为了识别触发失败的原因,确定自动化测试框架与应用中的控件或组件交互触发测试失败时,对触发测试失败时得到的应用测试界面进行截图,得到触发失败界面截图。
在该实施方式中,基于上述截图机制,采用如下方式判断截图对应的测试应用是否为异常测试界面:
对上述触发失败界面截图,利用图像识别技术将上述触发失败界面截图与包括控件或组件的基准图像进行匹配,其中,上述基准图像由被测应用终端APP预先提供给自动化测试框架,匹配成功说明自动化测试框架能够识别APP界面中的控件或组件,因此判断为终端APP的交互界面中并无控件或组件。
具体的,首先对失败界面截图进行切割,然后将失败界面截图与上述基准图片一帧一帧进行对比,根据模板匹配算法计算出失败界面截图与上述基准图片的相似度系数,根据预先设置的相似度系数阈值确定当计算出的上述相似度系数值高于预先设置的相似度系数阈值时上述触发失败界面截图与基准图片匹配成功。
根据匹配结果确定上述触发失败界面截图中没有基准控件和组件时,确定上述触发失败界面截图为测试异常界面,能够避免产生的触发失败界面截图是由自动化测试框架不能识别应用测试APP界面中的控件或组件造成的。
进一步地,本实施例中根据匹配结果确定所述触发失败界面截图中有基准控件或组件时,触发自动化测试框架中与上述基准控件或组件对应的控制指令,继续执行自动化测试过程;当自动化测试框架不能识别上述基准控件或组件时,自动化测试无法触发应用测试界面中的控件和组件执行相应的控制指令,无法完成测试任务。
因此,本发明能够利用图像识别技术来定位上述触发失败界面截图中的控件或组件,并触发与上述基准控件或组件对应的控制指令,继续完成自动化测试的过程,避免了在自动化测试过程中,上述控件或组件无法被自动化测试框架识别时无法完成测试任务的问题。
实施中:
确定所述触发失败界面截图中有基准控件或组件时,利用图像识别技术对触发失败界面截图中的控件或组件进行识别、定位操作,其中,定位触发失败界面截图中的控件或组件在截图中的坐标,通过自动化框架对该坐标发送测试操作命令,从而继续执行后续测试任务。
作为一种优选的实施方式,利用图像识别技术将上述触发失败界面截图与包括控件或组件的基准图像进行匹配,根据匹配结果确定上述触发失败界面截图中是否有基准控件或组件,包括:
利用模板匹配算法计算上述触发失败界面截图与包括控件或组件的基准图像的相似度系数;
确定计算得到的相似度系数值大于预先设置的相似度系数阈值时,确定上述触发失败界面截图与基准图片匹配。
其中,上述模板匹配算法具体内容如下所示:
其中,
T′(x′,y′)=T(x′,y′)-1/(w·h)·∑x″,y″T(x″,y″)
I′(x+x′,y+y′)=I(x+x′,y+y′)-1/(w·h)·∑x″,y″I(x+x″,y+y″)
其中,
χ′=0...w-1,y′=0...h-1
上述公式中:
x,y为上述失败界面截图图片中左上角坐标,w为上述包括控件或组件的基准图像的宽度,h为上述包括控件或组件的基准图像的高度;
T(x,y)为上述失败界面截图图像对截图图像区域内每个点(x,y)做对比后的值,I(x,y)为上述基准图像对基准图像区域内每个点(x,y)做对比后的值;
设定T(x,y)和I(x,y)的原点都在左上角,对于任何一个坐标点(x,y),根据公式能得到一个R(x,y),R(x,y)表示上述失败界面截图与上述基准图像匹配的相似度系数值集合;
根据上述公式计算出上述相似度系数数值集合,从相似度系数数值集合中选出最大相似度系数,根据预先设定的相似度系数阈值,确定上述最大相似度系数大于上述相似度系数阈值时上述失败界面截图与上述基准图像匹配。
作为另一种可选的实施方式,本实施例采用如下方式进行应用测试界面截图:
确定得到新的应用测试界面时进行截图得到应用测试界面截图;
在该实施方式中,基于上述截图机制,采用如下方式判断截图对应的测试应用是否为测试异常界面,包括:
利用图像识别技术对得到的应用测试界面截图,截图的方式可以参照上述第一种截图实施方式中描述的方式,这里不再详述。
将任一应用测试界面截图的识别结果与预设的异常图片数据库中异常图片分别进行匹配,其中异常图片数据库包括实际测试过程中经常出现的黑屏图片、白屏图片和花屏图片等异常图片;对截图与每一张异常图片进行特征匹配,确认匹配成功时得到应用测试界面截图为测试结果。
根据匹配结果确定该应用测试界面截图的识别结果与任一异常图片匹配时,确定该应用测试界面截图为测试异常界面。
本发明能够利用图像技术来定位测试异常界面,方便测试人员排除异常情况,避免了在自动化测试过程中,测试人员需要逐张对应用测试界面截图进行分析,提高了测试效率,缩短了测试报告生成的时间,节省了人力资源。
作为一种可选的实施方式,将任一应用测试界面截图的识别结果与预设的异常图片数据库中异常图片分别进行匹配,包括:
利用图像匹配算法计算任一应用测试界面截图的识别结果与预设的异常图片数据库中异常图片的相似度系数;
根据匹配结果确定该应用测试界面截图的识别结果与任一异常图片匹配,包括:
确定计算得到的相似度系数值大于预先设置的相似度系数阈值时,确定该应用测试界面截图的识别结果与预设的异常图片数据库中异常图片匹配。
其中,上述图像匹配算法基于上述模板匹配算法,根据上述自动化测试过程中采集的异常图片特征数据集中的异常图片与实际测试中的失败界面截图图像进行匹配,根据至少一次的测试结果,确定与上述图像匹配得出的相似度系数阈值的方法。例如,上述异常图片特征数据集中包括黑屏、白屏、花屏,通过对实际测试中经常出现的失败界面截图,例如黑屏、白屏、花屏,将失败界面截图与上述异常图片特征数据集中的黑屏图像根据上述图像匹配算法进行匹配,经过一万次的匹配计算,得到失败界面截图与上述黑屏图像匹配的相似度系数集合,对相似度系数集合中的数值进行筛选,根据筛选出的相似度系数确定上述相似度系数阈值。
作为一种可选的实施方式,上述预设的异常图片数据库,包括:
黑屏图片、白屏图片、花屏图片、闪退图片及加载失败图片中的一种或任多种。
实施中,上述测试异常界面,还包括:
将所有被确定为测试异常界面的应用测试界面确定为第一类测试结果;
将除测试异常界面之外的其他应用测试界面确定为第二类测试结果;
生成包括第一类测试结果和第二类测试结果的测试报告。
第一类测试结果能够用于自动化测试过程中某些控件或组件无法被自动化测试框架识别时,利用图像识别技术识别应用测试界面中的控件或组件继续进行自动化测试;第二类测试结果能够用于自动化测试自动获取测试结果,利用图像识别技术识别应用测试界面是否属于异常应用测试界面,提高了测试效率,缩短了测试报告生成的时间。
下面对上述实施例进行详细说明,一种对应用进行自动化测试的方法实施步骤如图2所示:
步骤201:获取测试应用APP;
步骤202:执行自动化测试应用,利用自动化测试框架模拟鼠标点击和键盘操作对测试应用APP中的控件或组件进行交互触发测试;
具体的,点击上述APP中的可执行控件,测试控件是否有响应。
步骤203:判断自动化测试应用过程中应用中的控件或组件交互触发是否无响应,如果无响应则对失败界面截图,执行步骤204,否则执行步骤203;
步骤204:利用图像识别技术将上述失败界面截图与包括控件或组件的基准图像进行匹配;
步骤205:判断上述失败界面截图中是否包含基准控件或组件,如果没有基准控件和组件,执行步骤206,否则执行步骤207;
步骤206:继续执行自动化测试应用;
步骤207:触发自动化测试框架中与所述基准控件或组件对应的控制指令,执行步骤206;
步骤208:将得到的新的自动化应用测试界面进行截图;
步骤209:利用图像识别技术识别应用测试界面截图,将识别结果与预设的异常图片数据库中异常图片进行匹配;
步骤210:判断该应用测试界面截图的识别结果与任一异常图片是否匹配,如果匹配,执行步骤211,否则执行步骤210;
步骤211:输出与任一异常图片匹配的应用测试界面截图为自动化测试报告。
实施例二
基于同一发明构思,本发明实施例中提供了一种对应用进行自动化测试的设备,该设备的具体实施可参见方法实施例部分的描述,重复之处不再赘述。
如图3所示,该设备主要包括:处理器301以及存储器302,其中,上述存储器302存储有程序代码,当上述程序代码被所述处理器301执行时,使得上述处理器301执行以下任一实施方式的步骤。
上述处理器301用于:
获取应用测试任务,利用自动化测试框架对应用测试任务中的应用进行自动化测试;
在自动化测试应用的过程中,对多次得到的应用测试界面分别进行至少一次截图;
利用图像识别技术对其中的至少一张截图进行识别,根据识别结果确定与截图对应的应用测试界面是否为测试异常界面。
作为一种可选的实施方式,上述处理器301用于在自动化测试应用的过程中,确定与应用中的控件或组件交互触发测试失败时,对触发测试失败时得到的应用测试界面进行截图,得到触发失败界面截图;
对上述触发失败界面截图,利用图像识别技术将上述触发失败界面截图与包括控件或组件的基准图像进行匹配;
根据匹配结果确定上述触发失败界面截图中没有基准控件和组件时,确定上述触发失败界面截图为测试异常界面。
实施中,上述处理器301还用于根据匹配结果确定所述触发失败界面截图中有基准控件或组件时,触发自动化测试框架中与所述基准控件或组件对应的控制指令,继续执行自动化测试过程。
作为一种可选的实施方式,上述处理器301利用图像识别技术将所述触发失败界面截图与包括控件或组件的基准图像进行匹配,根据匹配结果确定所述触发失败界面截图中是否有基准控件或组件,用于:
利用模板匹配算法计算所述触发失败界面截图与包括控件或组件的基准图像的相似度系数;
确定计算得到的相似度系数值大于预先设置的相似度系数阈值时,确定所述触发失败界面截图与基准图片匹配。
实施中,上述处理器301对多次得到的应用测试界面分别进行至少一次截图,还用于确定得到新的应用测试界面时进行截图得到应用测试界面截图;
利用图像识别技术对其中的至少一张截图进行识别,根据识别结果确定与截图对应的应用测试界面是否为测试异常界面,用于:
利用图像识别技术对得到的应用测试界面截图进行分别识别;
将任一应用测试界面截图的识别结果与预设的异常图片数据库中异常图片分别进行匹配;
根据匹配结果确定该应用测试界面截图的识别结果与任一异常图片匹配时,确定该应用测试界面截图为测试异常界面。
作为一种可选的实施方式,上述处理器301将任一应用测试界面截图的识别结果与预设的异常图片数据库中异常图片分别进行匹配,用于:
利用图像匹配算法计算任一应用测试界面截图的识别结果与预设的异常图片数据库中异常图片的相似度系数;
根据匹配结果确定该应用测试界面截图的识别结果与任一异常图片匹配,用于:
确定计算得到的相似度系数值大于预先设置的相似度系数阈值时,确定该应用测试界面截图的识别结果与预设的异常图片数据库中异常图片匹配。
实施中,上述预设的异常图片数据库,包括:
黑屏图片、白屏图片、花屏图片、闪退图片及加载失败图片中的一种或任多种。
上述处理器,还用于:
将所有被确定为测试异常界面的应用测试界面确定为第一类测试结果;
将除测试异常界面之外的其他应用测试界面确定为第二类测试结果;
生成包括第一类测试结果和第二类测试结果的测试报告。
实施例三
本发明还提供一种计算机存储介质,该计算机存储介质的具体实施可参见方法实施例部分的描述,重复之处不再赘述。
上述计算机存储介质上存储有计算机程序,该程序被处理器执行时实现如下步骤:
获取应用测试任务,利用自动化测试框架对应用测试任务中的应用进行自动化测试;
在自动化测试应用的过程中,对多次得到的应用测试界面分别进行至少一次截图;
利用图像识别技术对其中的至少一张截图进行识别,根据识别结果确定与截图对应的应用测试界面是否为测试异常界面。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种对应用进行自动化测试的方法,其特征在于,该方法包括:
获取应用测试任务,利用自动化测试框架对应用测试任务中的应用进行自动化测试;
在自动化测试应用的过程中,确定与应用中的控件或组件交互触发测试失败时,对触发测试失败时得到的应用测试界面进行截图,得到触发失败界面截图;
确定得到新的应用测试界面时进行截图得到应用测试界面截图;
对所述触发失败界面截图,利用图像识别技术将所述触发失败界面截图与包括控件或组件的基准图像进行匹配;根据匹配结果确定所述触发失败界面截图中没有基准控件和组件时,确定所述触发失败界面截图为测试异常界面;
利用图像识别技术对得到的应用测试界面截图进行分别识别;将任一应用测试界面截图的识别结果与预设的异常图片数据库中异常图片分别进行匹配;根据匹配结果确定该应用测试界面截图的识别结果与任一异常图片匹配时,确定该应用测试界面截图为测试异常界面。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据匹配结果确定所述触发失败界面截图中有基准控件或组件时,触发自动化测试框架中与所述基准控件或组件对应的控制指令,继续执行自动化测试过程。
3.根据权利要求1或2所述的方法,其特征在于,利用图像识别技术将所述触发失败界面截图与包括控件或组件的基准图像进行匹配,根据匹配结果确定所述触发失败界面截图中是否有基准控件或组件,包括:
利用模板匹配算法计算所述触发失败界面截图与包括控件或组件的基准图像的相似度系数;
确定计算得到的相似度系数值大于预先设置的相似度系数阈值时,确定所述触发失败界面截图与基准图片匹配。
4.根据权利要求1所述的方法,其特征在于,将任一应用测试界面截图的识别结果与预设的异常图片数据库中异常图片分别进行匹配,包括:
利用图像匹配算法计算任一应用测试界面截图的识别结果与预设的异常图片数据库中异常图片的相似度系数;
根据匹配结果确定该应用测试界面截图的识别结果与任一异常图片匹配,包括:
确定计算得到的相似度系数值大于预先设置的相似度系数阈值时,确定该应用测试界面截图的识别结果与预设的异常图片数据库中异常图片匹配。
5.根据权利要求4所述的方法,其特征在于,所述预设的异常图片数据库,包括:
黑屏图片、白屏图片、花屏图片、闪退图片及加载失败图片中的一种或任多种。
6.根据权利要求1所述的方法,其特征在于,还包括:
将所有被确定为测试异常界面的应用测试界面确定为第一类测试结果;
将除测试异常界面之外的其他应用测试界面确定为第二类测试结果;
生成包括第一类测试结果和第二类测试结果的测试报告。
7.一种应用于自动化测试的图像识别设备,其特征在于,该设备包括:处理器以及存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~6任一所述方法的步骤。
8.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~6任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811300393.2A CN111143188B (zh) | 2018-11-02 | 2018-11-02 | 一种对应用进行自动化测试的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811300393.2A CN111143188B (zh) | 2018-11-02 | 2018-11-02 | 一种对应用进行自动化测试的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143188A CN111143188A (zh) | 2020-05-12 |
CN111143188B true CN111143188B (zh) | 2023-09-22 |
Family
ID=70516176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811300393.2A Active CN111143188B (zh) | 2018-11-02 | 2018-11-02 | 一种对应用进行自动化测试的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143188B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113805977B (zh) * | 2020-06-11 | 2024-03-19 | 中移(苏州)软件技术有限公司 | 测试取证方法及模型训练方法、装置、设备、存储介质 |
CN111915601B (zh) * | 2020-08-12 | 2024-07-02 | 中国工商银行股份有限公司 | 智能终端的异常测试方法、装置以及*** |
CN112329854B (zh) * | 2020-11-05 | 2023-07-28 | 上海哔哩哔哩科技有限公司 | 广告素材图片裁剪校验方法、装置 |
CN112383661B (zh) * | 2020-11-20 | 2023-05-02 | 北京达佳互联信息技术有限公司 | 移动端自动化测试方法、装置、电子设备及存储介质 |
CN113553261B (zh) * | 2021-07-22 | 2023-09-15 | 上汽通用五菱汽车股份有限公司 | 软件自动化测试方法、设备及计算机可读存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103389937A (zh) * | 2012-05-09 | 2013-11-13 | 腾讯科技(深圳)有限公司 | 一种界面测试方法和装置 |
CN104536888A (zh) * | 2014-12-24 | 2015-04-22 | 网易(杭州)网络有限公司 | 移动设备的游戏测试方法与*** |
CN104899140A (zh) * | 2015-06-03 | 2015-09-09 | 上海斐讯数据通信技术有限公司 | 一种移动终端组件的测试方法 |
CN106021108A (zh) * | 2016-05-19 | 2016-10-12 | 努比亚技术有限公司 | 应用程序测试装置、移动终端及方法 |
CN106161134A (zh) * | 2015-04-21 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 移动终端自动化测试方法、装置及移动终端 |
WO2016197710A1 (zh) * | 2015-11-27 | 2016-12-15 | 中兴通讯股份有限公司 | 移动终端软件假界面识别方法及装置 |
CN106371988A (zh) * | 2016-08-22 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种自动化测试界面的方法和装置 |
CN106598836A (zh) * | 2015-10-20 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种客户端软件的测试方法及*** |
CN107025174A (zh) * | 2017-04-06 | 2017-08-08 | 网易(杭州)网络有限公司 | 用于设备的用户界面异常测试的方法、装置和可读储介质 |
CN107832774A (zh) * | 2017-10-09 | 2018-03-23 | 无线生活(杭州)信息科技有限公司 | 一种页面异常检测方法及装置 |
US9934129B1 (en) * | 2017-03-17 | 2018-04-03 | Google Llc | Determining application test results using screenshot metadata |
CN108536597A (zh) * | 2018-04-11 | 2018-09-14 | 上海达梦数据库有限公司 | 一种终端测试方法、装置、终端设备及存储介质 |
CN108549604A (zh) * | 2018-04-11 | 2018-09-18 | 上海达梦数据库有限公司 | 一种测试脚本生成方法、装置、终端设备及存储介质 |
CN108549601A (zh) * | 2018-04-02 | 2018-09-18 | 郑州云海信息技术有限公司 | 一种多浏览器兼容性自动化测试方法 |
CN108681508A (zh) * | 2018-05-15 | 2018-10-19 | 福建天泉教育科技有限公司 | 一种基于视觉识别的测试方法及终端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9852049B2 (en) * | 2014-05-27 | 2017-12-26 | International Business Machines Corporation | Screenshot validation testing |
US9846634B2 (en) * | 2014-06-25 | 2017-12-19 | Vmware, Inc. | Visual graphical user interface verification |
US10324828B2 (en) * | 2016-03-28 | 2019-06-18 | Dropbox, Inc. | Generating annotated screenshots based on automated tests |
US10055339B2 (en) * | 2016-09-28 | 2018-08-21 | Wipro Limited | Methods and systems for testing mobile applications |
-
2018
- 2018-11-02 CN CN201811300393.2A patent/CN111143188B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103389937A (zh) * | 2012-05-09 | 2013-11-13 | 腾讯科技(深圳)有限公司 | 一种界面测试方法和装置 |
CN104536888A (zh) * | 2014-12-24 | 2015-04-22 | 网易(杭州)网络有限公司 | 移动设备的游戏测试方法与*** |
CN106161134A (zh) * | 2015-04-21 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 移动终端自动化测试方法、装置及移动终端 |
CN104899140A (zh) * | 2015-06-03 | 2015-09-09 | 上海斐讯数据通信技术有限公司 | 一种移动终端组件的测试方法 |
CN106598836A (zh) * | 2015-10-20 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种客户端软件的测试方法及*** |
WO2016197710A1 (zh) * | 2015-11-27 | 2016-12-15 | 中兴通讯股份有限公司 | 移动终端软件假界面识别方法及装置 |
CN106021108A (zh) * | 2016-05-19 | 2016-10-12 | 努比亚技术有限公司 | 应用程序测试装置、移动终端及方法 |
CN106371988A (zh) * | 2016-08-22 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种自动化测试界面的方法和装置 |
US9934129B1 (en) * | 2017-03-17 | 2018-04-03 | Google Llc | Determining application test results using screenshot metadata |
CN107025174A (zh) * | 2017-04-06 | 2017-08-08 | 网易(杭州)网络有限公司 | 用于设备的用户界面异常测试的方法、装置和可读储介质 |
CN107832774A (zh) * | 2017-10-09 | 2018-03-23 | 无线生活(杭州)信息科技有限公司 | 一种页面异常检测方法及装置 |
CN108549601A (zh) * | 2018-04-02 | 2018-09-18 | 郑州云海信息技术有限公司 | 一种多浏览器兼容性自动化测试方法 |
CN108536597A (zh) * | 2018-04-11 | 2018-09-14 | 上海达梦数据库有限公司 | 一种终端测试方法、装置、终端设备及存储介质 |
CN108549604A (zh) * | 2018-04-11 | 2018-09-18 | 上海达梦数据库有限公司 | 一种测试脚本生成方法、装置、终端设备及存储介质 |
CN108681508A (zh) * | 2018-05-15 | 2018-10-19 | 福建天泉教育科技有限公司 | 一种基于视觉识别的测试方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111143188A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143188B (zh) | 一种对应用进行自动化测试的方法及设备 | |
WO2018010552A1 (zh) | 测试方法和装置 | |
US8752182B2 (en) | Pinpointing security vulnerabilities in computer software applications | |
US10162742B2 (en) | System and method for end to end performance response time measurement based on graphic recognition | |
US20150363300A1 (en) | Generating software test script from video | |
US20200034279A1 (en) | Deep machine learning in software test automation | |
WO2019169760A1 (zh) | 测试用例范围确定方法、装置及存储介质 | |
JP7404839B2 (ja) | ソフトウェアプログラム不良位置の識別 | |
US11586534B2 (en) | Identifying flaky tests | |
JP2019096292A (ja) | 自動化されたソフトウェアプログラム修復候補の選択 | |
US20140033179A1 (en) | Application testing | |
US10705950B2 (en) | Method and system for semi-automatic testing of program code for graphical user interfaces | |
CN110990289A (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
KR101774815B1 (ko) | 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법 | |
CN111459796B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
KR101252358B1 (ko) | Plc 명령어 테스트 장치 및 방법 | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
CN110309059A (zh) | Ui界面测试方法、***、计算机设备和存储介质 | |
CN115587028A (zh) | 接口自动化测试方法、***、介质及终端 | |
CN111008140B (zh) | 一种跨平台的ui自动化测试方法及装置 | |
CN112527631A (zh) | bug定位方法、***、电子设备及存储介质 | |
CN111158352A (zh) | 一种铁路***的自动测试***及方法 | |
CN116932413B (zh) | 测试任务的缺陷处理方法、缺陷处理装置及存储介质 | |
WO2024023948A1 (ja) | 分析装置、分析方法および分析プログラム | |
CN105446879A (zh) | 一种基于分布式计算的自动化测试框架 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |