CN110990285B - 一种ui自动化测试方法及装置 - Google Patents
一种ui自动化测试方法及装置 Download PDFInfo
- Publication number
- CN110990285B CN110990285B CN201911254674.3A CN201911254674A CN110990285B CN 110990285 B CN110990285 B CN 110990285B CN 201911254674 A CN201911254674 A CN 201911254674A CN 110990285 B CN110990285 B CN 110990285B
- Authority
- CN
- China
- Prior art keywords
- test
- test result
- software
- tested
- function
- 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 361
- 230000006870 function Effects 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000010998 test method Methods 0.000 claims abstract description 10
- 238000003062 neural network model Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种UI自动化测试方法及装置,该方法包括:获取待测试软件与参照软件均具有的共同功能,根据共同功能确定对应的测试操作;获取待测试软件执行测试操作生成的第一测试结果以及参照软件执行测试操作生成的第二测试结果;将测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断第一测试结果与第二测试结果是否存在差异;若存在差异,则根据第一测试结果、第二测试结果以及对应的测试操作生成差异报告。本发明通过将待测试软件与参照软件执行相同的操作,比较两者的测试结果是否有差异,完成待测试软件的测试,减少测试工作量,提高测试效率以及准确率,并且不需要编写自动化用例及维护用例,降低测试成本。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种UI自动化测试方法及装置。
背景技术
软件测试是软件开发过程中不可缺少的,由测试工具按照一定的测试方案和流程进行测试操作,其目的是发现潜伏在软件中的缺陷,减少软件开发和维护成本,促进软件质量提升。在各类型的自动化软件测试中,最接近用户需求的软件测试是与用户交互相关的,即用户界面测试,用户界面测试英文名为User interface testing,简称UI测试,主要指测试用户界面的功能模块的布局是否合理、整体风格是否一致以及各个控件的放置位置是否符合客户使用习惯等,更重要的是测试用户界面是否操作便捷,导航简单易懂,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等等。
虽然当前互联网测试中,针对网页功能的测试已使用自动化执行脚本(称为UI执行脚本)模拟用户行为,然后在执行框架(称为UI执行框架)下对网页进行UI自动化测试。但是,随着技术日新月异,用户对软件产品的功能需求越来越多样化,因而软件产品的版本更迭也是层出不穷。软件新版本发布改动的功能点总归有限,而绝大部分功能都没有改动,即新版本的软件产品中会增加新的功能,但是旧版本的绝大部分功能仍会被新版本沿用。
新版本的软件产品在投入使用前需要进行UI测试方式,若是采用常规的UI测试方式,需要对新版本的软件产品的所有功能进行测试,而软件产品的功能很多,因而测试工作量会很大,耗时耗力。
因此,亟需提出一种新的UI测试方法,以解决上述问题。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种UI自动化测试方法,以克服现有技术中需要花费大量人力物力来编写自动化用例及维护用例、成本巨大、稳定性不高、测试工作量大、耗时耗力等问题。
为解决上述一个或多个技术问题,本发明采用的技术方案是:
一方面,提供了一种UI自动化测试方法,该方法包括如下步骤:
获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作;
获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果;
将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异;
若存在差异,则根据所述第一测试结果、所述第二测试结果以及对应的测试操作生成差异报告。
进一步的,所述获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作包括:
根据预先维护的功能与操作关联表查询所述共同功能对应的所有操作;
根据所述所有操作生成对应的测试操作。
进一步的,所述获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果包括:
使用所述待测试软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第一测试结果;
使用所述参照软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第二测试结果。
进一步的,所述将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异包括:
利用预先训练的神经网络模型提取所述第一测试结果的第一特征以及第二测试结果的第二特征;
根据所述第一特征以及所述第二特征计算得到所述第一测试结果与所述第二测试结果的相似度;
将所述相似度与预设阈值进行比较,若所述相似度小于所述预设阈值,则判定所述第一测试结果与所述第二测试结果存在差异。
进一步的,所述方法还包括:
将所述差异报告发送给业务人员,以供所述业务人员进行差异分析。
另一方面,提供了一种UI自动化测试装置,所述装置包括:
操作获取模块,用于获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作;
结果获取模块,用于获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果;
差异比较模块,用于将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异;
报告生成模块,用于若存在差异,则根据所述第一测试结果、所述第二测试结果以及对应的测试操作生成差异报告。
进一步的,所述操作获取模块包括:
操作查询单元,用于根据预先维护的功能与操作关联表查询所述共同功能对应的所有操作;
操作生成单元,用于根据所述所有操作生成对应的测试操作。
进一步的,所述结果获取模块包括:
第一生成单元,用于使用所述待测试软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第一测试结果;
第二生成单元,用于使用所述参照软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第二测试结果。
进一步的,所述差异比较模块包括:
特征提取单元,用于利用预先训练的神经网络模型提取所述第一测试结果的第一特征以及第二测试结果的第二特征;
相似度计算单元,用于根据所述第一特征以及所述第二特征计算得到所述第一测试结果与所述第二测试结果的相似度;
第二比较单元,用于将所述相似度与预设阈值进行比较,若所述相似度小于所述预设阈值,则判定所述第一测试结果与所述第二测试结果存在差异。
进一步的,所述装置还包括:
报告发送模块,用于将所述差异报告发送给业务人员,以供所述业务人员进行差异分析。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的UI自动化测试方法及装置,通过获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作,获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果,将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异,若存在差异,则根据所述第一测试结果、所述第二测试结果以及对应的测试操作生成差异报告,即通过将待测试软件与参照软件执行相同的操作,比较两者的测试结果是否有差异,完成待测试软件的测试,减少测试工作量,提高测试效率以及准确率,并且不需要编写自动化用例及维护用例,降低测试成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的UI自动化测试方法的流程图;
图2是根据一示例性实施例示出的获取待测试软件与参照软件均具有的共同功能,根据共同功能确定对应的测试操作的流程图;
图3是根据一示例性实施例示出的获取待测试软件执行测试操作生成的第一测试结果以及参照软件执行测试操作生成的第二测试结果的流程图;
图4是根据一示例性实施例示出的将测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异的流程图;
图5是根据一示例性实施例示出的UI自动化测试装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本申请实施例提供的具体实现方案,下面对实际应用中的一些可能导致需要花费大量人力物力来编写自动化用例及维护用例、成本巨大、稳定性不高、测试工作量大、耗时耗力等问题的应用场景进行说明。
随着用户的需求越来越多,软件版本的更迭也层出不穷,但是一般新版本的软件(即待测试软件)改动的功能点有限,而绝大部分都没有改动,即沿用旧版本的绝大部分功能点。新版本的软件在发布前均需要进行一些必要测试,其中就包括UI测试,而一般软件均会包含无数的功能,针对这些功能通常需要花费大量的人力和物力来编写及维护自动化用例,耗时耗力。
本申请实施例中就是针对上述情况,提供了相应的改进方案。在该方案中通过对新旧两个版本,进行相同的操作,然后对结果进行对比,即将待测试软件与参照软件执行相同的操作,比较两者的测试结果是否有差异,从而测试待测试软件与旧版本的共同功能是否一致,减少测试工作量,提高测试效率以及准确率,并且不需要编写自动化用例及维护用例,降低测试成本。
下面对本申请实施例提供的具体实现方案进行详细介绍。
实施例一
图1是根据一示例性实施例示出的UI自动化测试方法的流程图,参照图1所示,该方法包括如下步骤:
S1:获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作。
具体的,由于一般在软件新版本发布时,新版本的软件改动的功能点有限,而绝大部分都没有改动,即沿用旧版本的绝大部分功能点,本发明实施例中利用该特性,通过对新旧两个版本进行相同的操作,然后对两者结果进行对比,从而测试出新版本软件与旧版本软件的共同功能是否一致。这里需要说明的是,新版本软件即为本发明实施例中的待测试软件,旧版本软件即为本发明实施例中的参照软件。
因此,本发明实施例中,需要先确定出待测试软件与参照软件均具有的共同功能,获取这些共同功能,然后根据这些共同功能确定对应的测试操作,以对待测试软件进行测试。这里需要说明的是,本发明实施例中的测试操作包括与软件相关的业务操作,例如,针对购物app,可以使用其常用的操作流程为测试操作,即登录—>搜索“商品A”—>点击进入详情—>查看详细信息后—>加入购物车—>提交订单等业务操作步骤。
S2:获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果。
具体的,根据待测试软件与参照软件的共同功能确定出对应的测试操作后,在同一操作系统下分别使用待测试软件执行该测试操作,获取对应的第一测试结果,以及使用参照软件执行该测试操作,获取对应的第二测试结果。这里需要说明的是,本发明实施例中,测试结果可以是执行测试操作中的每一步骤所对应的显示页面。例如,在某一操作系统下,使用旧版本购物软件搜索商品A,得到搜索页面A,这里的搜索页面A即为测试结果。
这里需要说明的是,为了保证待测试软件和参照软件执行相同的测试操作,本发明实施例中,还可以设置一控制器,用于控制待测试软件和参照软件,使它们执行相同的测试操作。
S3:将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异。
具体的,以显示页面为例,本发明实施例中的第一测试结果以及第二测试结果可以由单个页面组成,也可以由多个页面组成。具体实施时,为了提高测试的准确性,在将第一测试结果与第二测试结果进行比较时,需要将待测试软件与参照软件在执行测试操作中的同一步骤所产生的显示页面进行比较,判断两者之间是否存在差异。例如,在某一操作系统下,使用旧版本购物软件搜索商品A,得到搜索页面A,使用新版本购物软件搜索商品A,得到搜索页面B,进行测试结果比较时,是将搜索页面A与搜索页面B进行比较,获取两者是否存在差异。
S4:若存在差异,则根据所述第一测试结果、所述第二测试结果以及对应的测试操作生成差异报告。
具体的,若是第一测试结果与第二测试结果比较下来存在差异,则说明待测试软件与参照软件均具有的共同功能不一致,后续需要对待测试软件中的相应功能进行改进,此时,可以生成一差异报告,以记录所存在的差异,其中,差异报告中需要记录第一测试结果、第二测试结果以及对应的测试操作等信息,以便后续根据差异报告进行具体的差异分析。若是第一测试结果与第二测试结果比较下来不存在差异,则说明待测试软件与参照软件均具有的共同功能一致,此时,不需要生成差异报告。
图2是根据一示例性实施例示出的获取待测试软件与参照软件均具有的共同功能,根据共同功能确定对应的测试操作的流程图,参照图2所示,作为一种较优的实施方式,本发明实施例中,所述获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作包括:
S101:根据预先维护的功能与操作关联表查询所述共同功能对应的所有操作。
具体的,本发明实施例中,为了进一步提高测试效率,可以预先维护一功能与操作关联表,该功能与操作关联表用于记录各个功能与用于测试该功能的操作之间的对应关系。在获取到待测试软件与参照软件均具有的共同功能后,可以直接在该功能与操作关联表中查询出各共同功能所对应的操作,这样可以快速确定出各个共同功能采用何种操作进行测试,提高效率。
S102:根据所述所有操作生成对应的测试操作。
具体的,将上述功能与操作关联表中查询出各共同功能所对应的操作集合在一起,生成针对该待测试软件与参照软件对应的共同功能的测试操作。
图3是根据一示例性实施例示出的获取待测试软件执行测试操作生成的第一测试结果以及参照软件执行测试操作生成的第二测试结果的流程图,参照图3所示,作为一种较优的实施方式,本发明实施例中,所述获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果包括:
S201:使用所述待测试软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第一测试结果。
具体的,本发明实施例中,测试结果包括相应软件执行测试操作的过程中产生的显示页面。在获取第一测试结果时,可以对待测试软件执行上述测试操作中的每一步骤所对应的页面进行截图,然后将这些截图全部作为第一测试结果。这里需要说明的是,这里的截图只是其中一种获取测试结果的手段,本发明实施例中,不对获取测试结果的具体实施方式做限定,用户可以根据实际需求选取其他实施方式进行。
S202:使用所述参照软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第二测试结果。
具体的,同样的,在获取第二测试结果时,可以对参照软件执行上述测试操作中的每一步骤所对应的页面进行截图,然后将这些截图全部作为第二测试结果。
例如,在某一操作系统下,使用旧版本购物软件搜索商品A,得到搜索页面A,使用新版本购物软件搜索商品A,得到搜索页面B,在获取测试结果时,对搜索页面A进行截图,作为第一测试结果,对搜索页面B进行截图,作为第二测试结果。
这里还需要说明的是,本发明实施例中,不对步骤S201与步骤S202的执行先后顺序进行限定,即可以先执行步骤S201,然后执行步骤S202,也可以先执行步骤S202,然后执行步骤S201,还可以同时执行步骤S201和步骤S202。
图4是根据一示例性实施例示出的将测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异的流程图,参照图4所示,作为一种较优的实施方式,本发明实施例中,所述将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异包括:
S301:利用预先训练的神经网络模型提取所述第一测试结果的第一特征以及第二测试结果的第二特征。
具体的,本发明实施例中,在判断所第一测试结果与第二测试结果是否存在差异时,可以通过计算第一测试结果与第二测试结果相似度来实现。以测试结果为显示页面的截图为例,在计算图片相似度时需要使用图片的特征,因此,在具体实施时,首先需要使用准备好的训练数据训练一神经网络模型,然后利用该神经网络模型提取出第一测试结果的第一特征以及第二测试结果的第二特征。这里需要说明的是,本发明实施例中,不对神经网络模型做具体限定,用户可以根据实际需求进行选择。
S302:根据所述第一特征以及所述第二特征计算得到所述第一测试结果与所述第二测试结果的相似度。
具体的,采用预设的图片相似度算法对第一特征以及第二特征进行计算,以获取第一测试结果与第二测试结果的相似度,例如,利用第一特征以及第二特征计算cos距离作为相似度量等。这里需要说明的是,本发明实施例中,同样不对图片相似度算法做具体限定,用户可以根据实际需求进行选择。
S303:将所述相似度与预设阈值进行比较,若所述相似度小于所述预设阈值,则判定所述第一测试结果与所述第二测试结果存在差异。
具体的,本发明实施例中,还需要设置一个预设阈值,预设阈值的具体数值本发明实施例中不做限定,测试人员可以根据实际需求自行进行设置。在计算得到第一测试结果与第二测试结果的相似度后,将该相似度与预设阈值进行比较,当该相似度小于该预设阈值时,判定第一测试结果与第二测试结果存在差异,否则,判定第一测试结果与第二测试结果不存在差异。
作为一种较优的实施方式,本发明实施例中,所述方法还包括:
将所述差异报告发送给业务人员,以供所述业务人员进行差异分析。
具体的,通常在测试出待测试软件与参照软件所具有的共同功能存在差异后,业务人员后续还需要对存在的差异进行分析处理,因此,在生成差异报告后,还需要将该差异报告发送给相应的业务人员,以方便业务人员根据该差异报告进行具体的差异分析。
实施例二
图5是根据一示例性实施例示出的UI自动化测试装置的结构示意图,参照图5所示,该装置包括:
操作获取模块,用于获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作;
结果获取模块,用于获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果;
差异比较模块,用于将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异;
报告生成模块,用于若存在差异,则根据所述第一测试结果、所述第二测试结果以及对应的测试操作生成差异报告。
作为一种较优的实施方式,本发明实施例中,所述操作获取模块包括:
操作查询单元,用于根据预先维护的功能与操作关联表查询所述共同功能对应的所有操作;
操作生成单元,用于根据所述所有操作生成对应的测试操作。
作为一种较优的实施方式,本发明实施例中,所述结果获取模块包括:
第一生成单元,用于使用所述待测试软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第一测试结果;
第二生成单元,用于使用所述参照软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第二测试结果。
作为一种较优的实施方式,本发明实施例中,所述差异比较模块包括:
特征提取单元,用于利用预先训练的神经网络模型提取所述第一测试结果的第一特征以及第二测试结果的第二特征;
相似度计算单元,用于根据所述第一特征以及所述第二特征计算得到所述第一测试结果与所述第二测试结果的相似度;
第二比较单元,用于将所述相似度与预设阈值进行比较,若所述相似度小于所述预设阈值,则判定所述第一测试结果与所述第二测试结果存在差异。
作为一种较优的实施方式,本发明实施例中,所述装置还包括:
报告发送模块,用于将所述差异报告发送给业务人员,以供所述业务人员进行差异分析。
综上所述,本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的UI自动化测试方法及装置,通过获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作,获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果,将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异,若存在差异,则根据所述第一测试结果、所述第二测试结果以及对应的测试操作生成差异报告,即通过将待测试软件与参照软件执行相同的操作,比较两者的测试结果是否有差异,完成待测试软件的测试,减少测试工作量,提高测试效率以及准确率,并且不需要编写自动化用例及维护用例,降低测试成本。
需要说明的是:上述实施例提供的UI自动化测试装置在触发测试业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的UI自动化测试装置与UI自动化测试方法实施例属于同一构思,即该装置是基于该UI自动化测试方法的,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种UI自动化测试方法,其特征在于,所述方法包括如下步骤:
获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作;
获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果;
将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异;
若存在差异,则根据所述第一测试结果、所述第二测试结果以及对应的测试操作生成差异报告;
所述待测试软件为对所述参照软件进行更新得到,所述待测试软件与所述参照软件存在不同功能;
所述获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作包括:
根据预先维护的功能与操作关联表查询所述共同功能对应的所有操作;
根据所述所有操作生成对应的测试操作;将所述功能与操作关联表中查询出各所述共同功能所对应的操作集合在一起,生成针对所述待测试软件与参照软件对应的共同功能的测试操作;
所述功能与操作关联表用于记录各个功能与用于测试该功能的操作之间的对应关系。
2.根据权利要求1所述的UI自动化测试方法,其特征在于,所述获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果包括:
使用所述待测试软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第一测试结果;
使用所述参照软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第二测试结果。
3.根据权利要求1所述的UI自动化测试方法,其特征在于,所述将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异包括:
利用预先训练的神经网络模型提取所述第一测试结果的第一特征以及第二测试结果的第二特征;
根据所述第一特征以及所述第二特征计算得到所述第一测试结果与所述第二测试结果的相似度;
将所述相似度与预设阈值进行比较,若所述相似度小于所述预设阈值,则判定所述第一测试结果与所述第二测试结果存在差异。
4.根据权利要求1所述的UI自动化测试方法,其特征在于,所述方法还包括:
将所述差异报告发送给业务人员,以供所述业务人员进行差异分析。
5.一种UI自动化测试装置,其特征在于,所述装置包括:
操作获取模块,用于获取待测试软件与参照软件均具有的共同功能,根据所述共同功能确定对应的测试操作;
结果获取模块,用于获取所述待测试软件执行所述测试操作生成的第一测试结果以及所述参照软件执行所述测试操作生成的第二测试结果;
差异比较模块,用于将所述测试操作中每一步骤对应的第一测试结果以及第二测试结果进行比较,判断所述第一测试结果与第二测试结果是否存在差异;
报告生成模块,用于若存在差异,则根据所述第一测试结果、所述第二测试结果以及对应的测试操作生成差异报告;
所述待测试软件为对所述参照软件进行更新得到,所述待测试软件与所述参照软件存在不同功能;
所述操作获取模块包括:
操作查询单元,用于根据预先维护的功能与操作关联表查询所述共同功能对应的所有操作;
操作生成单元,用于根据所述所有操作生成对应的测试操作;将所述功能与操作关联表中查询出各所述共同功能所对应的操作集合在一起,生成针对所述待测试软件与参照软件对应的共同功能的测试操作;
所述功能与操作关联表用于记录各个功能与用于测试该功能的操作之间的对应关系。
6.根据权利要求5所述的UI自动化测试装置,其特征在于,所述结果获取模块包括:
第一生成单元,用于使用所述待测试软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第一测试结果;
第二生成单元,用于使用所述参照软件执行所述测试操作,对所述测试操作中每一步骤所对应的页面进行截图,生成第二测试结果。
7.根据权利要求5所述的UI自动化测试装置,其特征在于,所述差异比较模块包括:
特征提取单元,用于利用预先训练的神经网络模型提取所述第一测试结果的第一特征以及第二测试结果的第二特征;
相似度计算单元,用于根据所述第一特征以及所述第二特征计算得到所述第一测试结果与所述第二测试结果的相似度;
第二比较单元,用于将所述相似度与预设阈值进行比较,若所述相似度小于所述预设阈值,则判定所述第一测试结果与所述第二测试结果存在差异。
8.根据权利要求5所述的UI自动化测试装置,其特征在于,所述装置还包括:
报告发送模块,用于将所述差异报告发送给业务人员,以供所述业务人员进行差异分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911254674.3A CN110990285B (zh) | 2019-12-09 | 2019-12-09 | 一种ui自动化测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911254674.3A CN110990285B (zh) | 2019-12-09 | 2019-12-09 | 一种ui自动化测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990285A CN110990285A (zh) | 2020-04-10 |
CN110990285B true CN110990285B (zh) | 2024-02-02 |
Family
ID=70091729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911254674.3A Active CN110990285B (zh) | 2019-12-09 | 2019-12-09 | 一种ui自动化测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990285B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346975A (zh) * | 2020-11-09 | 2021-02-09 | 广州小鹏自动驾驶科技有限公司 | 一种汽车软件评估装置 |
CN112416785A (zh) * | 2020-11-27 | 2021-02-26 | 广州品唯软件有限公司 | 切词工具版本差异测试方法、装置、设备和存储介质 |
CN112732579B (zh) * | 2021-01-11 | 2023-05-02 | 深圳市瑞云科技有限公司 | 一种WebUI的自动化测试方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294150A (zh) * | 2016-08-09 | 2017-01-04 | 北京神州绿盟信息安全科技股份有限公司 | 一种测试加载方法及装置 |
CN106897216A (zh) * | 2017-02-13 | 2017-06-27 | 北京趣拿软件科技有限公司 | 测试软件的方法和装置 |
CN109214238A (zh) * | 2017-06-30 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 多目标跟踪方法、装置、设备及存储介质 |
CN110046101A (zh) * | 2019-04-15 | 2019-07-23 | 腾讯音乐娱乐科技(深圳)有限公司 | 页面自动化测试方法、装置及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135151B2 (en) * | 2013-09-18 | 2015-09-15 | Yahoo! Inc. | Automatic verification by comparing user interface images |
-
2019
- 2019-12-09 CN CN201911254674.3A patent/CN110990285B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294150A (zh) * | 2016-08-09 | 2017-01-04 | 北京神州绿盟信息安全科技股份有限公司 | 一种测试加载方法及装置 |
CN106897216A (zh) * | 2017-02-13 | 2017-06-27 | 北京趣拿软件科技有限公司 | 测试软件的方法和装置 |
CN109214238A (zh) * | 2017-06-30 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 多目标跟踪方法、装置、设备及存储介质 |
CN110046101A (zh) * | 2019-04-15 | 2019-07-23 | 腾讯音乐娱乐科技(深圳)有限公司 | 页面自动化测试方法、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110990285A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及系统 | |
US9448908B2 (en) | System and method for model based session management | |
WO2018010552A1 (zh) | 测试方法和装置 | |
CN108959059B (zh) | 一种测试方法以及测试平台 | |
CN110990285B (zh) | 一种ui自动化测试方法及装置 | |
US20140074452A1 (en) | System and method for automatic modeling of an application | |
CN110096434A (zh) | 一种接口测试方法及装置 | |
CN110959153B (zh) | 使用灵活后处理的应用分析 | |
US20130080834A1 (en) | Computer product, test support method, and test support apparatus | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
US11436133B2 (en) | Comparable user interface object identifications | |
CN113448845A (zh) | 一种ui自动化测试方法及系统 | |
CN115982005A (zh) | 基于人工智能的自动化测试方法和装置 | |
CN111459796A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN117076316A (zh) | 车载应用测试方法、系统、电子设备及存储介质 | |
CN106528429A (zh) | 一种ui界面测试方法及装置 | |
CN112685312A (zh) | 一种未覆盖代码的测试用例推荐方法及装置 | |
CN115576600A (zh) | 基于代码变更的差异处理方法、装置、终端及存储介质 | |
CN111008140B (zh) | 一种跨平台的ui自动化测试方法及装置 | |
CN113126993B (zh) | 应用于车辆检测软件的自动化测试方法及其系统 | |
CN114897296A (zh) | Rpa流程标注方法、执行过程回放方法及存储介质 | |
CN112633194A (zh) | 屏内指纹检测方法及装置 | |
CN113722203A (zh) | 程序测试方法及装置、电子设备和计算机可读存储介质 | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
CN116483700A (zh) | 一种基于反馈机制的api误用检测与修正方法 |
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 |