掌桥专利:专业的专利平台
掌桥专利
首页

一种接口单元测试系统及方法

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及接口自动化测试技术领域,尤其涉及一种接口单元测试系统及方法。

背景技术

软件测试作为软件开发过程中的一个重要活动,可以根据不同维度进行细分,如功能测试和非功能测试;单元测试和静态代码分析。在接口测试过程中,必须对接口进行单元测试以满足其既定功能。

虽然单元测试领域中已经存在多种方法和工具,但现阶段仍然存在大量的人工参与,导致人力成本增加。例如接口的单元测试的用例主要由人工设计完成,接口的复杂度越高,单元测试的用例数量会成倍增加,用例相似度也较高,仅依靠人工设计用例的方式无法确保100%覆盖所有接口用例,并且存在大量的无效用例,干扰正常有效用例的执行,从而导致用例执行效率也很低,回归测试用例数量较多,导致测试耗费时间长,且测试的结果和报告也不准确。因此,针对上述问题,本发明提出一种接口单元测试系统及方法,以满足实际应用需求。

发明内容

为了解决以上技术问题,本发明提供了一种接口单元测试系统及方法。

本发明所解决的技术问题可以采用以下技术方案实现:

一种接口单元测试系统,包括:

一数据接收单元,用于获取至少一需测试接口对应的测试元素集;

一冒烟测试单元,连接所述数据接收单元,用于对所述需测试接口进行冒烟测试,并输出一冒烟测试结果;

一接口用例生成单元,连接所述冒烟测试单元,用于按照一预设的组装规则对所述冒烟测试结果通过的所述需测试接口进行用例组装,生成对应的接口用例;

一测试单元,连接所述接口用例生成单元,用于根据所述接口用例对所述需测试接口进行测试,并输出测试结果;

一报告生成单元,连接所述测试单元,用于根据所述测试结果生成接口测试报告并输出。

优选地,所述数据接收单元包括:

一接口文档获取模块,用于获取一接口文档;

一测试元素获取模块,连接所述接口文档获取模块,用于根据所述接口文档获取每一所述需测试接口对应的所述测试元素集。

优选地,所述预设的组装规则为统一资源定位符+调用方式+参数;

其中,所述参数由所述测试元素集中的必填项、边界值或等价类中的任意一项替换。

优选地,所述测试单元包括:

线程池,所述线程池中包括多个线程,多个线程通过异步的方式执行所述接口用例对所述需测试接口进行测试,并返回所述测试结果。

优选地,所述报告生成单元包括:

汇总模块,用于将已测试的所述需测试接口的测试结果进行汇总;

解析模块,连接所述汇总模块,用于对汇总的每一所述测试结果进行解析;

报告生成模块,连接所述解析模块,用于根据解析后的所述测试结果生成所述接口测试报告。

本发明还提供一种接口单元测试方法,用于实施如上述的接口单元测试系统,所述方法包括:

步骤S1,获取至少一需测试接口对应的测试元素集;

步骤S2,对所述需测试接口进行冒烟测试,并判断所述需测试接口的冒烟测试是否通过:

若是,则输出一冒烟测试结果,并进入步骤S3;

若否,则返回冒烟测试失败作为所述冒烟测试结果,并返回所述步骤S1;

步骤S3,按照一预设的组装规则对所述冒烟测试结果通过的所述需测试接口进行用例组装,生成对应的接口用例;

步骤S4,根据所述接口用例对所述需测试接口进行测试,并输出测试结果;

步骤S5,根据所述测试结果生成接口测试报告并输出。

优选地,所述步骤S1具体包括:

步骤S11,获取一接口文档;

步骤S12,根据所述接口文档获取每一所述需测试接口对应的所述测试元素集。

优选地,所述步骤S3中,所述预设的组装规则为统一资源定位符+调用方式+参数;

其中,所述参数由所述测试元素集中的必填项、边界值或等价类中的任意一项替换。

优选地,所述步骤S4中,提供一线程池,所述线程池中包括多个线程,多个线程通过异步的方式执行所述接口用例对所述需测试接口进行测试,并返回所述测试结果。

优选地,所述步骤S5具体包括:

步骤S51,将已测试的所述需测试接口的测试结果进行汇总;

步骤S52,对汇总的每一所述测试结果进行解析;

步骤S53,于根据解析后的所述测试结果生成所述接口测试报告。

本发明技术方案的优点或有益效果在于:

本发明能够实现单元测试的用例自动化生成;并且在生成单元测试用例之前,对接口进行冒烟测试,以执行接口校验,对于冒烟测试不通过的接口不会执行用例生成步骤,使得生成的用例均为有效用例,减少了无效用例的数量,降低了测试人员设计用例的时间,减少了测试用例的总量,同时也确保不会遗漏用例,提高了接口单元测试和回归测试的效率和测试报告的准确性。

附图说明

图1为本发明较佳实施例中,一种接口单元测试系统的结构框图;

图2为本发明较佳实施例中,一种接口单元测试方法的流程示意图;

图3为本发明较佳实施例中,步骤S1具体实施例的流程示意图;

图4为本发明较佳实施例中,步骤S5具体实施例的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种接口单元测试系统,属于接口自动化测试技术领域,如图1所示,包括:

一数据接收单元1,用于获取至少一需测试接口对应的测试元素集;

进一步的,其中,测试元素包括统一资源定位符(Uniform Resource Locator,URL)、参数、验证断言、必填项、边界值、等价类中的任意一种或多种组合。

一冒烟测试单元2,连接数据接收单元1,用于对需测试接口进行冒烟测试,并输出一冒烟测试结果;

一接口用例生成单元3,连接冒烟测试单元2,用于按照一预设的组装规则根据测试元素集对冒烟测试结果通过的需测试接口进行用例组装,生成对应的接口用例;

一测试单元4,连接接口用例生成单元3,用于根据接口用例对需测试接口进行测试,并输出测试结果;

一报告生成单元5,连接测试单元4,用于根据测试结果生成接口测试报告并输出。

具体的,在本实施例中,本发明能够实现单元测试的用例自动化生成;并且在生成单元测试用例之前,对接口进行冒烟测试,以执行接口校验,对于冒烟测试不通过的接口不会执行用例生成步骤,使得生成的用例均为有效用例,减少了无效用例的数量,降低了测试人员设计用例的时间,减少了测试用例的总量,同时也确保不会遗漏用例,提高了接口单元测试和回归测试的效率和测试报告的准确性。

作为优选的实施方式,其中,数据接收单元1包括:

一接口文档获取模块11,用于获取一接口文档;

一测试元素获取模块12,连接接口文档获取模块11,用于根据接口文档获取每一需测试接口对应的测试元素集。

作为优选的实施方式,其中,预设的组装规则为统一资源定位符+调用方式+参数;

其中,参数还可以由测试元素集中的必填项、边界值或等价类中的任意一项替换。

具体的,在本实施例中,系统通过预设的组装规则实现单元测试的接口用例的自动化组装,组装规则也可以根据实际需要自由选择,例如,可采用测试元素集中的统一资源定位符+调用方式+参数构成预设的组装规则,或者还可以采用测试元素集中的必填项、边界值或等价类中的任意一项替换预设的组装规则中的参数一项,以满足接口单元测试的特定要求。

进一步的,必填项至少包括空、null、空字符串中的任意一种;

边界值至少包括指定长度、超过长度范围中的任意一种;

等价类至少包括指定枚举类型、无效枚举类型中的任意一种。

作为优选的实施方式,其中,测试单元4包括:

线程池41,线程池41中包括多个线程,多个线程通过异步的方式执行接口用例对需测试接口进行测试,并返回测试结果。

具体的,在本实施例中,通过线程池41将生成的接口用例分配至不同线程中进行处理单元测试,并在测试完成后,反馈测试结果。

进一步的,分配方式可以是平均分配、负载均衡分配中的任意一种。

作为优选的实施方式,其中,报告生成单元5包括:

汇总模块51,用于将已测试的需测试接口的测试结果进行汇总;

解析模块52,连接汇总模块52,用于对汇总的每一测试结果进行解析;

报告生成模块53,连接解析模块53,用于根据解析后的测试结果生成接口测试报告。

具体的,本发明实施例能够自动执行接口单元测试过程中返回的测试结果、报告生成及发送,大大提升了测试效率。

进一步的,通过报告生成模块得到接口测试报告之后,将接口测试报告通过邮件、微信/QQ推送、短信等方式发送给相关人员。

本发明还提供一种接口单元测试方法,用于实施如上述的接口单元测试系统,如图2所示,方法包括:

步骤S1,获取至少一需测试接口对应的测试元素集;

步骤S2,对需测试接口进行冒烟测试,并判断需测试接口的冒烟测试是否通过:

若是,则输出一冒烟测试结果,并进入步骤S3;

若否,则返回冒烟测试失败作为冒烟测试结果,并返回步骤S1;

步骤S3,按照一预设的组装规则对冒烟测试结果通过的需测试接口进行用例组装,生成对应的接口用例;

步骤S4,根据接口用例对需测试接口进行测试,并输出测试结果;

步骤S5,根据测试结果生成接口测试报告并输出。

具体的,本发明实施例在自动化生成测试用例之前,先对接口执行冒烟测试步骤,实现接口的正确性校验,对于冒烟测试不通过的接口不会执行用例生成步骤,大大减少了无效用例的数量;只有冒烟测试通过后,才会对其接口执行自动化的测试用例生成步骤,使得生成的用例均为有效用例,即使并非是专业的测试人员亦可完成单元测试,降低了测试人员的技术门槛。

进一步的,首先执行步骤S1,以获取所有需测试接口的测试元素集;然后针对每一个需测试接口依次执行步骤S2-S3,即:需测试接口A执行步骤S2-S3,然后需测试接口B执行步骤S2-S3,直到所有需测试接口均完成步骤S2-S3;之后,执行步骤S4开启异步多线程,通过线程池41执行组装得到的接口用例,进行接口单元测试并返回测试结果,最后执行步骤S5。

需要注意的是,本发明实施例中每个需测试接口必须先执行冒烟测试,再执行用例生成。

作为优选的实施方式,其中,如图3所示,步骤S1具体包括:

步骤S11,获取一接口文档;

步骤S12,根据接口文档获取每一需测试接口对应的测试元素集。

作为优选的实施方式,其中,步骤S3中,预设的组装规则为统一资源定位符+调用方式+参数;

其中,参数由测试元素集中的必填项、边界值或等价类中的任意一项替换。

作为优选的实施方式,其中,步骤S4中,提供一线程池,线程池中包括多个线程,多个线程通过异步的方式执行接口用例对需测试接口进行测试,并返回测试结果。

作为优选的实施方式,其中,如图4所示,步骤S5具体包括:

步骤S51,将已测试的需测试接口的测试结果进行汇总;

步骤S52,对汇总的每一测试结果进行解析;

步骤S53,于根据解析后的测试结果生成接口测试报告。

采用上述技术方案具有如下优点或有益效果:本发明能够实现单元测试的用例自动化生成;并且在生成单元测试用例之前,对接口进行冒烟测试,以执行接口校验,对于冒烟测试不通过的接口不会执行用例生成步骤,使得生成的用例均为有效用例,减少了无效用例的数量,降低了测试人员设计用例的时间,减少了测试用例的总量,同时也确保不会遗漏用例,提高了接口单元测试和回归测试的效率和测试报告的准确性。

以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

相关技术
  • 一种基于网络文件系统操作字接口的单元测试方法与系统
  • 一种接口单元测试系统及方法
技术分类

06120114692750