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

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

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

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

    追求代碼質量: 測試 Struts 遺留的應用程序

    發布: 2008-6-25 17:11 | 作者: 不詳 | 來源: 測試時代編輯整理 | 查看: 37次 | 進入軟件測試論壇討論

    領測軟件測試網


    setRequestPathInfo() 方法配置路徑以映射到 Action 類,addRequestParameter() 方法把來自 JSP 文件的參數名稱映射到值。例如,在清單 6 中,username 參數映射到 “jane”。

    還請注意清單 6 中的最后兩行。actionPerform() 方法實際上讓 Struts 去調用對應的 Action 類。如果這個方法沒被調用,什么也不會發生。最后調用的方法 verifyForward() 是在 MockStrutsTestCase 類中找到的一個類似于斷言的方法,它驗證正確的轉發。在 Struts 中,這是一個 String,通常映射到成功或失敗狀態。(請注意,清單 5 中的 XML 定義了 “success” 轉發。)

    用 DbUnit 進行的可重復的成功

    這時,您可能希望工作完成 —— 畢竟已經編寫了一個企圖驗證口令修改的測試。但是還缺乏更深的驗證。確實,這個方便的框架調用了 Struts,但是代碼依賴于數據庫。如果希望能夠不止一次地運行這個測試,比如在構建過程中,就需要讓它可重復。

    由于一些特定的假設,所以 清單 6 中的測試用例不是可重復的。首先,測試用例假設在系統中已經 有一個名為 “jane” 的用戶,它的口令是 “admin”。其次,測試用例假設在某些永久存儲 中口令 “admin” 被更新成 “meme”。正如所寫的那樣,只要代碼沒有生成異常,ActionForm 成功驗證,Struts 就假定事情工作良好,測試用例也是一樣。

    現在需要的是更深層次的驗證 —— 在數據庫層次。對于應當更新口令的測試用例來說,理想情況下應當在數據庫上 執行檢查,確保那里有一個新口令。對于口令不應當修改的測試來說,需要進行驗證,真正檢驗沒有修改 口令。最后,要讓這個測試套件可重復,最好是不要 對數據完整性做任何假設。

    DbUnit 是個專門方便把數據庫放進測試狀態中已知狀態的 JUnit 擴展。使用 XML 種子文件,可以把特定數據插入到測試用例可以依靠的數據庫中。而且,使用 DbUnit API,可以容易地比較數據庫的內容和 XML 文件的內容,從而提供一個在應用程序代碼之外 校驗預期數據庫結果的機制。

    用 DbUnit 進行測試

    要使用 DbUnit,需要兩樣東西:

    通過普通 JDBC 的數據庫連接
    一個文件,包含需要放到數據庫中的數據
    清單 7 是一個 DbUnit 種子文件,只定義了幾樣東西:首先,有一個叫做 user 的表和另一個叫做 user_role 的表。在 user 表中定義了一個新行,并映射一些值到列(例如列 username 擁有值 “jane”)。在 user_role 中還定義了一行。請注意這個數據庫中的口令是通過 SHA 加密的。


    清單 7. 用于測試表 user 和 user_role 的 DbUnit 種子文件

    <?xml version='1.0' encoding='WINDOWS-1252'?>
    <dataset>
     <!-- user with password admin -->
     <user username="jane"
       password="d033e22ae348aeb5660fc2140aec35850c4da997"
       name="Jane Admin"
       date_created="2003-8-14 10:10:10"
       email="jane@elsewhere.org"/>
     
     <user_role username="jane" rolename="ADMIN"/>
    </dataset>
     

    延伸閱讀

    文章來源于領測軟件測試網 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>