CN117171003A - 测试用例的管理方法、装置、设备及计算机可读存储介质 - Google Patents
测试用例的管理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117171003A CN117171003A CN202210584755.5A CN202210584755A CN117171003A CN 117171003 A CN117171003 A CN 117171003A CN 202210584755 A CN202210584755 A CN 202210584755A CN 117171003 A CN117171003 A CN 117171003A
- Authority
- CN
- China
- Prior art keywords
- test
- case
- script
- cases
- state
- 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 800
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013515 script Methods 0.000 claims abstract description 177
- 230000006870 function Effects 0.000 claims description 87
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000007405 data analysis Methods 0.000 claims description 11
- 238000010998 test method Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 abstract description 21
- 238000010586 diagram Methods 0.000 description 6
- 208000025174 PANDAS Diseases 0.000 description 3
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 3
- 240000004718 Panda Species 0.000 description 3
- 235000016496 Panda oleosa Nutrition 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种测试用例的管理方法、装置、设备及计算机可读存储介质,其中,所述测试用例的管理方法包括:获取N个测试用例;N为正整数;根据所述N个测试用例生成测试脚本;基于所述测试脚本执行自动化测试,并在执行自动化测试过程中利用所述测试脚本的函数注释信息更新所述N个测试用例的用例状态;基于所述N个测试用例的用例状态生成测试报告。上述方案,能够在测试过程中实时了解测试用例的用例状态,便于测试用例的管理。
Description
技术领域
本申请涉及软件测试技术领域,特别是涉及一种测试用例的管理方法、装置、设备及计算机可读存储介质。
背景技术
随着IT互联网技术的快速发展,业务测试完全由手工进行已变得不可行,自动化测试在测试中变得越来越重要,也越来越成熟。而当前自动化测试的一个普遍现象是测试用例和自动化测试脚本是分开管理的,当自动化脚本执行完成后,测试人员无法直观的通过自动化结果知晓当前测试用例的执行情况,需手工核对自动化结果来更新测试用例,比较枯燥、效率低且容易出错。
有鉴于此,如何将测试用例和测试脚本直接关联起来以在测试完成后可以直观了解测试用例的执行情况成为极具研究价值的课题。
发明内容
本申请主要解决的技术问题是提供一种测试用例的管理方法、装置、设备及计算机可读存储介质,能够在测试完成后直观了解测试用例的执行情况,便于测试用例的管理。
本申请第一方面提供了一种测试用例的管理方法,所述测试用例的管理方法包括:获取N个测试用例;N为正整数;根据所述N个测试用例生成测试脚本;基于所述测试脚本执行自动化测试,并在执行自动化测试过程中利用所述测试脚本的函数注释信息更新所述N个测试用例的用例状态;基于所述N个测试用例的用例状态生成测试报告。
本申请第二方面提供了一种测试用例的管理装置,所述测试用例的管理装置包括:获取单元,用于获取N个测试用例;N为正整数;生成单元,用于根据所述N个测试用例生成测试脚本;测试单元,用于基于所述测试脚本执行自动化测试,并在执行自动化测试过程中利用所述测试脚本的函数注释信息更新所述N个测试用例的用例状态;管理单元,用于基于所述N个测试用例的用例状态生成测试报告。
其中,所述生成单元执行根据所述N个测试用例生成测试脚本的步骤,包括:基于所述N个测试用例中的多个测试用例,生成一个测试脚本;或者,基于所述N个测试用例中的每个测试用例,生成N个测试脚本,一个测试用例对应一个测试脚本。
其中,所述测试脚本的函数注释信息将每个测试用例的用例编号和测试结果记录为一个键值对,其中用例编号为键数据,测试结果为值数据;所述测试单元执行基于所述测试脚本执行自动化测试,并在执行自动化测试过程中利用所述测试脚本的函数注释信息更新所述至少一个测试用例的用例状态的步骤,包括:使用数据分析库读取所述测试用例文件,将每个测试用例的用例信息保存在表格型数据文件中,所述每个测试用例的用例信息至少包括用例编号和用例状态;通过所述测试框架执行所述测试脚本,并在所述测试框架执行所述测试脚本的过程中,根据所述测试脚本的函数注释信息中记录的每个测试用例的键值对以及所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的每个测试用例的用例状态。
其中,若所述测试脚本是基于N个测试用例生成的,所述测试脚本包括N个测试用例;所述测试单元执行通过所述测试框架执行所述测试脚本,并在所述测试框架执行所述测试脚本的过程中,根据所述测试脚本的函数注释信息中记录的每个测试用例的键值对以及所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的每个测试用例的用例状态的步骤,包括:通过所述测试框架依次执行所述测试脚本中包括的测试用例,并在所述测试框架执行完成所述测试脚本中的一个测试用例后,根据所述测试脚本的函数注释信息记录的执行完成的测试用例的键值对,和所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的第一测试用例的用例状态;所述第一测试用例是指N个测试用例中,用例信息中的用例编号,与执行完成的测试用例的键值对的用例编号相同的测试用例;判断所述测试脚本包括的N个测试用例是否全部执行完成;响应于所述测试脚本对应的所有测试用例未全部执行完成,则继续通过所述测试框架执行所述测试脚本中的下一测试用例,并根据所述测试脚本的函数注释信息记录的执行完成的下一测试用例的键值对,和所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的第二测试用例的用例状态;所述第二测试用例是指N个测试用例中,用例信息中的用例编号,与执行完成的下一测试用例的键值对中的用例编号相同的测试用例,第一测试用例与第二测试用例不相同。
其中,所述测试单元执行在所述测试框架执行完成所述测试脚本中的一个测试用例后,根据所述测试脚本的函数注释信息记录的执行完成的测试用例的键值对,和所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的第一测试用例的用例状态的步骤,包括:通过所述测试框架执行完成所述测试脚本中的当前测试用例后,所述测试脚本的函数注释信息记录所述当前测试用例的测试结果;通过格式转化函数将所述测试脚本的函数注释信息进行格式转化;从格式转化后的所述测试脚本的函数注释信息中,获取所述当前测试用例的用例编号和测试结果,根据获取到用例编号、测试结果以及所述当前测试用例对应的键值对,对所述表格型数据文件中记录的所述当前测试用例的用例状态进行更新。
其中,所述测试单元执行根据所述测试脚本的函数注释信息记录的执行完成的测试用例的键值对,和所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的第一测试用例的用例状态的步骤,包括:确定与执行完成的测试用例的键值对中测试结果对应的目标用例状态;从N个测试用例中,确定用例编号与执行完成的测试用例的键值对中用例编号相同的第一测试用例;将所述第一测试用例的用例状态更新为目标用例状态;其中,若当前测试用例的测试结果为测试成功,则目标用例状态为测试通过;若当前测试用例的测试结果为测试失败,则目标用例状态为测试未通过。
其中,所述测试报告包括用例编号字段和用例状态字段;所述管理单元执行基于所述N个测试用例的用例状态生成测试报告的步骤,包括:使用所述数据分析库将更新后的表格型数据文件中每个测试用例的用例编号写入用例编号字段,以及将每个测试用例的用例状态字段写入相应的用例状态字段。
本申请第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述第一方面的测试用例的管理方法。
本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述第一方面的测试用例的管理方法。
本申请的有益效果是:区别于现有技术的情况,本申请的测试用例的管理方法中,通过获取N个测试用例,N为正整数,并根据获取的N个测试用例生成对应的测试脚本,然后基于测试脚本执行自动化测试,并在执行自动化测试过程中利用测试脚本的函数注释信息更新N个测试用例的用例状态,于是可以基于N个测试用例的用例状态,生成测试报告,实现了在执行测试脚本时,可以将测试用例和测试脚本直接关联起来,通过测试脚本的函数注释信息更新测试用例的用例状态,使得测试过程中以及测试完成后及时直观的了解到各个测试用例的用例状态,也便于测试人员汇总测试报告。
附图说明
图1是本申请测试用例的管理方法一实施例的流程示意图;
图2是图1中步骤S13一实施例的流程示意图;
图3是图2中步骤S132一实施例的流程示意图;
图4是图3中步骤S1321一实施例的流程示意图;
图5是本申请测试用例的管理方法一应用场景的流程示意图;
图6是本申请一应用场景中测试用例文件的显示示意图;
图7是本申请一应用场景中测试报告的显示示意图;
图8是本申请测试用例的管理装置一实施例的框架示意图;
图9是本申请电子设备一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请测试用例的管理方法一实施例的流程示意图。具体而言,本实施例中的测试用例的管理方法可以包括如下步骤:
步骤S11:获取N个测试用例;N为正整数。
测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,软件测试通常是根据软件开发各阶段的规格说明和程序的内部结构精心选取一批测试数据来组成测试用例,并用这些测试用例去驱动被测程序,观察程序的执行结果,验证所得结果与预期结果是否一致,然后做相应的调整。
在一实施例中,测试用例可以为结构化测试用例,结构化测试用例是按照UML(统一建模语言或标准建模语言)以及BNF(巴科斯范式)约束编写的半形式化的、用中文自然语言编写的测试用例文档。本申请实施例中的测试用例可以为一个或者多个,优选地,测试用例为多个,通过本申请实施例中的测试用例的管理方法,可以实现对多个测试用例进行管理。
在一实施例中,N个测试用例记录在测试用例文件上,测试用例文件还记录有N个测试用例的用例信息,任意一个测试用例的用例信息包括用例编号、用例名称、前置条件、测试步骤、预期结果和用例状态中任意一种或多种。
例如,对于一个“用户A端登录”的测试用例,测试用例文件的格式如图6所示。可以理解的是,测试用例的用例信息可以包含用例编号ID、用例名称、前置条件、测试步骤及预期结果、用例状态等,测试人员可以用Excel工具编写测试用例,形成测试用例文件,或者在用例管理工具中编写好测试用例后导出测试用例文件,此时测试用例文件为Excel文件。
步骤S12:根据N个测试用例生成测试脚本。
测试脚本是为了对测试用例进行自动化测试而编写的脚本,测试脚本包括操作序列数据以及用于调用操作序列数据单元功能脚本的单元功能脚本代码,操作序列数据由用户对待测应用程序进行测试时所执行的全部操作步骤中的部分连续的操作步骤对应的操作数据构成。
在一实施例中,根据N个测试用例生成测试脚本的步骤可以包括:基于N个测试用例中的每个测试用例,生成N个测试脚本,一个测试用例对应一个测试脚本。可以理解的是,当存在多个测试用例时,对于每个测试用例均可以生成一个对应的测试脚本,于是,在自动化测试时,当执行完测试用例A对应的测试脚本a后,可以根据测试脚本a的函数注释信息对测试用例A的用例状态进行更新,然后继续执行测试用例B对应的测试脚本b,并根据测试脚本b的函数注释信息对测试用例B的用例状态进行更新,然后继续执行其他测试用例,直到每个测试用例对应的测试脚本均执行完后,可以根据所有测试用例的用例状态生成测试报告。
在另一实施例中,根据N个测试用例生成测试脚本的步骤可以包括:基于N个测试用例中的多个测试用例,生成一个测试脚本。可以理解的是,对于多个测试用例,为了节约测试时间可以写到一个测试脚本中,如模型训练、模型上线、模型预测、模型下线、模型下线后再次上线、模型删除等,如果每个测试用例单独用不同的测试函数覆盖,因为每个用例都需要训练模型、上线模型,则会耗费很多时间,因此可以在测试脚本的函数注释信息(__doc__)中写明当前函数覆盖了哪些测试用例,然后在测试函数中通过修改测试函数的__doc__(通过赋值func.__func__.__doc__)来更新测试用例的用例状态,代码示例如下:
在一实施例中,测试脚本的函数注释信息将每个测试用例的用例编号和测试结果记录为一个键值对,其中用例编号为键数据key,测试结果为值数据value。
例如,对于图6所示的测试用例,可以编写测试脚本代码如下:
即,在测试函数中的注释信息(__doc__属性)使用用例ID(caseID,100001)做key,使用测试结果和测试名称做value。
步骤S13:基于测试脚本执行自动化测试,并在执行自动化测试过程中利用测试脚本的函数注释信息更新N个测试用例的用例状态。
本申请实施例通过测试脚本的函数注释信息来记录测试用例的测试结果,测试脚本的函数注释信息为__doc__属性,__doc__属性是python的一种属性,对类或函数进行描述。在生成测试用例对应的测试脚本后,可以基于测试脚本通过测试框架执行自动化测试。
本申请实施例中的测试框架可以为Python测试框架,在执行自动化测试的过程中,由于测试脚本的函数注释信息记录有测试用例的测试结果,于是可以利用测试脚本的函数注释信息中的测试结果对相对应的测试用例的用例状态进行更新。
可以理解的是,Python测试框架基本上都是用某一个函数来对应某一个测试用例,而__doc__属性是所有Python函数都有的,因此,只要是Python函数都可以利用本申请实施例的方式实现测试用例与测试脚本关联,即本申请实施例提供的测试用例的管理方法可以适用所有的python测试框架。在其他实施例中,除了开源的测试框架,还有一些公司用Python开发的适合特定业务的测试框架,例如Intel开发的测试DPDK的DTS框架,也可以利用这个特性。Python因为其简单、库丰富的特性,在自动化测试方面运用很广,在web、网络、嵌入式等等诸多领域都可以应用,所以本申请实施例中的测试用例的管理方法的适用范围广泛。
步骤S14:基于N个测试用例的用例状态生成测试报告。
由于在测试过程中可以根据测试用例的测试结果更新测试用例的用例状态,因此在整个自动化测试完毕后即可以更新完毕测试用例的用例状态,然后可以基于测试用例的用例状态,生成对应的测试报告,所得到的测试报告无需人工核对修改,效率高且准确。
上述方案,在执行测试脚本时,可以将测试用例和测试脚本直接关联起来,通过测试脚本的函数注释信息更新测试用例的用例状态,使得测试完成后可以直接基于测试用例的用例状态生成测试报告,测试人员可以基于此直观的知道测试用例的执行情况,也便于测试人员汇总测试报告。本申请的测试用例的管理方法可以将测试用例和测试脚本直接关联起来,关联级别是函数级的,适用于所有Python测试框架,如pytest(一种开源自动化测试框架)、unitest(一种开源的Python语言开发的单元测试框架)等,适用于所有业务场景,实现及使用方式非常简单。
请结合图2,图2是图1中步骤S13一实施例的流程示意图。在一实施例中,上述步骤S13具体可以包括:
步骤S131:使用数据分析库读取测试用例文件,将每个测试用例的用例信息保存在表格型数据文件中,每个测试用例的用例信息至少包括用例编号和用例状态。
可以理解的是,在自动化测试程序启动后,可以先用数据分析库读取测试用例文件,将每个测试用例的用例编号ID和用例状态等信息保存在表格型数据文件(dataframe文件)中,以便于后续根据dataframe文件生成测试报告;其中,数据分析库可以为pandas库,Pandas是python的一个数据分析包,提供了大量能使我们快速便捷地处理数据的函数和方法;将用例编号ID和用例状态作为等用例信息保存在dataframe文件,便于后续根据测试脚本的函数注释信息更新dataframe文件中的对应测试用例的用例状态。代码段如下:
步骤S132:通过测试框架执行测试脚本,并在测试框架执行测试脚本的过程中,根据测试脚本的函数注释信息中记录的每个测试用例的键值对以及每个测试用例的用例信息中的用例编号更新表格型数据文件中的每个测试用例的用例状态。
在测试框架执行测试脚本的过程中,当某个测试用例测试完成后,测试脚本的函数注释信息可以根据用例编号ID记录该测试用例的键值对,键值对包括作为键数据的用例编号ID和作为值数据的测试结果,于是进一步可以根据测试脚本的函数注释信息记录的测试用例的键值对来更新dataframe文件中的该测试用例的用例状态。
请结合图3,图3是图2中步骤S132一实施例的流程示意图。在一实施例中,若测试脚本是基于N个测试用例生成的,测试脚本包括N个测试用例;上述步骤S132具体可以包括:
步骤S1321:通过测试框架依次执行测试脚本中包括的测试用例,并在测试框架执行完成测试脚本中的一个测试用例后,根据测试脚本的函数注释信息记录的执行完成的测试用例的键值对,和每个测试用例的用例信息中的用例编号更新表格型数据文件中的第一测试用例的用例状态;第一测试用例是指N个测试用例中,用例信息中的用例编号,与执行完成的测试用例的键值对的用例编号相同的测试用例。
步骤S1322:判断测试脚本包括的N个测试用例是否全部执行完成。当测试脚本对应的N个测试用例未全部执行完成时,则执行步骤S1323,当测试脚本对应的N个测试用例全部执行完成时,则执行步骤S14。
步骤S1323:继续通过测试框架执行测试脚本中的下一测试用例,并根据测试脚本的函数注释信息记录的执行完成的下一测试用例的键值对,和每个测试用例的用例信息中的用例编号更新表格型数据文件中的第二测试用例的用例状态;第二测试用例是指N个测试用例中,用例信息中的用例编号,与执行完成的下一测试用例的键值对中的用例编号相同的测试用例,第一测试用例与第二测试用例不相同。
可以理解的是,当一个测试脚本覆盖有多个测试用例时,在测试框架执行测试脚本的过程中,当某个测试用例执行完成后,则测试脚本的函数注释信息可以记录的该测试用例的键值对,然后可以根据测试脚本的函数注释信息所记录的该测试用例的键值对以及该测试用例的用例编号ID来更新dataframe文件中的该测试用例的用例状态,然后继续执行后续的测试用例,直至该测试脚本覆盖的所有测试用例全部执行完成后,完成对dataframe文件中的所有测试用例的用例状态的更新。
请结合图4,图4是图3中步骤S1321一实施例的流程示意图。在一实施例中,上述步骤S1321具体可以包括:
步骤S13211:通过测试框架执行完成测试脚本中的当前测试用例后,测试脚本的函数注释信息记录当前测试用例的键值对。
步骤S13212:通过格式转化函数将测试脚本的函数注释信息进行格式转化。
步骤S13213:从格式转化后的测试脚本的函数注释信息中,获取当前测试用例的用例编号以及当前测试用例对应的键值对,根据获取到用例编号以及当前测试用例对应的键值对,对表格型数据文件中记录的当前测试用例的用例状态进行更新。
对于测试脚本对应的每个测试用例来说,在通过测试框架对当前测试用例执行完成后,测试脚本的函数注释信息可以记录当前测试用例的键值对,然后可以通过格式转化函数(eval函数)将测试脚本的函数注释信息进行格式转化为字典,然后可以根据格式转化后的测试脚本的函数注释信息中关于当前测试用例的用例编号ID和键值对,对dataframe文件中记录的具有相同用例编号ID的测试用例的用例状态进行更新。
代码段示例如下:
在一实施例中,上述步骤S13213具体可以包括:确定与执行完成的测试用例的键值对中测试结果对应的目标用例状态;从N个测试用例中,确定用例编号与执行完成的测试用例的键值对中用例编号相同的第一测试用例;将第一测试用例的用例状态更新为目标用例状态;其中,若当前测试用例的测试结果为测试成功,则目标用例状态为测试通过;若当前测试用例的测试结果为测试失败,则目标用例状态为测试未通过。具体地,当某个测试用例测试完成后,测试脚本的函数注释信息可以根据用例编号ID记录该测试用例的键值对,键值对包括作为键数据的用例编号ID和作为值数据的测试结果,于是可以确定与执行完成的测试用例的键值对中测试结果对应的目标用例状态,例如,若当前测试用例的测试结果为测试成功,则目标用例状态为测试通过,若当前测试用例的测试结果为测试失败,则目标用例状态为测试未通过;然后可以从N个测试用例中,确定出用例编号ID与执行完成的测试用例的键值对中用例编号ID相同的第一测试用例,故可以将dataframe文件中第一测试用例的用例状态更新为目标用例状态。
在一实施例中,测试报告包括用例编号字段和用例状态字段,上述步骤S14具体可以包括:使用数据分析库将更新后的表格型数据文件中每个测试用例的用例编号写入用例编号字段,以及将每个测试用例的用例状态字段写入相应的用例状态字段。
具体地,测试用例在执行完成后,可以将被更新了用例状态的dataframe文件通过pandas库中的dataframe.to_excel()函数来生成测试报告,该测试报告可以是一个新的Excel格式文件,测试报告中至少应包括用例编号字段和用例状态字段,于是可以根据dataframe文件中的用例编号ID以及对应的用例状态的内容,形成测试报告。对于图6所示的测试用例文件,所形成的测试报告可以如图7所示。
请参阅图5,图5是本申请测试用例的管理方法一应用场景的流程示意图。在一应用场景中,测试人员可以先用Excel编写好测试用例文件,并根据测试用例文件按照方案要求编写好测试脚本,然后测试框架可以使用pandas.read_csv函数读取测试用例文件,并将每个测试用例的用例ID和用例状态保存在dataframe文件中。然后测试框架可以执行各测试用例,当某个测试用例执行完成后,可以通过eval函数将测试脚本的函数注释信息__doc__进行格式转化,然后根据用例ID,利用测试脚本的函数注释信息中关于该用例ID的测试结果,对dataframe文件中记录的该用例ID对应的用例状态进行更新。之后可以判断所有的测试用例是否执行完成;若否,则测试框架继续执行其他测试用例;若是,则测试结束,于是可以根据更新后的dataframe文件生成测试用例报表,即得到关于测试用例的测试报告。
请参阅图8,图8是本申请测试用例的管理装置一实施例的框架示意图。测试用例的管理装置80包括:获取单元800,获取单元800用于获取N个测试用例;N为正整数;生成单元802,生成单元802用于根据N个测试用例生成测试脚本;测试单元804,测试单元804用于基于测试脚本执行自动化测试,并在执行自动化测试过程中利用测试脚本的函数注释信息更新N个测试用例的用例状态;管理单元806,管理单元806用于基于N个测试用例的用例状态生成测试报告。
在一些实施例中,N个测试用例记录在测试用例文件上,测试用例文件还记录有N个测试用例的用例信息,任意一个测试用例的用例信息包括用例编号、用例名称、前置条件、测试步骤、预期结果和用例状态中任意一种或多种。
在一些实施例中,生成单元802执行根据N个测试用例生成测试脚本的步骤,包括:基于N个测试用例中的多个测试用例,生成一个测试脚本;或者,基于N个测试用例中的每个测试用例,生成N个测试脚本,一个测试用例对应一个测试脚本。
在一些实施例中,测试脚本的函数注释信息将每个测试用例的用例编号和测试结果记录为一个键值对,其中用例编号为键数据,测试结果为值数据;测试单元804执行基于测试脚本执行自动化测试,并在执行自动化测试过程中利用测试脚本的函数注释信息更新至少一个测试用例的用例状态的步骤,包括:使用数据分析库读取测试用例文件,将每个测试用例的用例信息保存在表格型数据文件中,每个测试用例的用例信息至少包括用例编号和用例状态;通过测试框架执行测试脚本,并在测试框架执行测试脚本的过程中,根据测试脚本的函数注释信息中记录的每个测试用例的键值对以及每个测试用例的用例信息中的用例编号更新表格型数据文件中的每个测试用例的用例状态。
在一些实施例中,若测试脚本是基于N个测试用例生成的,测试脚本包括N个测试用例;测试单元804执行通过测试框架执行测试脚本,并在测试框架执行测试脚本的过程中,根据测试脚本的函数注释信息中记录的每个测试用例的键值对以及每个测试用例的用例信息中的用例编号更新表格型数据文件中的每个测试用例的用例状态的步骤,包括:通过测试框架依次执行测试脚本中包括的测试用例,并在测试框架执行完成测试脚本中的一个测试用例后,根据测试脚本的函数注释信息记录的执行完成的测试用例的键值对,和每个测试用例的用例信息中的用例编号更新表格型数据文件中的第一测试用例的用例状态;第一测试用例是指N个测试用例中,用例信息中的用例编号,与执行完成的测试用例的键值对的用例编号相同的测试用例;判断测试脚本包括的N个测试用例是否全部执行完成;响应于测试脚本对应的所有测试用例未全部执行完成,则继续通过测试框架执行测试脚本中的下一测试用例,并根据测试脚本的函数注释信息记录的执行完成的下一测试用例的键值对,和每个测试用例的用例信息中的用例编号更新表格型数据文件中的第二测试用例的用例状态;第二测试用例是指N个测试用例中,用例信息中的用例编号,与执行完成的下一测试用例的键值对中的用例编号相同的测试用例,第一测试用例与第二测试用例不相同。
在一些实施例中,测试单元804执行在测试框架执行完成测试脚本中的一个测试用例后,根据测试脚本的函数注释信息记录的执行完成的测试用例的键值对,和每个测试用例的用例信息中的用例编号更新表格型数据文件中的第一测试用例的用例状态的步骤,包括:通过测试框架执行完成测试脚本中的当前测试用例后,测试脚本的函数注释信息记录当前测试用例的测试结果;通过格式转化函数将测试脚本的函数注释信息进行格式转化;从格式转化后的测试脚本的函数注释信息中,获取当前测试用例的用例编号和测试结果,根据获取到用例编号、测试结果以及当前测试用例对应的键值对,对表格型数据文件中记录的当前测试用例的用例状态进行更新。
在一些实施例中,测试单元804执行根据测试脚本的函数注释信息记录的执行完成的测试用例的键值对,和每个测试用例的用例信息中的用例编号更新表格型数据文件中的第一测试用例的用例状态的步骤,包括:确定与执行完成的测试用例的键值对中测试结果对应的目标用例状态;从N个测试用例中,确定用例编号与执行完成的测试用例的键值对中用例编号相同的第一测试用例;将第一测试用例的用例状态更新为目标用例状态;其中,若当前测试用例的测试结果为测试成功,则目标用例状态为测试通过;若当前测试用例的测试结果为测试失败,则目标用例状态为测试未通过。
在一些实施例中,测试报告包括用例编号字段和用例状态字段;管理单元806执行基于N个测试用例的用例状态生成测试报告的步骤,包括:使用数据分析库将更新后的表格型数据文件中每个测试用例的用例编号写入用例编号字段,以及将每个测试用例的用例状态字段写入相应的用例状态字段。
请参阅图9,图9是本申请电子设备一实施例的框架示意图。电子设备90包括相互耦接的存储器91和处理器92,处理器92用于执行存储器91中存储的程序指令,以实现上述任意一种测试用例的管理方法实施例的步骤。在一个具体的实施场景中,电子设备90可以包括但不限于:微型计算机、服务器。
具体而言,处理器92用于控制其自身以及存储器91以实现上述任意一种测试用例的管理方法实施例的步骤。处理器92还可以称为CPU(Central Processing Unit,中央处理单元)。处理器92可能是一种集成电路芯片,具有信号的处理能力。处理器92还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器92可以由集成电路芯片共同实现。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有能够被处理器运行的程序指令,程序指令被处理器加载时用于实现上述任意一种测试用例的管理方法实施例的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (11)
1.一种测试用例的管理方法,其特征在于,包括:
获取N个测试用例;N为正整数;
根据所述N个测试用例生成测试脚本;
基于所述测试脚本执行自动化测试,并在执行自动化测试过程中利用所述测试脚本的函数注释信息更新所述N个测试用例的用例状态;
基于所述N个测试用例的用例状态生成测试报告。
2.根据权利要求1所述的测试用例的管理方法,其特征在于,所述N个测试用例记录在测试用例文件上,所述测试用例文件还记录有所述N个测试用例的用例信息,任意一个测试用例的用例信息包括用例编号、用例名称、前置条件、测试步骤、预期结果和用例状态中任意一种或多种。
3.根据权利要求2所述的测试用例的管理方法,其特征在于,所述根据所述N个测试用例生成测试脚本,包括:
基于所述N个测试用例中的多个测试用例,生成一个测试脚本;
或者,
基于所述N个测试用例中的每个测试用例,生成N个测试脚本,一个测试用例对应一个测试脚本。
4.根据权利要求3所述的测试用例的管理方法,其特征在于,所述测试脚本的函数注释信息将每个测试用例的用例编号和测试结果记录为一个键值对,其中用例编号为键数据,测试结果为值数据;
所述基于所述测试脚本执行自动化测试,并在执行自动化测试过程中利用所述测试脚本的函数注释信息更新所述至少一个测试用例的用例状态,包括:
使用数据分析库读取所述测试用例文件,并将所述测试用例文件中每个测试用例的用例信息保存在表格型数据文件中,所述每个测试用例的用例信息至少包括用例编号和用例状态;
通过所述测试框架执行所述测试脚本,并在所述测试框架执行所述测试脚本的过程中,根据所述测试脚本的函数注释信息中记录的每个测试用例的键值对以及所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的每个测试用例的用例状态。
5.根据权利要求4所述的测试用例的管理方法,其特征在于,若所述测试脚本是基于N个测试用例生成的,所述测试脚本包括N个测试用例;所述通过所述测试框架执行所述测试脚本,并在所述测试框架执行所述测试脚本的过程中,根据所述测试脚本的函数注释信息中记录的每个测试用例的键值对以及所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的每个测试用例的用例状态,包括:
通过所述测试框架依次执行所述测试脚本中包括的测试用例,并在所述测试框架执行完成所述测试脚本中的一个测试用例后,根据所述测试脚本的函数注释信息记录的执行完成的测试用例的键值对,和所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的第一测试用例的用例状态;所述第一测试用例是指N个测试用例中,用例信息中的用例编号,与执行完成的测试用例的键值对的用例编号相同的测试用例;
判断所述测试脚本包括的N个测试用例是否全部执行完成;
响应于所述测试脚本对应的所有测试用例未全部执行完成,则继续通过所述测试框架执行所述测试脚本中的下一测试用例,并根据所述测试脚本的函数注释信息记录的执行完成的下一测试用例的键值对,和所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的第二测试用例的用例状态;所述第二测试用例是指N个测试用例中,用例信息中的用例编号,与执行完成的下一测试用例的键值对中的用例编号相同的测试用例,第一测试用例与第二测试用例不相同。
6.根据权利要求5所述的测试用例的管理方法,其特征在于,所述在所述测试框架执行完成所述测试脚本中的一个测试用例后,根据所述测试脚本的函数注释信息记录的执行完成的测试用例的键值对,和所述每个测试用例的用例信息中的用例编号更新所述表格型数据文件中的第一测试用例的用例状态,包括:
通过所述测试框架执行完成所述测试脚本中的当前测试用例后,所述测试脚本的函数注释信息记录所述当前测试用例的键值对;
通过格式转化函数将所述测试脚本的函数注释信息进行格式转化;
从格式转化后的所述测试脚本的函数注释信息中,获取所述当前测试用例的用例编号以及所述当前测试用例对应的键值对,根据获取到的用例编号以及所述当前测试用例对应的键值对,对所述表格型数据文件中记录的所述当前测试用例的用例状态进行更新。
7.根据权利要求6所述的方法,其特征在于,所述根据获取到的用例编号以及所述当前测试用例对应的键值对,对所述表格型数据文件中记录的所述当前测试用例的用例状态进行更新,包括:
确定与执行完成的测试用例的键值对中测试结果对应的目标用例状态;
从N个测试用例中,确定用例编号与执行完成的测试用例的键值对中用例编号相同的第一测试用例;
将所述第一测试用例的用例状态更新为目标用例状态;
其中,若当前测试用例的测试结果为测试成功,则目标用例状态为测试通过;若当前测试用例的测试结果为测试失败,则目标用例状态为测试未通过。
8.根据权利要求4至6任一项所述的测试用例的管理方法,其特征在于,所述测试报告包括用例编号字段和用例状态字段;所述基于所述N个测试用例的用例状态生成测试报告,包括:
使用所述数据分析库将更新后的表格型数据文件中每个测试用例的用例编号写入用例编号字段,以及将每个测试用例的用例状态字段写入相应的用例状态字段。
9.一种测试用例的管理装置,其特征在于,所述测试用例的管理装置包括:
获取单元,用于获取N个测试用例;N为正整数;
生成单元,用于根据所述N个测试用例生成测试脚本;
测试单元,用于基于所述测试脚本执行自动化测试,并在执行自动化测试过程中利用所述测试脚本的函数注释信息更新所述N个测试用例的用例状态;
管理单元,用于基于所述N个测试用例的用例状态生成测试报告。
10.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至8任一项所述的测试用例的管理方法。
11.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至8任一项所述的测试用例的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210584755.5A CN117171003A (zh) | 2022-05-25 | 2022-05-25 | 测试用例的管理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210584755.5A CN117171003A (zh) | 2022-05-25 | 2022-05-25 | 测试用例的管理方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117171003A true CN117171003A (zh) | 2023-12-05 |
Family
ID=88928592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210584755.5A Pending CN117171003A (zh) | 2022-05-25 | 2022-05-25 | 测试用例的管理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117171003A (zh) |
-
2022
- 2022-05-25 CN CN202210584755.5A patent/CN117171003A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552301B2 (en) | Completing functional testing | |
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及系统 | |
US7917895B2 (en) | Automated software testing and validation system | |
CN107665171B (zh) | 自动回归测试方法及装置 | |
CN109947646A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
US9940215B2 (en) | Automatic correlation accelerator | |
US20180357143A1 (en) | Testing computing devices | |
US10169218B2 (en) | Method for automatically validating data against a predefined data specification | |
US8661414B2 (en) | Method and system for testing an order management system | |
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
US20200310952A1 (en) | Comparable user interface object identifications | |
CN112433948A (zh) | 一种基于网络数据分析的仿真测试系统及方法 | |
CN109739704A (zh) | 一种接口测试方法、服务端及计算机可读存储介质 | |
CN112260885B (zh) | 一种工控协议自动测试方法、系统、装置及可读存储介质 | |
CN112631920A (zh) | 一种测试方法、装置、电子设备及可读存储介质 | |
US10481969B2 (en) | Configurable system wide tests | |
CN117171003A (zh) | 测试用例的管理方法、装置、设备及计算机可读存储介质 | |
CN113791980B (zh) | 测试用例的转化分析方法、装置、设备及存储介质 | |
CN111598121B (zh) | 一种机柜设备检测方法 | |
CN113656319A (zh) | 一种回归测试方法、装置、电子设备及存储介质 | |
CN112035300A (zh) | 服务器bmc自动化测试系统、方法、存储介质、电子设备 | |
US20220197784A1 (en) | Method and system for guaranteeing game quality by using artificial intelligence agent | |
CN109800155B (zh) | 一种基于Probe的QTE联锁应用软件测试方法及装置 | |
US8751870B2 (en) | Method and system for providing a random sequence coverage | |
CN116362230A (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 |