<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>

            容錯測試1-aop實(shí)現

            發(fā)表于:2013-07-22來(lái)源:淘測試作者:秦淵點(diǎn)擊數: 標簽:容錯測試
            容錯測試1-aop實(shí)現.今年我們產(chǎn)品線(xiàn)對我們去年線(xiàn)上的遺留bug做了分析,發(fā)現線(xiàn)上的遺留問(wèn)題基本上是一些無(wú)法測試到的異常流程或者依賴(lài)的其他應用有異常引起的,普通的正常功能測試已經(jīng)很難發(fā)現那些問(wèn)題,于是我們今年提出了一個(gè)容錯測試的目標,希望能夠解決這類(lèi)問(wèn)題的測試瓶

            背景介紹:

            今年我們產(chǎn)品線(xiàn)對我們去年線(xiàn)上的遺留bug做了分析,發(fā)現線(xiàn)上的遺留問(wèn)題基本上是一些無(wú)法測試到的異常流程或者依賴(lài)的其他應用有異常引起的,普通的正常功能測試已經(jīng)很難發(fā)現那些問(wèn)題,于是我們今年提出了一個(gè)容錯測試的目標,希望能夠解決這類(lèi)問(wèn)題的測試瓶頸.

             

            我們的目標:

            • ²  測試各種錯誤異常情況下系統的反應
            • ²  通過(guò)自動(dòng)化的手段運行

             

            為了說(shuō)明后面的內容,先看一個(gè)簡(jiǎn)單的例子,有下面的被測代碼:

            接口:

            public interface IHello {

               public int hello();

            }

            實(shí)現:

            public class Hello implements IHello {

                @Override

                public int hello() {

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

                   return 1;

                }

            }

            現有方案介紹:

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

             

             

             

            問(wèn)題:無(wú)法自動(dòng)化

             

            • 2.     編寫(xiě)mock的測試bean

             

            問(wèn)題:不夠優(yōu)雅(用這個(gè)方法來(lái)做的話(huà),維護成本等會(huì )很高,不可管理…)

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

             

            問(wèn)題:切入時(shí)間比較難控制,因為真實(shí)環(huán)境下的bean依賴(lài)如下圖,mock框架很難控制bean的注入點(diǎn).

             

            新的方案(基于AOP的實(shí)現):

            采用AOP的方式來(lái)插入mock對象:

             

             

            實(shí)現細節(限于篇幅,做了一定精簡(jiǎn))

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

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>