【总结】梳理下接口功能测试

1. json格式测试:  
  通常我们的接口一般设计的都是传递json串,那么就需要去测试
  如果传递非json的情况,这时候程序会不会正确的处理,返回相应的        error code

2. 默认值测试:
  很多情况一些非必填的参数会有默认值,比如说一个查询的接口,参数count为返回查询的结果数量,
  默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在这样的数据超过10条。

3. 异常类型测试:
  比如上面的count参数,这个参数的类型一定是可以转换为int类型的,这时候我们需要测试如果传的一些不可以
  转换为int类型值来测试代码是否加入判断

4. 必传项测试:
  如果接口的参数有必传项,那么需要测试在不传这个参数的时候接口返回情况,测试是否会提示
  相应的error code

5. 非必传项测试:
  如果接口有非必填项,当我不传递这些参数的时候会不会正常的返回相应的结果

6.非空测试:
  无论是必传的和非必传的参数,传递的key是正确的,但是value=null,这时候返回结果是否正确

7.业务逻辑测试:
  传递正确的参数,接口对数据库进行查询的操作,需要去验证数据库查询是否正确,接口对数据库进行
  增删改的操作,也需要看数据库是否同步进行了这些操作

8.兼容性测试:
  比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式

9.错误码测试:
  通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的情况

10.数据异常测试:
  假如数据库设计为32位varchar类型,那么如果传33位会是什么情况,会不会抛出相应的错误码,而不会抛出数据库异常

11.返回值测试:
  返回值除了内容需要是正确的,还需要类型也是正确的,保证调用方拿到这些参数能够正确的解析

12.加密测试:

总结:

1. 接口测试简述:
       
    1、检查接口返回的数据是否与预期结果一致。

  2、检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子是支持整数,传递的是小数或字符串呢?

  3、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理。

  4、接口的性能,接口处理数据的时间也是测试的一个方法。牵扯到内部就是算法与代码的优化。

  5、接口的安全性,如果是外部接口的话,这点尤为重要。

2. 单接口与组合接口

(1)单接口
单接口入参,出参
入参:参数边界值、类型、非必传、必传

出参:数据类型、结果与MySQL表数据比较、响应码(正确码、错误码)、数据的准确性(比如四舍五入的情况、浮点被强制成整型等)

权限(重要):token失效(有效)

(2)组合接口
结合测试场景(要结合业务),编写相应的测试用例;
场景:比如新建一个客群,验证将其转化为系统客群 是否成功;

接口间的参数传递;

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏好好学java的技术栈

各大公司Java后端开发面试题总结

Java虚拟机规范中将Java运行时数据分为六种。 1.程序计数器:是一个数据结构,用于保存当前正常执行的程序的内存地址。Java虚拟机的多线程就是通过线程轮流...

5575
来自专栏吴生的专栏

谁说深入浅出虚拟机难?现在我让他通俗易懂(JVM)

1:什么是JVM 大家可以想想,JVM 是什么?JVM是用来干什么的?在这里我列出了三个概念,第一个是JVM,第二个是JDK,第三个是JRE。相信大家对这三个不...

3906
来自专栏zingpLiu

浅析Python多线程

学习Python多线程的资料很多,吐槽Python多线程的博客也不少。本文主要介绍Python多线程实际应用,且假设读者已经了解多线程的基本概念。如果读者对进程...

2188
来自专栏LEo的网络日志

shell技巧分享(六)

1545
来自专栏蓝天

从程序员角度看ELF

原文:http://xcd.blog.techweb.com.cn/archives/222.html

1014
来自专栏java一日一条

ava多线程:volatile变量、happens-before关系及内存一致性

请参考来自 Jean-philippe Bempel 的评论。他提到了一个真实因 JVM 优化导致死锁的例子。我尽可能多地写博客的原因之一是一旦自己理解错了,可...

772
来自专栏ml

Linux GDB常用命令一栏

Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明; (*** 表示可执行程序名) (2)退出:quit。有...

4094
来自专栏区块链

GoAHEAD嵌入式WEB SERVER漏洞概览

GOAHEAD由于开源、简单、轻巧、功能强大、多平台等特点,主要运用于嵌入式设备上。考虑到如路由器等等的使用场景等加上出现的漏洞情况等等,使得其漏洞利用难度也会...

2456
来自专栏Linux驱动

41.Linux应用调试-修改内核来打印用户态的oops

1.在之前第36章里,我们学习了通过驱动的oops定位错误代码行 第36章的oops代码如下所示: Unable to handle kernel paging...

2895
来自专栏java 成神之路

深入理解 Synchronized

2829

扫码关注云+社区

领取腾讯云代金券