Time will tell.
1、接口测试流程
接口测试
也是属于功能测试
,所以跟我们以往的功能测试流程并没有太大区别,测试流程依旧是:
- 测试接口文档(需求文档)
- 根据接口文档编写测试用例(用例编写完全可以按照以往规则来编写,例如等价类划分,边界值等设计方法)
- 执行测试,查看不同的参数请求,接口的返回的数据是否达到预期
接口测试和功能测试一样,流程大致遵守V模型,如图:
接口测试
左边的每个阶段,每个公司可能都侧重点不同,例如有些公司就没有需求讨论和需求评审这个阶段。
不管如何,用例设计
这个是少不了,而且是重点,要花时间的阶段。只有覆盖全面的接口测试用例,才能有比较好的测试接口覆盖率,才会找出更多的接口的Bug,后期接口才能越稳定。
2、为什么要写用例?
功能测试用例
,大家都写过。接口测试用例
很多人没有写过。在这里我们讨论一下,为什么要写接口用例:
- 理清思路,避免漏测和重复测
- 提高测试效率
- 跟进测试进度
- 告诉领导做过
- 跟进重复性工作
- 更好的记录问题,发现问题,复现问题
- 同时这也是是接口测试流程中的一个产物(测试用例)
上面7点结合自己测试实际经验,应该来说是很好理解和认同的。
有用例:
-
自己做到心中有数,不要一个测试点重复测好多次,就有思路,避免漏掉测试点。跟着用例测试,避免随机测试那种没有目的性的测试,提高测试效率。
-
上级问你完成的进度,你好用数据回答。
-
用来标记你执行的结果,证明你做过测试。避免将来发生问题,人家说你没有测试,有数据和证据说话。
-
测出问题你可以根据用例将问题轻而易举的浮现出来,不至于等你反馈或者复现的问题时,你忘记是如何操作才回出现问题。
-
接口测试
也需要重复跑,跑几轮,或者用自动化天天跑。这样的重复性工作,用例可以保证每次重复做的是一样的情况。
3、接口主要设计用例点
主要从4个方面来设计接口用例:功能
,逻辑业务
,异常
,安全
。
功能:
-
功能是否正常;
-
功能是否按照接口文档实现;
举例:比如博客园添加随笔,需要登录才能添加。也就是业务要求不支持游客添加随笔功能,如果设计一个没有登录的用户,然后去测试添加随笔接口,结果接口能添加到随笔,说明功能不正常,不符合需求和接口文档描述。
逻辑业务:
-
是否依赖业务;
举例:该接口调用之前,需要调用登录接口,如果不登录也能请求数据,不符合业务规则。
异常:
-
参数异常:关键字参数,参数为空,多,少参数,错误参数
-
数据异常:关键字数据,数据为空,长度不一致,错误数据
举例:不管数据异常还是参数异常,测试点差不多,一个参数有 key 和 value , key 表示参数, value 表示数据。
第一,看看参数和数据能不能支持关键字,例如Java中的保留关键字等等。
第二,就是参数和数据都为空,看看是否做了判断。
第三,参数多和少,例如有两个参数的接口,你需要设计一个三个参数的用例,一个只有一个参数的用例。数据那边长度不一致,例如设计很长的字符串是否支持,因为数据库创建表过程都设置好了每个字段的长度。输入错误的参数和数据,例如故意输出单词等等。
安全测试用例设计:
- cookie:有cookie才能获取数据,如果不带cookie还有信息返回,说明有问题
- header:正常接口带header信息,删除header看是否能够返回数据。
- 唯一识别码:app手机识别码,一般是唯一的。
安全测试
主要从上面3点检查。第三个是唯一识别码,主要是指 app 上手机的识别码,一般很少用到,除非很严格的接口测试,例如银行app登录,需要指纹,而指纹来源手机,一般有一个手机识别码判断过程。
软件测试说到底是技术行业,凡事也一定要趁早,因为这对你未来几年的规划会起到决定性的作用。并且越早的学习,这对你将来技术所掌握的深度也会非常有帮助。也要多在社群交流,提升自己找问题,以及解决问题的能力。加油,测试人!现在就行动,总比在路上观望要好。
换种生活方式,用一年时间投资自己,勇敢迈出这一步,好好想想你到底想要什么样的生活,希望这篇文章能帮到大家。有问题欢迎进q群(175317069)互相交流学习,里面还有大把学习资源分享供观看。