《Unit Testing》1.4. 成功的测试套件拥有哪些属性?
什么造就了成功的測(cè)試套件
如果測(cè)量測(cè)試套件的質(zhì)量?
唯一可行的辦法就是對(duì)測(cè)試套件里每一個(gè)測(cè)試進(jìn)行單獨(dú)的評(píng)估。
你不需要一次性把它們都評(píng)估完。
你可以逐步的進(jìn)行評(píng)估
?
成功的測(cè)試套件擁有以下屬性:
集成到開(kāi)發(fā)周期中
只針對(duì)代碼庫(kù)中最重要的部分
它以最低的成本提供最大的價(jià)值
集成到開(kāi)發(fā)周期中
擁有自動(dòng)化測(cè)試的唯一重點(diǎn)就是你要經(jīng)常使用它們。
所有的測(cè)試都應(yīng)該集成到開(kāi)發(fā)周期中。
最理想的情況是,每當(dāng)有代碼變化,都應(yīng)該執(zhí)行這些測(cè)試,哪怕是最微小的代碼變化。
?
只針對(duì)代碼庫(kù)中最重要的部分
將單元測(cè)試的重點(diǎn)放在系統(tǒng)中最關(guān)鍵的部分,針對(duì)其余部分僅進(jìn)行簡(jiǎn)單或間接的測(cè)試即可,這一點(diǎn)很重要。
在大多數(shù)應(yīng)用程序中,最重要的部分是包含業(yè)務(wù)邏輯部分的領(lǐng)域模型(Domain ? ? Model)。
測(cè)試業(yè)務(wù)邏輯會(huì)為您的時(shí)間投資提供最佳回報(bào)。
?
所謂的其余部分可以分為以下三類:
基礎(chǔ)設(shè)施代碼
外部服務(wù)和依賴,例如數(shù)據(jù)庫(kù)和第三方系統(tǒng)
粘合一切的代碼
?
為此,您應(yīng)該將域模型與代碼庫(kù)的非必要部分隔離開(kāi)來(lái)。您必須將域模型與所有其他應(yīng)用程序關(guān)注點(diǎn)分開(kāi),以便您可以將單元測(cè)試工作的重點(diǎn)放在該域模型上。
?
以最低的成本提供最大的價(jià)值
將測(cè)試合并到構(gòu)建系統(tǒng)中是不夠的,保持域模型的高測(cè)試覆蓋率也是不夠的。同樣重要的是,只在測(cè)試套件中保留價(jià)值超過(guò)其維護(hù)成本的測(cè)試。最后一個(gè)屬性可以分為兩點(diǎn):
識(shí)別一個(gè)有價(jià)值的測(cè)試(擴(kuò)展一下,包括如何識(shí)別低價(jià)值的測(cè)試)
編寫(xiě)一個(gè)有價(jià)值的測(cè)試。
總結(jié)
以上是生活随笔為你收集整理的《Unit Testing》1.4. 成功的测试套件拥有哪些属性?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Kubernetes:通过自动化节省IT
- 下一篇: [Mvp.Blazor] 集成Ids4,