400-888-5228

課程介紹:

本課程有別與一般的C++單元測試,該課程著眼于復(fù)雜項(xiàng)目中的單元測試,直面企業(yè)單元測試的各種實(shí)際、核心難題,著重講授解決思路,同時介紹相關(guān)工具,以及利用單元測試改進(jìn)開發(fā)過程,包括TDD(測試驅(qū)動開發(fā))和ETDD(易行版TDD)。

課程內(nèi)容是基于講師多年的實(shí)戰(zhàn)經(jīng)驗(yàn)總結(jié)而成,相比其他C++單元測試,具有更鮮明的前瞻性、原創(chuàng)性,并且具有很強(qiáng)的可實(shí)踐性。

 

課程長度:

2天

課程對象:

開發(fā)工程師、項(xiàng)目經(jīng)理、開發(fā)總監(jiān);

測試工程師、測試經(jīng)理、QA、質(zhì)量經(jīng)理;

有興趣掌握單元測試技術(shù)的相關(guān)人士。

具有一定的C或C++編程基礎(chǔ)

 

課程大綱

1、理論基礎(chǔ)(2課時)

1.1、單元測試的基本概念。

1.2、代碼特性與單元測試。

1.3、單元測試方法:廣義單元測試與狹義單元測試方法,及其優(yōu)缺點(diǎn)。

1.4、動態(tài)測試的基本方法。

1.5、測試代碼:測試代碼的構(gòu)成與編寫。

1.6、練習(xí):純手工編寫測試代碼,測試簡單獨(dú)立的函數(shù)。

1.7、揚(yáng)其長避其短:單元測試的優(yōu)勢與不足。

1.8、單元測試標(biāo)的:該做什么與不該做什么。

1.9、單元測試的肥肉與骨頭。

2、理論進(jìn)階(2課時)

2.1、打樁技術(shù):打樁的意義、方法及減少打樁工作的思路。

2.2、白盒測試與黑盒測試:基本概念、常見誤區(qū)。

2.3、白盒覆蓋

2.3.1 、概念。

2.3.2 、MC/DC覆蓋。

2.3.3 、路徑覆蓋。

2.3.4 、白盒覆蓋的價值、局限性與應(yīng)用。

2.4、插裝技術(shù):統(tǒng)計(jì)覆蓋率、監(jiān)視數(shù)據(jù)的方法。

2.5、用例自動設(shè)計(jì)技術(shù):原理、方法、局限性與誤區(qū)、應(yīng)用。

3、測試用例(2課時)

3.1、測試用例的構(gòu)成。

3.2、幾種測試用例設(shè)計(jì)方法介紹簡介。

3.2.1 、邊界值法。

3.2.2 、基路徑法。

3.2.3 、等價類法。

3.3、實(shí)用用例設(shè)計(jì)方法:功能+覆蓋法。

3.3.1 、功能:從開發(fā)角度記錄功能點(diǎn)形成用例。

3.3.2 、覆蓋:利用白盒覆蓋找出遺漏用例。

3.4、程序員測試的不足與彌補(bǔ)。

4、測試難點(diǎn)與解決思路(2課時)

4.1、測試實(shí)際項(xiàng)目與測試簡單獨(dú)立函數(shù)的差別。

4.2、獨(dú)立運(yùn)行:隔離測試任務(wù)。

4.3、覆蓋輸入。

4.4、內(nèi)部輸入原理。

4.5、內(nèi)部輸入的六種情形。

4.6、編寫樁代碼解決內(nèi)部輸入。

4.7、底層模擬解決內(nèi)部輸入。

4.8、如何保證測試效果:常見誤區(qū)、可行的方法。

4.9、測試效率:效率決定成敗,提升效率的思路與方法。

5、工具一:CppUnit(2課時)

5.1、安裝、編譯、建立測試工程、編寫測試代碼。

5.2、練習(xí):使用CppUnit測試簡單獨(dú)立函數(shù)。

5.3、CppUnit進(jìn)階:改進(jìn)CppUnit,減少工作量,及解決打樁造成的失真。

6、工具二:C++TEST(2課時)

6.1、C++TEST介紹。

6.2、C++TEST的基本使用。

7、工具三:Visual Unit(2課時)

7.1、Visual Unit 介紹。

7.2、Visual Unit的基本使用。

8、改進(jìn)開發(fā)過程(2課時)

8.1、TDD(測試驅(qū)動開發(fā))。

8.1.1 、TDD概念與優(yōu)勢。

8.1.2 、TDD過程。

8.1.3 、TDD原則。

8.1.4 、TDD的不足。

8.2、ETDD(Easy TDD,易行版TDD)。

8.2.1 、ETDD概述。

8.2.2 、ETDD過程。

8.2.3 、練習(xí):使用ETDD開發(fā)。