社区编辑申请
注册/登录
如何实现接口异常场景测试?测试方法探索与测试工具实现
开发 测试
随着前后端分离、微服务等技术的广泛应用,接口测试在整个测试过程中扮演的角色越来越重要,如何更加高效地把接口测好、测得更加充分就成了一个亟待解决的难题。

​随着前后端分离、微服务等技术的广泛应用,接口测试在整个测试过程中扮演的角色越来越重要,如何更加高效地把接口测好、测得更加充分就成了一个亟待解决的难题。

当前在对具体的某一接口进行测试时,普遍采取的方法是测试人员按照接口文档中的字段取值规则使用接口测试工具(例如Postman等)手工来回修改接口报文中的某一个字段值来进行测试。

这种方法对于单个或者是简单接口相对比较友好,然而往往一个系统中会包含有大量的接口、接口逻辑复杂、接口里边包含有非常多的字段,这就给接口测试的开展带来了很多问题,比如费时费力、工作量大、漏测某些测试场景等。

同时还由于项目工期紧张等原因,在接口测试过程中一般更多的是关注正常场景是否有实现,相较于异常场景的重视程度就不够,从而极易由此引发相关测试问题。

因此,为了减少此类情况发生,针对这一问题进行了探索和实践,总结了相关方法,并将其应用到了多个项目,起到了很好的效果。

方法探索

(1) 异常场景分析归纳

在对当前接口测试中异常场景测试的相关情形进行分析并总结归纳后,发现可以大致将其分为基本异常场景和特殊异常场景两大类,其中基本异常场景对具体接口中每个字段均适用,特殊异常场景只适用于特定的接口字段。

具体分类和示例如下图所示:

如何实现接口异常场景测试?测试方法探索与测试工具实现

(2) 方法探索

结合上述异常场景的分析归纳以及当前测试接口测试的实际开展情形,对于接口异常场景的测试可以将相关的重复工作通过工具流程固化下来,通过工具自动对其进行测试以减少重复劳动,进一步提升测试效率。

(3) 接口异常场景测试工具技术实现

如何实现接口异常场景测试?测试方法探索与测试工具实现

接口异常场景测试工具流程图

如以上流程图所示,技术实现整体思路为:首先是将待测接口的接口配置等相关信息作为输入,然后对其进行解析并匹配相关异常场景,其次是对匹配到的异常场景生成对应的接口测试用例以及测试脚本,最后是脚本执行生成相对应的测试结果。

应用实践

(1) 工具界面:

如何实现接口异常场景测试?测试方法探索与测试工具实现

(2) 实践示例

XX信息查询接口:

如何实现接口异常场景测试?测试方法探索与测试工具实现

(3) 应用实践情况

目前该方法和工具已推广应用到多个项目多个接口,累计生成千余条异常场景测试用例,发现多个测试缺陷,平均将工作量缩短至原来人工测试时的三分之一,测试效率和测试质量提升效果明显。

总结

虽然目前已经在多个项目得到了应用,也取得了一定的效果,但是在应用实践过程中,也遇到了诸多问题,例如:目前支持的异常场景相对有限、接口文档的形式不统一(excel、word等)、各系统的接口格式多种多样,但目前仅支持http-json类型的接口测试等,后续将对这些问题逐一分析解决。

此外,在特殊异常场景方面还需要进行更加深入的探索,可以通过该方式将更多的测试经验和特殊异常场景固化下来纳入到工具流程中,再通过自动化生成和执行对应用例,从而节省时间、精力,减少测试人员在这方面的投入,将更多的精力投入到其他相对更加重要的测试中,进一步提升测试质量和效率。​

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2022-06-12 06:48:34

2022-06-05 21:09:47

Python办公自动化

2022-06-20 22:37:25

Linux操作系统命令

2022-05-17 08:53:26

TPS性能测试

2022-06-26 09:55:00

接口自动化项目

2022-05-11 08:23:54

自动化测试软件测试

2022-06-15 11:02:40

网络安全运营

2022-06-01 14:35:39

gitjmeter脚本

2022-06-13 09:45:51

Hook技术移动应用响应速度

2022-06-15 08:21:49

Linux运维工程师

2022-05-26 10:13:22

C/C++GCC插件单元测试

2022-04-19 14:41:29

Oracle数据库SQL

2022-06-28 08:40:16

LokiPromtail日志报警

2022-06-08 09:11:55

测试代码开发

2022-05-24 07:51:05

测试模型测试单元测试

2022-05-24 12:05:36

Testin云测试

2022-06-23 06:43:55

异常数据上报异常监控sdk阿波罗移动端

2022-05-23 11:13:02

Python工具

2022-06-27 23:44:37

云原生云存储云计算

2022-06-02 07:13:12

Python3.11编程语言

同话题下的热门内容

单元测试效率优化:为什么要对程序进行测试?测试有什么好处?

编辑推荐

黑盒、白盒与灰盒测试的区别保证DevOps与持续交付质量的九大测试工具九大高效的前端测试工具与框架Python测试工具 | 8 个很棒的pytest插件技术栈!10种主流移动端性能测试工具概况及横向对比分析!
我收藏的内容
点赞
收藏

51CTO技术栈公众号