jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks
          1. 不要用TestCase的構造函數初始化Fixture,而要用
          setUp()和tearDown()方法。

          2. 不要依賴或假定測試運行的順序,因為JUnit利用
          Vector保存測試方法。所以不同的平臺會按不同的
          順序從Vector中取出測試方法。

          3. 避免編寫有副作用的TestCase。例如:如果隨后的
          測試依賴于某些特定的交易數據,就不要提交交易
          數據。簡單的會滾就可以了。

          ? 對于我們來說,有時是必須要提交,以至于有副作用的。
          ? 例如:在執行“插入“后,數據庫顯然會多出一條數據來。
          那么必須在隨后每個測試自己消除自己的副作用。
          ??在這里,就是自己“再刪除剛插入的數據”。(這時候需要
          考慮到這個善后的工作不能自己就不能有副作用,
          ? 刪除
          多了其他的數據)。
          ?
          ? 這里的副作用還指“影響到周圍環境”,因為我們現在工
          作的人比較多,所以最好大家的測試服務器能夠分開來,
          ?例如一個人一個Database實例(可以建得稍微小一點)或
          者一個人一個數據庫,
          ? 注意將這些個人之間有區別的內
          容用常量在每個人自己的所有程序中公用。而不是分布在
          各個位置。
          ? 否則以后要改換測試服務器,所有的程序都需
          要改動。
          ?
          ? 為了保證測試程序能夠很容易的到處執行,請保證大家
          的數據庫服務器的測試數據全部一致。
          ?否則,就不能做到
          很容易得拿到FJ也可以很容易的運行,所以需要準備“測
          試數據集“。
          包括:Schema ,table ,stored procedure等數據
          庫對象的結構一致,
          ?還包括數據庫的數據內容保持一致。

          4. 當繼承一個測試類時,記得調用父類的setUp()和tearDown()方法。

          5. 將測試代碼和工作代碼放在一起,一邊同步編譯和更新。
          (使用Ant中有支持junit的task.)

          6. 測試類和測試方法應該有一致的命名方案。如在工作類
          名前加上test從而形成測試類名。
          可能這里我們需要改動,將函數名和我們的測試用例的編號一致起來。

          7. 確保測試與時間無關,不要依賴使用過期的數據進行測試。
          導致在隨后的維護過程中很難重現測試。

          8. 如果你編寫的軟件面向國際市場,編寫測試時要考慮國際
          化的因素。不要僅用母語的Locale進行測試。

          9. 盡可能地利用JUnit提供地assert/fail方法以及異常處理的
          方法,可以使代碼更為簡潔。
          ?
          這個內容有其關鍵,assert語句的好壞直接影響到測試的正確性。
          因為assert就是用于當前測試項的正確性的。

          10.測試要盡可能地小,執行速度快。

          =============
          ?1)將所有的數據庫的測試數據程序自動生成的。
          用戶可以簡單的修改ConnectionString,然后運行程序,
          就可以創建生成數
          據庫/數據庫表/存儲結構,并且自動
          插入數據。

          ?? 2)為了保證多個測試人員的不干擾,建議分別各自
          單獨使用自己的數據
          庫。否則會因為一個自己的錯誤,
          影響別人的工作。
          ?
          ?? 3)在自己的程序中,所有涉及環境的內容都用單獨
          放到一個類中,用static
          常量共享使用(這樣就便于很
          容易的更換環境再進行測試,做到很容易的移植
          測試
          環境)。
          ?
          ?? 4)關于數據庫表結構,我建議測試表中含有一個主鍵,
          我們在插入數據的時
          候,保證測試用例,測試用例程序,
          測試用例程序中的數據,這三者的編號一
          致起來。便于
          出現問題時,可以排除數據。
          posted on 2006-05-28 15:32 jinfeng_wang 閱讀(1485) 評論(0)  編輯  收藏 所屬分類: javaThinkingJunit.Net
          主站蜘蛛池模板: 阿克陶县| 中西区| 茶陵县| 柘城县| 莲花县| 噶尔县| 黄龙县| 石景山区| 新野县| 临邑县| 万山特区| 罗城| 丰宁| 民和| 延庆县| 健康| 南开区| 景东| 蒙山县| 固阳县| 双柏县| 年辖:市辖区| 泰顺县| 阿克陶县| 遂川县| 夏河县| 黔江区| 喀什市| 连州市| 文成县| 潮安县| 峨眉山市| 综艺| 日照市| 奉节县| 盐津县| 易门县| 锦屏县| 雷波县| 双峰县| 鹿邑县|