1、幾個相關的概念
白盒測試——把測試對象看作一個打開的盒子,程序內部的邏輯結構和其他信息對測試人員是公開的。
迴歸測試——軟件或環境的修復或更正後的“再測試”,自動測試工具對這類測試尤其有用。
單元測試——是最小粒度的測試,以測試某個功能或代碼塊。一般由程序員來做,因爲它需要知道內部程序設 計和編碼的細節。
JUnit ——是一個開發源代碼的Java測試框架,用於編寫和運行可重複的測試。他是用於單元測試框架體系xUnit的一個實例(用於java語言)。主要用於白盒測試,迴歸測試。
2、單元測試概述
2.1、單元測試的好處
A、提高開發速度——測試是以自動化方式執行的,提升了測試代碼的執行效率。
B、提高軟件代碼質量——它使用小版本發佈至集成,便於實現人員除錯。同時引入重構概念,讓代碼更乾淨和富有彈性。
C、提升系統的可信賴度——它是迴歸測試的一種。支持修復或更正後的“再測試”,可確保代碼的正確性。
2.2、單元測試的針對對象
A、面向過程的軟件開發針對過程。
B、面向對象的軟件開發針對對象。
C、可以做類測試,功能測試,接口測試(最常用於測試類中的方法)。
2.3、單元測試工具和框架
目前的最流行的單元測試工具是xUnit系列框架,常用的根據語言不同分爲JUnit(java),CppUnit(C++),DUnit (Delphi ),NUnit(.net),PhpUnit(Php )等等。該測試框架的第一個和最傑出的應用就是由Erich Gamma (《設計模式》的作者)和Kent Beck(XP(Extreme Programming)的創始人 )提供的開放源代碼的JUnit。
3.Junit入門簡介
3.1、JUnit的好處和JUnit單元測試編寫原則
好處:
A、可以使測試代碼與產品代碼分開。
B、針對某一個類的測試代碼通過較少的改動便可以應用於另一個類的測試。
C、易於集成到測試人員的構建過程中,JUnit和Ant的結合可以實施增量開發。
D、JUnit是公開源代碼的,可以進行二次開發。
C、可以方便地對JUnit進行擴展。
編寫原則:
A、是簡化測試的編寫,這種簡化包括測試框架的學習和實際測試單元的編寫。
B、是使測試單元保持持久性。
C、是可以利用既有的測試來編寫相關的測試。
3.2、JUnit的特徵
A、使用斷言方法判斷期望值和實際值差異,返回Boolean值。
B、測試驅動設備使用共同的初始化變量或者實例。
C、測試包結構便於組織和集成運行。
D、支持圖型交互模式和文本交互模式。
3.3、JUnit框架組成
A、對測試目標進行測試的方法與過程集合,可稱爲測試用例(TestCase)。
B、測試用例的集合,可容納多個測試用例(TestCase),將其稱作測試包(TestSuite)。
C、測試結果的描述與記錄。(TestResult) 。
D、測試過程中的事件監聽者(TestListener)。
E、每一個測試方法所發生的與預期不一致狀況的描述,稱其測試失敗元素(TestFailure)
F、JUnit Framework中的出錯異常(AssertionFailedError)。
JUnit框架是一個典型的Composite模式:TestSuite可以容納任何派生自Test的對象;當調用TestSuite對象的run()方法是,會遍歷自己容納的對象,逐個調用它們的run()方法。