测试方法及装置
技术领域
本发明实施例属于软件测试领域,尤其涉及一种测试方法及装置。
背景技术
目前,许多终端产品的测试需要用到数据提取接口,不同项目涉及的接口不同,而不同接口的调用方式也不同。现有技术是由项目组开发人员编写接口调用测试工具,运行测试工具,将接口返回的数据保存在文件中,供测试人员分析。测试人员将收到的文件中的数据与预期结果进行分析比较,判断是否符合预期。
现有技术中,一方面,测试工具没有统一的设计规范和框架,且测试工具由不同项目组分别开发,工具的本身存在可靠性问题,额外增加测试成本。另一方面,未实现自动化测试,采用人工的测试方法,周期长,测试数据覆盖率低,测试效率和测试结果准确率较低。
故,有必要提出一种新的技术方案,以解决上述技术问题。
发明内容
鉴于此,本发明实施例提供了一种测试方法及装置,旨在解决现有的测试工具不统一且未实现自动化测试从而导致测试效率和测试结果准确率较低的问题。
本发明实施例是这样实现的,一种测试方法,所述测试方法包括:
启动接口调用工具,获取待测接口的待测接口编号和待测接口参数;
基于所述待测接口编号,调用预先建立的测试用例库,获取对应的测试用例配置文件,所述测试用例库中包括测试用例配置文件和预期结果数据;
基于所述待测接口参数,调用与所述待测接口编号对应的接口运行所述测试用例配置文件,并获取返回结果数据;
基于所述预期结果数据和所述返回结果数据,输出并显示测试结果。
本发明实施例的另一目的在于提供一种测试装置,所述测试装置包括:
待测接口信息获取单元,用于启动接口调用工具,获取待测接口的待测接口编号和待测接口参数;
测试用例配置文件获取单元,用于基于所述待测接口编号,调用预先建立的测试用例库,获取对应的测试用例配置文件,所述测试用例库中包括测试用例配置文件和预期结果数据;
返回结果数据获取单元,用于基于所述待测接口参数,调用与所述待测接口编号对应的接口运行所述测试用例配置文件,并获取返回结果数据;
结果显示单元,用于基于所述预期结果数据和所述返回结果数据,输出并显示测试结果。
在本发明实施例中,通过获取待测接口的接口编号和接口参数,然后基于所述待测接口编号,调用预先建立的测试用例库,获取对应的测试用例配置文件,所述测试用例库中包括测试用例配置文件和预期结果数据,再启动接口调用工具,基于所述待测接口参数,调用与所述待测接口编号对应的接口运行所述测试用例配置文件,并获取返回结果数据,最后基于所述预期结果数据和所述返回结果数据,输出并显示测试结果,实现接口测试的集成和自动测试,从而提高了测试的效率和准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种测试方法的流程图;
图2是本发明第二实施例提供的一种测试装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的一种测试方法的流程图,详述如下:
步骤S11,获取待测接口的待测接口编号和待测接口参数。
其中,所述待测接口是将要进行测试的接口。
可选地,为了提高测试效率和测试准确率,在所述步骤S11之前,包括:
A1、获取指定接口的接口类型,所述指定接口包括所述待测接口。其中,所述接口类型包括但不限于c/c++动态库和webAPI。
A2、基于所述接口类型给所述指定接口编号,生成接口编号。其中,所述接口编号包括所述待测接口编号。
A3、获取所述指定接口的接口参数。其中,所述接口参数包括所述待测接口参数。
A4、获取所述指定接口的测试环境信息。其中,所述测试环境信息包括所述待测接口的测试环境信息。
A5、获取所述指定接口的预期测试结果规则。其中,所述预期测试结果规则包括所述待测接口的预期测试结果规则。
A6、基于所述接口编号、所述接口参数、所述测试环境信息设置测试用例配置文件。
A7、基于所述预期测试结果规则和所述测试用例配置文件,生成预期测试结果数据。
A8、基于所述测试用例配置文件和所述预期测试结果数据,建立测试用例库。
具体地,获取指定接口的接口类型,所述指定接口可以包括所有接口,也可以只包括待测接口,还可以包括待测接口以及所有接口中的部分接口。根据所述接口类型,为所述指定接口进行编号,生成接口编号,所述接口编号包括所述待测接口的所述待测接口编号。基于所述接口编号、所述接口参数、所述测试环境信息设置测试用例配置文件。即,预先设置不同类型接口的测试用例配置文件,所述接口编号与所述测试用例配置文件一一对应。基于所述预期测试结果规则和所述测试用例配置文件,生成并保存预期测试结果数据,所述预期测试结果数据也与所述接口编号一一对应。最后,基于所述测试用例配置文件和所述预期测试结果数据,建立测试用例库。因此,可以通过所述接口编号查找调用对应的所述测试用例配置文件,提高测试效率。
通过基于所述接口编号、所述接口参数、所述测试环境信息设置测试用例配置文件,通过基于所述预期测试结果规则和所述测试用例配置文件,生成预期测试结果数据,最后基于所述测试用例配置文件和所述预期测试结果数据,建立测试用例库,方便测试人员根据接口编号调用测试用例配置文件以及获取预期测试结果数据,提高了测试效率。
可选地,为了提高测试效率,在所述步骤S11之前,包括:
B1、获取待测接口的调用方式。
B2、基于所述调用方式、所述待测接口编号以及所述待测接口参数,修改接口调用工具。
具体地,在启动调用工具之前,将所述待测接口编号和所述待测接口参数输入所述调用工具中。同时,不同类型接口的调用方式不同,因此,通过获取待测接口的调用方式,将所述调用方式加入接口调用工具。可选地,所述待测接口的调用方式可以用所述待测接口编号作为标识。
步骤S12,基于所述待测接口编号,调用预先建立的测试用例库,获取对应的测试用例配置文件,所述测试用例库中包括测试用例配置文件和预期结果数据。
具体地,基于所述待测接口编号,调用预先建立的测试用例库,获取与所述待测接口编号对应的测试用例配置文件,操作简单,测试效率高。
步骤S13,启动接口调用工具,基于所述待测接口参数,调用与所述待测接口编号对应的接口运行所述测试用例配置文件,并获取返回结果数据。
可选地,为了完善测试结果,在所述步骤S13之后,还包括:
C1、获取格式设置命令;
C2、基于所述预期结果数据、所述返回结果数据以及格式设置命令,生成测试报告。
具体地,获取格式设置命令后,根据所述格式设置命令设置测试报告的格式,基于所述预期结果数和所述返回结果数据生成并输出测试报告,供测试人员参考。
步骤S14,基于所述预期结果数据和所述返回结果数据,输出并显示测试结果。
可选地,在所述步骤S14具体包括:
D1、比较所述预期结果数据和所述返回结果数据。
D2、若所述预期结果数据与所述返回结果数据一致,则输出通过。
D3、若所述预期结果数据与所述返回结果数据不一致,则输出失败。
可选地,为了便于测试人员更清楚地了解测试结果,若所述预期结果数据与所述返回结果数据不一致,所述步骤S14还包括:
D4,标记所述预期结果数据与所述返回结果数据不一致的部分。其中,标记方式包括颜色标记、下划线标记等常用标记方式,在此不做限定。
可选地,为了记录测试过程供测试人员参考,本发明实施例中可以通过日志记录测试运行操作过程。
本发明第一实施例中,通过获取指定接口的接口类型,基于所述接口类型给所述指定接口进行编号,生成接口编号,所述接口编号包括待测接口编号,获取所述指定接口的接口参数、测试环境信息以及预期测试结果规则,基于所述接口编号、所述接口参数、所述测试环境信息设置测试用例配置文件,再基于所述预期测试结果规则和所述测试用例配置文件,生成预期测试结果数据,基于所述测试用例配置文件和所述预期测试结果数据,预先建立测试用例库,再通过获取待测接口的接口编号和接口参数,基于所述待测接口编号,调用预先建立的测试用例库,获取对应的测试用例配置文件,所述测试用例库中包括测试用例配置文件和预期结果数据,再启动接口调用工具,基于所述待测接口参数,调用与所述待测接口编号对应的接口运行所述测试用例配置文件,并获取返回结果数据,最后基于所述预期结果数据和所述返回结果数据,输出并显示测试结果,实现接口测试的集成和自动测试,从而提高了测试的效率和准确率。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例二:
图2示出了本发明第二实施例提供的一种测试装置的结构图,为了便于说明,仅示出了与本发明实施例相关的部分。
该测试装置包括:待测接口信息获取单元21、测试用例配置文件获取单元22、返回结果数据获取单元23、结果显示单元24,其中:
待测接口信息获取单元21,用于启动接口调用工具,获取待测接口的待测接口编号和待测接口参数。
可选地,为了提高测试效率和测试准确率,所述测试装置还包括:
指定接口类型获取单元,用于获取指定接口的接口类型,所述指定接口包括所述待测接口。其中,所述接口类型包括但不限于c/c++动态库和webAPI。
指定接口编号获取单元,用于基于所述接口类型给所述指定接口编号,生成接口编号。其中,所述接口编号包括所述待测接口编号。
指定接口参数获取单元,用于获取所述指定接口的接口参数。其中,所述接口参数包括所述待测接口参数。
指定接口环境信息获取单元,用于获取所述指定接口的测试环境信息其中,所述测试环境信息包括所述待测接口的测试环境信息。
指定接口规则获取单元,用于获取所述指定接口的预期测试结果规则。其中,所述预期测试结果规则包括所述待测接口的预期测试结果规则。
设置单元,用于基于所述接口编号、所述接口参数、所述测试环境信息设置测试用例配置文件。
结果生成单元,用于基于所述预期测试结果规则和所述测试用例配置文件,生成预期测试结果数据。
用例库建立单元,用于基于所述测试用例配置文件和所述预期测试结果数据,建立测试用例库。
具体地,获取指定接口的接口类型,所述指定接口可以包括所有接口,也可以只包括待测接口,还可以包括待测接口以及所有接口中的部分接口。根据所述接口类型,为所述指定接口进行编号,生成接口编号,所述接口编号包括所述待测接口的所述待测接口编号。基于所述接口编号、所述接口参数、所述测试环境信息设置测试用例配置文件。即,预先设置不同类型接口的测试用例配置文件,所述接口编号与所述测试用例配置文件一一对应。基于所述预期测试结果规则和所述测试用例配置文件,生成并保存预期测试结果数据,所述预期测试结果数据也与所述接口编号一一对应。最后,基于所述测试用例配置文件和所述预期测试结果数据,建立测试用例库。因此,可以通过所述接口编号查找调用对应的所述测试用例配置文件,提高测试效率。
通过基于所述接口编号、所述接口参数、所述测试环境信息设置测试用例配置文件,通过基于所述预期测试结果规则和所述测试用例配置文件,生成预期测试结果数据,最后基于所述测试用例配置文件和所述预期测试结果数据,建立测试用例库,方便测试人员根据接口编号调用测试用例配置文件以及获取预期测试结果数据,提高了测试效率。
可选地,为了提高测试效率,所述测试装置还包括:
调用方式获取单元,用于获取待测接口的调用方式。
修改单元,用于基于所述调用方式、所述待测接口编号以及所述待测接口参数,修改接口调用工具。
具体地,在启动调用工具之前,将所述待测接口编号和所述待测接口参数输入所述调用工具中。同时,不同类型接口的调用方式不同,因此,通过获取待测接口的调用方式,将所述调用方式加入接口调用工具。可选地,所述待测接口的调用方式可以用所述待测接口编号作为标识。
测试用例配置文件获取单元22,用于基于所述待测接口编号,调用预先建立的测试用例库,获取对应的测试用例配置文件,所述测试用例库中包括测试用例配置文件和预期结果数据。
具体地,基于所述待测接口编号,调用预先建立的测试用例库,获取与所述待测接口编号对应的测试用例配置文件,操作简单,测试效率高。
返回结果数据获取单元23,用于基于所述待测接口参数,调用与所述待测接口编号对应的接口运行所述测试用例配置文件,并获取返回结果数据。
结果显示单元24,用于基于所述预期结果数据和所述返回结果数据,输出并显示测试结果。
可选地,所述结果显示单元24具体包括:
比较模块,用于比较所述预期结果数据和所述返回结果数据。
通过输出模块,用于若所述预期结果数据与所述返回结果数据一致,则输出通过。
失败输出模块,用于若所述预期结果数据与所述返回结果数据不一致,则输出失败。
可选地,为了便于测试人员更清楚地了解测试结果,若所述预期结果数据与所述返回结果数据不一致,所述结果显示单元24还包括:
标记单元,用于标记所述预期结果数据与所述返回结果数据不一致的部分。其中,标记方式包括颜色标记、下划线标记等常用标记方式,在此不做限定。
可选地,为了完善测试结果,所述装置还包括:
格式获取单元,用于获取格式设置命令。
报告生成单元,用于基于所述预期结果数据、所述返回结果数据以及格式设置命令,生成测试报告。
具体地,获取格式设置命令后,根据所述格式设置命令设置测试报告的格式,基于所述预期结果数和所述返回结果数据生成并输出测试报告,供测试人员参考。
可选地,为了记录测试过程供测试人员参考,所述测试装置还包括:
记录单元,用于通过日志记录测试运行操作过程。
本发明第二实施例中,通过获取指定接口的接口类型,基于所述接口类型给所述指定接口进行编号,生成接口编号,所述接口编号包括待测接口编号,获取所述指定接口的接口参数、测试环境信息以及预期测试结果规则,基于所述接口编号、所述接口参数、所述测试环境信息设置测试用例配置文件,再基于所述预期测试结果规则和所述测试用例配置文件,生成预期测试结果数据,基于所述测试用例配置文件和所述预期测试结果数据,预先建立测试用例库,再通过获取待测接口的接口编号和接口参数,基于所述待测接口编号,调用预先建立的测试用例库,获取对应的测试用例配置文件,所述测试用例库中包括测试用例配置文件和预期结果数据,再启动接口调用工具,基于所述待测接口参数,调用与所述待测接口编号对应的接口运行所述测试用例配置文件,并获取返回结果数据,最后基于所述预期结果数据和所述返回结果数据,输出并显示测试结果,实现接口测试的集成和自动测试,从而提高了测试的效率和准确率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。