CN110058998B - 软件测试方法及装置 - Google Patents
软件测试方法及装置 Download PDFInfo
- Publication number
- CN110058998B CN110058998B CN201910185014.8A CN201910185014A CN110058998B CN 110058998 B CN110058998 B CN 110058998B CN 201910185014 A CN201910185014 A CN 201910185014A CN 110058998 B CN110058998 B CN 110058998B
- Authority
- CN
- China
- Prior art keywords
- test
- software
- output data
- actual output
- input parameter
- 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/3684—Test management for test design, e.g. generating new test cases
-
- 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
-
- 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
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是步骤S130在一实施例中的流程图;
图4是图3对应实施的步骤S133之前步骤的流程图;
图5是图4对应实施例的步骤S211在一实施例中的流程图;
图6是图4对应实施例的步骤S212之前步骤在一实施例中的流程图;
图7是步骤S190之后步骤在一实施例中的流程图;
图8是步骤S190之后步骤在另一实施例中的流程图;
图9是根据一示例性实施例示出的一种软件测试装置的框图;
图10是根据另一示例性实施例示出的一种软件测试装置的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种装置的框图。待进行测试的软件可以运行在装置200上,从而,装置200也可以作为本公开软件测试方法的执行主体。装置200可以是服务器,也可以是可供软件运行的终端设备,例如智能手机、平板电脑、台式电脑以及其他可供软件运行的电子设备,在此不进行具体限定。
需要说明的是,该装置200只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该装置也不能解释为需要依赖于或者必须具有图2中示出的示例性的装置200中的一个或者多个组件。
该装置200的硬件结构可因配置或者性能的不同而产生较大的差异,如图2所示,装置200包括:电源210、接口230、至少一存储器250、以及至少一处理器(CPU,CentralProcessing Units)270。
其中,电源210用于为装置200上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。其中,操作系统251用于管理与控制装置200上的各硬件设备以及应用程序253,以实现处理器270对海量数据255的计算与处理,其可以是Windows ServerTM、MacOS XTM、UnixTM、LinuxTM、FreeBSDTM等。应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对装置200的一系列计算机可读指令。数据255可以是存储于磁盘中的照片、图片等。
处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储器250通信,用于运算与处理存储器250中的海量数据255。
如上面所详细描述的,适用本发明的装置200将通过处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成软件测试的方法。
此外,通过硬件电路或者硬件电路结合软件也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
图2是根据一示例性实施例示出的一种软件测试方法的流程图。该软件测试方法可以由图1所示的装置200执行,包括以下步骤:
步骤S110,为进行软件的测试,从数据表中获取为测试用例所配置的输入参数信息和所配置的测试代码。
其中待进行测试的软件可以是应用软件,也可以是软件系统,在此不进行具体限定。
为进行软件的测试,需要配置多条测试用例。在本公开的技术方案中,将测试用例保存在数据表中。从而可以按照数据表中所保存的测试用例对应进行软件的测试。
针对每条测试用例,其中包括了针对该测试用例所配置的输入参数信息,以及待进行测试的代码,以及执行该条测试用例时的预期输出数据。
输入参数信息指示了输入参数的来源。在一具体实施例中,还可以将输入参数存储于数据表中,并与该测试用例进行关联,从而,在步骤S110中,可以直接从数据表中获取该测试用例的输入参数。
在一实施例中,输入参数信息指示了输入参数的地址,从而,按照输入参数信息可以获得对应的输入参数。为进行每一条测试用例的测试,所对应配置的输入参数可以是一个或者多个,相应的,每一个输入参数对应有一输入参数信息。
在另一实施例中,输入参数通过调用接口获得,则输入参数信息则指示了所要调用的接口。从而可以按照输入信息中所指示的接口从对应的数据库中获取到输入参数。
测试代码是在进行所述测试用例的测试过程中所要执行的程序代码。在具体实施例中,为满足实际测试环境中的编程语言要求,可以进一步对测试代码进行编译,例如在测试环境中使用脚本的情况下,将测试代码编译为脚本。
测试代码指示了该测试用例的测试对象,测试代码可以是软件的某一功能对应的程序(即,该功能即为测试对象),也可以是软件所提供的接口函数对应的程序(即该接口函数即为测试对象),还可以是软件的某一业务逻辑所对应的程序(即该业务逻辑即为测试对象)。
步骤S130,根据输入参数信息和测试代码在软件的运行过程中执行测试,获得对应于测试用例的实际输出数据。
针对某一测试用例的实际输出数据即是测试代码在根据对应的输入参数执行时所得到的数据。例如,如果测试代码是某一接口函数对应的程序,则实际输出数据即为以输入参数为该接口函数的参数,向对应的数据库发送数据请求,数据库根据该数据请求所返回的数据。又比如,如果测试代码是软件的某一界面对应的程序,则实际输出数据即为按照输入参数进行界面操作,软件响应于所进行的界面操作所返回的数据。
在一实施例中,可以在自动化测试框架上执行测试用例的测试。在进行软件的测试前,将存储有测试用例的数据表保存在自动化测试框架中,从而在测试时,从所保存的数据表中获取每一测试用例中的输入参数信息和测试代码,然后根据输入参数信息对应获得输入参数,自动化测试框架根据输入参数和测试代码生成自动化测试脚本进行该测试用例的测试,并获得该测试用例的实际输出数据。
在一实施例中,如图3所示,步骤S130包括:
步骤S131,根据输入参数信息获取测试用例的输入参数。
如上所描述,输入参数信息指示了输入参数的来源,从而按照输入参数信息的指示对应获得测试用例的输入参数。
步骤S132,根据所获取的输入参数分别为测试代码中所对应变量赋值。
在测试代码中,将变量放在测试代码中的函数中,测试代码中的函数有一个或者多个变量,对应的,每一测试用例中输入参数的数量是与测试代码的函数中变量的数量相对应的。对软件的某一业务逻辑所进行的测试,一般配置多个测试用例,在针对同一业务逻辑所配置的多个测试用例中,测试代码是相同的,但是输入参数不同,从而,在进行每一测试用例的测试时,即是通过该测试用例对应的输入参数为测试代码中的变量赋值。
在数据表中,针对每一输入参数配置对应的字段,从而,根据输入参数多对应的字段对应地在测试代码中查找与该字段关联的变量,实现为变量赋值。
步骤S133,根据完成变量赋值的测试代码在软件的运行过程中进行测试,获得对应于测试用例的实际输出数据。
步骤S150,从数据表中获取测试用例对应的预期输出数据。
所进行的软件测试,即是测试软件在运行时是否可以按照设计需求对应执行。而预期输出数据集指示了设计需求。数据表中针对每一测试用例对应存储了该测试用例对应的预期输出数据。从而,可以对应的从数据表中获取该测试用例对应的预期输出数据。
步骤S170,进行预期输出数据与实际输出数据的匹配性验证,得到测试用例的测试结果。
所进行的匹配性验证即是验证根据输入参数信息和测试代码所获得的实际输出数据是否与预期输出数据一致,如果一致,则得到测试通过的测试测试结果;如果不一致,则得到测试未通过的测试结果。
在具体实施例中,还可以用其他的标识来分别表示两种测试结果,例如利用PASS来表示测试通过,利用FAIL来标识测试未通过。当然,在其他实施例中还可以使用其他约定的标识来分别表示两种测试结果,在此不进行具体限定。
步骤S190,将实际输出数据和测试结果写入数据表,并与测试用例关联存储。
对于测试人员而言,进行软件的测试时,期望获得每一测试用例的实际输出数据和测试用例的测试结果。从而,在本公开的技术方案中,将实际输出数据和测试结果对应的写入数据表中,并与测试用例关联存储。从而测试人员可以直接根据数据表获取每一测试用例的测试结果,对于测试未通过的测试用例,可以根据数据表中所保存的实际输出数据进行对应的分析测试未通过的原因。
根据本公开的技术方案,一方面实现了软件的自动测试,测试人员仅需要输入配置有测试用例的数据表,即可自动进行软件的测试,而且所进行的测试不需要测试人员根据测试过程中实际输出数据结合预期输出数据来判断测试是否通过,大大降低了测试人员的工作量,提高了测试效率,解决了测试过程对测试人员依赖性大的问题。
在一实施例中,如图4所示,步骤S133之前,还包括:
步骤S211,获取为进行软件测试所配置的测试环境标识。
为进行不同的软件或者不同版本的软件的测试,所对应的测试环境也可能存在差异。从而,分别为进行测试的软件配置对应的测试环境标识,测试环境标识即指示了进行该软件测试时软件对应的测试环境。
在一实施例中,如图5所示,步骤S211包括:
步骤S311,获取软件的版本号。
步骤S312,在配置文件中获取版本号所对应的测试环境标识。
在该实施例中,版本号不同的软件,测试环境不同,从而为每一版本号的软件配置对应的测试环境标识。即在配置文件中根据软件的版本号对应配置测试环境标识。
步骤S212,将软件运行于测试环境标识所指示的测试环境中,以在测试环境中进行测试用例的测试。
按照软件的测试要求,不同测试环境中所对应连接的服务器、数据库等不同,或者在同一数据库中对应的权限不同。
在一实施例中,不同的测试环境所配置的数据库不同,从而,在获取到测试环境标识之后,按照测试环境标识的指示创建软件与测试环境标识所指示测试环境中的数据库的通信连接,即将软件运行与测试环境标识所指示的测试环境中。进而在测试过程中,可以对应地从创建通信连接的数据库中获取数据。
在该实施例的技术方案中,实现了根据待测试的软件的不同对应进行测试环境的切换。
在一实施例中,如图6所示,步骤S212之前还包括:
步骤S221,根据测试环境标识获取测试环境标识对应的环境配置文件。
步骤S222,按照环境配置文件中设定的参数进行配置,得到测试环境标识所指示的测试环境。
在环境配置文件中,设定了测试环境中的参数,例如所需要关联的数据库、数据库的账号及密码、为软件提供服务的服务器等。当然,在其他实施例中,还可以根据实际需要在配置文件中设定更多的参数,以满足软件的测试,在此不进行具体限定。
从而,在获取到环境配置文件之后,按照环境配置文件中所对应设定的参数进行配置,例如将软件关联到对应的服务器中,关联到对应的数据库中,通过配置文件中所指示的账号和密码登录到数据库中,得到测试环境标识所指示的测试环境。
在一实施例中,如图7所示,步骤S190之后,还包括:
步骤S410,若测试结果为测试未通过,则获取在进行测试用例的测试过程中所对应生成的日志。
步骤S420,将所获取的日志存储至数据表中,并关联至测试用例。
在执行测试的过程中,对应根据执行过程的进行生成日志。在日志中,对应记录了测试过程中的输入参数、测试过程中生成的数据、接收的数据、软件发送的请求等,也即是说,日志记录了在进行测试用例的测试过程中详细的执行数据和过程。通过日志可以详细了解到测试用例的测试过程。
在测试用例的测试未通过时,维护人员需要进行原因分析。而日志则为维护人员进行原因分析提供了分析数据。为了避免测试人员在众多的日志中进行查找,在本公开的技术方案中,根据所得到的测试结果以及测试结果对应的测试用例在日志中对应获取执行该测试用例所生成的日志。并将或获取的日志对应存储到数据表中,与测试用例进行关联。
进而,在测试未通过时,测试人员可以根据执行该测试用例过程中所生成的日志进行对应的原因分析。避免了测试人员在海量的日志中进行日志查找,提高了测试人员的效率。
在一实施例中,如图8所示,步骤S190之后,还包括:
步骤S510,检测数据表中的测试用例是否全部完成测试。
步骤S520,若为是,则向测试人员发送数据表。
数据表中包括若干个测试用例,而所进行的测试也是按照数据表中的测试用例来对应进行的。当检测到数据表中的测试用例全部完成之后,则将记录有针对每一测试用例的输入参数信息、测试代码、预期输出数据、实际输出数据、测试结果、针对测试未通过的测试用例的日志的数据表发送至测试人员,从而,测试人员可以了解到测试测试的结果。
其中,可以是将数据表发送到测试人员所在的终端设备,例如台式电脑、智能手机等。为了实现将数据表发送到测试人员,在数据表中对应记录测试人员的联系方式,例如邮箱等,或者测试人员所在客户端的账号。在检测到数据表中的测试用例全部完成测试后,通过脚本对应地从数据表中获取测试人员的联系方式,将数据表发送至测试人员。
下述为本公开装置实施例,可以用于执行本公开上述装置200执行的软件测试方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开软件测试方法实施例。
图9是根据一示例性实施例示出的一种软件测试装置的框图,该软件测试装置可以用于图1所示的装置200中,执行以上软件测试方法实施例中任一所示的软件测试方法的全部或者部分步骤。如图9所示,该软件测试装置包括但不限于:获取模块110、测试模块130、预期输出数据获取模块150、验证模块170以及存储模块190。
其中获取模块110,被配置为:为进行软件的测试,从数据表中获取为测试用例所配置的输入参数信息和所配置的测试代码。
测试模块130,该模块与获取模块110连接,被配置为:根据输入参数信息和测试代码执行测试,获得对应于测试用例的实际输出数据。
预期输出数据获取模块150,该模块与测试模块130连接,被配置为:从数据表中获取测试用例对应的预期输出数据。
验证模块170,该模块与预期输出数据获取模块150连接,被配置为:进行预期输出数据与实际输出数据的匹配性验证,得到测试用例的测试结果。
存储模块190,该模块与验证模块170连接,被配置为:将实际输出数据和测试结果写入数据表,并与测试用例关联存储。
上述装置中各个模块的功能和作用的实现过程具体详见上述软件测试方法中对应步骤的实现过程,在此不再赘述。
可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图2的处理器270所执行的存储在存储器250中的程序。
在一实施例中,预测模块包括:
输入参数获取单元,被配置为:根据输入参数信息获取测试用例的输入参数。
赋值单元,被配置为:根据所获取的输入参数分别为测试代码中所对应变量赋值。
测试单元,被配置为:根据完成变量赋值的测试代码在软件的运行过程中进行测试,获得对应于测试用例的实际输出数据。
在一实施例中,预测模块还包括:
测试环境标识获取单元,被配置为:获取为进行软件测试所配置的测试环境标识。
软件运行单元,被配置为:将软件运行于测试环境标识所指示的测试环境中,以在测试环境中进行测试用例的测试。
在一实施例中,测试环境标识获取单元包括:
版本号获取单元,被配置为:获取软件的版本号。
第二获取单元,被配置为:在配置文件中获取版本号所对应的测试环境标识。
在一实施例中,软件测试装置还包括:
环境配置文件获取模块,被配置为:根据测试环境标识获取测试环境标识对应的环境配置文件。
参数配置模块,被配置为:按照环境配置文件中设定的参数进行配置,得到测试环境标识所指示的测试环境。
在一实施例中,测试结果包括测试通过和测试未通过,软件测试装置还包括:
日志获取模块,被配置为:若测试结果为测试未通过,则获取在进行测试用例的测试过程中所对应生成的日志。
日志存储模块,被配置为:将所获取的日志存储至数据表中,并关联至测试用例。
在一实施例中,软件测试装置还包括:
检测模块,被配置为:检测数据表中的测试用例是否全部完成测试。
发送模块,被配置为:若检测模块检测数据表中的测试用例全部完成测试,则向测试人员发送数据表。
上述装置中各个模块的功能和作用的实现过程具体详见上述软件测试方法中对应步骤的实现过程,在此不再赘述。
可选的,本公开还提供一种软件测试装置,该装置可以用于图1所示的装置200中,执行以上任一方法实施例所示的软件测试的方法的全部或者部分步骤。如图10所示,软件测试装置1000包括:
处理器1001;
用于存储处理器1001可执行指令的存储器1002;
其中,可执行指令被处理器1001执行时实现以上任一实施例中的方法。其中可执行指令比如是计算机可读指令,在处理器1001执行时,处理器通过与存储器之间所连接的通信线/总线1003读取存储于存储器中的计算机可读指令。
该实施例中的装置的处理器执行操作的具体方式已经在有关该软件测试的方法的实施例中执行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上任一方法实施例中的方法。其中计算机可读存储介质例如包括计算机程序的存储器250,上述指令可由装置200的处理器270执行以完成上述软件测试的方法。
该实施例中的处理器执行操作的具体方式已经在有关该软件测试的方法的实施例中执行了详细描述,此处将不做详细阐述说明。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (9)
1.一种软件测试方法,其特征在于,包括:
为进行软件的测试,从数据表中获取为测试用例所配置的输入参数信息和所配置的测试代码;
根据所述输入参数信息和所述测试代码在所述软件的运行过程中执行测试,获得对应于所述测试用例的实际输出数据;
从所述数据表中获取所述测试用例对应的预期输出数据;
进行所述预期输出数据与所述实际输出数据的匹配性验证,得到所述测试用例的测试结果;
将所述实际输出数据和所述测试结果写入所述数据表,并与所述测试用例关联存储;
所述根据所述输入参数信息和所述测试代码在所述软件的运行过程中执行测试,获得对应于所述测试用例的实际输出数据之前,所述方法还包括:
获取为进行软件测试所配置的测试环境标识;
将所述软件运行于所述测试环境标识所指示的测试环境中,以在所述测试环境中进行所述测试用例的测试;
所述将所述软件运行于所述测试环境标识所指示的测试环境中,包括:
根据所述测试环境标识的指示创建软件与所述测试环境标识所指示的测试环境中的数据库通信连接;
所述根据所述输入参数信息和所述测试代码在所述软件的运行过程中执行测试,获得对应于所述测试用例的实际输出数据,包括:
若测试代码是某一接口函数对应的程序,以输入参数信息对应的输入参数为该接口函数的参数,向对应的数据库发送数据请求,数据库根据该数据请求返回实际输出数据;
若测试代码是软件的某一界面对应的程序,以输入参数信息对应的输入参数进行界面操作,软件响应于所进行的界面操作返回实际输出信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述输入参数信息和所述测试代码在所述软件的运行过程中执行测试,获得对应于所述测试用例的实际输出数据,包括:
根据所述输入参数信息获取所述测试用例的输入参数;
根据所获取的所述输入参数分别为所述测试代码中所对应变量赋值;
根据完成变量赋值的所述测试代码在所述软件的运行过程中进行测试,获得对应于所述测试用例的实际输出数据。
3.根据权利要求1所述的方法,其特征在于,所述获取为进行软件测试所配置的测试环境标识,包括:
获取所述软件的版本号;
在配置文件中获取所述版本号所对应的测试环境标识。
4.根据权利要求1所述的方法,其特征在于,所述将所述软件运行于所述测试环境标识所指示的测试环境中,以在所述测试环境中进行所述测试用例的测试之前,还包括:
根据所述测试环境标识获取所述测试环境标识对应的环境配置文件;
按照所述环境配置文件中设定的参数进行配置,得到所述测试环境标识所指示的测试环境。
5.根据权利要求1所述的方法,其特征在于,所述测试结果包括测试通过和测试未通过,所述进行所述预期输出数据与所述实际输出数据的匹配性验证,得到所述测试用例的测试结果之后,还包括:
若所述测试结果为测试未通过,则获取在进行所述测试用例的测试过程中所对应生成的日志;
将所获取的日志存储至所述数据表中,并关联至所述测试用例。
6.根据权利要求1所述的方法,其特征在于,将所述实际输出数据和所述测试结果写入所述数据表,并与所述测试用例关联存储之后,还包括:
检测所述数据表中的测试用例是否全部完成测试;
若为是,则向测试人员发送所述数据表。
7.一种软件测试装置,其特征在于,包括:
获取模块,被配置为:为进行软件的测试,从数据表中获取为测试用例所配置的输入参数信息和所配置的测试代码;
测试模块,被配置为:根据所述输入参数信息和所述测试代码执行测试,获得对应于所述测试用例的实际输出数据;
预期输出数据获取模块,被配置为:从所述数据表中获取所述测试用例对应的预期输出数据;
验证模块,被配置为:进行所述预期输出数据与所述实际输出数据的匹配性验证,得到所述测试用例的测试结果;
存储模块,被配置为:将所述实际输出数据和所述测试结果写入所述数据表,并与所述测试用例关联存储;
其中,软件测试装置,还包括:
测试环境标识获取单元,被配置为:获取为进行软件测试所配置的测试环境标识;
软件运行单元,被配置为:将软件运行于测试环境标识所指示的测试环境中,以在测试环境中进行测试用例的测试;
其中,所述软件运行单元,包括:
根据所述测试环境标识的指示创建软件与所述测试环境标识所指示的测试环境中的数据库通信连接;
所述测试模块,包括:
若测试代码是某一接口函数对应的程序,以输入参数信息对应的输入参数为该接口函数的参数,向对应的数据库发送数据请求,数据库根据该数据请求返回实际输出数据;
若测试代码是软件的某一界面对应的程序,以输入参数信息对应的输入参数进行界面操作,软件响应于所进行的界面操作返回实际输出信息。
8.一种软件测试装置,其特征在于,包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910185014.8A CN110058998B (zh) | 2019-03-12 | 2019-03-12 | 软件测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910185014.8A CN110058998B (zh) | 2019-03-12 | 2019-03-12 | 软件测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110058998A CN110058998A (zh) | 2019-07-26 |
CN110058998B true CN110058998B (zh) | 2022-12-13 |
Family
ID=67316755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910185014.8A Active CN110058998B (zh) | 2019-03-12 | 2019-03-12 | 软件测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110058998B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851308A (zh) * | 2019-10-21 | 2020-02-28 | 香港乐蜜有限公司 | 一种测试方法、装置、电子设备及存储介质 |
CN112711525B (zh) * | 2019-10-25 | 2023-12-26 | 中国移动通信集团浙江有限公司 | Ui测试与接口测试的协同测试方法、装置及计算设备 |
CN111338958B (zh) * | 2020-02-28 | 2024-09-13 | 中国平安人寿保险股份有限公司 | 一种测试用例的参数生成方法、装置及终端设备 |
CN111813651B (zh) * | 2020-05-28 | 2023-07-04 | 杭州览众数据科技有限公司 | 一种整表结构相关的数据异常测试方法及自动化测试工具 |
CN113010429A (zh) * | 2021-03-26 | 2021-06-22 | 北京金山云网络技术有限公司 | 一种流计算应用的测试方法、装置及设备 |
CN113392023A (zh) * | 2021-06-30 | 2021-09-14 | 展讯半导体(成都)有限公司 | 自动化测试方法、装置、计算机设备、芯片和模组设备 |
CN113886238A (zh) * | 2021-09-29 | 2022-01-04 | 中国银行股份有限公司 | 测试用例自动化监控方法及装置 |
CN114610622B (zh) * | 2022-03-14 | 2024-05-28 | 浙江中控技术股份有限公司 | 一种系统功能块自动化测试分层设计方法及相关装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775824B1 (en) * | 2000-01-12 | 2004-08-10 | Empirix Inc. | Method and system for software object testing |
US8321839B2 (en) * | 2008-05-12 | 2012-11-27 | Microsoft Corporation | Abstracting test cases from application program interfaces |
US8949792B2 (en) * | 2009-08-18 | 2015-02-03 | Adobe Systems Incorporated | Methods and systems for data service development |
CN104182335B (zh) * | 2014-05-09 | 2017-03-29 | 中国光大银行 | 软件测试方法和装置 |
CN109426611A (zh) * | 2017-08-31 | 2019-03-05 | 贵州白山云科技股份有限公司 | 一种软件测试方法和装置 |
-
2019
- 2019-03-12 CN CN201910185014.8A patent/CN110058998B/zh active Active
Non-Patent Citations (1)
Title |
---|
基于云的接口自动化测试平台的设计与实现;徐旼之;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315(第03期);I138-2518 * |
Also Published As
Publication number | Publication date |
---|---|
CN110058998A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058998B (zh) | 软件测试方法及装置 | |
CN110908909B (zh) | 自动化测试方法、装置、存储介质及设备 | |
US20060184917A1 (en) | System And Method for Verifying Compatibility of Computer Equipment with a Software Product | |
CN106919485B (zh) | 一种基于服务器上配置硬件测试工具的系统 | |
CN110765026A (zh) | 自动化测试方法、装置、存储介质及设备 | |
CN106970880A (zh) | 一种分布式自动化软件测试方法及系统 | |
CN112433944A (zh) | 业务测试方法、装置、计算机设备和存储介质 | |
US20180357143A1 (en) | Testing computing devices | |
CN112395202B (zh) | 接口自动化测试方法、装置、计算机设备和存储介质 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN113312064A (zh) | 物理机的安装配置方法、装置以及计算机可读介质 | |
CN107357721B (zh) | 测试系统的方法及装置 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN112395182A (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
CN112612706A (zh) | 自动化测试方法、计算机设备及存储介质 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN110177006B (zh) | 基于接口预测模型的节点测试方法及装置 | |
CN113094281B (zh) | 一种混合式App的测试方法及装置 | |
CN115454856A (zh) | 多应用的安全检测方法、装置、介质及电子设备 | |
CN115454851A (zh) | 接口回归测试方法、装置、存储介质及电子装置 | |
CN111737129B (zh) | 服务控制方法、装置、计算机可读介质及电子设备 | |
CN112527584A (zh) | 基于脚本编写及数据采集的软件效能提升方法和系统 | |
CN111597101A (zh) | Sdk接入状态检测方法、计算机设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information |
Address after: 201, room 518000, building A, No. 1, front Bay Road, Qianhai Shenzhen Guangdong Shenzhen Hong Kong cooperation zone (Qianhai business secretary) Applicant after: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd. Address before: 518000 Guangdong city of Shenzhen province Qianhai Shenzhen Hong Kong cooperation zone before Bay Road No. 1 building 201 room A Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd. |
|
CB02 | Change of applicant information | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |