接口测试认知

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

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

    

 

posted on 2018-07-06 15:45  雨燕赵  阅读(186)  评论(0编辑  收藏  举报