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

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

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

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

    不僅僅只有JUnit

    發布: 2009-4-13 09:28 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 29次 | 進入軟件測試論壇討論

    領測軟件測試網  今年忙乎了大半年的自動化測試,寫了一個測試框架,一直就想寫點東西總結一下,由于懶,總是沒有心性來寫些東西,今天無聊,乘機寫點,不然又不知猴年馬月才能動筆了^_^
            本文不想討論自動化測試的利弊;Web測試性能測試也不是本文的討論范疇,本文只討論單元測試以及集成測試階段的問題;只談了JUnit的一些缺陷以及我們是否有更好的選擇,以及開發者的測試是否能讓測試人員也能玩得動呢。如果你沒興趣,不防就此別過,以免你后悔。
            言歸正傳,說到用JUnit進行單元測試,對于Java開發人員來說再熟悉不過了,即使
            沒有用過,也一定聽過吧。
            在項目的過程中,如果你是開發人員,你也許有這樣的想法:偶們知道用JUnit來寫單元測試的好處,可偶們沒時間寫;功能夠用了,可還是繁瑣;一開始還用的,可后來忙于改代碼,接口改動又大,也就沒時間堅持用下去了。
            如果你是測試人員,你或許會這樣想:偶覺得開發人員寫的單元測試可能過于粗略,很可能有些邊界沒檢查到,但我對Java不太熟悉,無法通過修改他們的測試代碼來進行更完善的測試,只能”通過現象猜本質“了--在功能測試階段,多點幾下鼠標也就可能出錯了。
            哦,也許我猜錯了,我怎么能懂得測試人員的心思呢,實際上我都不是一個稱職的測試人員。
            我們來看看JUnit都有哪些令人不爽的地方:
            1、繁瑣,維護的成本不低。XP提倡為每個方法都加一個測試方法,不少XP的追隨者也是真能做到的。但當項目的代碼行達到50萬以上時,為每個方法增加一個測試方法,令人不爽的是:需要幾乎跟源碼一樣多的測試代碼,甚至更多。唉,老大,不是我不想做,我是做不完啊。
            2、測試代碼的質量不好檢查。如果你是一個敬業的人,相信不會有這樣的問題,但是人都有惰性,尤其是日復一日地重復寫代碼的你,當面臨加班寫測試代碼和回家看球賽的選擇時,我想還是選看球賽的人大有人在--反正簡單得很,不會出錯的。關鍵的是:頭兒不會知道的。
            3、在單元測試階段的效果比較明顯,在其它測試階段幾乎就難于勝任了。也難怪,望文生意:JUnit本來就是Java Unit測試嘛,你XXX要求還真高。
            關鍵不是我要求高,是我們這些coding的”共同敵人“要求高啊,所以,問題不能不解決。于是,就有一些”先驅們“做了一些嘗試:
    一、Software Agitator
            什么是Software Agitator?當年JUnit的締造者Kent Beck的又一力作,它是一個自動的運行軟件代碼并提供軟件代碼行為觀察報告的一種方法,它幫助開發人員單元測試他們的代碼,而不用手動編寫測試代碼,使用該方法,開發人員將創造出更好、更容易維護和健康的軟件,產生很少的bug,具有更高的生產效率,因為他們花了很少的時間去分析失敗和改寫他們的代碼。
    Software Agitator的主要特性有:
    1、自動生成測試數據、自動創建智能的Mock 對象,提供盡可能多的代碼覆蓋。
    2、全面的報告:代碼覆蓋率、報告方法、輸出、語句行和條件覆蓋率。
    3、超過200個Factory庫,也可以通過簡單的Java API 延伸factory控制輸入數據和
    轉化數據格式。
    4、支持TDD(測試驅動開發)
    5、支持JUnit等。
    6、支持Regression測試(也就老外這么多名詞,說白了就是測試用例在不同的項目中
    重復利用)。
    7、存儲信息在XML文件里(包括用例、報告),不需要數據庫。
    8、自動檢測代碼標準違規。
    9、完全集成Eclipse開發環境。

            顯然,Agitator的功能非常強大,陣對性強,個人覺得起碼有如下好處:
    1、基于XML來描述用例信息比robot和Quest Test都易于使用,這使測試人員都能參與其中。題外話:我一直想不通robot和Quest Test為何要自己發明一套自己的腳本?除了自我封閉、排除異己之外,實在沒有其它有說服力的道理可言。
    2、它能大大減輕了開發人員的重復勞動,這是開發人員不能堅持用JUnit進行測試的罪魁啊,基本上彌補了JUnit的缺陷,真不愧為JUnit的始俑者。一句話:懶人只需要一個理由。
    3、測試報告全面,而且是xml形式的。通過測試報告也能比較可靠地檢查質量。
    Agitator的缺陷也明顯:
    1、不適合于Web測試和GUI測試。
    2、它不是免費的,這是最大的缺點了吧,如果能象JUnit那樣免費。。。。。。我想得也太 美了:(

            可惜拿不到Agitator的試用版,不然,能做些例子,但能給我們不少啟發:
    1、測試框架需要進一步減輕開發人員的工作量
    2、測試用例的開放性(XML格式)。別只顧自己玩代碼,讓開發經驗欠缺的測試人員也玩玩 如何?自動化測試有必要學習其他腳本語言嗎?除了商業利益的因素外,沒有任何令人信服的理由。
    3、測試的智能化:全面的報告,支持Regression測試,自動定時執行等等。

            是啊,真的是個好東東啊。難道就沒有其它免費的嗎?我還真沒發現,如果你知道,請告訴我,謝謝。

            不過,如果你能讀到這,為了報答你的拜讀之情,就介紹一款免費的測試框架,以致不會令你太失望。

    延伸閱讀

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

    TAG: junit Junit JUnit JUNIT


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>