本帖最后由 梦幻小丑灯 于 2019-1-25 14:44 编辑
这篇文章简单总结下我是如何设计接口测试用例的。 今天在帮同事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中的数据的混合情况
以上就是我在构建一个接口的测试用例时候思路,欢迎大家讨论。
|