• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    AOP@Work: 對方面進行單元測試

    發布: 2008-10-14 09:20 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 81次 | 進入軟件測試論壇討論

    領測軟件測試網

    不過,在用 AJDT 的 cross-references 視圖檢查切點時,會看到圖 2 所示的內容:


    圖 2. AJDT cross-references 視圖中四個建議的聯結點
     


    注意有一個多余的匹配:SearchResult.getWebsite()。您知道這個 Website 不應該突出顯示,因此重新編寫這個切點以排除不需要的匹配。

    優缺點

    使用 AJDT 的 cross-references 視圖檢查橫切規范有三個主要的好處。首先,cross-references 視圖可以在開發方面時馬上給出反饋。其次,它使您可以容易地發現難于測試的結果。(要編寫驗證 getWebsite() 沒有 突出顯示的測試,需要猜出 getWebsite() 可能會出錯,或者檢查 SearchResult 中每一個 String getter。越不容易出的錯誤,就越難很好地測試。)第三,自動生成的視圖可以驗證正確情況,在代碼中驗證它們是很麻煩的。例如,如果搜索 highlighter 需要影響 20 個聯結點,那么檢查 cross-references 視圖比為每一個聯結點編寫測試更容易。

    使用視圖驗證的主要缺點是不能自動檢查。它需要程序員的自律。匆忙的程序員可能看過圖 2,卻沒有發現問題。(下一個模式展示了對這個問題的部分解決方案。)另一個問題是橫切視圖只顯示了基于靜態聯結點 shadow 的匹配。換句話說,如果有依賴于運行時檢查的切點,如 cflow() 或者 if(),那么 cross-references 視圖不能肯定地說聯結點會在運行時匹配,只能說看來如此。

    模式 2. 檢查隨橫切比較工具改變

    針對 :橫切規范

    概述 :利用 AJDT 的橫切比較功能在重構之前或者其他代碼改變前保存項目的橫切圖。在完成改變后保存另一個圖。(還可以每晚保存一個圖以便比較。)在橫切比較工具中比較這些圖,以發現受方面影響的聯結點所出現的不希望的改變。注意在撰寫本文時,只有 AJDT 提供橫切比較工具。

    例子:改寫一個切點

    假定要改正上一個例子中表現出的問題,決定修改切點以使用 Java 5 注釋,如下所示:


    public pointcut highlightedTextProperties() :
           execution(@Highlighted public String Highlightable+.*())

     

    然后在源代碼中適當位置上添加注釋,例如:


      @Highlighted
      public String getTitle() {
        return title;
      }

    下一步是比較在改變前后所抓取的項目快照,并得到如圖 3 所示的結果。如您所見,重構消除了 getWebsite() 的建議匹配,但是也消除了 getSummary() 的匹配。(它看上去就像沒有添加上注釋。)


    圖 3. 在橫切比較工具中顯示的改變結果
     


    優缺點

    這項技術實際上是對上一項技術的優化。通過只顯示改變,橫切比較工具可以幫助防止信息盲點。同時,cross-references 視圖要求選擇需要分析的建議或者類,而橫切比較工具使您可以檢查整個項目的改變。

    缺點是橫切比較工具在方面影響多個聯結點時會不好用?紤]一個記錄所有公共方法的日志。這樣一個方面在哪怕一天的開發后也會增加十來個新改變,使得查看其他更重要

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>