zoukankan      html  css  js  c++  java
  • 接口功能测试

    接口功能测试

    之前看的培训班视频,讲的是用jmeter进行接口自动化和性能以及压力测试,但是本质上自动化是为了服务功能测试而诞生的。
    所以有必要详细和认真了解下怎么开展对接口的功能测试。
    所以梳理了以下接口功能测试:知识点参考来自于 https://www.cnblogs.com/iloverain/p/9429116.html

    单接口测试(场景测试)

    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.加密测试:

    组合接口测试(场景测试)

    单个的接口测试通过后,需要将单个的接口组成连续的场景,比如说投资接口需要用到一个类似token的 参数,
    而这个参数是登陆接口获取到的,所以就需要先调用登陆接口,然后再去调用投资接口。
    还有就是 像数据权限与操作权限这些,都会依赖一些其他的接口,那么把这些依赖的接口组成一个场景来测试数据的 正确性。
    还有一部分接口是内部调用的,比如说注册接口,在注册的时候通常需要获取一个验证码,然后输入 验证码再进行提交注册的操作,
    在这过程中,验证验证码的操作是在注册的内部完成的,那么其实在组合场景 的时候就不需要再去中间加入验证验证码的接口。

    总结

    1. 接口测试简述:
    1、检查接口返回的数据是否与预期结果一致。
    2、检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子是支持整数,传递的是小数或字符串呢?
    3、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理。
    4、接口的性能,接口处理数据的时间也是测试的一个方法。牵扯到内部就是算法与代码的优化。
    5、接口的安全性,如果是外部接口的话,这点尤为重要。

    2、单接口与组合接口
    (1)单接口
    单接口入参,出参
    入参:参数边界值、类型、非必传、必传
    出参:数据类型、结果与MySQL表数据比较、响应码(正确码、错误码)、数据的准确性(比如四舍五入的情况、浮点被强制成整型等)
    权限(重要):token失效(有效)

    (2)组合接口
    结合测试场景(要结合业务),编写相应的测试用例;
    场景:比如新建一个客群,验证将其转化为系统客群 是否成功;
    接口间的参数传递;
  • 相关阅读:
    什么是垃圾回收
    Oracle GoldenGate学习之Goldengate介绍
    JVM虚拟机选项:Xms Xmx PermSize MaxPermSize区别
    查看linux系统版本命令
    Case when 的用法,简单Case函数
    case when then else end
    ORACLE视图添加备注
    修改 tomcat 内存
    Linux 内存机制详解宝典
    oracle正则表达式regexp_like的用法详解
  • 原文地址:https://www.cnblogs.com/st998/p/13846799.html
Copyright © 2011-2022 走看看