zoukankan      html  css  js  c++  java
  • 接口测试认知

    一、接口测试发现的一些典型问题

    1.传入参数处理不当,导致程序crash;

    2.类型溢出,导致数据读出和写入不一致;

    3.因对象权限未进行校验,可以访问其他用户敏感信息;

    4.状态处理不当,导致逻辑出现错乱;

    5.逻辑校验不完善,可利用漏洞获取非正当利益等。

    二、接口设计合理性

    1.接口字段是否冗余;

    2.接口是否冗余;

    3.接口是否返回了调用方期待得到的信息;

    4.接口定义是否可满足所有调用需求;

    5.接口定义调用是否方便。

    三、接口测试用例设计

    1.针对输入设计

      1.1 入参类型:数值型(int,long,float,double等)、字符串类型、数组或链表、结构体(struct)。 

      1.2 数值型

        等价类:取值范围内、取值范围外、取值范围边界

        常见问题和风险:特殊值处理不当导致程序异常退出、类型边界溢出、取值范围外值未返回正确的错误信息等。

      1.3 字符串型

         字符串长度:等价类(取值范围内、取值范围外)、边界法(规定范围边界、类型边界)、特殊值(0,空字符串)

        字符串内容:特定类型(英文、中文、大小写)、特殊字符(!@#¥%……&*()等)、敏感字符(“”等)

        可能出现的问题和风险:传入非特定类型程序异常退出、超长字符未进行处理导致存储和显示灯异常、其他用户可见设置的敏感字。

      1.4 数组或链表类型

        成员个数:等价类(取值范围内、取值范围外)、边界法(规定范围边界、个数边界值)、特殊值(0等)

        成员内容:等价类(合法和非合法成员)、重复法(重复的成员)

        可能存在的问题和风险:0个item时程序异常退出、重复的item处理时未去重导致结果异常等

    2.针对逻辑设计

      2.1 约束条件分析

         数值限制:分数限制、金币限制、等级限制等;

           状态限制:登录状态等;

         关系限制:绑定关系、好友关系等;

                 权限限制:管理员等。

          常见的问题和风险:约束条件判断不足,导致用户可通过特殊手段获取利益。

      2.2 操作对象分析

      2.3 状态转换分析

        常见的问题和风险:可通过特殊手段达到原本不能的状态,从而谋取利益

      2.4 时序分析

    3.针对输出结果

      3.1  接口处理正确的结果可能只有一个,但是错误异常返回结果有很多情况很多值

        常见问题和风险:错误前端处理不足导致前端异常、错误提示不当导致用户看到晦涩的错误码、错误提示不当导致用户不知道哪里出了问题,人如何解决。

    4.接口超时

      4.1 常见引起的问题:未进行超时处理,导致整个流程阻塞、超时后又收到接口返回,导致逻辑出现错乱。

    5.已废弃接口测试

      5.1 已废弃协议,是指之前有定义,但是因为需求变更或其他原因,目前版本不用。这些接口虽然不再使用,但有可能代码并没有及时删除。如果利用技术手段调用这些接口,可能获取额外利益。  

        

  • 相关阅读:
    软件测试(理论基础)
    Android NDK常见配置问题的解决方案
    Eclemma各种安装方式以及安装失败解决
    检测Buffer Overflow的几种方法
    转: 跟我一起写 Makefile
    流敏感、路径敏感、上下文敏感
    Symbolic Exectuion with Mixed ConcreteSymbolic Solving
    基于ajc的代码编织
    第一次个人编程作业
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/yuyanhzao/p/9273551.html
Copyright © 2011-2022 走看看