CN109684205B - 系统测试方法、装置、电子设备及存储介质 - Google Patents
系统测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109684205B CN109684205B CN201811517649.5A CN201811517649A CN109684205B CN 109684205 B CN109684205 B CN 109684205B CN 201811517649 A CN201811517649 A CN 201811517649A CN 109684205 B CN109684205 B CN 109684205B
- Authority
- CN
- China
- Prior art keywords
- data
- current
- output data
- field
- input
- 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
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/3688—Test management for test execution, e.g. scheduling of test suites
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
本申请提供一种系统测试方法、装置及系统,其中系统测试方法包括:利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据;于待测系统中加载所述当前输入数据并获得实际输出数据;利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据;依据对比规则对比所述原有输出数据和所述当前输出数据,获得所述当前案例于所述待测系统的测试结果。本申请可以对已有案例进行修饰,以便已有案例可以适用于待测系统,这样可以避免技术人员频繁修改测试案例,本申请中技术人员无需大规模频繁修改测试案例,使用已有案例并对已有案例进行修饰便可以应用于待测系统,从而可以提高测试效率。
Description
技术领域
本申请涉及软件测试技术领域,尤其涉及系统测试方法、装置、电子设备及存储介质。
背景技术
应用系统在使用过程中会进行更新并获得更新后系统,为了保证更新后系统安全性和准确性,需要对更新后系统进行升级测试,此情况下更新后系统可以被称为待测系统。
目前,大部分升级测试利用自动化测试框架和测试案例来进行测试,由于系统更新后,原有测试案例已经不再适用,所以需要技术人员重新编写测试案例。
因为系统更新换代速度较快,所以需要花费较长时间和精力来维度测试案例,这导致对待测系统的测试效率较低。
发明内容
鉴于此,本申请提供系统测试方法、装置、电子设备及存储介质,无需重新编写测试案例,可以提高对待测系统的测试效率。
为了实现上述目的,本申请提供下述技术特征:
一种系统测试方法,包括:
利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据;
于待测系统中加载所述当前输入数据并获得实际输出数据;
利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据;
依据对比规则对比原有输出数据和所述当前输出数据,获得所述当前案例于所述待测系统的测试结果。
可选的,在利用当前案例对应的输入修饰规则修饰所述当前案例的原有输入数据获得当前输入数据之前,还包括:
从全数据案例集中按先后顺序获取所述当前案例,并确定所述当前案例的原有输入数据和原有输出数据;
判断预先设置的配置文件是否包含与所述当前案例对应的规则;其中,所述预先设置的配置文件包括一个或多个案例对应的规则;
若所述预先设置的配置文件包含与所述当前案例对应的规则,则从所述预先设置的配置文件获取与所述当前案例对应的规则;
其中,所述规则包括用于对所述原有输入数据进行修饰的输入修饰规则,和/或,用于对实际输出数据进行修饰的输出修饰规则。
可选的,若所述规则包括输入修饰规则,执行所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据的步骤;
其中,所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据,包括:
在所述输入修饰规则为添加指定字段并设置默认值的情况下,于所述原有输入数据中添加指定字段并设置默认值;
在所述输入修饰规则为删除指定字段的情况下,于所述原有输入数据中删除所述输入修饰规则指示的指定字段;
在所述输入修饰规则为修改指定字段为指定数据值的情况下,于所述原有输入数据中修改所述输入修饰规则指示的指定字段为指定数据值;
在所述输入修饰规则为修改指定序号数据中指定字段为指定数据值的情况下,于所述原有输入数据中确定指定序号数据,并修改指定序号数据中指定字段为指定数据值。
可选的,若所述规则包括输出修饰规则,执行所述利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据的步骤;
其中,所述利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据,包括:
在所述输出修饰规则为添加指定字段并设置默认值的情况下,于所述实际输出数据中添加指定字段并设置默认值;
在所述输出修饰规则为删除指定字段的情况下,于所述实际输出数据中删除所述输出修饰规则指示的指定字段;
在所述输出修饰规则为删除指定数据的情况下,于所述实际输出数据中删除所述输出修饰规则指示的指定数据。
可选的,所述依据对比规则对比所述原有输出数据和所述当前输出数据,获得所述当前案例于所述待测系统的测试结果,包括:
依据对比规则,对所述原有输出数据和所述当前输出数据逐字段进行对比;
在所述原有输出数据和所述当前输出数据逐字段对比结束后,获得各个字段的对比结果;
若所有字段的对比结果中未出现错误类型的异常数据,则确定所述当前案例于所述待测系统的测试结果为测试通过;
若所有字段的对比结果中出现错误类型的异常数据,则确定当前案例于所述待测系统的测试结果为测试失败;
其中,对比规则包括:
若所述当前输出数据中一字段为所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出对比结果为正常数据,否则输出对比结果为错误类型的异常数据;
若所述当前输出数据中一字段非所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出对比结果为正常数据,否则输出对比结果为忽略类型的异常数据。
可选的,所述当前案例于所述待测系统的测试结果为测试失败后,还包括:
确定所述当前案例中出错数据序号;
采用定点输入功能重新加载当前案例,并于所述出错数据序号时停止输入,以还原出错场景。
可选的,还包括在获得实际输出数据后存储实际输出数据;
则在所述当前案例于所述待测系统的测试结果为测试通过后,输出是否存储案例的提示信息;
若接收到存储案例指令的情况下,存储所述当前输入数据和所述实际输出数据组成的新案例,至所述全数据案例集。
一种系统测试装置,包括:
输入修饰单元,用于利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据;
输出单元,用于于待测系统中加载所述当前输入数据并获得实际输出数据;
输出修饰单元,用于利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据;
对比单元,用于依据对比规则对比原有输出数据和所述当前输出数据,获得所述当前案例于所述待测系统的测试结果。
一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行系统测试方法。
一种存储介质,所述存储介质用于存储软件程序,该软件程序可用于实现系统测试方法。
通过以上技术手段,可以实现以下有益效果:
由于全数据案例集是基于用户实际产生的真实输入数据和真实输出数据而生成的,所以后续基于真实案例来测试待测系统也会使得测试结果更加贴近真实情况;由于本系统可以适用于不同的用户,本申请测试完毕后,还可以提供给客户以便客户利用企业数据再次进行测试,以加强待测系统的适应性、向前兼容性和安全性。
本申请可以对已有案例进行修饰,以便已有案例可以适用于待测系统,这样可以避免技术人员频繁修改测试案例,本申请中技术人员无需大规模频繁修改测试案例,使用已有案例并对已有案例进行修饰便可以应用于待测系统,从而可以提高测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种测试系统的结构示意图;
图2为本申请实施例公开的一种系统测试方法的流程图;
图3为本申请实施例公开的一种系统测试装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于区分更新前系统和更新后系统,本申请将一系统更新前称为已有系统,更新后系统需要进行升级测试所以称为待测系统。
为了便于本领域技术人员了解本申请的应用场景,本申请提供一种测试系统。参见图1,包括:
服务器100;
与服务器100相连的数据库200;
与服务器100相连的多个用户终端300。
用户终端300安装并运行已有系统,在用户终端300运行已有系统的过程中,用户终端300可以接收用户的输入数据并获得已有系统的输出数据。用户终端300可以发送由输入数据和输出数据组成的案例至服务器100,也即服务器存储的为真实运行已有系统过程中的运行数据。
服务器100可以接收用户终端发送的真实案例,并保存真实案例至数据库200,以供数据库存储已有系统的真实案例。
通常情况下一个案例对应一个已有系统的功能,在多个用户终端300多次使用已有系统并发送多个案例至服务器后,与服务器相连的数据库200便可以存储已有系统多个功能的案例。
为了便于称呼已有系统多个功能的案例,可以统称为全数据案例集。可以理解的是,由于多个功能之前具有关联关系,一功能对应案例会对另一功能的案例产生影响,所以数据库中会按照先后触发顺序来存储多个案例。
本实施例后续会使用全数据案例集来测试待测系统,不必技术人员针对待测系统来编写测试案例,所以可以大大减轻技术人员维护测试案例的难度,并提升效率。
此外由于全数据案例集是基于用户实际产生的真实输入数据和真实输出数据而生成的,所以后续基于真实案例来测试待测系统也会使得测试结果更加贴近真实情况。
在已有系统使用过程中不可避免的会产生漏洞,所以需要对技术人员生成针对漏洞的补丁,并将补丁更新至已有系统中以便解决漏洞带来问题。
在使用已有系统过程中可以对已有系统进行多次更新,每次可以针对不同的漏洞更新不同补丁。由于对于每次补丁本申请的处理过程是一致的。因此本申请以一次补丁为例进行详细说明。
可以理解的是,一个补丁对于已有系统中各个模板的影响不同。例如,对于一些模块可能没有影响,对于另一些模块可能影响其输入数据,对于另一些模块可能影响其输出数据,对于另一些模块可能既影响其输入数据又输出数据。
由于全数据案例集中的案例为基于已有系统生成的,所以其可能不完全适用于待测系统。为此,可以由技术人员人工确定全数据案例集中不适用待测系统的一个或多个案例,并由技术人员为这些案例中每个案例配置规则,以用于修饰案例的原有输入数据和/或原有输出数据,还用指示对此结果,以便适用于待测系统。
可以理解的是,由于补丁对于这些案例中每个案例的影响不同,所以一个案例对应一个适用于该案例的规则。为了方便管控多个案例的规则,可以设置一个配置文件用于存储多个案例的规则,且,每个案例采用不同案例名称以示区分。
为了便于理解,参见表1,对配置文件进行示例说明。
表1
上述为本次补丁生成配置文件的过程为预先执行的过程,在生成配置文件后可以存储至服务器中,以便后续用于对待测系统进行测试。
本申请对单线程具有明显优势,因为单线程可以保证相同输入数据顺序的情况下,输出数据顺序也是相同。即,待测系统的处理逻辑未发生较大变化的情况下测试重演测试案例。本申请也可以应用于不存在多线程并发操作情况的系统,对于线程间不涉及数据共享的多线程模式系统此方案也适用。
本申请提供了一种系统测试方法,应用于图1所示的测试系统中的服务器。参见图2,可以包括以下步骤:
步骤S201:从数据库中的全数据案例集中按先后顺序获取当前案例,并确定所述当前案例的原有输入数据和原有输出数据。
在对待测系统测试过程中,需要将全数据案例库中所有案例逐一对待测系统进行测试,以验证待测系统中各个模块更新后的输出对比情况。由于对每个案例的测试情况是一致的,本实施例中仅以一个当前案例为例进行详细说明。
数据库存储的全数据案例集中案例按照用户实际产生的先后顺序排列存储,服务器按照先后顺序从数据库存储全数据案例集中的获取一个案例作为当前案例。当前案例由原始输入数据和原始输出数据组成。
步骤S202:判断预先设置的配置文件是否包含与所述当前案例对应的规则。若是,则进入步骤S203,若否则进入步骤S212。
服务器获取当前案例的案例名称,判断当前案例的案例名称是否存在于配置文件中。
若当前案例的案例名称存在于配置文件中,则表示当前案例不适用于待测系统,需要修饰当前案例,以便当前案例适用于待测系统。若当前案例的案例名称不存在于配置文件中,则表示当前案例适用于待测系统,无需修饰当前案例。
步骤S203:若所述预先设置的配置文件包含与所述当前案例对应的规则,则从所述预先设置的配置文件获取与所述当前案例对应的规则。
其中,规则可以包括用于对所述原有输入数据进行修饰的输入修饰规则,输入修饰规则将在步骤S205详细描述。
规则可以包括用于对实际输出数据进行修饰的输出修饰规则,输出修改规则将在步骤S209详细描述。
规则包括对比规则,对比规则用于原有输出数据与实际输出数据的对比过程,将在步骤S211详细描述。
步骤S204:判断所述规则中是否包含输入修饰规则,若是则进入步骤S205,若否则进入步骤S206。
步骤S205:利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据,进入步骤S207。
本步骤提供了输入修饰规则的四种情况:
第一种情况:输入修饰规则为添加指定字段并设置默认值。
假设,在已有系统一模块中原有输入数据为A,在添加补丁后需要输入A和B。此情况下,当前案例需要输入修饰规则,且输入修饰规则为添加指定字段B。由于已有系统不具有字段B所以没有字段B的真实值,所以输入修饰规则还需设置字段B的默认值。
即,若所述输入修饰规则为添加指定字段并设置默认值,则所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据包括:于所述原有输入数据中添加指定字段并设置默认值。
例如,已有系统的身份验证模块中原有输入数据为姓名,添加补丁后需要输入姓名和身份证号码,输入修饰规则为添加身份证号码字段并设置默认值,则可以对原有输入数据添加身份证号码字段,并为身份证号码字段设置默认值。
第二种情况:输入修饰规则为删除指定字段。
假设,在已有系统一模块中原有输入数据为A+B,在添加补丁后需要输入A。此情况下,当前案例需要输入修饰规则,且输入修饰规则为删除指定字段B。
即,若所述输入修饰规则为删除指定字段,则所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据包括:于所述原有输入数据中删除所述输入修饰规则指示的指定字段。
例如,在已有系统一模块中原有输入数据为账户名、用户名和密码,在添加补丁后仅需输入用户名和密码,输入修饰规则为删除账户名字段,则删除原有输入数据中的账户名字段。
第三种情况:输入修饰规则为修改指定字段为指定数据值。
假设,在已有系统一模块中原有输入数据中一字段A为数据值a,在添加补丁后其数据值为b。此情况下当前案例需要输入修饰规则,且输入修饰规则为将指定字段A的数据值a修改为数据值b。
即,若所述输入修饰规则为修改指定字段为指定数据值,则所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据包括:于所述原有输入数据中修改所述输入修饰规则指示的指定字段为指定数据值。
例如,在已有系统中一模块中模板宽度字段的数据值a,在添加补丁后更新了模板宽度字段的数据值b,则输入修饰规则包括模板宽度字段的数据值b;则修饰原有输入数据中模板宽度字段为数据值b。
第四种情况:输入修饰规则为修改指定序号数据中指定字段为指定数据值。
假设,在已有系统一模块中原有输入数据包括多个序号的数据,在添加补丁后其中一个序号数据中的指定字段需更改为数据值b。此情况下当前案例需要输入修饰规则,且输入修饰规则为修改指定序号数据中指定字段A为数据值b。
即,若所述输入修饰规则为修改指定序号数据中指定字段为指定数据值,则所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据包括:于所述原有输入数据中确定指定序号数据,并修改指定序号数据中指定字段为指定数据值。
例如,在已有系统中一流水模块中,序号3的数据中金额为35,在添加补丁后需要修改该序号数据中的金额字段为3500,输入修饰规则为序号3中金额字段的数据值为3500;则修改原有输入数据中序号3的金额字段的数据值为3500。
可以理解的是,上述举例仅为示意性举例,并不代表对本申请的限定,也不代表实际情况。输入修饰规则可以根据实际情况来设定并使用,对此本申请不做限定。
步骤S206:直接将所述原有输入数据作为当前输入数据,进入步骤S207。
若规则不包含输入修饰规则,则表示当前案例的原有输入数据无需修饰,直接将所述原有输入数据作为当前输入数据。
步骤S207:于待测系统中加载所述当前输入数据并获得实际输出数据。
将当前输入数据输入至待测系统中,于待测系统中加载并运行当前输入数据,并获得待测系统的实际输出结果。
可以理解的是,为了验证待测系统的实际输出结果是否正确,应该将当前案例的实际输出结果与原有输出结果进行比对,已验证当前案例于待测系统的测试结果。
但是由于待测系统已经更改,所以当前案例的原有输出结果与实际输出结果中的字段可能是匹配的,也可能是不一匹配的。待测系统对应的实际输出结果相比于原有输出结果,可能增加字段,缺失字段,增加数据等等。为了能够验证实际输出数据,可以对实际输出结果进行修饰。
步骤S208:判断所述规则中是否包含输出修饰规则,若是则进入步骤S209,若否则进入步骤S210。
若当前案例中包括输出修饰规则,则表示待测系统的实际输出结果与原有输出结果中字段不匹配,需要对输出修饰规则对实际输出数据进行修饰。
若当前案例中不包括输出修饰规则,则表示待测系统的实际输出结果与原有输出结果中字段匹配,无需对输出修饰规则对实际输出数据进行修饰。
步骤S209:利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据,进入步骤S211。
本步骤提供了输出修饰规则的三种情况:
第一种情况:输出修饰规则为添加指定字段并设置默认值。
假设,在已有系统一模块中原有输出数据具有一字段A和B,实际输出数据中仅存在字段A确实字段B,为了便于对比实际输出数据和原有输出数据。此情况下当前案例需要输出修饰规则,且输出修饰规则为添加字段B。
即,若所述输出修饰规则为添加指定字段并设置默认值,则所述利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据包括:于所述实际输出数据中添加指定字段并设置默认值。
第二种情况:输出修饰规则为删除指定字段。
假设,在已有系统一模块中原有输出数据具有一字段A,实际输出数据中存在字段A和B,字段B多余,为了便于对比实际输出数据和原有输出数据。此情况下当前案例需要输出修饰规则,且输出修饰规则为删除字段B。
即,若所述输出修饰规则为删除指定字段,则所述利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据包括:于所述实际输出数据中删除所述输出修饰规则指示的指定字段。
第三种情况:输出修饰规则为删除指定数据。
假设,在已有系统一模块中原有输出数据为数据A,实际输出数据中存在数据A和数据B,为了便于对比实际输出数据和原有输出数据。此情况下当前案例需要输出修饰规则,且输出修饰规则为删除数据B。
即,若所述输出修饰规则为删除指定数据,则所述利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据包括:于所述实际输出数据中删除所述输出修饰规则指示的指定数据。
步骤S210:直接将所述原有输出数据作为当前输出数据,进入步骤S211。
若规则不包含输出修饰规则,则表示当前案例的原有输出数据无需修饰,直接将所述原有输出数据作为当前输出数据。
步骤S211:依据对比规则,对比所述原有输出数据和所述当前输出数据,获得所述当前案例于所述待测系统的测试结果,进入步骤S214。
S1:依据对比规则,对所述原有输出数据和所述当前输出数据逐字段进行对比。
本步骤会对原有输出数据和当前输出数据中逐字段进行对比,可以理解的是,当前输出数据中有的字段为实际输出数据中已有字段,有的字段可能为依据输出修饰规则添加的字段。
依据输出修饰规则添加的字段,实际输出数据与原有输出数据中针对该字段进行对比时,若对比一致则对比结果为正常数据,若对比不一致,则对比结果为“忽略”级别的异常数据。
由于添加字段的数据值为默认值,所以很大程度与原有输出数据中的字段不一致,为了不影响测试结果,所以对比结果为“忽略”级别的异常数据。
针对实际输出数据中已有字段,实际输出数据与原有输出数据中针对该字段进行对比时,若对比一致则对比结果为正常数据,若对比不一致,则对比结果为“错误”级别的异常数据。
在对比当前输出数据和实际输出数据的过程中可以包括下述两种情况:
若所述当前输出数据中一字段为所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出该字段的对比结果为正常数据,否则输出该字段的对比结果为错误类型的异常数据。
若所述当前输出数据中一字段非所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出该字段的对比结果为正常数据,否则输出该字段的对比结果为忽略类型的异常数据。
S2:在所述原有输出数据和所述当前输出数据逐字段对比结束后,获得各个字段的对比结果。
S3:若所有字段的对比结果中未出现错误类型的异常数据,则确定所述当前案例于所述待测系统的测试结果为测试通过。
S4:若所有字段的对比结果中出现错误类型的异常数据,则确定当前案例于所述待测系统的测试结果为测试失败。
步骤S212:于待测系统中加载所述原有输入数据并获得实际输出数据。
步骤S213:对比实际输出结果和原有输出结果获得所述当前案例于所述待测系统的测试结果,进入步骤S214。
S1:在所述原有输出数据和所述实际输出数据逐字段对比结束后,获得各个字段的对比结果。
S2:若所有字段的对比结果中未出现错误类型的异常数据,则确定所述当前案例于所述待测系统的测试结果为测试通过。
S3:若所有字段的对比结果中出现错误类型的异常数据,则确定当前案例于所述待测系统的测试结果为测试失败。
步骤S214:存储测试案例对应的测试结果。
步骤S215:判断全数据案例集是否测试完毕,若是则进入步骤S215,若否则返回步骤S201。
步骤S215:输出全数据案例集中各个案例的测试结果,以供分析并生成待测系统的测试报告。
在步骤S207于待测系统中加载所述当前输入数据并获得实际输出数据,后还包括存储实际输出数据;则在所述当前案例于所述待测系统的测试结果为测试通过后,输出是否存储案例的提示信息;若接收到存储案例指令的情况下,存储所述当前输入数据和所述实际输出数据组成的新案例,至所述全数据案例集。
也即,在一个案例出现测试通过的情况下,若用户同意后,可以将当前输入数据和实际输出数据组成新案例,存储至全数据案例库中,作为新测试案例以便后续使用。
在一个案例出现测试失败的情况下,还可以确定所述当前案例中出错数据序号;采用定点输入功能重新加载当前案例,并于所述出错数据序号时停止输入,以还原出错场景。定点输入功能具有逐条输入代码功能,可以逐条输入代码过程中于在指定序号停止,以便针对该案例重新进行测试,以分析案例的详细出错情况。
通过上述技术特征可知本申请具有如下有益效果:
首先,由于全数据案例集是基于用户实际产生的真实输入数据和真实输出数据而生成的,所以后续基于真实案例来测试待测系统也会使得测试结果更加贴近真实情况;由于本系统可以适用于不同的用户,本申请测试完毕后,还可以提供给客户以便客户利用企业数据再次进行测试,以加强待测系统的适应性、向前兼容性和安全性。
其次,本申请可以对已有案例进行修饰,以便已有案例可以适用于待测系统,这样可以避免技术人员频繁修改测试案例,本申请中技术人员无需大规模频繁修改测试案例,使用已有案例并对已有案例进行修饰便可以应用于待测系统,从而可以提高测试效率。
并且,本申请还可以更新全数据案例库,使得全数据案例库更加准确,方便后续的测试。
最后,本申请还支持对测试失败案例进行定位输入操作,以便定位到的输入指定序号位置,以还原出错现场。并且,支持在发现测试失败的情况下,停止测试,并支持逐条输入案例代码以准确确定出错位置。
本申请提供一种系统测试装置,参见图3可以包括:
输入修饰单元31,用于利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据;
输出单元32,用于于待测系统中加载所述当前输入数据并获得实际输出数据;
输出修饰单元33,用于利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据;
对比单元34,用于依据对比规则对比原有输出数据和所述当前输出数据,获得所述当前案例于所述待测系统的测试结果。系统测试装置在输入修饰单元31之前还包括:
获取数据单元35,用于从全数据案例集中按先后顺序获取所述当前案例,并确定所述当前案例的原有输入数据和原有输出数据;
判断单元36,用于判断预先设置的配置文件是否包含与所述当前案例对应的规则;其中,所述预先设置的配置文件包括一个或多个案例对应的规则;
获取规则单元37,用于若所述预先设置的配置文件包含与所述当前案例对应的规则,则从所述预先设置的配置文件获取与所述当前案例对应的规则;
其中,所述规则包括用于对所述原有输入数据进行修饰的输入修饰规则,和/或,用于对实际输出数据进行修饰的输出修饰规则。
其中,若所述规则包括输入修饰规则,进入输入修饰单元31执行所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据的步骤;
其中,输入修饰单元31包括:
在所述输入修饰规则为添加指定字段并设置默认值的情况下,于所述原有输入数据中添加指定字段并设置默认值;
在所述输入修饰规则为删除指定字段的情况下,于所述原有输入数据中删除所述输入修饰规则指示的指定字段;
在所述输入修饰规则为修改指定字段为指定数据值的情况下,于所述原有输入数据中修改所述输入修饰规则指示的指定字段为指定数据值;
在所述输入修饰规则为修改指定序号数据中指定字段为指定数据值的情况下,于所述原有输入数据中确定指定序号数据,并修改指定序号数据中指定字段为指定数据值。
其中,若所述规则包括输出修饰规则,进入输出修饰单元33执行所述利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据的步骤。
其中,输出修饰单元33包括:
在所述输出修饰规则为添加指定字段并设置默认值的情况下,于所述实际输出数据中添加指定字段并设置默认值;
在所述输出修饰规则为删除指定字段的情况下,于所述实际输出数据中删除所述输出修饰规则指示的指定字段;
在所述输出修饰规则为删除指定数据的情况下,于所述实际输出数据中删除所述输出修饰规则指示的指定数据。
其中,对比单元34包括:
逐字段对比单元341,用于依据对比规则,对所述原有输出数据和所述当前输出数据逐字段进行对比;
获得结果单元342,用于在所述原有输出数据和所述当前输出数据逐字段对比结束后,获得各个字段的对比结果;
通过单元343,用于若所有字段的对比结果中未出现错误类型的异常数据,则确定所述当前案例于所述待测系统的测试结果为测试通过;
失败单元344,用于若所有字段的对比结果中出现错误类型的异常数据,则确定当前案例于所述待测系统的测试结果为测试失败;
其中,对比规则包括:
若所述当前输出数据中一字段为所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出对比结果为正常数据,否则输出对比结果为错误类型的异常数据;
若所述当前输出数据中一字段非所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出对比结果为正常数据,否则输出对比结果为忽略类型的异常数据。
其中系统测试装置在所述当前案例于所述待测系统的测试结果为测试失败后,还包括:
确定序号单元38,用于确定所述当前案例中出错数据序号;
停止单元39,用于采用定点输入功能重新加载当前案例,并于所述出错数据序号时停止输入,以还原出错场景。
其中系统测试装置还包括:
获得实际输出数据单元40,用于在获得实际输出数据后存储实际输出数据;
输出提示信息单元41,用于则在所述当前案例于所述待测系统的测试结果为测试通过后,输出是否存储案例的提示信息;
存储单元42,用于若接收到存储案例指令的情况下,存储所述当前输入数据和所述实际输出数据组成的新案例,至所述全数据案例集。
关于系统测试装置的具体实现,可以参见图2所示的实施例,对此不再赘述。
本申请提供了一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行图2所示的系统测试方法。
本申请还提供一种存储介质,所述存储介质用于存储软件程序,该软件程序可用于实现图2所示的系统测试方法。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种系统测试方法,其特征在于,包括:
利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据;
于待测系统中加载所述当前输入数据并获得实际输出数据;
利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据;
依据对比规则对比原有输出数据和所述当前输出数据,获得所述当前案例于所述待测系统的测试结果;
其中,所述依据对比规则对比所述原有输出数据和所述当前输出数据,获得所述当前案例于所述待测系统的测试结果,包括:
依据对比规则,对所述原有输出数据和所述当前输出数据逐字段进行对比;
在所述原有输出数据和所述当前输出数据逐字段对比结束后,获得各个字段的对比结果;
若所有字段的对比结果中未出现错误类型的异常数据,则确定所述当前案例于所述待测系统的测试结果为测试通过;
若所有字段的对比结果中出现错误类型的异常数据,则确定当前案例于所述待测系统的测试结果为测试失败;
其中,对比规则包括:
若所述当前输出数据中一字段为所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出对比结果为正常数据,否则输出对比结果为错误类型的异常数据;
若所述当前输出数据中一字段非所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出对比结果为正常数据,否则输出对比结果为忽略类型的异常数据。
2.如权利要求1所述的方法,其特征在于,在利用当前案例对应的输入修饰规则修饰所述当前案例的原有输入数据获得当前输入数据之前,还包括:
从全数据案例集中按先后顺序获取所述当前案例,并确定所述当前案例的原有输入数据和原有输出数据;
判断预先设置的配置文件是否包含与所述当前案例对应的规则;其中,所述预先设置的配置文件包括一个或多个案例对应的规则;
若所述预先设置的配置文件包含与所述当前案例对应的规则,则从所述预先设置的配置文件获取与所述当前案例对应的规则;
其中,所述规则包括用于对所述原有输入数据进行修饰的输入修饰规则,和/或,用于对实际输出数据进行修饰的输出修饰规则。
3.如权利要求2所述的方法,其特征在于,
若所述规则包括输入修饰规则,执行所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据的步骤;
其中,所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据,包括:
在所述输入修饰规则为添加指定字段并设置默认值的情况下,于所述原有输入数据中添加指定字段并设置默认值;
在所述输入修饰规则为删除指定字段的情况下,于所述原有输入数据中删除所述输入修饰规则指示的指定字段;
在所述输入修饰规则为修改指定字段为指定数据值的情况下,于所述原有输入数据中修改所述输入修饰规则指示的指定字段为指定数据值;
在所述输入修饰规则为修改指定序号数据中指定字段为指定数据值的情况下,于所述原有输入数据中确定指定序号数据,并修改指定序号数据中指定字段为指定数据值。
4.如权利要求2所述的方法,其特征在于,
若所述规则包括输出修饰规则,执行所述利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据的步骤;
其中,所述利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据,包括:
在所述输出修饰规则为添加指定字段并设置默认值的情况下,于所述实际输出数据中添加指定字段并设置默认值;
在所述输出修饰规则为删除指定字段的情况下,于所述实际输出数据中删除所述输出修饰规则指示的指定字段;
在所述输出修饰规则为删除指定数据的情况下,于所述实际输出数据中删除所述输出修饰规则指示的指定数据。
5.如权利要求1所述的方法,其特征在于,所述当前案例于所述待测系统的测试结果为测试失败后,还包括:
确定所述当前案例中出错数据序号;
采用定点输入功能重新加载当前案例,并于所述出错数据序号时停止输入,以还原出错场景。
6.如权利要求1所述的方法,其特征在于,还包括在获得实际输出数据后存储实际输出数据;
在所述当前案例于所述待测系统的测试结果为测试通过后,输出是否存储案例的提示信息;
若接收到存储案例指令的情况下,存储所述当前输入数据和所述实际输出数据组成的新案例,至全数据案例集。
7.一种系统测试装置,其特征在于,包括:
输入修饰单元,用于利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据;
输出单元,用于于待测系统中加载所述当前输入数据并获得实际输出数据;
输出修饰单元,用于利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据;
对比单元,用于依据对比规则对比原有输出数据和所述当前输出数据,获得所述当前案例于所述待测系统的测试结果;
其中,所述对比单元包括:
逐字段对比单元,用于依据对比规则,对所述原有输出数据和所述当前输出数据逐字段进行对比;
获得结果单元,用于在所述原有输出数据和所述当前输出数据逐字段对比结束后,获得各个字段的对比结果;
通过单元,用于若所有字段的对比结果中未出现错误类型的异常数据,则确定所述当前案例于所述待测系统的测试结果为测试通过;
失败单元,用于若所有字段的对比结果中出现错误类型的异常数据,则确定当前案例于所述待测系统的测试结果为测试失败;
其中,对比规则包括:
若所述当前输出数据中一字段为所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出对比结果为正常数据,否则输出对比结果为错误类型的异常数据;
若所述当前输出数据中一字段非所述实际输出数据中已有字段,则在所述原有输出数据和所述当前输出数据中该字段的数据值一致的情况下,输出对比结果为正常数据,否则输出对比结果为忽略类型的异常数据。
8.如权利要求7所述的装置,其特征在于,在输入修饰单元之前,还包括:
获取数据单元,用于从全数据案例集中按先后顺序获取所述当前案例,并确定所述当前案例的原有输入数据和原有输出数据;
判断单元,用于判断预先设置的配置文件是否包含与所述当前案例对应的规则;其中,所述预先设置的配置文件包括一个或多个案例对应的规则;
获取规则单元,用于若所述预先设置的配置文件包含与所述当前案例对应的规则,则从所述预先设置的配置文件获取与所述当前案例对应的规则;
其中,所述规则包括用于对所述原有输入数据进行修饰的输入修饰规则,和/或,用于对实际输出数据进行修饰的输出修饰规则。
9.如权利要求8所述的装置,其特征在于,
若所述规则包括输入修饰规则,进入输入修饰单元执行所述利用当前案例对应的输入修饰规则,修饰所述当前案例的原有输入数据获得当前输入数据的步骤;
其中,输入修饰单元包括:
在所述输入修饰规则为添加指定字段并设置默认值的情况下,于所述原有输入数据中添加指定字段并设置默认值;
在所述输入修饰规则为删除指定字段的情况下,于所述原有输入数据中删除所述输入修饰规则指示的指定字段;
在所述输入修饰规则为修改指定字段为指定数据值的情况下,于所述原有输入数据中修改所述输入修饰规则指示的指定字段为指定数据值;
在所述输入修饰规则为修改指定序号数据中指定字段为指定数据值的情况下,于所述原有输入数据中确定指定序号数据,并修改指定序号数据中指定字段为指定数据值。
10.如权利要求8所述的装置,其特征在于,
若所述规则包括输出修饰规则,进入输出修饰单元执行所述利用当前案例对应的输出修饰规则,修饰所述实际输出数据获得当前输出数据的步骤;
其中,输出修饰单元包括:
在所述输出修饰规则为添加指定字段并设置默认值的情况下,于所述实际输出数据中添加指定字段并设置默认值;
在所述输出修饰规则为删除指定字段的情况下,于所述实际输出数据中删除所述输出修饰规则指示的指定字段;
在所述输出修饰规则为删除指定数据的情况下,于所述实际输出数据中删除所述输出修饰规则指示的指定数据。
11.如权利要求7所述的装置,其特征在于,所述当前案例于所述待测系统的测试结果为测试失败后,还包括:
确定序号单元,用于确定所述当前案例中出错数据序号;
停止单元,用于采用定点输入功能重新加载当前案例,并于所述出错数据序号时停止输入,以还原出错场景。
12.如权利要求7所述的装置,其特征在于,还包括:
获得实际输出数据单元,用于在获得实际输出数据后存储实际输出数据;
输出提示信息单元,用于在所述当前案例于所述待测系统的测试结果为测试通过后,输出是否存储案例的提示信息;
存储单元,用于若接收到存储案例指令的情况下,存储所述当前输入数据和所述实际输出数据组成的新案例,至全数据案例集。
13.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行如权利要求1~6任一项所述的系统测试方法。
14.一种存储介质,其特征在于,所述存储介质用于存储软件程序,该软件程序可用于实现如权利要求1~6任一项所述的系统测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811517649.5A CN109684205B (zh) | 2018-12-12 | 2018-12-12 | 系统测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811517649.5A CN109684205B (zh) | 2018-12-12 | 2018-12-12 | 系统测试方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684205A CN109684205A (zh) | 2019-04-26 |
CN109684205B true CN109684205B (zh) | 2022-02-08 |
Family
ID=66186542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811517649.5A Active CN109684205B (zh) | 2018-12-12 | 2018-12-12 | 系统测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684205B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104329B (zh) * | 2019-12-20 | 2021-03-16 | 光大兴陇信托有限责任公司 | 一种自助系统对接案例引导测试方法 |
CN112799907A (zh) * | 2021-01-21 | 2021-05-14 | 安徽心驰信息科技有限公司 | 一种信息系统测试维护方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135989A (zh) * | 2006-08-31 | 2008-03-05 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试的方法和装置 |
CN103853652A (zh) * | 2012-11-29 | 2014-06-11 | 百度在线网络技术(北京)有限公司 | 一种测试案例生成方法及装置 |
CN107665171A (zh) * | 2017-10-11 | 2018-02-06 | 中国民生银行股份有限公司 | 自动回归测试方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298596B2 (en) * | 2013-07-09 | 2016-03-29 | International Business Machines Corporation | Test framework for computing jobs |
-
2018
- 2018-12-12 CN CN201811517649.5A patent/CN109684205B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135989A (zh) * | 2006-08-31 | 2008-03-05 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试的方法和装置 |
CN103853652A (zh) * | 2012-11-29 | 2014-06-11 | 百度在线网络技术(北京)有限公司 | 一种测试案例生成方法及装置 |
CN107665171A (zh) * | 2017-10-11 | 2018-02-06 | 中国民生银行股份有限公司 | 自动回归测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
怎样才能达到高效开发与彻底测试;MPU;《https://blog.csdn.net/MPU/article/details/1339903》;20061018;第3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109684205A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032611B (zh) | 脚本部署方法、装置、计算机设备及存储介质 | |
CN106339312B (zh) | Api测试方法和系统 | |
CN107145437B (zh) | 一种java注解测试方法及装置 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN110851351A (zh) | 部署环境测试方法、装置、计算机设备及存储介质 | |
CN113434395B (zh) | 测试用例的自动化生成方法、装置、设备及介质 | |
CN109684205B (zh) | 系统测试方法、装置、电子设备及存储介质 | |
CN112363937A (zh) | 差异覆盖率测试方法、装置、计算机设备和存储介质 | |
CN113672269B (zh) | 数据处理方法、系统、电子设备及程序产品 | |
CN110889116A (zh) | 一种广告拦截方法、装置及电子设备 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN112416648A (zh) | 数据校验方法及装置 | |
CN114812695B (zh) | 一种产品测试方法、装置、计算机设备和存储介质 | |
CN115543816A (zh) | 软件回归测试结果验证方法、装置、设备及存储介质 | |
CN112817652B (zh) | 计算机环境的配置方法、装置、计算机设备以及存储介质 | |
CN113656318A (zh) | 软件版本测试方法、装置及计算机设备 | |
KR102002545B1 (ko) | 가상화를 통한 코드 테스트 수행 자동화 방법 및 장치 | |
CN113704123A (zh) | 接口测试方法、装置、设备以及存储介质 | |
CN113157594B (zh) | 一种用户权限测试方法、装置、电子设备及存储介质 | |
CN114595159B (zh) | 测试数据生成方法、装置、设备及存储介质 | |
CN113052463B (zh) | 工作流核验方法、装置、计算机设备及存储介质 | |
CN113608996B (zh) | 一种镜像编译测试方法、系统、装置及可读存储介质 | |
CN110716855B (zh) | 处理器指令集测试方法及装置 | |
CN112860285B (zh) | 金融自助设备的sp升级包生成方法、装置及计算机设备 | |
CN117951033A (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 |