CN112052174A - 一种软件对比方法、装置、计算机设备及存储介质 - Google Patents
一种软件对比方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112052174A CN112052174A CN202010927820.0A CN202010927820A CN112052174A CN 112052174 A CN112052174 A CN 112052174A CN 202010927820 A CN202010927820 A CN 202010927820A CN 112052174 A CN112052174 A CN 112052174A
- Authority
- CN
- China
- Prior art keywords
- software
- image
- data
- comparison
- page
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012360 testing method Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000011161 development Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000013079 data visualisation Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
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)
Abstract
本发明公开了一种软件对比方法、装置、计算机设备及存储介质,包括:获取输入第二软件输出的数据后,输入第一软件;待第一软件的在数据输入后的页面加载完成后进行截图获得第一图像,待第二软件的在数据输入后的页面加载完成后进行截图获得第二图像;对比第一图像与第二图像的异同。采用本发明,能够很好地自动完成准确度高的UI对比,能够快速的测试出有没有对其他不需要变动的模块造成的影响。
Description
技术领域
本发明涉及软件处理领域,特别涉及一种软件对比方法、装置、计算机设备及存储介质。
背景技术
代码修改后可能会对其他模块产生未知影响,但是测试不可能全部回归测试一遍,因此需要解决快速找到软件开发中新做的需求是否对其他模块产生未知的影响的问题。
而测试对于软件开发来说是非常重要的,尤其是在新需求开发完成,要验证有没有对其他不需要变动的模块造成未知的影响,简单的测试是很容易的,但是细节的测试是很难达到的,尤其是在新需求开发完成后,验证新需求有没有对其他模块产生影响非常困难。
在数据可视化图表类的项目中UI(用户界面,User Interface)界面测试尤为困难,目前只能使用人工测试,一点一点看的,找不同。
显然,现有技术的不足在于,该方式很浪费时间,人工消耗大,准确性低。
发明内容
本发明提供了一种软件对比方法、装置、计算机设备及存储介质,用以解决UI界面测试效率低的问题。
本发明实施例中提供了一种软件对比方法,其特征在于,包括:
获取第二软件输出的数据后,输入第一软件;
待第一软件的在数据输入后的页面加载完成后进行截图获得第一图像,待第二软件的在数据输入后的页面加载完成后进行截图获得第二图像;
对比第一图像与第二图像的异同。
实施中,所述第二软件是基于第一软件进行修改的软件;或,
所述第二软件是对第一软件进行修改后的软件;或,
所述第二软件是第一软件的测试版本软件。
实施中,对比第一图像与第二图像的异同,是在像素级上进行对比。
实施中,对比第一图像与第二图像的异同,是使用图像对比库进行对比的。
实施中,获取输入第一软件的数据,是在访问第一软件时将请求修改为第二软件的接口,并将第二软件接口返回的数据作为第一软件的数据输入第一软件。
本发明实施例中还提供了一种软件对比装置,包括:
数据模块,用于获取第二软件返回的数据后,输入第一软件;
截图模块,用于待第一软件的在数据输入后的页面加载完成后进行截图获得第一图像,待第二软件的在数据输入后的页面加载完成后进行截图获得第二图像;
对比模块,用于对比第一图像与第二图像的异同。
实施中,所述第二软件是基于第一软件进行修改的软件;或,
所述第二软件是对第一软件进行修改后的软件;或,
所述第二软件是第一软件的测试版本软件。
实施中,对比模块进一步用于在像素级上对比第一图像与第二图像的异同。
实施中,数据模块进一步用于在获取输入第一软件的数据时,将访问第一软件时将请求修改为第二软件的接口,并将第二软件接口返回的数据作为第一软件的数据输入第一软件。
实施中,对比模块进一步用于使用图像对比库对比第一图像与第二图像的异同。
本发明实施例中还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述软件对比方法。
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述软件对比方法的计算机程序。
本发明有益效果如下:
在本发明实施例提供的技术方案中,由于两个软件输入的数据相同,并且在页面加载完成后进行截图,对获取的图像进行对比,因此能够很好地自动完成准确度高的UI对比,能够快速的测试出有没有对其他不需要变动的模块造成的影响。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中软件对比方法实施流程示意图1;
图2为本发明实施例中软件对比方法实施流程示意图2;
图3为本发明实施例中软件对比方法实施流程示意图3;
图4为本发明实施例中校验页面地址列表示意图;
图5为本发明实施例中软件对比装置结构示意图。
具体实施方式
发明人在发明过程中注意到:
在数据可视化图表类的项目中UI界面测试中,若采用人工回归测试,则至少有以下不足之一:
a.人工成本非常大;
b.测不全,还会经常漏测。
若采用自动化测试,则至少有以下不足之一:
a.自动化测试开发成本大,很多公司都没有完整的自动化测试,或者就没有自动化测试;
b.自动化测试脚本是要一直维护的,维护成本高;
c.自动化测试虽然有很多优势,但是在前端界面UI细节上的有点疲软,尤其是数据可视化这类图表的需求上,无法对比到每个图标是否有改动这种细节,而对于数据可视化图表类的项目前端UI展示是非常严格的。
因此,人工测试、自动化测试都侧重于业务逻辑功能上,对界面细节的测试结果和效果都不完美。
基于此,本发明实施例中提供了一种软件对比方案,提供了一种精确验证代码修改后的影响范围的方案,可以用于快速验证代码修改后对其他模块是否产生影响。下面结合附图对本发明的具体实施方式进行说明。
图1为软件对比方法实施流程示意图1,如图所示,可以包括:
步骤101、获取第二软件输出的数据后,输入第一软件;
步骤102、待第一软件的在数据输入后的页面加载完成后进行截图获得第一图像,待第二软件的在数据输入后的页面加载完成后进行截图获得第二图像;
步骤103、对比第一图像与第二图像的异同。
实施中,所述第二软件是基于第一软件进行修改的软件,例如各版本的不同软件;或,
所述第二软件是对第一软件进行修改后的软件,例如,第一软件正在使用,而第二软件是对它的正在改进中的软件;或,
所述第二软件是第一软件的测试版本软件。
下面以实施例进行说明,例中第一软件是线上环境或其他环境下所使用的软件,第二软件是本地或者测试环境下所使用的软件。
图2为软件对比方法实施流程示意图2,方案设计实现思路如图2所示为:
方案使用本地或者测试环境数据运行在不同环境的代码中,将得到的结果进行对比,这样就保持了数据一致的前提,唯一不变的就是执行代码,即可以校验做需求时新添加或者修改的代码是否对其他模块产生了未知的影响。
在软件系统中有线上环境和其他环境,使用的是本地或者测试环境进行对比,每个环境都由执行代码和数据组成,由于线上数据不可改动,因此对两个环境的代码都使用本地或者测试环境的数据,保证数据源一致,这种条件下通过对截图进行像素级对比时只要有不同的就证明是新增的或者修改的代码对其他模块产生的影响,也即,对比第一图像与第二图像的异同,是在像素级上进行对比。。
图3为软件对比方法实施流程示意图3,图4为校验页面地址列表示意图,具体的执行流程如图3所示可以为:
工具中有一个配置文件,里边是所有的校验页面的URL(统一资源定位符,UniformResource Locator)地址列表如图4所示,其中path(路径)代表了需要校验页面的路由地址,title(标题)为检验页面的标题,下方的targetDomain(目标域)和sourceDomain(来源域)分别是线上环境地址和本地或者测试环境地址。
程序开始是读取配置文件中配置,将path和targetDomain或sourceDomain拼接得到URL最终的URL地址,循环访问地址,循环是判断地址是线上环境还是本地或测试环境,若为本地或者测试环境则不拦截请求正常执行,待页面加载完成后截图并保存,若为线上环境则将请求转发至本地或者测试环境来获取本地或者测试数据并返回至线上环境进行渲染,待页面加载完成后进行截图并保存。也即,获取输入第一软件的数据,是访问第一软件时将请求修改为第二软件的接口,并将第二软件接口返回的数据作为第一软件的数据输入第一软件。
至此,后边使用图像对比库进行图像对比,完成后自动打开对比结果地址进行结果查看。也即,对比第一图像与第二图像的异同,是使用图像对比库进行对比的。
实施中,至少可以使用react搭建工具,使用Jquery构建展示界面,使用pixelmatch图像对比库进行图像对比,但并不限与其他同样满足工具搭建,图像对比工具。
在实施中使用上述软件工具,是因为其比较常用、典型,所以这里以react、Jquery、pixelmatch为例;但是,用其它的软件工具也是可以的,例中仅用于教导本领域技术人员具体如何实施本发明,但不意味仅能使用上述软件,实施过程中可以结合实践需要来确定相应的软件。
实施例中所对比的源和目标是非线上和线上环境,但显然也能适用于非线上和线上两两组合相互对比。
基于同一发明构思,本发明实施例中还提供了一种软件对比装置、计算机设备、计算机可读存储介质,由于这些设备解决问题的原理与软件对比方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
图5为软件对比装置结构示意图,如图所示,可以包括:
数据模块501,用于获取第二软件输出的数据后,输入第一软件;
截图模块502,用于待第一软件的在数据输入后的页面加载完成后进行截图获得第一图像,待第二软件的在数据输入后的页面加载完成后进行截图获得第二图像;
对比模块503,用于对比第一图像与第二图像的异同。
实施中,所述第二软件是基于第一软件进行修改的软件;或,
所述第二软件是对第一软件进行修改后的软件;或,
所述第二软件是第一软件的测试版本软件。
实施中,对比模块进一步用于在像素级上对比第一图像与第二图像的异同。
实施中,数据模块进一步用于在获取输入第一软件的数据时,将访问第一软件时将请求修改为第二软件的接口,并将第二软件接口返回的数据作为第一软件的数据输入第一软件。
实施中,对比模块进一步用于使用图像对比库对比第一图像与第二图像的异同。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本发明实施例中还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述软件对比方法。
具体实施中可以参见软件对比方法的实施。
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述软件对比方法的计算机程序。
具体实施中可以参见软件对比方法的实施。
综上所述,在本发明实施例提供的技术方案中,使用同一套数据在线上和其他环境中执行,在数据保持一致的前提下对结果进行像素级对比,达到了精确验证代码修改后的是否对其他模块有影响的目的。至少具有如下效果之一:
开发人员在开发中就可以自行测试验证,不用等到开发完提测交给测试人员去测试验证,相当于在提交给测试人员前自行进行了一遍UI的回归测试,大大减少细节bug的产生率,当然测试人员也可以用这个工具再验证一遍。
快速精准,可精准到每个像素上,进行像素级的对比来验证细节。
开发成本低,维护成本低,仅需要维护每个界面的URL。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种软件对比方法,其特征在于,包括:
获取输入第二软件输出的数据后,输入第一软件;
待第一软件的在数据输入后的页面加载完成后进行截图获得第一图像,待第二软件的在数据输入后的页面加载完成后进行截图获得第二图像;
对比第一图像与第二图像的异同。
2.如权利要求1所述的方法,其特征在于,所述第二软件是基于第一软件进行修改的软件;或,
所述第二软件是对第一软件进行修改后的软件;或,
所述第二软件是第一软件的测试版本软件。
3.如权利要求1所述的方法,其特征在于,对比第一图像与第二图像的异同,是在像素级上进行对比。
4.如权利要求1所述的方法,其特征在于,对比第一图像与第二图像的异同,是使用图像对比库进行对比的。
5.如权利要求1所述的方法,其特征在于,获取输入第一软件的数据,是在访问第一软件时将请求修改为第二软件的接口,并将第二软件接口返回的数据作为第一软件的数据输入第一软件。
6.一种软件对比装置,其特征在于,包括:
数据模块,用于获取第二软件输出的数据,输入第一软件;
截图模块,用于待第一软件的在数据输入后的页面加载完成后进行截图获得第一图像,待第二软件的在数据输入后的页面加载完成后进行截图获得第二图像;
对比模块,用于对比第一图像与第二图像的异同。
7.如权利要求1所述的装置,其特征在于,数据模块进一步用于在获取输入第一软件的数据时,将访问第一软件时将请求修改为第二软件的接口,并将第二软件接口返回的数据作为第一软件的数据输入第一软件。
8.如权利要求1所述的装置,其特征在于,对比模块进一步用于使用图像对比库对比第一图像与第二图像的异同。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010927820.0A CN112052174A (zh) | 2020-09-07 | 2020-09-07 | 一种软件对比方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010927820.0A CN112052174A (zh) | 2020-09-07 | 2020-09-07 | 一种软件对比方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112052174A true CN112052174A (zh) | 2020-12-08 |
Family
ID=73607395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010927820.0A Pending CN112052174A (zh) | 2020-09-07 | 2020-09-07 | 一种软件对比方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052174A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090065144A (ko) * | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | 모바일 응용 소프트웨어의 그래픽 사용자 인터페이스테스트 시스템 및 방법 |
CN104216826A (zh) * | 2013-06-05 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 测试方法及装置 |
CN104978270A (zh) * | 2015-07-03 | 2015-10-14 | 上海触乐信息科技有限公司 | 一种自动化地软件测试方法和装置 |
CA2972676A1 (fr) * | 2016-07-07 | 2018-01-07 | Alstom Transport Technologies | Procede de test d'une interface graphique et systeme de test associe |
CN108959068A (zh) * | 2018-06-04 | 2018-12-07 | 广州视源电子科技股份有限公司 | 软件界面测试方法、设备及存储介质 |
CN109918291A (zh) * | 2019-01-17 | 2019-06-21 | 深圳壹账通智能科技有限公司 | 软件界面检测方法、装置、计算机设备及存储介质 |
-
2020
- 2020-09-07 CN CN202010927820.0A patent/CN112052174A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090065144A (ko) * | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | 모바일 응용 소프트웨어의 그래픽 사용자 인터페이스테스트 시스템 및 방법 |
CN104216826A (zh) * | 2013-06-05 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 测试方法及装置 |
CN104978270A (zh) * | 2015-07-03 | 2015-10-14 | 上海触乐信息科技有限公司 | 一种自动化地软件测试方法和装置 |
CA2972676A1 (fr) * | 2016-07-07 | 2018-01-07 | Alstom Transport Technologies | Procede de test d'une interface graphique et systeme de test associe |
CN108959068A (zh) * | 2018-06-04 | 2018-12-07 | 广州视源电子科技股份有限公司 | 软件界面测试方法、设备及存储介质 |
CN109918291A (zh) * | 2019-01-17 | 2019-06-21 | 深圳壹账通智能科技有限公司 | 软件界面检测方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552301B2 (en) | Completing functional testing | |
CN105573911B (zh) | 一种应用弹窗的处理方法和装置 | |
US10049031B2 (en) | Correlation of violating change sets in regression testing of computer software | |
US10592703B1 (en) | Method and system for processing verification tests for testing a design under test | |
US10209984B2 (en) | Identifying a defect density | |
CN111290941A (zh) | 多个接口的测试方法、装置、计算设备和介质 | |
CN112597028A (zh) | 一种用例测试结果的展示方法、装置及可读存储介质 | |
US9697107B2 (en) | Testing applications | |
US11341030B2 (en) | Scriptless software test automation | |
Zhang et al. | Environmental modeling for automated cloud application testing | |
CN111198811A (zh) | 一种页面自动化测试的方法、装置、电子设备及存储介质 | |
US20210263837A1 (en) | Real time fault localization using combinatorial test design techniques and test case priority selection | |
US9563541B2 (en) | Software defect detection identifying location of diverging paths | |
CN111611154B (zh) | 一种回归测试的方法、装置和设备 | |
CN110147313B (zh) | 一种日志输出方法及装置 | |
CN116860608A (zh) | 一种接口测试方法、装置、计算设备及存储介质 | |
CN111078526A (zh) | 一种测试用例的生成方法、装置及存储介质 | |
CN112052174A (zh) | 一种软件对比方法、装置、计算机设备及存储介质 | |
CN108628750B (zh) | 一种测试代码处理方法及装置 | |
CN110941830B (zh) | 一种漏洞数据处理方法和装置 | |
CN112100086B (zh) | 软件自动化测试方法、装置、设备和计算机可读存储介质 | |
CN111008140B (zh) | 一种跨平台的ui自动化测试方法及装置 | |
CN112035364A (zh) | 功能测试结果评估方法及装置 | |
CN113220488B (zh) | 基于移动终端的记录单粘贴方法及装置 | |
Telaga et al. | Development of Quality Assurance Automatic Testing Script to Increase Testing Efficiency for Mobile Applications |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201208 |
|
RJ01 | Rejection of invention patent application after publication |