一、接口覆盖优先级:
(1)外部接口(暴露在外面的接口,一般会给第三方用)——》内部调用核心接口——》内部调用非核心接口
(2)正向逻辑 >逆向验证
(3)是否满足前提条件(有些接口需要满足前置条件,才可成功获取数据。常见的,需要登陆Token。)
>是否携带默认参数(带默认值的参数都不填,不传参、必填参数都正确且存在“常规”值,其他都不填写)
>参数是否必填
①针对每个必填参数,都设计1条参数值为空的逆向用例
>参数之间是否存在关联(制约)
②针对每个参数都设计1条参数值类型不符的逆向用例
>参数数据类型限制
①针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例
②逆向用例:
针对每个参数(假设n个),设计n条每个参数的参数值都超出数据范围最大值的逆向用例
针对每个参数(假设n个),设计n条每个参数的参数值都小于数据范围最小值的逆向用例
>参数数据类型自身的数据范围限制
比如日期
以上几个方面考虑全的话,基本可以做到如下几个方面的覆盖:
主流程测试用例:正常的主流程功能校验;
分支流测试用例:正常的分支流功能校验。
异常流测试用例:异常容错校验
==================================================
=================================================
存在问题:
如上,还没写完就有大量用例了,要是接口参数再多点,接口数量再增加点,工作量可想而知,所以,问题来了,咋办呢?
个人见解:
1、根据接口的使用对象(外部,系统内部),有选择的去、留部分用例
2、根据接口的是否核心接口,有选择的去、留部分用例
3、根据参数说明,及实际情况,有选择的去、留部分用例
可能理由:
这个接口是给其它开发于系统内部调用的,开发过程中,开发者肯定需要调用这些接口,如果类型错了,他们也就获取不到预期的数据,这些错误,他们肯定可以发现,所以,他们传递的参数值一般能保证类型正确。
原文地址:https://www.cnblogs.com/ql70me/p/10531899.html