1. 程式人生 > >十分鐘瞭解單元測試

十分鐘瞭解單元測試

 一、單元測試

1、什麼是單元測試?

單元測試(unit testing),是指對軟體中的最小可測試單元進行檢查和驗證。

單元測試是在軟體開發過程中要進行的最低級別的測試活動,軟體的獨立單元將在與程式的其他部分相隔離的情況下進行測試。

2、單元測試的分類有哪些?

軟體測試可以按測試範圍、測試目的、測試物件、測試過程分類

按測試範圍分類 按測試目的分類 按測試物件分類 按測試過程分類 其他測試技術
單元測試unit testing
元件測試component testing
整合測試integration testing,string testing
系統測試system testing
驗收測試acceptance testing,beta testing
安裝測試installation testing
A、正確性測試correctness testing
白盒測試white-box
黑盒測試black-box
B、效能測試performance testing
C、可靠性測試reliability testing
強壯性測試robustness,strong testing
異常處理測試exception handing testing
負載測試stress,load testing
D、安全性測試security testing
單元測試unit testing
元件測試component testing
模組測試module testing
程式測試program testing
系統測試system testing
文件測試documentation testing
需求階段的測試requirements phase testing
設計階段的測試design phase testing
程式階段的測試program phase testing
測試結果的評估evaluating test results
安裝測試installation phase testing
驗收測試acceptance testing
測試變化:維護testing changes:maintenance
迴歸測試regression testing
壓力測試stress testing
恢復測試recovery testing
安全測試security testing
相容性測試compatibility testing

3、單元測試的作用是什麼?

單元測試(Unit Testing),是指對軟體或專案中最小可測試單元進行正確性檢驗的測試工作。單元是人為規定最小可測試的功能模組,可以是一個模組,一個函式或者一個類。單元測試需要與模組開發進行隔離情況下進行測試。

測試通常是開發人員比較厭煩的一個活動,不清楚它的意義所在,也會有人覺得它會浪費時間。有很多開發人員不知道如何編寫單元測試,也會由於專案中沒有要求的原因,所以對此就不Care,也會常常認為開發人員的主要工作是開發,測試是測試人員的事情。這是一種普遍現象。

4、常見的單元測試框架有哪些?

除了我們常見的JUnit,還有Arquillian、JTEST、The Grinder、TestNG、JWalk、Mockito、Powermock,在這裡就不一一介紹了,

大家可以去https://www.sohu.com/a/145107423_731023看一下

5、簡述JUnit與TestNG區別

在junit3的時候,testng和junit還是有點差別的,比如它不支援註解,它不支援套件suite,它 不能依賴測試,它只適合支援單元測試,但是隨著時間的推移,這些東西慢慢被完善,差別也不是那麼明顯了,連語法都是那麼驚人相似。所以你學習junit4就行了

6、什麼是TDD?他有那些優缺點?

TDD是測試驅動開發(Test-Driven Development)的英文簡稱,是敏捷開發中的一項核心實踐和技術,也是一種設計方法論。TDD的原理是在開發功能程式碼之前,先編寫單元測試用例程式碼,測試程式碼確定需要編寫什麼產品程式碼。TDD雖是敏捷方法的核心實踐,但不只適用於XP(Extreme Programming),同樣可以適用於其他開發方法和過程。

 

優點:在任意一個開發 節點都可以拿出一個可以使用,含少量bug並具一定功能和能夠釋出的產品。 缺點:增加程式碼量。測試程式碼是系統程式碼的兩倍或更多,但是同時節省了除錯程式及挑錯時間。