这篇文章简单总结下我是如何设计接口测试用例的。
今天在帮同事review代码的时候,发现他的代码遗漏了一些场景的处理,就顺便跟他多聊了些为对这个话题的看法。
在这里假设一个接口设计如下:
UserInfoDTO listUserInfoByUserIds(UserInfoQueryParam param);
其中UserInfoQueryParam的定义如下:
public class UserInfoQueryParam {
//省略序列化ID
List<Long> userIds;
//...省略其他字段
}
边界值测试
这种方法,一般用于测试一个接口的健壮性;针对userIds这个属性,我会构建如下测试用例:
- userIds=null
- userIds=EmptyList
- userIds的size等于批量接口的限定值
- userIds的size大于批量接口的限定值
- userIds中的元素有null的情况
- userIds中的元素全部为null的情况
- userIds中的元素有0(或负数)的情况
- userIds中的元素全部为0(或负数)的情况
组合条件测试
这种方法,一般用于测试不同情况下的业务处理逻辑是否符合预期。在这个例子中,userIds可能有两种类型,但是我们这个接口需要支持这两种类型,因此测试用例设计如下:
- userIds中为纯粹的类型1的数据
- userIds中为纯粹的类型2的数据
- userIds中为类型1和类型2中的数据的混合情况
以上就是我在构建一个接口的测试用例时候思路,欢迎大家讨论。
本文首发于个人网站,链接:如何设计接口的测试用例
网友评论
看了你的这篇博客,很棒的,受益了,那边评论还要登录啊,所以就转到这里了!