日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

什么是單元測(cè)試,單元測(cè)試用例

單元測(cè)試到底是什么?應(yīng)該怎么做?

什么是單元測(cè)試,單元測(cè)試用例


是什么?單元測(cè)試(模塊測(cè)試)是開(kāi)發(fā)者編寫(xiě)的一小段代碼,用于檢驗(yàn)被測(cè)代碼的一個(gè)很小的、很明確的功能是否正確 。首先要知道,我們寫(xiě)代碼有兩個(gè)目標(biāo):實(shí)現(xiàn)功能需求提高代碼質(zhì)量和可維護(hù)性所以代碼寫(xiě)完后并不是直接就可以交付,在規(guī)范的開(kāi)發(fā)流程中,必須要對(duì)代碼進(jìn)行測(cè)試 。而單元測(cè)試是第一步 。一般來(lái)說(shuō),每一個(gè)函數(shù)或方法都是一個(gè)小的功能單元,一般是以函數(shù)/方法為最小單位進(jìn)行測(cè)試,開(kāi)發(fā)者編寫(xiě)完代碼后,會(huì)有很多個(gè)這樣的功能單元,在面向?qū)ο笏枷胫校粋€(gè)類中可以有很多個(gè)方法,當(dāng)代碼寫(xiě)完后,其邏輯性、正確性、運(yùn)行結(jié)果、執(zhí)行效率等等都需要進(jìn)行測(cè)試才能知道編寫(xiě)的代碼是否符合要求 。
【什么是單元測(cè)試,單元測(cè)試用例】在面向過(guò)程中,需要對(duì)每個(gè)函數(shù)進(jìn)行測(cè)試 。在面向?qū)ο笾校话阋獙?duì)應(yīng)著被測(cè)試的類建立一個(gè)單元測(cè)試類,在測(cè)試類中編寫(xiě)測(cè)試方法對(duì)被測(cè)類的方法進(jìn)行測(cè)試 。單元測(cè)試是測(cè)試編寫(xiě)的代碼程序的正確性的,因此應(yīng)該要程序員自己來(lái)完成,因?yàn)槌绦騿T最懂自己寫(xiě)的代碼邏輯是怎么樣的,單元測(cè)試執(zhí)行通過(guò)后,才可以交付,交付時(shí)測(cè)試代碼要同功能代碼一并提交 。
怎么做?要編寫(xiě)測(cè)試文檔,為每個(gè)被測(cè)代碼函數(shù)/方法寫(xiě)好測(cè)試用例,根據(jù)測(cè)試用例來(lái)進(jìn)行測(cè)試,測(cè)試用例要覆蓋每一個(gè)條件分支,要保證輸入的數(shù)據(jù)的多樣性,每個(gè)循環(huán)、if的條件都要覆蓋,代碼塊內(nèi)部的每一行代碼都要確保能夠在特定輸入條件下能夠執(zhí)行 。針對(duì)被測(cè)試的單元(功能函數(shù)或者類方法),建立對(duì)應(yīng)的測(cè)試單元(函數(shù)或測(cè)試類)編寫(xiě)測(cè)試方法,要確保根據(jù)測(cè)試用例,調(diào)用被測(cè)函數(shù)/方法執(zhí)行,然后根據(jù)測(cè)試用例來(lái)判斷執(zhí)行結(jié)果是否符合預(yù)期 。
單元測(cè)試一般涉及的都是白盒測(cè)試,是以人能夠想到的可能的正確的結(jié)果或者錯(cuò)誤的結(jié)果進(jìn)行預(yù)期,在給定的輸入條件下,輸出都符合編寫(xiě)人對(duì)功能單元的預(yù)期(有錯(cuò)誤結(jié)果的預(yù)期,也有正確結(jié)果的預(yù)期),就表示測(cè)試通過(guò) 。測(cè)試過(guò)程中,可以有很多的方法可以引入進(jìn)來(lái),提高測(cè)試效率:利用合適的測(cè)試框架/套件;使用Mock框架,通過(guò)模擬對(duì)象,來(lái)減少被測(cè)試類所需的依賴;使用代碼覆蓋率測(cè)試工具,它能夠檢測(cè)測(cè)試用例的分支覆蓋情況,可以減少人為因素漏掉某個(gè)分支;編寫(xiě)完功能代碼后,立即編寫(xiě)單元測(cè)試,不要拖著后面去做;同時(shí)還有其他可以提高測(cè)試質(zhì)量/效率的幾個(gè)點(diǎn):盡可能將測(cè)試數(shù)據(jù)外部化,因?yàn)闇y(cè)試用例提供的輸入是固定性的,硬編碼到測(cè)試用例中,會(huì)造成一些限制,比如在更改測(cè)試輸入時(shí),需要重新修改測(cè)試代碼,帶來(lái)返工,將輸入輸出數(shù)據(jù)放在外部文件來(lái)存儲(chǔ),可以運(yùn)行測(cè)試時(shí)動(dòng)態(tài)改變測(cè)試用例 。
自動(dòng)化測(cè)試生成,很多大部分的功能測(cè)試用例的數(shù)據(jù)都是有跡可循的,有一些工具能夠自動(dòng)生成多種多樣的測(cè)試用例,省去了人工的麻煩,同時(shí),不光測(cè)試用例可以自動(dòng)生成,甚至測(cè)試代碼也可以自動(dòng)生成,自動(dòng)生成測(cè)試代碼,然后再交給DevOps進(jìn)行自動(dòng)化測(cè)試執(zhí)行(包括回歸測(cè)試) 。自動(dòng)化測(cè)試生成也是目前我在研究的方向 。對(duì)單元測(cè)試進(jìn)行評(píng)估分析,需要對(duì)測(cè)試代碼的質(zhì)量進(jìn)行監(jiān)督和把握,不光要保證功能代碼的質(zhì)量,也要保證測(cè)試代碼的質(zhì)量,有很多的評(píng)價(jià)的指標(biāo)數(shù)據(jù),其中代碼分支覆蓋率就是一個(gè)非常重要的評(píng)估指標(biāo) 。
java程序員如何編寫(xiě)更好的單元測(cè)試?
什么是單元測(cè)試,單元測(cè)試用例

推薦閱讀