CN104182348A - 软件测试方法及装置 - Google Patents

软件测试方法及装置 Download PDF

Info

Publication number
CN104182348A
CN104182348A CN201410469661.9A CN201410469661A CN104182348A CN 104182348 A CN104182348 A CN 104182348A CN 201410469661 A CN201410469661 A CN 201410469661A CN 104182348 A CN104182348 A CN 104182348A
Authority
CN
China
Prior art keywords
database
trial function
identifier
default
trial
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.)
Granted
Application number
CN201410469661.9A
Other languages
English (en)
Other versions
CN104182348B (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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology 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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201410469661.9A priority Critical patent/CN104182348B/zh
Publication of CN104182348A publication Critical patent/CN104182348A/zh
Application granted granted Critical
Publication of CN104182348B publication Critical patent/CN104182348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种软件测试方法及装置。该软件测试方法包括:获取测试函数的标识符;根据测试函数标识符创建测试函数对应的数据库,该数据库包括第一数据库和第二数据库;测试函数驱动测试对象运行;测试对象调用第一数据库,并将运行结果存储在第二数据库;测试函数从第二数据库获取运行结果;测试函数判断运行结果是否与预设结果一致;以及如果运行结果与预设结果一致,则确定测试函数测试成功,如果运行结果与预设结果不一致,则确定测试函数测试失败。本发明通过根据测试函数标识符创建测试函数对应的数据库,解决了软件测试过程中无法从数据库中追溯测试用例失败原因的问题,进而达到了能够从数据库中追溯测试用例失败原因的效果。

Description

软件测试方法及装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种软件测试方法及装置。
背景技术
在软件测试中,有这样一种自动化测试场景:测试对象依赖一套特定结构的数据库,因此每个测试用例的执行也需要配置这样一套数据库。在运行这些测试用例的时候,数据库的管理需要以一套自动化的方法来进行。在现有技术中,每个用例使用同一套数据库,在测试用例初始化时,即TestInitialize过程中创建数据库,在下个测试用例初始化时,再删除之前测试用例的数据库,重新创建新的同名数据库。图1是现有技术的测试过程流程图,如图1所示,在软件测试开始后,测试函数1至测试函数3依次操作同一套数据库(包括数据库DBA、数据库DBB和数据库DBC)进行测试,只有在前一个测试函数测试结束后,下一个测试函数才可以操作数据库进行测试,直至所有的测试函数测试完成,结束测试过程。由于所有用例操作同一套数据库,用例间无法并行运行,否则就会发生数据库数据的冲突。由于下个测试用例初始化时会删除之前用例的数据库,因此在批量运行测试用例后,一旦中间某个用例失败,则无法从数据库中追溯失败原因。
针对相关技术中软件测试过程中无法从数据库中追溯测试用例失败原因的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种软件测试方法及装置,以解决软件测试过程中无法从数据库中追溯测试用例失败原因的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种软件测试方法。
根据本发明的软件测试方法包括:获取测试函数的标识符;根据测试函数标识符创建测试函数对应的数据库,其中,该数据库包括第一数据库和第二数据库,第一数据库用于存储测试对象运行需要调用的数据,第二数据库用于存储测试对象运行结果;测试函数驱动测试对象运行;测试对象调用第一数据库,并将运行结果存储在第二数据库;测试函数从第二数据库获取运行结果;测试函数判断运行结果是否与预设结果一致;以及如果运行结果与预设结果一致,则确定测试函数测试成功,如果运行结果与预设结果不一致,则确定测试函数测试失败。
进一步地,获取测试函数的标识符包括:获取预设测试函数标识符;判断预设测试函数标识符是否唯一;以及当预设测试函数标识符唯一时,将预设测试函数标识符作为测试函数的标识符。
进一步地,判断预设测试函数标识符是否唯一包括:获取多个预设测试函数标识符;判断多个预设测试函数标识符中是否存在相同的标识符;如果不存在相同的标识符,则确定测试函数标识符唯一;以及如果存在相同的标识符,则确定测试函数标识符不唯一。
进一步地,根据测试函数标识符创建测试函数的数据库包括:获取模板数据库;创建模板数据库的备份数据库;以及根据测试函数标识符对备份数据库进行编号,得到测试函数的数据库。
进一步地,在测试函数判断运行结果是否与预设结果一致之后,软件测试方法还包括:当确定测试函数测试成功时,则删除测试函数对应的数据库;以及当确定测试用例测试失败时,则存储测试函数对应的数据库。
为了实现上述目的,根据本发明的另一方面,提供了一种软件测试装置。
根据本发明的软件测试装置包括:第一获取模块,用于获取测试函数的标识符;创建模块,用于根据测试函数标识符创建测试函数对应的数据库,其中,该数据库包括第一数据库和第二数据库,第一数据库用于存储测试对象运行需要调用的数据,第二数据库用于存储测试对象运行结果;驱动模块,用于驱动测试对象运行;调用模块,用于测试对象调用第一数据库,并将运行结果存储在第二数据库;第二获取模块,用于测试函数从第二数据库获取运行结果;判断模块,用于测试函数判断运行结果是否与预设结果一致;以及确定模块,用于当运行结果与预设结果一致时,则确定测试函数测试成功,当运行结果与预设结果不一致时,则确定测试函数测试失败。
进一步地,第一获取模块包括:第一获取单元,用于获取预设测试函数标识符;第一判断单元,用于判断预设测试函数标识符是否唯一;以及第一确定单元,用于当预设测试函数标识符唯一时,确定预设测试函数标识符作为测试函数的标识符。
进一步地,第一判断单元包括:第二获取单元,用于获取多个预设测试函数标识符;第二判断单元,用于判断多个预设测试函数标识符中是否存在相同的标识符;以及第二确定单元,用于当不存在相同的标识符时,确定测试函数标识符唯一,当存在相同的标识符时,确定测试函数标识符不唯一。
进一步地,创建模块包括:第三获取单元,用于获取模板数据库;创建单元,用于创建模板数据库的备份数据库;以及编号单元,用于根据测试函数标识符对备份数据库进行编号,得到测试函数的数据库。
进一步地,在测试函数判断运行结果是否与预设结果一致之后,软件测试装置还包括:删除模块,用于当确定测试函数测试成功时,删除测试函数对应的数据库;以及存储模块,用于当确定测试用例测试失败时,存储测试函数对应的数据库。
通过本发明,采用根据测试函数标识符创建测试函数对应的数据库,使得每个测试函数对应的数据库都不相同,解决了软件测试过程中无法从数据库中追溯测试用例失败原因的问题,进而达到了能够从数据库中追溯测试用例失败原因的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的软件测试流程图;
图2是根据本发明实施例的软件测试方法的流程图;
图3是根据本发明实施例的多个测试函数串行运行示意图;
图4是根据本发明实施例的多个测试函数并行运行示意图;以及
图5是根据本发明实施例的软件测试装置示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
软件测试就是利用测试工具对产品进行功能和性能的测试,以确保开发的产品满足需求,在软件测试过程中,待测试的产品即测试对象,测试对象往往是一些计算机应用程序,测试工具可以是按照软件测试需求编写的一套测试函数。根据本发明实施例的软件测试体系建立在Visual Studio测试框架之上,以下是该Visual Studio测试框架体系下的各个函数标识介绍:
[TestMethod]标识:标识当前函数是一个测试函数。用户可以根据具体的测试对象编写相应的测试函数以实现对测试对象的测试。
[AssemblyInitialize]标识:在进入测试程序集时首先运行该标识标志的函数,整个软件测试过程中该函数仅运行一次。
[TestInitialize]标识:在每个测试函数运行之前需要运行一次该标识标志的函数,用于测试函数相关参数的初始化,例如,创建测试函数对应的数据库。
[TestCleanup]标识:在每个测试函数运行结束之后都要运行一次该标识标志的函数,用于清理当前测试函数生成的相关数据,例如删除测试函数对应的数据库。
根据本发明实施例,提供了一种软件测试方法,图1是根据本发明实施例的软件测试方法的流程图。
如图1所示,该方法包括如下的步骤S102至步骤S114:
步骤S102:获取测试函数的标识符。
步骤S104:根据测试函数标识符创建测试函数对应的数据库,其中,数据库包括第一数据库和第二数据库,第一数据库用于存储测试对象运行需要调用的数据,第二数据库用于存储测试对象运行结果。
根据测试函数标识符创建测试函数对应的数据库时,创建的数据库可以是一个第一数据库和一个第二数据库,也可以是多个第一数据库和多个第二数据库,多个第一数据库都是用于存储测试对象运行需要调用的数据,例如,4个用于存储测试对象运行需要调用的数据的第一数据库,多个第二数据库也都是用来存储测试对象运行结果,例如,3个用于存储测试对象运行结果的第二数据库。
步骤S106:测试函数驱动测试对象运行。
步骤S108:测试对象调用第一数据库,并将运行结果存储在第二数据库。
步骤S110:测试函数从第二数据库获取运行结果。
步骤S112:测试函数判断运行结果是否与预设结果一致。
步骤S114:如果运行结果与预设结果一致,则确定测试函数测试成功,如果运行结果与预设结果不一致,则确定测试函数测试失败。
本发明实施例的测试对象的运行需要依赖一套特定的数据库,在测试函数初始化时,需要创建一套数据库用于测试对象调用。如果存在多个测试函数时,需要为每一个测试函数都创建对应的数据库。
为了避免多个测试函数对应的数据库的不同,保证每个数据库的唯一性,本发明实施例通过为每个测试函数指定一个标识符,例如,在测试函数名之前以Attribute标识该测试函数,如在测试函数[TestMethod]前置[TestProfileId(5005)],即构成[TestProfileId(5005)][TestMethod]形式。在测试初始化函数TestInitialize中根据测试函数标识符创建测试函数对应的数据库,每个测试函数对应的数据库根据测试函数的标识符进行编号,保证每个测试函数对应的数据库不相同。
现有技术中每个测试函数使用的数据库都是同名数据库,当多个测试函数串行运行后,后面的测试函数的数据库覆盖了前面运行的测试函数的数据库,使得一旦中间某个测试函数测试失败,无法从数据库中追溯失败原因。而本发明实施例提供的软件测试方法,每个测试函数使用的数据库都不同名,因此在运行多个测试函数后,不会造成不同测试函数的数据库之间数据的相互覆盖,因此,测试函数测试失败后,都可以从该测试函数对应的数据库中追溯失败原因,解决了现有技术中无法从数据库中追溯测试函数失败原因的问题。此外,由于每个测试函数使用的数据库都不同名,不同测试函数使用的数据都是相互独立的,因此,可以实现多个测试函数的并行运行进行软件测试。
图3为根据本发明实施例的多个测试函数串行运行示意图。从图3可以看出,软件测试程序开始后,首先通过测试程序集初始化函数,即AssemblyInitialize函数,检测所有测试函数的标识符是否唯一。如果所有测试函数的标识符唯一,则测试函数的测试初始化函数,即TestInitialize函数,根据测试函数标识符创建对应的数据库,例如,测试函数1通过TestInitialize函数创建一套数据库1,该数据库1包括数据库A_1、数据库B_1和数据库C_1。测试函数1还包括测试方法函数和测试清理函数,测试方法函数驱动测试对象运行,测试对象调用数据库,并将运行结果存储在数据库中,测试方法函数获取存储在数据库中的运行结果,并与预设运行结果进行分析比较,如果一致则测试函数成功,否则测试函数测试失败。
在完成测试函数1的测试之后,依次运行测试函数2和测试函数3,其中,测试函数2利用数据库2进行测试,数据库2包括数据库A_2、数据库B_2和数据库C_2。测试函数3利用数据库3进行测试,数据库3包括数据库A_3、数据库B_3和数据库C_3。由于测试函数1、测试函数2和测试函数3利用不同的数据库进行测试,因此不会造成数据库之间数据的相互覆盖,当出现中间测试函数测试失败时,可以从其对应的数据库中查找原因。
图4为根据本发明实施例的多个测试函数并行运行示意图。如图4所示,测试函数1、测试函数2和测试函数3并行运行,其中,测试函数1利用数据1进行测试,测试函数2利用数据库2进行测试,测试函数3利用数据库3进行测试,由于三个数据库相互独立,因此并行运行测试函数1、测试函数2和测试函数3时不会造成数据库之间数据冲突,通过测试函数的并行运行可以有效提高软件测试的效率。
优选地,为了保证测试函数标识符的唯一性,获取测试函数的标识符包括:获取预设测试函数标识符;判断预设测试函数标识符是否唯一;以及当预设测试函数标识符唯一时,将预设测试函数标识符作为测试函数的标识符。
在为所有的测试函数指定标识符之后,需要验证测试函数标识符的唯一性,当判断预设测试函数标识符唯一时,则获取预设测试函数标识符作为测试函数的标识符,当判断预设测试函数标识符不唯一时,则输出相应的提示信息告诉用户测试函数的标识符不唯一,并且终止软件测试进程。这样可以避免由于测试函数标识符的不唯一造成测试函数对应的数据库的不唯一,最终使得测试函数并行运行造成数据库之间数据冲突,另一方面,由于相同数据库的数据覆盖,造成测试函数失败后无法从数据库追溯原因。
可选地,判断预设测试函数标识符是否唯一包括:获取多个预设测试函数标识符;判断多个预设测试函数标识符中是否存在相同的标识符;如果不存在相同的标识符,则确定测试函数标识符唯一;以及如果存在相同的标识符,则确定测试函数标识符不唯一。
在获取到所有的预设测试函数标识符后,可以有多种方式判断预设测试函数标识符是否唯一,例如,依次比较两个预设测试函数标识符是否相同。只要存在任意两个测试函数的标识符相同,则判断测试函数标识符不唯一,输出提示信息,并终止整个软件测试过程。
优选地,为了方便快速的实现数据库的创建,根据测试函数标识符创建测试函数的数据库包括:获取模板数据库;创建模板数据库的备份数据库;以及根据测试函数标识符对备份数据库进行编号,得到测试函数的数据库。
通过预先在整个软件测试集中建立模板数据库,该模板数据库包含第一数据库和第二数据库,其中,第一数据库存储着用于测试对象运行时调用的数据,第二数据库用于存储测试对象运行结果。测试函数可以通过运行SQL脚本语言备份模板数据库,得到备份数据库,或是直接通过软件接口备份模板数据库,例如,通过C#接口实现模板数据库的备份。得到备份数据库后,再根据测试函数标识符对备份数据库进行编号,得到与测试函数对应的数据库。通过对模板数据库进行备份得到测试函数的数据库,实现过程方便快捷。
优选地,为了减少大量测试函数对应的数据库对内存的占用,在测试函数判断运行结果是否与预设结果一致之后,软件测试方法还包括:当确定测试函数测试成功时,则删除测试函数对应的数据库;以及当确定测试用例测试失败时,则存储测试函数对应的数据库。
当测试函数较多时,创建的数据库就越多,因此对内存的占用较大。为了保证软件测试效果的同时,减少数据库对内存的占用量,当判断测试函数测试成功时,通过测试清理函数清理该测试函数对应的数据库,当判断测试函数测试失败时,则存储该测试函数对应的数据库,这样利于从数据库中追溯该测试函数失败的原因。由于只删除测试成功的测试函数对应的数据库,而在实际测试过程中,失败的测试函数的比例占少数,这样一方面能够减少内存的占用,另一方面也可以从数据库中追溯失败测试函数失败的原因。
从以上的描述中,可以看出,本发明实现了如下技术效果:
根据本发明的实施例,提供了一种软件测试方法,通过为每个测试函数指定一个唯一的标识符,并根据测试函数的标识符创建对应的数据库,使得每个测试函数对应的数据库都不相同,测试函数驱动测试对象运行,测试对象运行时调用数据库中的数据并将运行结果存储在数据库中,测试函数获取测试对象运行结果并与预设结果分析比较,如果运行结果与预设结果一致则判断测试函数成功,如果运行结果与预设结果不一致则判断测试函数失败,并将测试失败的测试函数对应的数据库存储在内存中。由于测试函数对应的数据库不同,通过本发明实施例提供的软件测试方法能够从数据库中追溯测试失败的测试函数的失败原因,并且多个测试函数可以并行运行,提高软件测试的效率。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例的另一方面,提供了一种软件测试装置。图5是根据本发明实施例的软件测试装置示意图。
如图5所示,该装置包括:第一获取模块10,创建模块20,驱动模块30,调用模块40,第二获取模块50,判断模块60和确定模块70。
第一获取模块10,用于获取测试函数的标识符。
创建模块20,用于根据测试函数标识符创建测试函数对应的数据库,其中,数据库包括第一数据库和第二数据库,第一数据库用于存储测试对象运行需要调用的数据,第二数据库用于存储测试对象运行结果。
根据测试函数标识符创建测试函数对应的数据库时,创建的数据库可以是一个第一数据库和一个第二数据库,也可以是多个第一数据库和多个第二数据库,多个第一数据库都是用于存储测试对象运行需要调用的数据,例如,4个用于存储测试对象运行需要调用的数据的第一数据库,多个第二数据库也都是用来存储测试对象运行结果,例如,3个用于存储测试对象运行结果的第二数据库。
驱动模块30,用于测试函数驱动测试对象运行。
调用模块40,用于测试对象调用第一数据库,并将运行结果存储在第二数据库;
第二获取模块50,用于测试函数从第二数据库获取运行结果;
判断模块60,用于测试函数判断运行结果是否与预设结果一致;以及
确定模块70,用于当运行结果与预设结果一致时,则确定测试函数测试成功,当运行结果与预设结果不一致时,则确定测试函数测试失败。
本发明实施例的测试对象的运行需要依赖一套特定的数据库,在测试函数初始化时,需要创建一套数据库用于测试对象调用。如果存在多个测试函数时,需要为每一个测试函数都创建对应的数据库。
为了避免多个测试函数对应的数据库的不同,保证每个数据库的唯一性,本发明实施例通过为每个测试函数指定一个标识符,例如,在测试函数名之前以Attribute标识该测试函数,如在测试函数[TestMethod]前置[TestProfileId(5005)],即构成[TestProfileId(5005)][TestMethod]形式。通过创建模块20根据测试函数标识符创建测试函数对应的数据库,每个测试函数对应的数据库根据测试函数的标识符进行编号,保证每个测试函数对应的数据库不相同。
现有技术中每个测试函数使用的数据库都是同名数据库,当多个测试函数串行运行后,后面的测试函数的数据库覆盖了前面运行的测试函数的数据库,使得一旦中间某个测试函数测试失败,无法从数据库中追溯失败原因。
本发明实施例提供的软件测试装置,通过获取模块10获取测试函数的标识符,通过创建模块20根据测试函数标识符创建测试函数对应的数据库,得到的每个测试函数数据库都不同名。因此在运行多个测试函数后,不会造成不同测试函数的数据库之间数据的相互覆盖,因此,测试函数测试失败后,都可以从该测试函数对应的数据库中追溯失败原因,解决了现有技术中无法从数据库中追溯测试函数失败原因的问题。此外,由于每个测试函数使用的数据库都不同名,不同测试函数使用的数据都是相互独立的,因此,可以实现多个测试函数的并行运行进行软件测试,提高了软件测试的效率。
优选地,为了保证测试函数标识符的唯一性,第一获取模块10包括:第一获取单元,用于获取预设测试函数标识符;第一判断单元,用于判断预设测试函数标识符是否唯一;以及第一确定单元,用于当预设测试函数标识符唯一时,确定预设测试函数标识符作为测试函数的标识符。
在为所有的测试函数指定标识符之后,需要验证测试函数标识符的唯一性,当判断预设测试函数标识符唯一时,则获取预设测试函数标识符作为测试函数的标识符,当判断预设测试函数标识符不唯一时,则输出相应的提示信息告诉用户测试函数的标识符不唯一,并且终止软件测试进程。这样可以避免由于测试函数标识符的不唯一造成测试函数对应的数据库的不唯一,最终使得测试函数并行运行造成数据库之间数据冲突,另一方面,由于相同数据库的数据覆盖,造成测试函数失败后无法从数据库追溯原因。
可选地,第一判断单元包括:第二获取单元,用于获取多个预设测试函数标识符;第二判断单元,用于判断多个预设测试函数标识符中是否存在相同的标识符;以及第二确定单元,用于当不存在相同的标识符时,确定测试函数标识符唯一,当存在相同的标识符时,确定测试函数标识符不唯一。
在获取到所有的预设测试函数标识符后,可以有多种方式判断预设测试函数标识符是否唯一,例如,依次比较两个预设测试函数标识符是否相同。只要存在任意两个测试函数的标识符相同,则判断测试函数标识符不唯一,输出提示信息,并终止整个软件测试过程。
优选地,为了方便快速的实现数据库的创建,创建模块20包括:第三获取单元,用于获取模板数据库;创建单元,用于创建模板数据库的备份数据库;以及编号单元,用于根据测试函数标识符对备份数据库进行编号,得到测试函数的数据库。
通过预先在整个软件测试集中建立模板数据库,该模板数据库包含第一数据库和第二数据库,其中,第一数据库存储着用于测试对象运行时调用的数据,第二数据库用于存储测试对象运行结果。测试函数可以通过运行SQL脚本语言备份模板数据库,得到备份数据库,或是直接通过软件接口备份模板数据库,例如,通过C#接口实现模板数据库的备份。得到备份数据库后,再根据测试函数标识符对备份数据库进行编号,得到与测试函数对应的数据库。通过对模板数据库进行备份得到测试函数的数据库,实现过程方便快捷。
优选地,为了减少大量测试函数对应的数据库对内存的占用,在测试函数判断运行结果是否与预设结果一致之后,软件测试装置还包括:删除模块,用于当确定测试函数测试成功时,删除测试函数对应的数据库;以及存储模块,用于当确定测试用例测试失败时,存储测试函数对应的数据库。
当测试函数较多时,创建的数据库就越多,因此对内存的占用较大。为了保证软件测试效果的同时,减少数据库对内存的占用量,当判断测试函数测试成功时,通过测试清理函数清理该测试函数对应的数据库,当判断测试函数测试失败时,则存储该测试函数对应的数据库,这样利于从数据库中追溯该测试函数失败的原因。由于只删除测试成功的测试函数对应的数据库,而在实际测试过程中,失败的测试函数的比例占少数,这样一方面能够减少内存的占用,另一方面也可以从数据库中追溯失败测试函数失败的原因。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种软件测试方法,其特征在于,包括:
获取测试函数的标识符;
根据所述测试函数标识符创建所述测试函数对应的数据库,其中,所述数据库包括第一数据库和第二数据库,所述第一数据库用于存储测试对象运行需要调用的数据,所述第二数据库用于存储所述测试对象运行结果;
所述测试函数驱动所述测试对象运行;
所述测试对象调用所述第一数据库,并将运行结果存储在所述第二数据库;
所述测试函数从所述第二数据库获取所述运行结果;
所述测试函数判断所述运行结果是否与预设结果一致;以及
如果所述运行结果与所述预设结果一致,则确定所述测试函数测试成功,如果所述运行结果与所述预设结果不一致,则确定所述测试函数测试失败。
2.根据权利要求1所述的软件测试方法,其特征在于,获取测试函数的标识符包括:
获取预设测试函数标识符;
判断所述预设测试函数标识符是否唯一;以及
当所述预设测试函数标识符唯一时,将所述预设测试函数标识符作为所述测试函数的标识符。
3.根据权利要求2所述的软件测试方法,其特征在于,判断所述预设测试函数标识符是否唯一包括:
获取多个预设测试函数标识符;
判断所述多个预设测试函数标识符中是否存在相同的标识符;
如果不存在相同的标识符,则确定所述测试函数标识符唯一;以及
如果存在相同的标识符,则确定所述测试函数标识符不唯一。
4.根据权利要求1所述的软件测试方法,其特征在于,根据所述测试函数标识符创建所述测试函数的数据库包括:
获取模板数据库;
创建所述模板数据库的备份数据库;以及
根据所述测试函数标识符对所述备份数据库进行编号,得到所述测试函数的数据库。
5.根据权利要求1所述的软件测试方法,其特征在于,在所述测试函数判断所述运行结果是否与预设结果一致之后,所述软件测试方法还包括:
当确定所述测试函数测试成功时,则删除所述测试函数对应的所述数据库;以及
当确定所述测试用例测试失败时,则存储所述测试函数对应的所述数据库。
6.一种软件测试装置,其特征在于,包括:
第一获取模块,用于获取测试函数的标识符;
创建模块,用于根据所述测试函数标识符创建所述测试函数对应的数据库,其中,所述数据库包括第一数据库和第二数据库,所述第一数据库用于存储测试对象运行需要调用的数据,所述第二数据库用于存储所述测试对象运行结果;
驱动模块,用于使所述测试函数驱动所述测试对象运行;
调用模块,用于使所述测试对象调用所述第一数据库,并将运行结果存储在所述第二数据库;
第二获取模块,用于使所述测试函数从所述第二数据库获取所述运行结果;
判断模块,用于使所述测试函数判断所述运行结果是否与预设结果一致;以及
确定模块,用于当所述运行结果与所述预设结果一致时,则确定所述测试函数测试成功,当所述运行结果与所述预设结果不一致时,则确定所述测试函数测试失败。
7.根据权利要求6所述的软件测试装置,其特征在于,所述第一获取模块包括:
第一获取单元,用于获取预设测试函数标识符;
第一判断单元,用于判断所述预设测试函数标识符是否唯一;以及
第一确定单元,用于当所述预设测试函数标识符唯一时,确定所述预设测试函数标识符作为所述测试函数的标识符。
8.根据权利要求7所述的软件测试装置,其特征在于,所述第一判断单元包括:
第二获取单元,用于获取多个预设测试函数标识符;
第二判断单元,用于判断所述多个预设测试函数标识符中是否存在相同的标识符;以及
第二确定单元,用于当不存在相同的标识符时,确定所述测试函数标识符唯一,当存在相同的标识符时,确定所述测试函数标识符不唯一。
9.根据权利要求6所述的软件测试装置,其特征在于,所述创建模块包括:
第三获取单元,用于获取模板数据库;
创建单元,用于创建所述模板数据库的备份数据库;以及
编号单元,用于根据所述测试函数标识符对所述备份数据库进行编号,得到所述测试函数的数据库。
10.根据权利要求6所述的软件测试装置,其特征在于,在所述测试函数判断所述运行结果是否与预设结果一致之后,所述软件测试装置还包括:
删除模块,用于当确定所述测试函数测试成功时,删除所述测试函数对应的所述数据库;以及
存储模块,用于当确定所述测试用例测试失败时,存储所述测试函数对应的所述数据库。
CN201410469661.9A 2014-09-15 2014-09-15 软件测试方法及装置 Active CN104182348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410469661.9A CN104182348B (zh) 2014-09-15 2014-09-15 软件测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410469661.9A CN104182348B (zh) 2014-09-15 2014-09-15 软件测试方法及装置

Publications (2)

Publication Number Publication Date
CN104182348A true CN104182348A (zh) 2014-12-03
CN104182348B CN104182348B (zh) 2017-04-12

Family

ID=51963413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410469661.9A Active CN104182348B (zh) 2014-09-15 2014-09-15 软件测试方法及装置

Country Status (1)

Country Link
CN (1) CN104182348B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681867A (zh) * 2015-11-09 2017-05-17 阿里巴巴集团控股有限公司 一种测试方法及装置
CN107145437A (zh) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 一种java注解测试方法及装置
CN107153609A (zh) * 2016-03-04 2017-09-12 阿里巴巴集团控股有限公司 一种自动化测试方法和装置
CN110727446A (zh) * 2019-09-25 2020-01-24 光通天下网络科技股份有限公司 自动部署方法、装置、设备及介质
CN114528144A (zh) * 2022-04-22 2022-05-24 晨达(广州)网络科技有限公司 一种分类存储辩错信息的软件开发系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100451988C (zh) * 2006-11-14 2009-01-14 无敌科技(西安)有限公司 一种实现单元测试的方法及系统
CN100465968C (zh) * 2007-08-20 2009-03-04 中兴通讯股份有限公司 自动化测试日志处理系统
CN101996116A (zh) * 2009-08-10 2011-03-30 鸿富锦精密工业(深圳)有限公司 测试方法
CN103186561A (zh) * 2011-12-28 2013-07-03 深圳市金蝶友商电子商务服务有限公司 数据测试方法、测试库的生成方法及相关装置
CN103577907B (zh) * 2012-07-24 2016-12-07 阿里巴巴集团控股有限公司 一种持续集成测试方法和系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681867A (zh) * 2015-11-09 2017-05-17 阿里巴巴集团控股有限公司 一种测试方法及装置
CN106681867B (zh) * 2015-11-09 2019-08-30 阿里巴巴集团控股有限公司 一种测试方法及装置
CN107145437A (zh) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 一种java注解测试方法及装置
CN107145437B (zh) * 2016-03-01 2020-09-22 阿里巴巴集团控股有限公司 一种java注解测试方法及装置
CN107153609A (zh) * 2016-03-04 2017-09-12 阿里巴巴集团控股有限公司 一种自动化测试方法和装置
CN107153609B (zh) * 2016-03-04 2020-12-22 创新先进技术有限公司 一种自动化测试方法和装置
CN110727446A (zh) * 2019-09-25 2020-01-24 光通天下网络科技股份有限公司 自动部署方法、装置、设备及介质
CN114528144A (zh) * 2022-04-22 2022-05-24 晨达(广州)网络科技有限公司 一种分类存储辩错信息的软件开发系统

Also Published As

Publication number Publication date
CN104182348B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
CN104182348A (zh) 软件测试方法及装置
CN107040578B (zh) 数据同步方法、装置和系统
CN110738389A (zh) 工作流处理方法、装置、计算机设备和存储介质
CN103365779A (zh) 软件测试方法和系统
US11461195B2 (en) Query fault processing method and processing apparatus
CN109344053B (zh) 接口覆盖测试方法、系统、计算机设备和存储介质
CN111125444A (zh) 大数据任务调度管理方法、装置、设备及存储介质
CN107783829B (zh) 任务处理方法、装置、存储介质和计算机设备
CN104536874A (zh) 客户端崩溃定位方法和设备
CN107203464B (zh) 业务问题的定位方法以及装置
CN106326222A (zh) 一种数据处理方法和装置
WO2017162026A1 (zh) 生成描述信息的方法及装置
CN108376110A (zh) 一种自动检测方法、系统及终端设备
CN106407233A (zh) 一种数据处理方法和设备
CN108897678B (zh) 静态代码检测方法和静态代码检测系统、存储设备
CN106201810A (zh) 一种测试方法、装置
CN107102892B (zh) 定时器的处理方法和装置
CN108650134A (zh) 网络故障定位的方法、装置及电子设备
CN111625342B (zh) 一种数据溯源方法、装置及服务器
CN110232013B (zh) 测试方法、装置以及控制器和介质
CN110753090A (zh) 服务器集群的任务执行方法、装置、计算机设备及存储介质
CN106610899B (zh) 一种测试用例生成方法及装置
CN106649678B (zh) 一种数据处理方法及系统
CN115061907A (zh) 测试方法和测试系统、电子设备、存储介质
CN114676061A (zh) 一种基于知识图谱自动化固件检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Software testing method and device

Effective date of registration: 20190531

Granted publication date: 20170412

Pledgee: Shenzhen Black Horse World Investment Consulting Co., Ltd.

Pledgor: Beijing Guoshuang Technology Co.,Ltd.

Registration number: 2019990000503

PE01 Entry into force of the registration of the contract for pledge of patent right
CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: Beijing Guoshuang Technology Co.,Ltd.

CP02 Change in the address of a patent holder