如何高效進行白盒單測

以前爲寫了寫單元測試的基礎原理和簡單的環境調試,此次就簡述一下在進行單元測試是須要注意的東西和基礎框架。架構

首先,要作好單測,首先要捋清楚開發的代碼結構,爲成功搭建單測環境奠基基礎。對於一個比較複雜的代碼工程,首先要找到程序初始化的入口,明確初始化須要的成員變量和初始化的步驟邏輯,而後找到程序的主要接口,明確各個接口的做用,若是有明確提測接口,就按提測接口一層層剖析下去。 app

還需注意程序的公用類,在測試準備階段,大體瞭解公用接口的做用,方便測試過程當中調用,也利於提升代碼複用性。框架

那怎麼提升單元測試的效率呢?單元測試

  1. 注意測試工程的總體架構設計,把初始化操做提取出來做爲公用步驟—減小代碼冗餘,便於統一修改測試

  2. 每一個case要注意保持隔離,不要互相依賴,好比在調用順序,外部數據操做上。每一個case結束要注意恢復測試環境,尤爲是對測試數據的影響。架構設計

  3. 每一個case檢查點要清晰,深刻,不建議一個case測試多個點。設計

  4. 初始化測試指望時,應該儘可能與指望狀態相反調試

  5. case中的檢查階段,要及時輸出。若是檢查點處於多重嵌套,建議在代碼中輸出出錯位置—方便及時處理異常。接口

接下來,寫單元測試,通常都會用到一個或多個單元測試框架,JUnit4,今天就簡單說說這個。ip

先須要思考的是單元測試框架可以爲咱們作什麼呢?一個測試框架爲咱們作的最基本的事情,就是容許咱們按照某種更簡單的方式寫測試代碼,把每個測試單元寫在一個測試方法裏面,而後它會自動找出全部的測試方法,而且根據你的須要,運行全部的測試方法,或者是運行單個測試方法,或者是運行部分測試方法等等。

舉個例:
public class CalculatorTest {
@Test
public void testAdd() throws Exception {
Calculator calculator = new Calculator();
int sum = calculator.add(1, 2);
Assert.assertEquals(3, sum);
}
@Test
public void testMultiply() throws Exception {
Calculator calculator = new Calculator();
int product = calculator.multiply(2, 4);
Assert.assertEquals(8, product);
}
}

很容易看出JUnit4這個測試方法是測試了被測的類的那個方法,或者是測試了那個功能點等等。固然除了幫咱們找出全部的測試方法,而且方便運行意外,單元測試框架還能幫咱們作其餘事情。

相對於白盒單側的應用方面,我應用的較多的是移動應用上,就是app測試,目前都是基礎的了,但願對新手有些幫助。

相關文章
相關標籤/搜索