所謂單元測(cè)試是測(cè)試應(yīng)用程序的功能是否能夠按需要正常運(yùn)行,并且確保是在開發(fā)人員的水平上,單元測(cè)試生成圖片。單元測(cè)試是一個(gè)對(duì)單一實(shí)體(類或方法)的測(cè)試。單元測(cè)試是每個(gè)軟件公司提高產(chǎn)品質(zhì)量、滿足客戶需求的重要環(huán)節(jié)。
單元測(cè)試可以由兩種方式完成
人工測(cè)試 | 自動(dòng)測(cè)試 |
---|---|
手動(dòng)執(zhí)行測(cè)試用例并不借助任何工具的測(cè)試被稱為人工測(cè)試。 - 消耗時(shí)間并單調(diào):由于測(cè)試用例是由人力資源執(zhí)行,所以非常緩慢并乏味。 - 人力資源上投資巨大:由于測(cè)試用例需要人工執(zhí)行,所以在人工測(cè)試上需要更多的試驗(yàn)員。 - 可信度較低:人工測(cè)試可信度較低是可能由于人工錯(cuò)誤導(dǎo)致測(cè)試運(yùn)行時(shí)不夠精確。 - 非程式化:編寫復(fù)雜并可以獲取隱藏的信息的測(cè)試的話,這樣的程序無法編寫。 | 借助工具支持并且利用自動(dòng)工具執(zhí)行用例被稱為自動(dòng)測(cè)試。- 快速自動(dòng)化運(yùn)行測(cè)試用例時(shí)明顯比人力資源快。 - 人力資源投資較少:測(cè)試用例由自動(dòng)工具執(zhí)行,所以在自動(dòng)測(cè)試中需要較少的試驗(yàn)員。 - 可信度更高:自動(dòng)化測(cè)試每次運(yùn)行時(shí)精確地執(zhí)行相同的操作。- 程式化:試驗(yàn)員可以編寫復(fù)雜的測(cè)試來顯示隱藏信息。 |
JUnit 是一個(gè) Java 編程語言的單元測(cè)試框架。JUnit 在測(cè)試驅(qū)動(dòng)的開發(fā)方面有很重要的發(fā)展,是起源于 JUnit 的一個(gè)統(tǒng)稱為 xUnit 的單元測(cè)試框架之一。
JUnit 促進(jìn)了“先測(cè)試后編碼”的理念,強(qiáng)調(diào)建立測(cè)試數(shù)據(jù)的一段代碼,可以先測(cè)試,然后再應(yīng)用。這個(gè)方法就好比“測(cè)試一點(diǎn),編碼一點(diǎn),測(cè)試一點(diǎn),編碼一點(diǎn)……”,增加了程序員的產(chǎn)量和程序的穩(wěn)定性,可以減少程序員的壓力和花費(fèi)在排錯(cuò)上的時(shí)間。
單元測(cè)試用例是一部分代碼,可以確保另一端代碼(方法)按預(yù)期工作。為了迅速達(dá)到預(yù)期的結(jié)果,就需要測(cè)試框架。JUnit 是 java 編程語言理想的單元測(cè)試框架。
一個(gè)正式的編寫好的單元測(cè)試用例的特點(diǎn)是:已知輸入和預(yù)期輸出,即在測(cè)試執(zhí)行前就已知。已知輸入需要測(cè)試的先決條件,預(yù)期輸出需要測(cè)試后置條件。
每一項(xiàng)需求至少需要兩個(gè)單元測(cè)試用例:一個(gè)正檢驗(yàn),一個(gè)負(fù)檢驗(yàn)。如果一個(gè)需求有子需求,每一個(gè)子需求必須至少有正檢驗(yàn)和負(fù)檢驗(yàn)兩個(gè)測(cè)試用例。