接口测试 && 白盒测试

蓝咒 提交于 2019-12-05 20:06:30

一、什么是白盒测试

  白盒测试是一种测试策略,这种策略允许我们检查程序的内部结构,对程序的逻辑结构进行检查,从中获取测试数据。白盒测试的对象基本是源程序,所以它又称为结构测试或逻辑驱动测试,白盒测试方法一般分为静态测试和动态测试。

二、如何去做白盒测试

  网上很多介绍白盒测试的文章会提到白盒测试的方法有:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、路径覆盖等等。实际工作中的白盒测试并不是一上来就进行代码分析,我个人理解白盒测试应该从以下几个步骤来一步一步执行:

1、使用静态代码分析工具:Findbugs先找出一些简单的 bug

  • 操作空对象;
  • 数组访问越界;
  • 线程安全;
  • 字符串拼接;
  • 资源关闭;

2、diff评估影响范围,找边界和影响范围

  • 往上找,找它的调用链,找测试范围的边界;
  • 往下找,找它对下游的影响,找影响范围;

3、做单测,从上往下串

  • 不只是对改动方法做单测;
  • 还要找到它影响的点,从上到下往下串;

4、单独拉分支,梳理代码逻辑

  • checkpoint:根据checkpoint画出流程图/时序图,后面做接口测试的测试点/检查点;
  • bug:梳理代码时能够确定的问题;

5、接口测试

  • 基于第四步代码梳理的checkpoint来做接口测试;
  • 只做白盒测试不做接口测试,无法将代码的整个逻辑理顺;

6、debug再做一遍

  • 远程debug,将整个流程走一遍;

另外,对于接口测试和白盒测试,有些公司会引入代码覆盖率工具来衡量测试用例对代码的覆盖率,关于这一点我们将在其他文章中做详细介绍。常用的代码覆盖率工具有:

  • Cobertura
  • EclEmma
  • Jacoco

三、接口测试的策略

 

四、分库分表关注点

  • 表的数量:2的幂指数;
  • 字段的选择:
    • 一般基于单个字段去分,也有少数情况是基于多个字段;
    • 一般基于索引字段;
    • 能够让请求均分到各张表,如:按 OrderID 划分比较合理,按 MerchID 划分就不太合理,会使一个商户的所有数据都在同一张表;
  • 分库分表后的查询:插入和取出逻辑一致;
  • 关注性能:不能比分之前差;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!