CN113704077B - 测试用例生成方法及装置 - Google Patents

测试用例生成方法及装置 Download PDF

Info

Publication number
CN113704077B
CN113704077B CN202010430238.3A CN202010430238A CN113704077B CN 113704077 B CN113704077 B CN 113704077B CN 202010430238 A CN202010430238 A CN 202010430238A CN 113704077 B CN113704077 B CN 113704077B
Authority
CN
China
Prior art keywords
test
data
case
service
scene
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
Application number
CN202010430238.3A
Other languages
English (en)
Other versions
CN113704077A (zh
Inventor
戴安妮
叶晓龙
王璇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Zhejiang Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010430238.3A priority Critical patent/CN113704077B/zh
Publication of CN113704077A publication Critical patent/CN113704077A/zh
Application granted granted Critical
Publication of CN113704077B publication Critical patent/CN113704077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Abstract

本发明公开了一种测试用例生成方法及装置。其中,该方法包括:接收测试用例生成请求;获取测试场景及对应的测试原子数据,其中,测试原子数据及测试场景是依据离线日志库存储的业务日志数据而确定;基于预设用例模板,对测试场景及测试原子数据进行用例组装处理,生成测试用例。本发明提供的方案是基于存储在离线日志中的真实业务请求形成的业务日志数据来生成测试场景及测试原子数据,保留了业务间的关联关系,解决了传统性能测试所需数据准备困难的问题,所生成的测试场景全面,即支持全场景性能测试,提高了通用性,也确保了测试用例覆盖率。并且不会对生产系统产生任何影响,提高了安全性。

Description

测试用例生成方法及装置
技术领域
本发明涉及通信技术领域,具体涉及一种测试用例生成方法及装置。
背景技术
性能测试一直是保障系统稳定的重要测试手段,通过模拟测试流量来评估服务的性能,探测系统的容量等。其中,性能测试的用例准备是最复杂、工作量最繁重的一个环节,不仅要求测试人员熟悉业务特性,设计典型的测试场景,还需要准备上万条可用的测试数据。
尤其随着中台架构的逐步推广,前端业务模式百花齐放,需要定制各式各样的性能测试场景。例如公共中台涉及多个前端业务共同调用,对该类中台的性能测试就需要模拟所有相关业务的测试场景和数据,可能还涉及到多个团队沟通协调的问题。
目前主流的技术方案还停留在解决单业务的性能测试问题:
1)基于功能测试用例收集性能数据:在功能测试过程中采集系统的cpu使用率、内存占用率等性能数据,形成测试用例的性能测试报表,以此评估系统性能。
2)基于流量数据的聚类分析获取测试用例:从流量数据中获取属性名和属性值形成特征向量进行聚类,从聚类结果中筛选出每个类中具有代表性的流量数据并构建测试用例。
现有的技术方案存在以下缺陷:
1)基于功能测试用例收集性能数据的方案测试结果准确率低:功能测试无法对被测系统产生大并发压力,仅根据功能测试状态下的资源数据评估系统性能,与真实压力状态下的性能存在较大差异,准确率较低。
2)基于流量数据的聚类分析获取测试用例的方案测试覆盖率低:该方案仅能获取典型测试用例,无法覆盖全部测试场景。且该方案脱离了不同业务之间的关联性,无法评估不同业务叠加时对被测系统产生的性能影响。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的测试用例生成方法及装置。
根据本发明实施例的一个方面,提供了一种测试用例生成方法,包括:
接收测试用例生成请求;
获取测试场景及对应的测试原子数据,其中,测试原子数据及测试场景是依据离线日志库存储的业务日志数据而确定;
基于预设用例模板,对测试场景及测试原子数据进行用例组装处理,生成测试用例。
根据本发明实施例的另一方面,提供了一种测试用例生成装置,包括:
接收模块,适于接收测试用例生成请求;
获取模块,适于获取测试场景及对应的测试原子数据,其中,测试原子数据及测试场景是依据离线日志库存储的业务日志数据而确定;
生成模块,适于基于预设用例模板,对测试场景及测试原子数据进行用例组装处理,生成测试用例。
根据本发明实施例的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述测试用例生成方法对应的操作。
根据本发明实施例的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述测试用例生成方法对应的操作。
本发明提供的方案是基于存储在离线日志中的真实业务请求形成的业务日志数据来生成测试场景及测试原子数据,保留了业务间的关联关系,解决了传统性能测试所需数据准备困难的问题,所生成的测试场景全面,即支持全场景性能测试,提高了通用性,也确保了测试用例覆盖率。并且不会对生产系统产生任何影响,提高了安全性。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1A示出了本发明实施例提供的测试用例生成方法流程图;
图1B为分片处理后,得到的测试数据文件的示意图;
图1C为用例模板的示意图;
图1D为测试原子数据的示意图;
图2示出了本发明实施例提供的测试用例生成装置的结构示意图;
图3示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1A示出了本发明实施例提供的测试用例生成方法的流程图。如图1A所示,该方法包括以下步骤:
步骤S101,接收测试用例生成请求。
具体地,可以向测试人员提供控制界面,其中,控制界面包含测试用例生成按钮,测试人员可以通过点击该控制界面上的测试用例生成按钮发送测试用例生成指令,接收测试人员通过控制界面所发送的测试用例生成请求。
此外,控制界面除了包含测试用例生成按钮外,还可以包含其它按钮,例如,场景管理按钮,通过该场景管理按钮可以对测试场景进行管理;结果管理按钮,通过该结果管理按钮可以查看针对所生成的测试用例的测试结果等。这里仅是举例说明,不具有任何限定作用。
步骤S102,获取测试场景及对应的测试原子数据,其中,测试原子数据及测试场景是依据离线日志库存储的业务日志数据而确定。
本实施例的目的是生成测试用例,那么就需要先获取生成测试用例所需的测试原子数据及测试场景,其中,测试原子数据及测试场景是依据离线日志库存储的业务日志数据而确定,这就使得测试原子数据及测试场景的确定方式既可以是根据测试用例生成请求而在线实时生成的,也可以是线下生成的,在线下生成测试原子数据及测试场景后,可以分别存储至对应的数据库中,待有测试用例生成需求时,从对应的数据库中获取测试原子数据及测试场景。
下面详细介绍在线实时生成测试原子数据及测试场景的过程:根据测试用例生成请求,采集离线日志库存储的业务日志数据,并生成第一数据文件;对第一数据文件进行数据解析,生成测试场景;对第一数据文件进行数据处理,生成包含测试原子数据的测试数据文件。
具体地,离线日志库中存储的是用户的真实业务请求而形成的业务日志数据,因此,将离线日志库中存储的业务日志数据作为测试所需数据的来源,能够保证测试的准确性,以及将业务日志数据在接收到测试用例生成请求后,可以启动采集器,利用采集器从离线日志库中采集业务日志数据,在进行数据采集可以按照需求采集不同维度的业务日志数据,例如,按照时间维度、系统维度、位置维度等进行采集,将采集到的业务日志数据保存成第一数据文件形式。
然后,对第一数据文件中存储的业务日志数据进行数据解析,在进行数据解析时,可以结合测试系统及业务分布进行统计分析,提炼得到测试场景,由于是真实业务请求,所以提炼得到的测试场景与数据生产环境更为拟合,从而提升了测试的准确性,使得最终的测试结果更为精确,而且提炼得到的是全量的测试场景,也就是说,提炼得到的测试场景很全面,从而提高了测试覆盖率。
其中,测试场景可以包含:单业务测试场景、单系统测试场景和/或混合测试场景。其中,混合测试场景可以是多业务、多系统的混合。以运营商系统为例,提炼出单业务测试场景,如三户查询性能测试、开户性能测试;单系统测试场景:营业厅性能测试、手厅性能测试;混合测试场景:如用户登录性能测试、产品搜索性能测试等。这里仅是举例说明,不具有任何限定作用。
对于公共中台如登录认证,或公共资源如数据库等,涉及多个系统的混合调用。这些公共模块用传统的性能测试手段很难测出真实的性能瓶颈,但往往这些模块若存在问题,则会引起全局性的大灾难。混合测试场景就可以很好地解决公共模块的性能测试问题。
之后,对第一数据文件进行数据处理,生成包含测试原子数据的测试数据文件,具体地,可以对第一数据文件做如下处理:对第一数据文件中的业务日志数据进行可用性过滤、准确性过滤和/或完整性过滤;从过滤后的第一数据文件中筛选出预设业务字段的业务日志数据,并将预设业务字段的业务日志数据按照预设格式存储至第二数据文件中;按照预设分片策略对第二数据文件进行分片处理,生成包含测试原子数据的测试数据文件。
具体地,用户所发起的业务请求是多样的,然而,存在部分业务不能用于性能测试,例如,涉及敏感信息的业务,因此,需要依据可用性过滤策略对第一数据文件中的业务日志数据进行过滤,将涉及敏感信息的业务日志剔除;另外,用户在进行业务请求时,还可能出现业务请求失败的情况,对于这类业务请求,同样会在离线日志库中存储相应的业务日志数据,然而,这部分业务日志数据并不能用于性能测试,否则容易造成测试结果偏差,因此,需要依据准确性过滤策略对第一数据文件中的业务日志数据进行过滤;最后,离线日志库中存储的业务日志数据可能存在部分数据缺失的情况,导致依据这样的业务日志数据所生成的测试原子数据最终无法组装成完整的测试用例,因此,需要依据完整性过滤策略对第一数据文件中的业务日志数据进行过滤,将存在数据缺失的业务日志数据过滤掉。需要说明的是,在实际应用中,可能仅需要采用其中任意一种过滤处理,也可能存在多种过滤处理需求,具体情况需要结合实际采集到的业务日志数据来确定。
在完成过滤处理后,对过滤后得到的业务日志数据进行格式化处理,具体地,从过滤后的第一数据文件中筛选出预设业务字段的业务日志数据,并将预设业务字段的业务日志数据按照预设格式存储至第二数据文件中,其中,预设业务字段是根据业务特性而确定的,通过进行格式化处理能够便于后续进行测试。
格式化后得到的第二数据文件包含了所有的业务请求对应的业务日志数据,而实际测试场景包含单业务、单系统或混合场景等,因此,需要按照预设分片策略对第二数据文件进行分片处理,生成包含测试原子数据的测试数据文件,例如,对第二数据文件按具体使用场景进行分片存储,比如,按系统分片,每个系统单独一份文件;按业务分片,每个业务的所有数据单独储存在一份文件中等,如图1B所示。
最终生成的包含测试原子数据的测试数据文件与生产真实业务完全拟合的,从而能够提升测试的准确性。
测试原子数据是一份数据,针对不同的测试场景,所需要的数据可能不同,可以根据需要选择合适的测试原子数据进行测试用例的生成。
由于采集器访问的是离线日志库,与生产系统无关,因此可以在无人监控的状态下进行数据采集,这也保证了生产系统的安全性,使得随时采集成为可能。因此,本实施例还支持线下生成测试原子数据及测试场景,具体地,可以设置定时任务,定时从离线日志库中采集业务日志数据,采集到业务日志数据后,后续处理流程与线上处理流程类似,这里不再赘述。在生成测试原子数据及测试场景后,可以将测试原子数据存储至测试数据库,将测试场景存储至测试场景库,从而在需要生成测试用例时,从对应的数据库获取测试原子数据及测试场景。其中,测试数据库、测试场景库可以是Oracle数据库。
步骤S103,基于预设用例模板,对测试场景及测试原子数据进行用例组装处理,生成测试用例。
其中,用例模板预先规定了用例格式,在获取到测试原子数据及测试场景后,可以将测试场景及测试原子数据嵌入到预设用例模板中,从而生成测试用例,图1C为用例模板的示意图,图1D为测试原子数据的示意图。
在本发明一种可选实施方式中,若测试场景为混合测试场景,可以通过如下处理来提升测试的准确性,具体地,根据拟合度需求,获取相应的测试原子数据,其中,拟合度需求定义所需的测试原子数据规格如下:业务来源:包括多业务/系统组合,每个业务/系统的业务量占比;业务量:小时/分钟/秒级的业务量波动拟合;业务内容:各业务请求下发的先后顺序等。然后,利用预设归并排序算法对测试原子数据进行合并排序,得到待测试数据,这里的待测试数据是拟合生产系统所得到的数据,其中,归并排序是一个基于分治的递归算法,它不断地将原数组分成大小相等的两个子数组(可能相差1),最终当划分的子数组大小为1时,将划分的有序子数组合并成一个更大的有序数组:归并排序的递归公式:
T(N)=2T(N/2)+O(N)
归并排序是一种稳定的排序算法,对于本实施例中待排序测试数据文件本身就是有序的情况下,其算法时间复杂度可降为O(n),排序速度非常快。
然后,基于预设用例模板,对测试场景及待测试数据进行用例组装处理,生成测试用例。通过将测试场景及待测试数据嵌入到预设用例模板中,最终生产测试用例。
在本发明一种可选实施方式中,在生成测试用例之后,方法还包括:接收待测试系统发送的测试请求;根据测试请求,筛选与待测试系统匹配的测试用例并将测试用例分发至对应的待测系统进行测试。
当存在测试需求时,待测系统可以调用性能测试工具,如,JMeter、Gatling等工具,发送测试请求,接收待测试系统发送的测试请求,根据测试请求,筛选与待测试系统匹配的测试用例并将测试用例分发至对应的待测系统进行测试。在实际应用中,可能出现部分测试场景下的测试用例集过大的情况,此时还需切分用例至不同待测试系统上执行。另外,还可以收集待测试系统在完成测试后所得到的测试结果,将测试结果存储至influxDB中,其中,测试结果包括请求量、成功率和响应时间等,并且可以将测试结果显示在控制界面上,供测试人员查看。
本发明提供的方案是基于存储在离线日志中的真实业务请求形成的业务日志数据来生成测试场景及测试原子数据,保留了业务间的关联关系,解决了传统性能测试所需数据准备困难的问题,所生成的测试场景全面,即支持全场景性能测试,提高了通用性,也确保了测试用例覆盖率。并且不会对生产系统产生任何影响,提高了安全性。另外,还能够根据测试用例生成需求随时随地从离线日志库进行数据,无需人员监管,极大提高了测试用例的生成效率。在确保测试原子数据实时准确的前提下,无需测试人员介入,测试门槛低,维护成本也少;通过生成混合场景下的测试用例,包括多业务、多系统等,并且支持精确匹配生产业务趋势,包括每分钟甚至每秒钟的业务量和业务分布,极大提升了性能测试准确率,也很好地解决了系统间公共模块的性能测试难题。
图2示出了本发明实施例提供的测试用例生成装置的结构示意图。如图2所示,该装置包括:接收模块201、获取模块202、生成模块203。
接收模块201,适于接收测试用例生成请求;
获取模块202,适于获取测试场景及对应的测试原子数据,其中,测试原子数据及测试场景是依据离线日志库存储的业务日志数据而确定;
生成模块203,适于基于预设用例模板,对测试场景及测试原子数据进行用例组装处理,生成测试用例。
可选地,获取模块进一步适于:若测试场景为混合测试场景,则根据拟合度需求,获取相应的测试原子数据;
生成模块进一步适于:利用预设归并排序算法对测试原子数据进行合并排序,得到待测试数据;
基于预设用例模板,对测试场景及待测试数据进行用例组装处理,生成测试用例。
可选地,获取模块进一步适于:根据测试用例生成请求,采集离线日志库存储的业务日志数据,并生成第一数据文件;
对第一数据文件进行数据解析,生成测试场景;
对第一数据文件进行数据处理,生成包含测试原子数据的测试数据文件。
可选地,获取模块进一步适于:对第一数据文件中的业务日志数据进行可用性过滤、准确性过滤和/或完整性过滤;
从过滤后的第一数据文件中筛选出预设业务字段的业务日志数据,并将预设业务字段的业务日志数据按照预设格式存储至第二数据文件中;
按照预设分片策略对第二数据文件进行分片处理,生成包含测试原子数据的测试数据文件。
可选地,接收模块还适于:接收待测试系统发送的测试请求;
装置还包括:分发模块,适于根据测试请求,筛选与待测试系统匹配的测试用例并将测试用例分发至对应的待测系统进行测试。
可选地,测试场景包含:单业务测试场景、单系统测试场景和/或混合测试场景。
本发明提供的方案是基于存储在离线日志中的真实业务请求形成的业务日志数据来生成测试场景及测试原子数据,保留了业务间的关联关系,解决了传统性能测试所需数据准备困难的问题,所生成的测试场景全面,即支持全场景性能测试,提高了通用性,也确保了测试用例覆盖率。并且不会对生产系统产生任何影响,提高了安全性。另外,还能够根据测试用例生成需求随时随地从离线日志库进行数据,无需人员监管,极大提高了测试用例的生成效率。在确保测试原子数据实时准确的前提下,无需测试人员介入,测试门槛低,维护成本也少;通过生成混合场景下的测试用例,包括多业务、多系统等,并且支持精确匹配生产业务趋势,包括每分钟甚至每秒钟的业务量和业务分布,极大提升了性能测试准确率,也很好地解决了系统间公共模块的性能测试难题。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的测试用例生成方法。
图3示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图3所示,该计算设备可以包括:处理器(processor)、通信接口(Communications Interface)、存储器(memory)、以及通信总线。
其中:处理器、通信接口、以及存储器通过通信总线完成相互间的通信。通信接口,用于与其它设备比如客户端或其它服务器等的网元通信。处理器,用于执行程序,具体可以执行上述用于计算设备的测试用例生成方法实施例中的相关步骤。
具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
处理器可能是中央处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序具体可以用于使得处理器执行上述任意方法实施例中的测试用例生成方法。程序中各步骤的具体实现可以参见上述测试用例生成实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明实施例的内容,并且上面对特定语言所做的描述是为了披露本发明实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明实施例并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明实施例进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

Claims (7)

1.一种测试用例生成方法,包括:
接收测试用例生成请求;
获取测试场景及对应的测试原子数据,其中,所述测试原子数据及测试场景是依据离线日志库存储的业务日志数据而确定;
基于预设用例模板,对所述测试场景及所述测试原子数据进行用例组装处理,生成测试用例;
其中,获取测试原子数据进一步包括:
所述测试场景为混合测试场景,根据拟合度需求,获取相应的测试原子数据;其中,所述混合测试场景为多业务、多系统的混合;其中,所述拟合度需求定义所需的测试原子数据规格如下:业务来源:包括多业务/系统组合,每个业务/系统的业务量占比;业务量:小时/分钟/秒级的业务量波动拟合;业务内容:各业务请求下发的先后顺序;
所述基于预设用例模板,对所述测试场景及所述测试原子数据进行用例组装处理,生成测试用例进一步包括:
利用预设归并排序算法对测试原子数据进行合并排序,得到待测试数据;其中,所述待测试数据是拟合生产系统所得到的数据;
基于预设用例模板,对所述测试场景及所述待测试数据进行用例组装处理,生成测试用例。
2.根据权利要求1所述的方法,其中,所述获取测试场景及对应的测试场景进一步包括:
根据所述测试用例生成请求,采集离线日志库存储的业务日志数据,并生成第一数据文件;
对所述第一数据文件进行数据解析,生成测试场景;
对所述第一数据文件进行数据处理,生成包含测试原子数据的测试数据文件。
3.根据权利要求2所述的方法,其中,所述对所述第一数据文件进行数据处理,生成包含测试原子数据的测试数据文件进一步包括:
对所述第一数据文件中的业务日志数据进行可用性过滤、准确性过滤和/或完整性过滤;
从过滤后的第一数据文件中筛选出预设业务字段的业务日志数据,并将预设业务字段的业务日志数据按照预设格式存储至第二数据文件中;
按照预设分片策略对所述第二数据文件进行分片处理,生成包含测试原子数据的测试数据文件。
4.根据权利要求1所述的方法,其中,在生成测试用例之后,所述方法还包括:
接收待测试系统发送的测试请求;
根据所述测试请求,筛选与待测试系统匹配的测试用例并将所述测试用例分发至对应的待测系统进行测试。
5.一种测试用例生成装置,包括:
接收模块,适于接收测试用例生成请求;
获取模块,适于获取测试场景及对应的测试原子数据,其中,所述测试原子数据及测试场景是依据离线日志库存储的业务日志数据而确定;
生成模块,适于基于预设用例模板,对所述测试场景及所述测试原子数据进行用例组装处理,生成测试用例;
其中,所述获取模块进一步适于:所述测试场景为混合测试场景,根据拟合度需求,获取相应的测试原子数据;其中,所述混合测试场景为多业务、多系统的混合;其中,所述拟合度需求定义所需的测试原子数据规格如下:业务来源:包括多业务/系统组合,每个业务/系统的业务量占比;业务量:小时/分钟/秒级的业务量波动拟合;业务内容:各业务请求下发的先后顺序;
所述生成模块进一步适于:利用预设归并排序算法对测试原子数据进行合并排序,得到待测试数据;其中,所述待测试数据是拟合生产系统所得到的数据;
基于预设用例模板,对所述测试场景及所述待测试数据进行用例组装处理,生成测试用例。
6.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-4中任一项所述的测试用例生成方法对应的操作。
7.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-4中任一项所述的测试用例生成方法对应的操作。
CN202010430238.3A 2020-05-20 2020-05-20 测试用例生成方法及装置 Active CN113704077B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010430238.3A CN113704077B (zh) 2020-05-20 2020-05-20 测试用例生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010430238.3A CN113704077B (zh) 2020-05-20 2020-05-20 测试用例生成方法及装置

Publications (2)

Publication Number Publication Date
CN113704077A CN113704077A (zh) 2021-11-26
CN113704077B true CN113704077B (zh) 2023-09-19

Family

ID=78645584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010430238.3A Active CN113704077B (zh) 2020-05-20 2020-05-20 测试用例生成方法及装置

Country Status (1)

Country Link
CN (1) CN113704077B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328248A (zh) * 2021-12-30 2022-04-12 杭州笨马网络技术有限公司 一种软件测试场景覆盖率分析方法、装置、设备及存储介质
CN116303101B (zh) * 2023-05-19 2023-08-15 建信金融科技有限责任公司 测试案例生成方法、装置和设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980573A (zh) * 2016-10-26 2017-07-25 阿里巴巴集团控股有限公司 一种构建测试用例请求对象的方法、装置及系统
CN107577603A (zh) * 2017-08-31 2018-01-12 中国科学院软件研究所 一种基于测试用例构建决策树的程序条件语句自动化修复系统及方法
CN107908549A (zh) * 2017-10-24 2018-04-13 北京小米移动软件有限公司 测试用例生成方法、装置及计算机可读存储介质
CN108319547A (zh) * 2017-01-17 2018-07-24 阿里巴巴集团控股有限公司 测试用例生成方法、装置和系统
US10078579B1 (en) * 2015-06-26 2018-09-18 Amazon Technologies, Inc. Metrics-based analysis for testing a service
CN109240908A (zh) * 2018-08-01 2019-01-18 口碑(上海)信息技术有限公司 异常测试用例模板创建方法及装置
CN109460349A (zh) * 2018-09-19 2019-03-12 武汉达梦数据库有限公司 一种基于日志的测试用例生成方法和装置
CN109684209A (zh) * 2018-12-17 2019-04-26 北京奇虎科技有限公司 一种测试用例生成方法、装置及电子设备
CN110688288A (zh) * 2019-09-09 2020-01-14 平安普惠企业管理有限公司 基于人工智能的自动化测试方法、装置、设备及存储介质
CN110955591A (zh) * 2019-10-18 2020-04-03 文思海辉智科科技有限公司 系统性能评估方法、装置、计算机设备和存储介质
CN111176990A (zh) * 2019-12-23 2020-05-19 深圳壹账通智能科技有限公司 基于数据决策的测试数据生成方法、装置、计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073763B1 (en) * 2017-12-27 2018-09-11 Accenture Global Solutions Limited Touchless testing platform

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10078579B1 (en) * 2015-06-26 2018-09-18 Amazon Technologies, Inc. Metrics-based analysis for testing a service
CN106980573A (zh) * 2016-10-26 2017-07-25 阿里巴巴集团控股有限公司 一种构建测试用例请求对象的方法、装置及系统
CN108319547A (zh) * 2017-01-17 2018-07-24 阿里巴巴集团控股有限公司 测试用例生成方法、装置和系统
CN107577603A (zh) * 2017-08-31 2018-01-12 中国科学院软件研究所 一种基于测试用例构建决策树的程序条件语句自动化修复系统及方法
CN107908549A (zh) * 2017-10-24 2018-04-13 北京小米移动软件有限公司 测试用例生成方法、装置及计算机可读存储介质
CN109240908A (zh) * 2018-08-01 2019-01-18 口碑(上海)信息技术有限公司 异常测试用例模板创建方法及装置
CN109460349A (zh) * 2018-09-19 2019-03-12 武汉达梦数据库有限公司 一种基于日志的测试用例生成方法和装置
CN109684209A (zh) * 2018-12-17 2019-04-26 北京奇虎科技有限公司 一种测试用例生成方法、装置及电子设备
CN110688288A (zh) * 2019-09-09 2020-01-14 平安普惠企业管理有限公司 基于人工智能的自动化测试方法、装置、设备及存储介质
CN110955591A (zh) * 2019-10-18 2020-04-03 文思海辉智科科技有限公司 系统性能评估方法、装置、计算机设备和存储介质
CN111176990A (zh) * 2019-12-23 2020-05-19 深圳壹账通智能科技有限公司 基于数据决策的测试数据生成方法、装置、计算机设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Combining model-based and combinatorial testing for effective test case generation;Cu D. Nguyen 等;《ISSTA 2012: Proceedings of the 2012 International Symposium on Software Testing and Analysis》;100-110 *
测试用例自动生成中人工智能的应用研究;张博;《中国优秀硕士学位论文全文数据库 信息科技辑》(第11期);I138-91 *
组合测试用例的自适应随机生成与优先级排序方法研究;黄如兵;《万方》;1-50 *

Also Published As

Publication number Publication date
CN113704077A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
US8151248B1 (en) Method and system for software defect management
CN110046073B (zh) 一种日志采集方法及装置、设备、存储介质
CN113704077B (zh) 测试用例生成方法及装置
CN106803799B (zh) 一种性能测试方法和装置
CN110362473A (zh) 测试环境的优化方法及装置、存储介质、终端
CN112711496A (zh) 日志信息全链路追踪方法、装置、计算机设备和存储介质
CN109062807B (zh) 测试应用程序的方法及装置、存储介质、电子装置
CN107203464B (zh) 业务问题的定位方法以及装置
CN103248511B (zh) 一种单点业务性能的分析方法、装置和系统
CN114185770A (zh) 生成测试数据的方法、装置、计算机设备和存储介质
CN112559525B (zh) 数据检查系统、方法、装置和服务器
CN113032281B (zh) 一种代码覆盖率实时获取方法及装置
CN113746883B (zh) 链路跟踪方法及系统
US20210306236A1 (en) System and method for triage management
CN113138906A (zh) 一种调用链数据采集方法、装置、设备及存储介质
CN105590224A (zh) 确定交易流程中失效节点的方法
CN117312101B (zh) 结构日志的确定方法及装置、存储介质、电子设备
CN113570333B (zh) 一种适用于集成的流程设计方法
CN113297026B (zh) 对象检测方法、装置、电子设备及计算机可读存储介质
CN113111002B (zh) 一种对接口案例进行自动化管理的方法、系统和介质
CN114416210B (zh) 一种决策流仿真方法、装置、介质和设备
CN112737804B (zh) 一种网络性能测试方法、装置及服务器
CN117743165A (zh) 基于场景的流量测试方法、装置、电子设备及存储介质
CN118012832A (zh) 一种日志处理方法、装置、电子设备和可读存储介质
CN116841880A (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