容错测试1-aop实现

发表于:2013-07-22来源:淘测试作者:秦渊点击数: 标签:容错测试
容错测试1-aop实现.今年我们产品线对我们去年线上的遗留bug做了分析,发现线上的遗留问题基本上是一些无法测试到的异常流程或者依赖的其他应用有异常引起的,普通的正常功能测试已经很难发现那些问题,于是我们今年提出了一个容错测试的目标,希望能够解决这类问题的测试瓶

背景介绍:

今年我们产品线对我们去年线上的遗留bug做了分析,发现线上的遗留问题基本上是一些无法测试到的异常流程或者依赖的其他应用有异常引起的,普通的正常功能测试已经很难发现那些问题,于是我们今年提出了一个容错测试的目标,希望能够解决这类问题的测试瓶颈.

 

我们的目标:

  • ²  测试各种错误异常情况下系统的反应
  • ²  通过自动化的手段运行

 

为了说明后面的内容,先看一个简单的例子,有下面的被测代码:

接口:

public interface IHello {

   public int hello();

}

实现:

public class Hello implements IHello {

    @Override

    public int hello() {

       System.out.println("Hello is print!");

       return 1;

    }

}

现有方案介绍:

  • 1.     运用eclipse debug,使用display功能修改值

 

 

 

问题:无法自动化

 

  • 2.     编写mock的测试bean

 

问题:不够优雅(用这个方法来做的话,维护成本等会很高,不可管理…)

  • 3.     使用现有的一些mock框架,比如使用Mockito.

 

问题:切入时间比较难控制,因为真实环境下的bean依赖如下图,mock框架很难控制bean的注入点.

 

新的方案(基于AOP的实现):

采用AOP的方式来插入mock对象:

 

 

实现细节(限于篇幅,做了一定精简)

原文转自:http://www.taobaotesting.com/blogs/2443