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