如何设计接口的测试用例边界值测试组合条件测试

这篇文章简单总结下我是如何设计接口测试用例的。

今天在帮同事review代码的时候,发现他的代码遗漏了一些场景的处理,就顺便跟他多聊了些为对这个话题的看法。

在这里假设一个接口设计如下:

UserInfoDTO listUserInfoByUserIds(UserInfoQueryParam param);

其中UserInfoQueryParam的定义如下:

public class UserInfoQueryParam {
  //省略序列化ID
  List<Long> userIds;
  //...省略其他字段
}

边界值测试

这种方法,一般用于测试一个接口的健壮性;针对userIds这个属性,我会构建如下测试用例:

  1. userIds=null
  2. userIds=EmptyList
  3. userIds的size等于批量接口的限定值
  4. userIds的size大于批量接口的限定值
  5. userIds中的元素有null的情况
  6. userIds中的元素全部为null的情况
  7. userIds中的元素有0(或负数)的情况
  8. userIds中的元素全部为0(或负数)的情况

组合条件测试

这种方法,一般用于测试不同情况下的业务处理逻辑是否符合预期。在这个例子中,userIds可能有两种类型,但是我们这个接口需要支持这两种类型,因此测试用例设计如下:

  1. userIds中为纯粹的类型1的数据
  2. userIds中为纯粹的类型2的数据
  3. userIds中为类型1和类型2中的数据的混合情况

以上就是我在构建一个接口的测试用例时候思路,欢迎大家讨论。

本文首发于个人网站,链接:如何设计接口的测试用例

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我的技术专栏

Java多线程编程—锁优化

1517
来自专栏魂祭心

原 Introduction to the

3589
来自专栏程序人生

Promise: 给我一个承诺,我还你一个承诺

处理concurrent programming,除了threading/multi-processing外,各家语言都有自己的绝活:erlang/elixir...

2904
来自专栏牛客网

爱奇艺远程一面

1030
来自专栏编程心路

Java 动态代理,看这篇就够了

这篇文章需要用到 Java 的反射知识,如果对反射还不清楚的小伙伴,可以先移步到这里 《Java进阶-反射》。

1854
来自专栏一个会写诗的程序员的博客

Kotlin 与 Java 8 的重要新特性以及 Java 9、10 的发展规划Java 9 新特性 极简介绍Java 10/X 的发展规划Kotlin《Kotlin极简教程》正式上架:

Java 8可谓是自Java 5以来最具革命性的版本了,她在语言、编译器、类库、开发工具以及Java虚拟机等方面都带来了不少新特性。我们来一一回顾一下这些特性。

702
来自专栏做全栈攻城狮

C#入门教程(二)–C#常用快捷键、变量、类型转换-打造C#

C#入门教程(一)–.Net平台技术介绍、C#语言及开发工具介绍-打造C#学习教程

1405
来自专栏工科狗和生物喵

【计算机本科补全计划】指令:计算机的语言(MIPS) Part3

正文之前 今天学的很尴尬,因为有事情,而且新认识了两个计算机学院的保研大佬,不得不感叹我找的导师之强,第一个去上交的,是被金老师推荐去的,听说是跟了目前亚洲第一...

3218
来自专栏大闲人柴毛毛

柴毛毛大话设计模式——开发常用的设计模式梳理

写在最前 本文是笔者的一点经验总结,主要介绍几种在Web开发中使用频率较高的设计模式。 本文篇幅较长,建议各位同学挑选感兴趣的设计模式阅读。 在阅读的同时,也...

4857
来自专栏IT可乐

Java 多线程详解(三)------线程的同步

Java 多线程详解(一)------概念的引入:https://cloud.tencent.com/developer/article/1012542 Jav...

22910

扫码关注云+社区

领取腾讯云代金券