黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平
駕駛員 | 網絡編輯
衛生資格 | 執業醫師 | 執業藥師 | 執業護士
會計從業資格考試會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師
質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師
城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 復習資料 > 軟件評測師 > 正文

單元測試小技巧

  我們的想法是任意一個開發者都應該有能力修改和運行一些不需要設置特殊的配置的測試進行測試。如果這有一些測試需要在運行前有特殊的關注,開發者應該知道他們,然后他可以花一些時間學習這些測試的方法。因為很多的開發者比較的懶(當然,不是你),你可以設想,他們不會去做那些特殊的設置,相反,他們會讓測試失敗因為他們有更好的事情去做。

  當用戶讓測試失敗時,他們開始考慮他們不能夠信任這些測試了。很難說是否測試可以在一個中找到一個正式的bug或者只是一個錯誤的定位。開發者可能不明白為什么測試者會在一開始就執行失敗。一旦他們不再信任你的測試,開發者將會停止運行它們,那么bug就會駐留在程序中,之后一連串的麻煩就來了。。。

  為了避免這件事情,確認你總是有一個組準備好了去測試,測試程序則是可以安全運行,可信任的。把那些屬于配置挑戰組的測試放到不同的文件夾,樹或者工程中,同時標記特殊的說明指明他們在運行前需要做什么。完成這些后,開發者可以不投入時間去配置就開始測試工作。當他們有時間和需要時,他們也可以配置,運行更多的測試環節。

  創建維護測試

  我們應該試著避免測試私有或保護成員。這篇文章也許能夠幫助一些人解決一部分問題,但是我很堅決相信百分之九十九的時間,你可以全面的測試一個類,通過編寫一些與它的獨立公共接口相反的單元測試。測試私有成員可以使你的測試更加脆弱,如果這個需要被測試的類的一些內在方面略有改動的話。你應該使用通過調用一些代碼里別處的公共功能這一方法去測試私有功能。當你依然能夠確定全部功能并沒有改變的時候,僅僅測試公共成員會導致測試遭受常量代碼的因式分解以及內部的執行情況改變。

  在可能的時候,應該重新使用你的創造物,處理過程,和聲明代碼。不要在一個單元測試中直接的創建類的實例。如果你在任何并不包含在此單元測試框架中的類前面看到這個單詞“new”,你應該考慮一下將你創造的代碼放在一個特殊的整體方法之中,它可以為你創建一個對象實例。你可以到時再重新使用這個方法來獲得你的測試在其他測試之中的最新實例。這樣可以幫助你來保持這個測試維護所需的時間,然后在測試進行的時候,從對代碼無法預料的改變之中保護你的測試。作為一個例子,Figure 1展示了一對簡單的測試,它使用了一個Calc類。

  假設你有20,或者你甚至有100,與Calc類做相反測試,所有這些看起來令人吃驚的相似。現在一個計劃的改變迫使你不得不刪除默認的Calc構造器并且使用一個含有一些參數的不同的構造器。馬上,你所有的測試就被暫停了。你可能可以很輕易的發現問題的關鍵并修復它,但你也可能做不到。最主要的問題是你將會浪費很多寶貴時間在修理你的測試上面。如果你在你的測試類之中使用一個整體的方法去創建Calc 實例,就像Figure 2所顯示的那樣,這些就并不是個問題。

  我已經對測試做了一些改變已使它們能夠具有更多可維護性。首先,我將新創建的代碼遷移至可以再度使用的整體方法之中。這就意味著我只需僅僅改變一個簡單的方法以使得在這個測試類中的所有測試在一個新的構造器中的能夠正常的工作。另外一個為創造問題而設的簡單解決方法是把創作物遷移到測試類的<TestInitialize()>方法之中。不幸運的是,這個能夠很好的工作僅僅在你重新使用一個對象并在一些測試中把它當作一個局部類變量。如果你僅僅為一些測試使用它(部分相關成員),你倒不如在測試中將它們實例化,并且使它們更具易讀性。

  順便一提的是,請注意,我已經將方法命名為Factory_CreateDefaultCalc 。我很喜歡將我測試中的任何幫助方法用特殊的前綴來命名,這樣我就能很輕易的掌握它是做什么用的。這樣對易讀性也是非常有幫助的。

我的第二個改變是重新使用測試中的聲明代碼,并將這段代碼遷移到一個確認方法之中。所謂確認方法是你測試中的一個可再度使用的方法, 這個方法包含了一個聲明語句但是它可以接受不同輸入和在輸入的基礎上進行校驗。當你在不同輸入或者不同的初始狀態下一次又一次的聲明同一事物時,你可以使用確認方法。這一方法的優點是既使在一個不同的方法里面聲明,如果這個聲明失敗了你將可以繼續保有一個異常處理,而且原始調用測試將會顯示在測試失敗輸出窗口之中。

  我也在Calc 中傳遞實例而不是使用一個局部變量,因此我知道我經常傳遞一個實例,而且這個實例是調用測試將其初始化的。當你想要改變對象狀態時你可能想要做同樣的事情,舉個例子來說,當在測試下或者在將會傳遞給測試的對象下配置特殊對象時,可以使用特殊的Configure_XX方法。這些方法應該能夠解釋他們配置一個對象將會用來做什么用。Figure 3之中的代碼就是以上方法的實例。

  這個測試擁有很多設置代碼可以用來處理向注冊管理器對象中添加初始狀態,它是這個測試類之中的成員。在此的確也有一些重復。Figure 4顯示了在初始代碼之外這些事例在因式分解之后將會如何變化。

更多軟考資料請訪問:考試吧軟件水平考試欄目

希望與更多網友交流,請進入考試吧軟件水平考試論壇

 

上一頁  1 2 3 4 5 6 7 下一頁
文章責編:yanruijie  
看了本文的網友還看了
·自動化測試陷入困境的幾個原因  (2007-1-25 15:29:58)
·傳統軟件測試過程中的問題  (2007-1-25 15:49:12)
·十條軟件缺陷現狀  (2007-1-25 15:46:30)
·什么是軟件測試用例預演 有何優點?  (2007-1-25 14:54:29)
·三個人的測試部如何開展多項目測試工作  (2007-1-25 14:54:34)
·成為測試主管第一步  (2007-1-25 14:54:44)
文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。
主站蜘蛛池模板: 日韩一区二区三区精品 | 老妇激情毛片免费 | 123456成年免费视频 | 中文字幕精品视频在线观 | 亚洲成a人在线观看 | 欧美色图一区 | 中文字幕在线视频免费 | 高清国语自产拍免费视频国产 | 日韩操操| 在线精品亚洲欧洲第一页 | 欧洲精品一区二区三区 | 重口变态xxxx | 动漫成年美女黄漫网站国产 | 欧美精品久久一区二区三区 | 国产日本在线视频 | 亚洲日韩欧美视频 | 干妞网在线观看 | 伊人久久五月天 | aaa黑人一级毛片 | 91aaa免费免费国产在线观看 | 91亚洲国产成人久久精品网站 | 亚洲成熟xxxx | 久久国产精品成人免费 | 国产在线视频www片 国产在线日韩在线 | 亚洲精品视频在线播放 | 日韩欧美视频一区二区三区 | 一本一道dvd在线观看免费视频 | 超97在线观看精品国产 | 激情图片五月天 | 日韩经典在线 | 日本一区中文字幕 | 黄免费看| 在线观看日韩www视频免费 | 黄色的视频免费 | 国产性片在线 | 在线观看91精品国产入口 | 成人午夜在线观看国产 | 国产欧美日韩精品第一区 | 日韩在线三级 | 男女午夜爽爽大片免费 | 黄色一级片录像 |