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

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

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

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

    我的軟件測試生活感悟

    發布: 2010-11-23 09:43 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 542次 | 進入軟件測試論壇討論

    領測軟件測試網

      我的軟件測試生活感悟    軟件測試

      以下是我的軟件測試工作感悟,僅供參考:

      1. 真的是萬事開頭難,但我覺得更難的是,每天都堅持做同一件事情。在不被強迫的情況下(如:上班、吃飯、睡覺...),在可自由支配的時間里,現在我每天堅持做的貌似只有GoogleReader。希望我的測試感悟系列也能堅持下來。

      2. 在做模塊的接口測試過程中,發現開發所犯的錯誤大多是一些低級的,深刻領悟到:復制粘貼是代碼最大的隱患!

      3. 最近發現一個BUG,是開發解析xml錯了,導致有的節點內容未讀上來。就這樣一個BUG描述,根本看不出它對產品有多大的影響,也許最了解的人,就是開發自己了。

      4. 寫的模塊接口測試案例多了,漸漸發現了一些自己的代碼風格,也許以后可以開專題來講解一下。測試代碼和產品代碼是有很大區別的,測試代碼其實是有通用的一些模式的,不然就不會出現XUnit之類的東西?梢哉fXUnit也是一種風格約束。我總結出來的自己的測試代碼都會分成以下幾個部分:

      * Caller

      對開發接口函數調用的包裝,使得案例有一個統一的入口調用開發的函數。開發接口函數變動,只需要變動我們的Caller。(封裝變化)

      * Checker

      對接口函數調用的驗證方式的封裝。對被測函數的返回值檢查是最基本的,更多的時候,返回值并不能告訴你一切,返回值告訴你它做了什么,但它沒有證明給你看它確實做到了

      * DataDefine

      測試數據是必不可缺的,我將測試數據單獨抽離出來,方便管理和組織。

      * TestFixtureBases

      TestFixture的基類,這是我喜歡使用的方式,定義某一類案例的基類,它們做同樣的SetUp和TearDown,共享同樣的函數調用。

      * TestCases

      最終到了測試案例這一分類,如果我們把上面的四個分類都做好了,就會發現,測試案例都可以使用一種非常簡潔的方式來表達。在我看來,一個測試案例代碼,五行左右代碼是最優美的。

      * (附加)CommonSpec

      有時候,為了讓測試案例更加容易理解,我還喜歡使用BDD的方式表述測試案例。因此,我個人可能還會有一個分類叫CommonSpec,定義的一些自然語言相關的函數?赡苓@個并不一定適合每個人。

    延伸閱讀

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

    TAG: 感悟 軟件測試 生活

    61/6123456>

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