CN116257426A - 测试关联方法、装置、电子设备及存储介质 - Google Patents
测试关联方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116257426A CN116257426A CN202111510671.9A CN202111510671A CN116257426A CN 116257426 A CN116257426 A CN 116257426A CN 202111510671 A CN202111510671 A CN 202111510671A CN 116257426 A CN116257426 A CN 116257426A
- Authority
- CN
- China
- Prior art keywords
- test
- script
- hash
- hash data
- automatic
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 641
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000013515 script Methods 0.000 claims abstract description 360
- 238000011990 functional testing Methods 0.000 claims abstract description 161
- 230000006870 function Effects 0.000 claims description 71
- 238000012545 processing Methods 0.000 claims description 25
- 238000010586 diagram Methods 0.000 description 21
- 238000004590 computer program Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000009960 carding Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 238000009662 stress testing Methods 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer 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
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种测试关联方法、装置、电子设备及存储介质。通过执行自动化测试脚本文件,获得自动化测试脚本的测试结果;基于该测试结果,更新哈希集合,哈希集合包括多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果。针对功能测试用例文件中的每个功能测试用例,查询哈希集合,获得其键与功能测试用例的名称一致的第一哈希数据,并根据第一哈希数据的值,更新功能测试用例文件中该功能测试用例的测试标识。本申请采用相同的名称建立了自动化测试脚本与功能测试用例的关联,实现了功能测试用例执行结果的自动更新,省时省力,提高了测试效率。
Description
技术领域
本申请涉及测试技术领域,尤其涉及一种测试关联方法、装置、电子设备及存储介质。
背景技术
随着软件工程技术的发展,软件的结构和逻辑越来越复杂,软件的规模也越来越庞大。为了对软件的质量进行检验,降低软件出现缺陷的可能性,需要对软件进行测试。
软件测试按照测试手段可以划分为手动测试和自动化测试。在测试工作中,测试人员在收到需求后先编写功能测试用例用于梳理思路和用例评审,而后将所有可自动化用例统一编写成一个自动化脚本,后续测试工作中已实现自动化用例直接执行自动化脚本,未实现自动化用例手动执行测试,直到全部功能测试用例执行完成即测试完成。其中,自动化用例测试执行完成后,测试人员需根据自动化测试结果手动更新对应的功能测试用例中执行结果为成功或失败。
然而,上述手动同步测试结果的方案,存在耗时耗力效率低的问题。
发明内容
本申请提供一种测试关联方法、装置、电子设备及存储介质,用以解决自动化测试结果与功能测试用例执行结果同步过程中耗时耗力效率低的问题。
第一方面,本申请提供一种测试关联方法,包括:获取功能测试用例文件和自动化测试脚本文件;其中,功能测试用例文件包括多个功能测试用例,自动化测试脚本文件包括多个自动化测试脚本;根据自动化测试脚本文件,执行测试,获得多个自动化测试脚本的测试结果;基于多个自动化测试脚本的测试结果,更新哈希集合,哈希集合包括多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果;针对功能测试用例文件中的每个功能测试用例,查询哈希集合,获得其键与功能测试用例的名称一致的第一哈希数据,并根据第一哈希数据的值,更新功能测试用例文件中该功能测试用例的测试标识,不同的测试标识表征不同的测试结果。
本申请通过将自动化测试脚本和功能测试用例命名为相同的名称,建立了自动化测试脚本的测试结果与功能测试用例的执行结果的关联,实现了功能测试用例执行结果的自动更新,省时省力,提高了测试效率,同时也提高了准确性。
进一步地,基于多个自动化测试脚本的测试结果,更新哈希集合,包括:针对每个自动化测试脚本,执行以下处理:若当前的哈希集合中不存在其键为该自动化测试脚本的名称的哈希数据,则在哈希集合中添加该自动化测试脚本对应的哈希数据;若当前的哈希集合中存在该自动化测试脚本对应的哈希数据,则根据当前该哈希数据的值和自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值。
上述阐明了哈希集合中哈希数据的存储和更新方式。
进一步地,测试结果包括以下之一:通过、不通过以及部分通过;根据当前该哈希数据的值和自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值,包括:若当前该哈希数据的值和自动化测试脚本的测试结果一致,或者,当前该哈希数据的值表征的测试结果为部分通过,则不修改该哈希数据的值;若当前该哈希数据的值表征的测试结果不是部分通过,且当前该哈希数据的值和自动化测试脚本的测试结果不一致,则修改该哈希数据的值;其中,修改后的值表征部分通过。
上述进一步阐述了哈希集合中哈希数据的更新方式。
进一步地,根据自动化测试脚本文件,执行测试,获得多个自动化测试脚本的测试结果,包括:确定自动化测试脚本文件中,多个自动化测试脚本的类型;根据多个自动化测试脚本的类型,执行对应的运行命令,获得自动化测试脚本的测试结果。
上述方法表明本申请支持多种类型自动化测试脚本的运行及结果解析。
进一步地,针对功能测试用例文件中的每个功能测试用例,查询哈希集合,包括:若功能测试用例文件的文件类型为思维导图格式,则获取功能测试用例文件中各叶子节点的名称,并基于各叶子节点的名称查询哈希集合。
上述方法阐述了当功能测试用例文件为思维导图格式时,功能测试用例的执行结果的更新方法。
进一步地,针对功能测试用例文件中的每个功能测试用例,查询哈希集合,包括:若功能测试用例文件的文件类型为列表,则获取功能测试用例文件中测试用例名称列下的各排内容,并基于各排内容查询哈希集合。
上述方法阐述了当功能测试用例文件为列表时,功能测试用例的执行结果的更新方法。
下面介绍本申请提供的装置、设备以及计算机存储介质,其内容和效果可参考方法部分。
第二方面,本申请提供一种测试关联装置,包括:获取模块,用于获取功能测试用例文件和自动化测试脚本文件;其中,功能测试用例文件包括多个功能测试用例,自动化测试脚本文件包括多个自动化测试脚本;处理模块,用于根据自动化测试脚本文件,执行测试,获得多个自动化测试脚本的测试结果;
处理模块,还用于基于多个自动化测试脚本的测试结果,更新哈希集合,哈希集合包括多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果;还用于针对功能测试用例文件中的每个功能测试用例,查询哈希集合,获得其键与功能测试用例的名称一致的第一哈希数据,并根据第一哈希数据的值,更新功能测试用例文件中该功能测试用例的测试标识,不同的测试标识表征不同的测试结果。
进一步地,处理模块基于多个自动化测试脚本的测试结果,更新哈希集合,具体包括:针对每个自动化测试脚本,执行以下处理:若当前的哈希集合中不存在其键为该自动化测试脚本的名称的哈希数据,则在哈希集合中添加该自动化测试脚本对应的哈希数据;若当前的哈希集合中存在该自动化测试脚本对应的哈希数据,则根据当前该哈希数据的值和自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值。
进一步地,测试结果包括以下之一:通过、不通过以及部分通过;根据当前该哈希数据的值和自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值,包括:若当前该哈希数据的值和自动化测试脚本的测试结果一致,或者,当前该哈希数据的值表征的测试结果为部分通过,则不修改该哈希数据的值;若当前该哈希数据的值表征的测试结果不是部分通过,且当前该哈希数据的值和自动化测试脚本的测试结果不一致,则修改该哈希数据的值;其中,修改后的值表征部分通过。
进一步地,处理模块根据自动化测试脚本文件,执行测试,获得多个自动化测试脚本的测试结果,具体包括:确定自动化测试脚本文件中,多个自动化测试脚本的类型;根据多个自动化测试脚本的类型,执行对应的运行命令,获得自动化测试脚本的测试结果。
进一步地,处理模块针对功能测试用例文件中的每个功能测试用例,查询哈希集合,具体包括:若功能测试用例文件的文件类型为思维导图格式,则获取功能测试用例文件中各叶子节点的名称,并基于各叶子节点的名称查询哈希集合。
进一步地,处理模块针对功能测试用例文件中的每个功能测试用例,查询哈希集合,具体包括:若功能测试用例文件的文件类型为列表,则获取功能测试用例文件中测试用例名称列下的各排内容,并基于各排内容查询哈希集合。
第三方面,本申请提供一种电子设备,包括:存储器,处理器;存储器;用于存储处理器可执行指令的存储器;其中,处理器被配置为:根据可执行指令执行如第一方面的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面的方法。
本申请提供的测试关联方法、装置、电子设备及存储介质,通过执行自动化测试脚本文件,获得自动化测试脚本的测试结果;基于该测试结果,更新哈希集合,哈希集合包括多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果。针对功能测试用例文件中的每个功能测试用例,查询哈希集合,获得其键与功能测试用例的名称一致的第一哈希数据,并根据第一哈希数据的值,更新功能测试用例文件中该功能测试用例的测试标识。本申请采用相同的名称,建立了自动化测试脚本的测试结果与功能测试用例的执行结果的关联,实现了功能测试用例执行结果的自动更新,省时省力,提高了测试效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请提供的一种应用场景;
图2为本申请实施例一提供的一种测试关联方法的流程图;
图3为本申请实施例一提供的一种功能测试用例文件的示意图;
图4为本申请实施例一提供的一种自动化测试脚本文件的示意图;
图5为本申请实施例一提供的一种自动化测试脚本文件和功能测试用例文件的输入界面的示意图;
图6为本申请实施例一提供的一种自动化测试结果的示意图;
图7为本申请实施例一提供的自动更新执行结果后的功能测试用例文件的示意图;
图8为本申请实施例二提供的测试关联装置的结构示意图;
图9为本申请实施例三提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
测试用例(Test Case):为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。测试用例的设计方法主要有黑盒测试法和白盒测试法。
功能测试:又称为黑盒测试,着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
自动化测试:把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
Jmeter:是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。
HashMap(哈希映射):基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许使用null值和null键。
哈希表:也叫散列表,是根据关键码值(Key-value)而直接进行访问的数据结构。key是关键字、value是值。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
叶子结点:也称为叶结点、叶节点,是离散数学中的概念。一棵树当中没有子结点(即度为0)的结点称为叶子结点,简称“叶子”。叶子是指出度为0的结点,又称为终端结点。
随着软件工程技术的发展,软件的结构和逻辑越来越复杂,软件的规模也越来越庞大。为了对软件的质量进行检验,降低软件出现缺陷的可能性,需要对软件进行测试。软件测试按照测试手段可以划分为手动测试和自动化测试。测试用例是将软件测试的行为活动做一个科学化的组织归纳,是一种将测试具体量化的方法,目的是能够将软件测试的行为转化成可管理的模式。
在测试工作中,测试人员在收到需求后先编写功能测试用例用于梳理思路和用例评审,而后将所有可自动化用例统一编写成一个自动化脚本。后续测试工作中,已实现自动化的功能测试用例直接执行自动化脚本,未实现自动化的功能测试用例手动执行测试,直到全部功能测试用例执行完成即测试完成。
在此过程中,测试人员通过人工方式手动标识哪些用例未实现自动化需手动测试。同时,自动化测试执行完成后,测试人员可根据自动化测试结果手动更新对应功能测试用例中执行结果为成功或失败。
然而,上述手动同步测试结果的方案,使得自动化测试结果与功能测试用例执行结果同步过程中存在耗时耗力效率低的问题。
本申请提供了一种测试关联方法、装置、电子设备及存储介质,旨在解决现有技术中的如上技术问题。
本申请可以应用于一个软件功能测试的场景,如图1所示。以对某一软件进行功能测试,基于测试需求,技术人员将编写功能测试用例,众多功能测试用例中有的可以自动化执行。将可自动化执行的功能测试用例,对应编写出自动化测试脚本。将功能测试用例文件及对应的自动化测试脚本文件输入测试关联装置中。该装置执行自动化测试脚本,得到自动化测试结果。该装置将自动化测试结果更新给功能测试用例,即基于自动化测试结果,更新对应的功能测试用例的执行结果。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
图2为本申请实施例一提供的测试关联方法的流程图,包括以下步骤:
S101、获取功能测试用例文件和自动化测试脚本文件;其中,功能测试用例文件包括多个功能测试用例,自动化测试脚本文件包括多个自动化测试脚本;
示例性的,图3为本申请实施例一提供的一种功能测试用例文件的示意图,该功能测试用例文件为思维导图(xmind)的形式,该思维导图对应7个叶节点,即最末端不再延伸的节点。7个叶节点分别对应七项功能测试用例。也就是说一个功能测试用例文件可以包括多个功能测试用例。
图3中7条脉络分别是:
脉络1:注册-通过未注册过的手机号注册-注册成功-使用未注册过的手机号注册接口返回注册成功;
脉络2:注册-数据库入库正常-数据库中对应手机号为注册手机号正确-注册成功后校验数据库各字段正常;
脉络3:注册-数据库入库正常-数据库中对应手机号用户状态正常-注册成功后校验数据库各字段正常;
脉络4:注册-数据库入库正常-数据库中对应注册日期正确-注册成功后校验数据库各字段正常;
脉络5:登录-使用任意已注册的手机号登陆-使用任意已注册的手机号登陆可登陆成功;
脉络6:查询用户信息-通过手机号查询用户信息正常-查询用户信息正常;
脉络7:查询用户信息-通过用户id查询用户信息正常-查询用户信息正常。
示例性的,图4为本申请实施例一提供的一种自动化测试脚本文件的示意图,是基于Jmeter编写的自动化测试脚本。在图4所示的界面上,左侧测试计划的线程组中包括8项自动化测试脚本,也就是说一个自动化测试脚本文件可以包括多个自动化测试脚本。
具体的,该自动化测试脚本文件中各自动化测试脚本运行过程依次为:
脚本1:使用未注册过的手机号注册接口返回注册成功;
脚本2:注册成功后校验数据库各字段正常;
脚本3:使用185号段手机号注册;
脚本4:使用任意已注册的手机号登陆可登陆成功;
脚本5:使用170号段手机号注册;
脚本4:使用任意已注册的手机号登陆可登陆成功;
脚本6:使用199号段手机号注册;
脚本4:使用任意已注册的手机号登陆可登陆成功;
脚本7:查询用户信息正常;
脚本8:查询用户信息正常。
参照图3和图4,本申请将自动化测试脚本与功能测试用例进行相同的命名,使二者建立对应关联关系。具体的,自动化测试脚本与功能测试用例的对应关系可以包括以下四种。
第一种:一对一的对应关系,即一个自动化测试脚本对应一个功能测试用例。比如,脉络1的对应的功能测试用例为“使用未注册过的手机号注册接口返回注册成功”,对应的自动化测试脚本为脚本1。当脚本1通过验证,则该功能通过验证。
第二种:一对多的对应关系,即一个自动化测试脚本对应多个功能测试用例。比如,脉络2、脉络3和脉络4的对应的功能测试用例均为“注册成功后校验数据库各字段正常”,对应脚本2。也就是说一个自动化测试脚本对应三个功能测验点。当脚本2通过验证,则三个功能均通过验证。
第三种:多对一的对应关系,即多个自动化测试脚本对应一个功能测试用例。比如,脉络5点对应的功能测试用例为“使用任意已注册的手机号登陆可登陆成功”,对应脚本3、脚本4、脚本5和脚本6。容易理解的,对于“使用任意已注册的手机号登陆可登陆成功”功能的校验,需要对多个号码段(185号码段、170号码段、199号码段)的手机号均进行校验,由于不同的手机号码段对应不同的自动化测试脚本,因此需要依次执行脚本3、脚本4、脚本5、脚本4、脚本6、脚本4。当脚本3、脚本5、脚本6均通过验证,脚本4则通过验证,则该功能通过验证。
第四种:多对多的对应关系,即多个自动化测试脚本对应多个功能测试用例。比如,脉络6和脉络7对应的功能测试用例均为命名“查询用户信息正常”,也就是说这是两个因功能相同而命名相同的功能测试用例。该功能对应脚本6和脚本7两个脚本。
在测试过程中,涉及多个功能测试用例,在进行对应的自动化测试脚本的编写时,采用一对多的对应方式、多对一的对应方式,相较于把每个功能测试用例均对应一个自动化测试脚本的方式,有利于简化自动化测试脚本的编写过程,也降低后期维护难度,且利于重复使用。
另外,实际应用过程中,功能测试用例文件的类型不仅限于图3示例思维导图类型;自动化测试用例文件的类型也不仅限于Jmeter编写。功能测试用例与自动化测试脚本的对应关系也不需要包含上述四种中的全部关系。技术人员可根据实际需求进行功能测试用例的编写,和对应的自动化测试用例的编写,本申请对两者的编写方式及对应关系不做限制。
实际应用过程中,本申请的测试关联方法的执行主体可以为测试关联装置。该装置可以通过计算机程序实现,例如,应用软件等;或者,该装置也可以实现为存储有相关计算机程序的介质,例如,U盘、云盘等;再或者,该装置还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片等。可选的,本实施例中以测试关联装置安装应用于计算机运行作为示例。
S102、根据自动化测试脚本文件,执行测试,获得多个自动化测试脚本的测试结果。
S103、基于多个自动化测试脚本的测试结果,更新哈希集合,哈希集合包括多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果;
具体的,计算机执行自动化测试脚本文件,运行其中各自动化测试脚本,获得多个自动化测试脚本的测试结果。将多个自动化测试脚本测试结果存储于哈希集合。这里需要说明的是,哈希集合包含多个哈希数据,哈希数据结构中包含键(key,关键词)和值(value,关键词对应的值)。本申请将自动化测试脚本的脚本名称存储于每个哈希数据的键中,其对应的值存储相应自动化测试脚本的测试结果。上述的哈希数据结构存储方式,有利于快速查询信息。
S104、针对功能测试用例文件中的每个功能测试用例,查询哈希集合,获得其键与功能测试用例的名称一致的第一哈希数据,并根据第一哈希数据的值,更新功能测试用例文件中该功能测试用例的测试标识,不同的测试标识表征不同的测试结果。
其中,功能测试用例文件中每个功能测试用例的名称与对应的自动化测试脚本的脚本名称相同。基于功能测试用例的名称,可查询到哈希数据中与该名称一致的键和对应的值,即可获得存储的自动化测试脚本的测试结果。基于该结果,更新对应的功能测试用例的测试标识。上述设置,实现了自动化测试结果与功能测试用例的关联,无需手动更新,提高了工作效率,也能保证准确率。
示例性的,哈希数据的值的存储形式可以为“pass”,表征通过;“fail”,表征不通过;“na”表征部分通过。测试标识可以体现为文字形式的“通过”、“不通过”、“部分通过”;也可以为符号对勾,表征通过;叉号,表征不通过;叹号,表征部分通过;也可以用不同颜色,绿色表征通过;红色表征不通过;橙色表征部分通过;还可以为前述方式的结合,比如绿色的对勾,表征通过;红色的叉号表征不通过;橙色的叹号表征部分通过。本申请对于哈希数据的值的存储形式、对于测试标识均不做限定,实际应用过程中,技术人员可根据需求进行个性化设置,只要能正确表征测试结果即可。
进一步地,S103中,基于多个自动化测试脚本的测试结果更新哈希集合的方法具体包括两种情况。具体的,针对每个自动化测试脚本,执行处理如下:
第一种情况:若当前的哈希集合中不存在其键为该自动化测试脚本的名称的哈希数据,则在哈希集合中添加该自动化测试脚本对应的哈希数据。示例性的,执行脚本1时,为第一次执行,哈希数据中还未存储脚本1的脚本名称,所以需要先在哈希集合的键中添加脚本1的名称,同时存储执行脚本1所获得的自动化测试结果。又一示例,当第一次执行脚本4时,哈希数据中还未存储脚本4的脚本名称,所以需要先在哈希集合的键中添加脚本4的名称,同时存储执行脚本4所获得的自动化测试结果。
第二种情况:若当前的哈希集合中存在该自动化测试脚本对应的哈希数据,则根据当前该哈希数据的值和自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值。示例性的,当第二次执行脚本4时,哈希数据的键中已经存储有脚本4的脚本名称,所以需要根据已存在的哈希数据的值和当下获得的自动化测试结果,判断后,更新哈希数据的值。又一示例,当第三次执行脚本4时,哈希数据的键中已经存储有脚本4的脚本名称,所以需要根据已存在的哈希数据的值和当下获得的自动化测试结果,判断后,更新哈希数据的值。
进一步,示例性的,测试结果包括以下之一:通过、不通过以及部分通过。基于此,上述的第二种情况中,根据当前该哈希数据的值和自动化测试脚本的测试结果进行判断后更新哈希数据时,判断时具体包括两情景:
第一种情景:若当前该哈希数据的值和自动化测试脚本的测试结果一致,或者当前该哈希数据的值表征的测试结果为部分通过,则不修改该哈希数据的值。进一步包括以下情况,(1)若当前哈希数据的值为通过,当下获得的自动化测试脚本的测试结果也为通过,则不修改该哈希数据的值,也就是说哈希数据的值依然为通过。(2)若当前哈希数据的值为不通过,当下获得的自动化测试脚本的测试结果也为不通过,则不修改该哈希数据的值,也就是说哈希数据的值依然为不通过。(3)当前哈希数据的值为部分通过,无论当下获得的自动化测试脚本的测试结果也通过、不通过还是部分通过,均不修改该哈希数据的值,也就是说哈希数据的值依然为部分通过。
第二种情景:若当前该哈希数据的值表征的测试结果不是部分通过,且当前该哈希数据的值和自动化测试脚本的测试结果不一致,则修改该哈希数据的值;其中,修改后的值表征部分通过。进一步包括以下情况,(1)若当前哈希数据的值为通过,而当下获得的自动化测试脚本的测试结果为不通过或者部分通过,则修改该哈希数据的值为部分通过。同样的,(2)若当前哈希数据的值为不通过,而当下获得的自动化测试脚本的测试结果为通过或者部分通过,则修改该哈希数据的值为部分通过。
在一个示例中,S102中根据自动化测试脚本文件执行测试的步骤具体包括:S201、确定自动化测试脚本文件中,多个自动化测试脚本的类型;S202、根据多个自动化测试脚本的类型,执行对应的运行命令,获得自动化测试脚本的测试结果。
示例性的,自动化测试用例文件的类型可以为java、python、jmeter等。当为java脚本时,则执行mvn clean test命令;当为python脚本时,则执行python xx.py命令;当为jmeter脚本时,则执行jmeter-n-t xx.jmx命令。本申请支持执行多种类型的自动化测试用例文件,对其类型不做限制,在实际应用过程中,能被计算机执行即可。
进一步地,本申请支持对多种类型的功能测试用例文件建立关联关系。功能测试用例文件的类型可以为思维导图(xmind)、列表(excle)等。具体的,若功能测试用例文件的文件类型为思维导图格式,则获取功能测试用例文件中各叶节点的名称,并基于各叶节点的名称查询哈希集合。若功能测试用例文件的文件类型为列表,则获取功能测试用例文件中测试用例名称列下的各排内容,并基于各排内容查询哈希集合。本申请中功能测试用例文件类型不仅限于这两种,对其类型不做限制,在实际应用过程中,能被计算机识别且能与对应自动化测试用例文件建立关联即可。
下面以思维导图格式的功能测试用例为例和Jmeter编写的自动化测试用例文件为例,对本申请提供的测试关联方法的整体流程进行介绍。
首先,向计算机输入自动化测试脚本文件和对应的功能测试用例文件。图5为本申请实施例一提供的一种自动化测试脚本文件和功能测试用例文件的输入界面的示意图。如图5所示,该界面包括自动化测试用例文件的选择框,包括功能测试用例文件的选择框,还包括“执行自动化”按键。本申请开发了一套前端界面和后端服务,支持选择多种类型功能测试用例文件和与之对应的自动化测试用例文件。当自动化执行完成后可对应更新功能测试用例文件中的执行结果。其中,功能测试用例文件不仅限于图5所示的xmind类型;自动化测试用例文件不仅限于图5所示的jmx类型。
接着,“执行自动化”按键,后台服务器会根据jmx类型的自动化测试用例文件,执行jmeter-n-t xx.jmx命令,获得脚本测试结果。后台服务器会将该测试结果存储于哈希结构的集合中。
具体的,若当前的哈希集合中不存在其键为该自动化测试脚本的名称的哈希数据,则在哈希集合中添加该自动化测试脚本对应的哈希数据。若当前的哈希集合中存在该自动化测试脚本对应的哈希数据,则根据当前该哈希数据的值和自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值。进一步地,若当前该哈希数据的值和自动化测试脚本的测试结果一致,或者当前该哈希数据的值表征的测试结果为部分通过,则不修改该哈希数据的值。若当前该哈希数据的值表征的测试结果不是部分通过,且当前该哈希数据的值和自动化测试脚本的测试结果不一致,则修改该哈希数据的值;其中,修改后的值表征部分通过。
图6为本申请实施例一提供的一种自动化测试结果的示意图。具体的,“用未注册过的手机号注册接口返回注册成功”脚本测试结果为“通过”;“注册成功后校验数据库各字段正常”脚本测试结果为“不通过”;“使用185号段手机号注册”脚本测试结果为“通过”;“使用任意已注册的手机号登陆可登陆成功”脚本测试结果为“部分通过”;“使用170号段手机号注册”脚本测试结果为“通过”;“使用199号段手机号注册”脚本测试结果为“通过”;“查询用户信息正常”脚本测试结果为“通过”。其中,可以理解的,“使用任意已注册的手机号登陆可登陆成功”脚本执行了3次,并未都通过,所以其测试结果为“部分通过”。
最后,根据哈希集合,更新功能测试用例文件中的执行结果。图7为本申请实施例一提供的自动更新执行结果后的功能测试用例文件的示意图,相较于图3增加了测试标识。如图7所示,该执行结果的更新体现在测试标识上,不同的测试标识表征不同的测试结果,具体的,图7中采用了符号对勾表征通过;叉号表征不通过;叹号表征部分通过。
结合图6和图7,“用未注册过的手机号注册接口返回注册成功”功能测试用例前为对勾标识;“注册成功后校验数据库各字段正常”功能测试用例前为叉号标识;“使用任意已注册的手机号登陆可登陆成功”功能测试用例前为叹号标识;“查询用户信息正常”功能测试用例前为对勾标识。
若功能用例文件类型为excel,则更新列表中的执行结果这一列中的内容。可选择文字“成功”、“失败”、“部分通过”;可选择字母“pass”、“fail”、“na”。能够表征清楚结果即可。
本申请提供的测试关联方法,包括:获取功能测试用例文件和自动化测试脚本文件;其中,功能测试用例文件包括多个功能测试用例,自动化测试脚本文件包括多个自动化测试脚本;根据自动化测试脚本文件,执行测试,获得多个自动化测试脚本的测试结果;基于多个自动化测试脚本的测试结果,更新哈希集合,哈希集合包括多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果;针对功能测试用例文件中的每个功能测试用例,查询哈希集合,获得其键与功能测试用例的名称一致的第一哈希数据,并根据第一哈希数据的值,更新功能测试用例文件中该功能测试用例的测试标识,不同的测试标识表征不同的测试结果。本申请采用相同的名称建立了自动化测试脚本的测试结果与功能测试用例的执行结果的关联,利用哈希结构数据存储方式实现信息快速查询,进而实现了功能测试用例执行结果的自动更新,省时省力,提高了测试效率。
实施例二
图8为本申请实施例二提供的测试关联装置的结构示意图,包括获取模块10和处理模块20。其中,获取模块10,用于获取功能测试用例文件和自动化测试脚本文件;其中,功能测试用例文件包括多个功能测试用例,自动化测试脚本文件包括多个自动化测试脚本;处理模块20,用于根据自动化测试脚本文件,执行测试,获得多个自动化测试脚本的测试结果;处理模块20还用于基于多个自动化测试脚本的测试结果,更新哈希集合,哈希集合包括多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果;还用于针对功能测试用例文件中的每个功能测试用例,查询哈希集合,获得其键与功能测试用例的名称一致的第一哈希数据,并根据第一哈希数据的值,更新功能测试用例文件中该功能测试用例的测试标识,不同的测试标识表征不同的测试结果。
本申请通过将自动化测试脚本和功能测试用例命名为相同的名称,建立了自动化测试脚本的测试结果与功能测试用例的执行结果的关联,实现了功能测试用例执行结果的自动更新,省时省力,提高了测试效率,同时也提高了准确性。
实际应用过程中,本申请的测试关联方法的执行主体可以为测试关联装置。该装置可以通过计算机程序实现,例如,应用软件等;或者,该装置也可以实现为存储有相关计算机程序的介质,例如,U盘、云盘等;再或者,该装置还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片等。可选的,本实施例中以测试关联装置安装应用于计算机运行作为示例。
具体的,输入功能测试用例文件及对应的自动化测试脚本文件,计算机执行自动化测试脚本文件,运行其中各自动化测试脚本,获得多个自动化测试脚本的测试结果。将多个自动化测试脚本测试结果存储于哈希集合。这里需要说明的是,哈希集合包含多个哈希数据,哈希数据结构中包含键(key,关键词)和值(value,关键词对应的值)。本申请将自动化测试脚本的脚本名称存储于每个哈希数据的键中,其对应的值存储相应自动化测试脚本的测试结果。上述的哈希数据结构存储方式,有利于快速查询信息。
在一个示例中,处理模块20基于多个自动化测试脚本的测试结果,更新哈希集合,具体包括:针对每个自动化测试脚本,执行以下处理:若当前的哈希集合中不存在其键为该自动化测试脚本的名称的哈希数据,则在哈希集合中添加该自动化测试脚本对应的哈希数据;若当前的哈希集合中存在该自动化测试脚本对应的哈希数据,则根据当前该哈希数据的值和自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值。上述阐明了哈希集合中哈希数据的存储和更新方式。
具体的,当第一次执行脚本4时,哈希数据中还未存储脚本4的脚本名称,所以需要先在哈希集合的键中添加脚本4的名称,同时存储执行脚本4所获得的自动化测试结果。当第二次执行脚本4时,哈希数据的键中已经存储有脚本4的脚本名称,所以需要根据已存在的哈希数据的值和当下获得的自动化测试结果,判断后,更新哈希数据的值。当第三次执行脚本4时,哈希数据的键中已经存储有脚本4的脚本名称,所以需要根据已存在的哈希数据的值和当下获得的自动化测试结果,判断后,更新哈希数据的值。
在一个示例中,测试结果包括以下之一:通过、不通过以及部分通过。根据当前该哈希数据的值和自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值,具体包括:若当前该哈希数据的值和自动化测试脚本的测试结果一致,或者,当前该哈希数据的值表征的测试结果为部分通过,则不修改该哈希数据的值;若当前该哈希数据的值表征的测试结果不是部分通过,且当前该哈希数据的值和自动化测试脚本的测试结果不一致,则修改该哈希数据的值;其中,修改后的值表征部分通过。上述进一步阐述了哈希集合中哈希数据的更新方式。
具体的,(1)若当前哈希数据的值为通过,当下获得的自动化测试脚本的测试结果也为通过,则不修改该哈希数据的值,也就是说哈希数据的值依然为通过。(2)若当前哈希数据的值为不通过,当下获得的自动化测试脚本的测试结果也为不通过,则不修改该哈希数据的值,也就是说哈希数据的值依然为不通过。(3)当前哈希数据的值为部分通过,无论当下获得的自动化测试脚本的测试结果也通过、不通过还是部分通过,均不修改该哈希数据的值,也就是说哈希数据的值依然为部分通过。(4)若当前哈希数据的值为通过,而当下获得的自动化测试脚本的测试结果为不通过或者部分通过,则修改该哈希数据的值为部分通过。(5)若当前哈希数据的值为不通过,而当下获得的自动化测试脚本的测试结果为通过或者部分通过,则修改该哈希数据的值为部分通过。
在一个示例中,处理模块20根据自动化测试脚本文件,执行测试,获得多个自动化测试脚本的测试结果,具体包括:确定自动化测试脚本文件中,多个自动化测试脚本的类型;根据多个自动化测试脚本的类型,执行对应的运行命令,获得自动化测试脚本的测试结果。上述表明本申请支持多种类型自动化测试脚本的运行及结果解析。
本申请支持执行多种类型的自动化测试用例文件,具体的,自动化测试用例文件的类型可以为java、python、jmeter等。当为java脚本时,则执行mvn clean test命令;当为python脚本时,则执行python xx.py命令;当为jmeter脚本时,则执行jmeter-n-t xx.jmx命令。本申请支持执行多种类型的自动化测试用例文件,对其类型不做限制,在实际应用过程中,能被计算机执行即可。
在一个示例中,处理模块20针对功能测试用例文件中的每个功能测试用例,查询哈希集合,具体包括:若功能测试用例文件的文件类型为思维导图格式,则获取功能测试用例文件中各叶子节点的名称,并基于各叶子节点的名称查询哈希集合。上述阐述了当功能测试用例文件为思维导图格式时,功能测试用例的执行结果的更新方法。
在一个示例中,处理模块20针对功能测试用例文件中的每个功能测试用例,查询哈希集合,具体包括:若功能测试用例文件的文件类型为列表,则获取功能测试用例文件中测试用例名称列下的各排内容,并基于各排内容查询哈希集合。上述阐述了当功能测试用例文件为列表时,功能测试用例的执行结果的更新方法。
下面以思维导图格式的功能测试用例为例和Jmeter编写的自动化测试用例文件为例,对本申请提供的测试关联装置的整体操作流程进行介绍。
首先,向测试关联装置输入自动化测试脚本文件和对应的功能测试用例文件。图5为本申请实施例一提供的一种自动化测试脚本文件和功能测试用例文件的输入界面的示意图。如图5所示,该界面包括自动化测试用例文件的选择框,包括功能测试用例文件的选择框,还包括“执行自动化”按键。本申请开发了一套前端界面和后端服务,支持选择多种类型功能测试用例文件和与之对应的自动化测试用例文件。当自动化执行完成后可对应更新功能测试用例文件中的执行结果。其中,功能测试用例文件不仅限于图5所示的xmind类型;自动化测试用例文件不仅限于图5所示的jmx类型。
接着,“执行自动化”按键,后台服务器会根据jmx类型的自动化测试用例文件,执行jmeter-n-t xx.jmx命令,获得脚本测试结果。后台服务器会将该测试结果存储于哈希结构的集合中。
具体的,若当前的哈希集合中不存在其键为该自动化测试脚本的名称的哈希数据,则在哈希集合中添加该自动化测试脚本对应的哈希数据。若当前的哈希集合中存在该自动化测试脚本对应的哈希数据,则根据当前该哈希数据的值和自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值。进一步地,若当前该哈希数据的值和自动化测试脚本的测试结果一致,或者当前该哈希数据的值表征的测试结果为部分通过,则不修改该哈希数据的值。若当前该哈希数据的值表征的测试结果不是部分通过,且当前该哈希数据的值和自动化测试脚本的测试结果不一致,则修改该哈希数据的值;其中,修改后的值表征部分通过。
图6为本申请实施例一提供的一种自动化测试结果的示意图。具体的,“用未注册过的手机号注册接口返回注册成功”脚本测试结果为“通过”;“注册成功后校验数据库各字段正常”脚本测试结果为“不通过”;“使用185号段手机号注册”脚本测试结果为“通过”;“使用任意已注册的手机号登陆可登陆成功”脚本测试结果为“部分通过”;“使用170号段手机号注册”脚本测试结果为“通过”;“使用199号段手机号注册”脚本测试结果为“通过”;“查询用户信息正常”脚本测试结果为“通过”。其中,可以理解的,“使用任意已注册的手机号登陆可登陆成功”脚本执行了3次,并未都通过,所以其测试结果为“部分通过”。
最后,根据哈希集合,更新功能测试用例文件中的执行结果。图7为本申请实施例一提供的自动更新执行结果后的功能测试用例文件的示意图,相较于图3增加了测试标识。如图7所示,该执行结果的更新体现在测试标识上,不同的测试标识表征不同的测试结果,具体的,图7中采用了符号对勾表征通过;叉号表征不通过;叹号表征部分通过。
结合图6和图7,“用未注册过的手机号注册接口返回注册成功”功能测试用例前为对勾标识;“注册成功后校验数据库各字段正常”功能测试用例前为叉号标识;“使用任意已注册的手机号登陆可登陆成功”功能测试用例前为叹号标识;“查询用户信息正常”功能测试用例前为对勾标识。
若功能用例文件类型为excel,则更新列表中的执行结果这一列中的内容。可选择文字“成功”、“失败”、“部分通过”;可选择字母“pass”、“fail”、“na”。能够表征清楚结果即可。
本申请提供的测试关联装置,包括获取模块10和处理模块20。其中,获取模块10,用于获取功能测试用例文件和自动化测试脚本文件;其中,功能测试用例文件包括多个功能测试用例,自动化测试脚本文件包括多个自动化测试脚本;处理模块20,用于根据自动化测试脚本文件,执行测试,获得多个自动化测试脚本的测试结果;处理模块20还用于基于多个自动化测试脚本的测试结果,更新哈希集合,哈希集合包括多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果;还用于针对功能测试用例文件中的每个功能测试用例,查询哈希集合,获得其键与功能测试用例的名称一致的第一哈希数据,并根据第一哈希数据的值,更新功能测试用例文件中该功能测试用例的测试标识,不同的测试标识表征不同的测试结果。本申请采用相同的名称建立了自动化测试脚本的测试结果与功能测试用例的执行结果的关联,利用哈希结构数据存储方式实现信息快速查询,进而实现了功能测试用例执行结果的自动更新,省时省力,提高了测试效率。
实施例三
图9为本申请实施例三提供的一种电子设备的结构示意图,如图9所示,电子设备包括:
处理器(processor)291,电子设备还包括了存储器(memory)292;还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器292中的逻辑指令,以执行上述实施例的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现实施例一提供的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (14)
1.一种测试关联方法,其特征在于,
获取功能测试用例文件和自动化测试脚本文件;其中,所述功能测试用例文件包括多个功能测试用例,所述自动化测试脚本文件包括多个自动化测试脚本;
根据所述自动化测试脚本文件,执行测试,获得所述多个自动化测试脚本的测试结果;
基于所述多个自动化测试脚本的测试结果,更新哈希集合,所述哈希集合包括所述多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果;
针对所述功能测试用例文件中的每个功能测试用例,查询所述哈希集合,获得其键与所述功能测试用例的名称一致的第一哈希数据,并根据所述第一哈希数据的值,更新所述功能测试用例文件中该功能测试用例的测试标识,不同的测试标识表征不同的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个自动化测试脚本的测试结果,更新哈希集合,包括:
针对每个自动化测试脚本,执行以下处理:
若当前的哈希集合中不存在其键为该自动化测试脚本的名称的哈希数据,则在哈希集合中添加该自动化测试脚本对应的哈希数据;
若当前的哈希集合中存在该自动化测试脚本对应的哈希数据,则根据当前该哈希数据的值和所述自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值。
3.根据权利要求2所述的方法,其特征在于,所述测试结果包括以下之一:通过、不通过以及部分通过;所述根据当前该哈希数据的值和所述自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值,包括:
若所述当前该哈希数据的值和所述自动化测试脚本的测试结果一致,或者,所述当前该哈希数据的值表征的测试结果为部分通过,则不修改该哈希数据的值;
若所述当前该哈希数据的值表征的测试结果不是部分通过,且所述当前该哈希数据的值和所述自动化测试脚本的测试结果不一致,则修改该哈希数据的值;其中,修改后的值表征部分通过。
4.根据权利要求1所述的方法,其特征在于,所述根据所述自动化测试脚本文件,执行测试,获得所述多个自动化测试脚本的测试结果,包括:
确定所述自动化测试脚本文件中,所述多个自动化测试脚本的类型;
根据所述多个自动化测试脚本的类型,执行对应的运行命令,获得所述自动化测试脚本的测试结果。
5.根据权利要求1所述的方法,其特征在于,所述针对所述功能测试用例文件中的每个功能测试用例,查询所述哈希集合,包括:
若所述功能测试用例文件的文件类型为思维导图格式,则获取所述功能测试用例文件中各叶子节点的名称,并基于各叶子节点的名称查询所述哈希集合。
6.根据权利要求1所述的方法,其特征在于,所述针对所述功能测试用例文件中的每个功能测试用例,查询所述哈希集合,包括:
若所述功能测试用例文件的文件类型为列表,则获取所述功能测试用例文件中测试用例名称列下的各排内容,并基于各排内容查询所述哈希集合。
7.一种测试关联装置,其特征在于,所述装置包括:
获取模块,用于获取功能测试用例文件和自动化测试脚本文件;其中,所述功能测试用例文件包括多个功能测试用例,所述自动化测试脚本文件包括多个自动化测试脚本;
处理模块,用于根据所述自动化测试脚本文件,执行测试,获得所述多个自动化测试脚本的测试结果;
所述处理模块,还用于基于所述多个自动化测试脚本的测试结果,更新哈希集合,所述哈希集合包括所述多个自动化测试脚本对应的哈希数据;其中,每个哈希数据的键为相应自动化测试脚本的脚本名称,值表征相应自动化测试脚本的测试结果;
所述处理模块,还用于针对所述功能测试用例文件中的每个功能测试用例,查询所述哈希集合,获得其键与所述功能测试用例的名称一致的第一哈希数据,并根据所述第一哈希数据的值,更新所述功能测试用例文件中该功能测试用例的测试标识,不同的测试标识表征不同的测试结果。
8.根据权利要求7所述的装置,其特征在于,所述处理模块基于所述多个自动化测试脚本的测试结果,更新哈希集合,具体包括:
针对每个自动化测试脚本,执行以下处理:
若当前的哈希集合中不存在其键为该自动化测试脚本的名称的哈希数据,则在哈希集合中添加该自动化测试脚本对应的哈希数据;
若当前的哈希集合中存在该自动化测试脚本对应的哈希数据,则根据当前该哈希数据的值和所述自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值。
9.根据权利要求8所述的装置,其特征在于,所述测试结果包括以下之一:通过、不通过以及部分通过;所述根据当前该哈希数据的值和所述自动化测试脚本的测试结果,更新该自动化测试脚本对应的哈希数据的值,包括:
若所述当前该哈希数据的值和所述自动化测试脚本的测试结果一致,或者,所述当前该哈希数据的值表征的测试结果为部分通过,则不修改该哈希数据的值;
若所述当前该哈希数据的值表征的测试结果不是部分通过,且所述当前该哈希数据的值和所述自动化测试脚本的测试结果不一致,则修改该哈希数据的值;其中,修改后的值表征部分通过。
10.根据权利要求7所述的装置,其特征在于,所述处理模块根据所述自动化测试脚本文件,执行测试,获得所述多个自动化测试脚本的测试结果,具体包括:
确定所述自动化测试脚本文件中,所述多个自动化测试脚本的类型;
根据所述多个自动化测试脚本的类型,执行对应的运行命令,获得所述自动化测试脚本的测试结果。
11.根据权利要求7所述的装置,其特征在于,所述处理模块针对所述功能测试用例文件中的每个功能测试用例,查询所述哈希集合,具体包括:
若所述功能测试用例文件的文件类型为思维导图格式,则获取所述功能测试用例文件中各叶子节点的名称,并基于各叶子节点的名称查询所述哈希集合。
12.根据权利要求7所述的装置,其特征在于,所述处理模块针对所述功能测试用例文件中的每个功能测试用例,查询所述哈希集合,具体包括:
若所述功能测试用例文件的文件类型为列表,则获取所述功能测试用例文件中测试用例名称列下的各排内容,并基于各排内容查询所述哈希集合。
13.一种电子设备,其特征在于,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:根据所述可执行指令执行如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111510671.9A CN116257426A (zh) | 2021-12-10 | 2021-12-10 | 测试关联方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111510671.9A CN116257426A (zh) | 2021-12-10 | 2021-12-10 | 测试关联方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116257426A true CN116257426A (zh) | 2023-06-13 |
Family
ID=86683131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111510671.9A Pending CN116257426A (zh) | 2021-12-10 | 2021-12-10 | 测试关联方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116257426A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450250A (zh) * | 2023-06-16 | 2023-07-18 | 天津金城银行股份有限公司 | 一种动态脚本执行方法、系统及存储介质 |
-
2021
- 2021-12-10 CN CN202111510671.9A patent/CN116257426A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450250A (zh) * | 2023-06-16 | 2023-07-18 | 天津金城银行股份有限公司 | 一种动态脚本执行方法、系统及存储介质 |
CN116450250B (zh) * | 2023-06-16 | 2023-09-19 | 天津金城银行股份有限公司 | 一种动态脚本执行方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665171B (zh) | 自动回归测试方法及装置 | |
CN112256558B (zh) | 一种测试用例的生成方法、装置、计算机设备及存储介质 | |
CN107122368B (zh) | 一种数据校验方法、装置及电子设备 | |
CN101241467B (zh) | 一种面向Web应用的自动化白盒测试方法 | |
CN110221982B (zh) | 业务系统的性能测试方法、装置、设备及可读存储介质 | |
CN108984389B (zh) | 一种应用程序测试方法及终端设备 | |
CN111062580B (zh) | 一种工作人员与目标项目的匹配方法及电子设备 | |
CN113360519B (zh) | 数据处理方法、装置、设备和存储介质 | |
US20200104246A1 (en) | Continuous automation with test suite engine | |
CN112433944A (zh) | 业务测试方法、装置、计算机设备和存储介质 | |
CN111949543A (zh) | 基于分布式平台的测试方法、装置、电子设备及存储介质 | |
CN104899134A (zh) | 域名注册服务器自动化测试系统和方法 | |
CN116257426A (zh) | 测试关联方法、装置、电子设备及存储介质 | |
CN117493158A (zh) | 测试方法及其装置、电子设备、存储介质 | |
CN111737148A (zh) | 自动回归测试方法、装置、计算机设备及存储介质 | |
CN113220597B (zh) | 测试方法、测试装置、电子设备及存储介质 | |
CN114116801A (zh) | 数据清单核查方法及装置 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN109474822B (zh) | 一种安卓电视多国语言自动化测试的方法及装置 | |
CN113238901B (zh) | 多设备的自动化测试方法及装置、存储介质、计算机设备 | |
CN116737535A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN114356763A (zh) | 一种适用于HybridApp的H5页面本地调试方法 | |
CN111813665A (zh) | 一种基于python的大数据平台接口数据测试方法和系统 | |
CN113238940A (zh) | 一种接口测试结果的比对方法、装置、设备和存储介质 | |
CN111444392A (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 |