专栏首页测试开发架构之路【总结】梳理下接口功能测试

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

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 条评论
登录 后参与评论

相关文章

  • Jmeter小技巧以及问题集合

    互联网金融打杂
  • C++之类和对象的使用(一)

      对象的初始化 在声明类时直接对数据成员初始化是错误的!下面的例子时错误的!! class Time{ hour =0; minitu=0; sec=0; }...

    互联网金融打杂
  • 程序员面试之软件测试面试问答

    1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库里面进行备案。 然后,要获取判断的依据和标准...

    互联网金融打杂
  • 2天1夜,领略了沙漠腹地工作人员的艰辛

    12月20日至21日,为了检查和试验安装到地震队的北斗终端,人生第一次深入到沙漠腹地,体验了2天野外地震队的生活。

    申龙斌
  • 众多Python Web框架比较,哪个适合你,你就用哪个!

    Python程序员有很多很好的选择来创建Web应用程序和API;Django,Weppy,Bottle和Flask引领潮流。

    一墨编程学习
  • 7 papers | NeurIPS 2019获奖论文揭晓;OpenAI刀塔2论文公布

    论文 1:Distribution-Independent PAC Learning of Halfspaces with Massart Noise

    机器之心
  • 年底总结一下Python WEB最好用的几个框架,让你有一个系统的了解

    2017年就要过完了,我们来总结一下2017年最好用的17个Python Web框架 群内不定时分享干货,包括2017最新的python企业案例学习资料和零基础...

    企鹅号小编
  • 人工智能AI(3):线性代数之向量和矩阵的范数

    在实数域中,数的大小和两个数之间的距离是通过绝对值来度量的。在解析几何中,向量的大小和两个向量之差的大小是“长度”和“距离”的概念来度量的。为了对矩阵运算进行数...

    企鹅号小编
  • Java开发环境系列:Oracle数据库的安装与使用

    1)下载客户端(两个文件),下载前Accept License Agreement,地址:https://www.oracle.com/technetwork/...

    架构师小跟班
  • javascript正则姓名加密,保留姓,名用*号代替

    大家都知道javascript诞生最初的目的是为了处理表单验证操作的。javascript发展到现在,已经从一个简单的表单验证器功能发展成为一门强大而复杂的语言...

    祈澈菇凉

扫码关注云+社区

领取腾讯云代金券