版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+Test 介紹修訂歷史記錄日期版本說明作者C+Test 6.0C+Test 原理 , 使用介紹,RuleWizard 定制規(guī)則目錄第一章C+Test 特性 2第二章C+Test 使用 4一安裝說明 . 41 Windows 下安裝 42申請(qǐng) License 4二啟動(dòng) C+Test . 61從 VC+ 里啟動(dòng)C+Test 62傳統(tǒng)啟動(dòng) C+Test . 7三 Linux 下安裝及啟動(dòng) 8四 C+Test 快速測(cè)試 . 91打開被測(cè)文件 92靜態(tài)測(cè)試 113動(dòng)態(tài)測(cè)試 134生成報(bào)表 15第三章C+Test 高級(jí)功能 . 18一導(dǎo)入 VC+ 工程 (Import VC+ project) 18二
2、選擇編譯器 (project configuration) 19三設(shè)置測(cè)試配置 (test configuration ) . 20四編碼規(guī)則測(cè)試結(jié)果分析 . 25五測(cè)試用例分析 . 27六 Data Source 32七樁函數(shù)設(shè)置 . 39八導(dǎo)入導(dǎo)出測(cè)試用例 . 42九 Test Objects . 44十覆蓋率分析 . 47十一回歸測(cè)試 . 51十二其他設(shè)置 . 541設(shè)置 TCM . 542設(shè)置 GRS . 553設(shè)置源代碼編輯器和 HTML 瀏覽器 56第四章 RuleWizard 定制規(guī)則 58一啟動(dòng) RuleWizard 58二打開一個(gè)現(xiàn)有的規(guī)則 . 59三設(shè)計(jì)一個(gè)新規(guī)則 . 61
3、四 C+Test 中導(dǎo)入自定義規(guī)則 . 70第一章 C+Test 特性C+Test 是一個(gè) C/C+單元測(cè)試工具,自動(dòng)測(cè)試任何 C/C+類、函數(shù)或部件,而不需要 您編寫一個(gè)測(cè)試用例、 測(cè)試驅(qū)動(dòng)程序或樁調(diào)用。 C+Test 能夠自動(dòng)測(cè)試代碼構(gòu)造 (白盒測(cè)試) 、 測(cè)試代碼的功能性(黑盒測(cè)試)和維護(hù)代碼的完整性(回歸測(cè)試)。 C+Test 是一個(gè)易于使用的產(chǎn)品, 能夠適應(yīng)任何開發(fā)生命周期。 通過將 C+Test 集成到開發(fā)過程中, 您能夠有效地 防止軟件錯(cuò)誤,提高代碼的穩(wěn)定性,并自動(dòng)化單元測(cè)試技術(shù)(這是極端編程過程的基礎(chǔ)) 。特性即時(shí)測(cè)試類 / 函數(shù)支持極端編程模式下的代碼測(cè)試自動(dòng)建立類 / 函數(shù)
4、的測(cè)試驅(qū)動(dòng)程序和樁調(diào)用 自動(dòng)建立和執(zhí)行類 / 函數(shù)的測(cè)試用例 提供快速加入和執(zhí)行說明和功能性測(cè)試的框架 執(zhí)行自動(dòng)回歸測(cè)試執(zhí)行部件測(cè)試( COM)優(yōu)點(diǎn)幫助您立即驗(yàn)證類功能性和構(gòu)造 將您從編寫測(cè)試驅(qū)動(dòng)程序、樁和測(cè)試用例的繁重工作中解放出來 自動(dòng)化極端編程和其它編程模式的單元測(cè)試過程 使得您能夠?qū)崿F(xiàn)和執(zhí)行 100%的代碼覆蓋性 支持緊急和短線開發(fā)項(xiàng)目降低調(diào)試和維護(hù)時(shí)間改善應(yīng)用的可靠性防止簡(jiǎn)單錯(cuò)誤的擴(kuò)大系統(tǒng)要求最小系統(tǒng)要求:Pentium class processor 800MHz512 MB RAM (1024MB is recommended)150 MB free disk space for
5、 C+Test installation其他要求:保留足夠的磁盤空間供測(cè)試使用。支持平臺(tái)Windows? Supported Platforms:Windows NT, 2000, XP? Supported Compilers:Microsoft? Visual C+? 6.0, .NET?, or .NET 2003?, GNU GCC 2.95x or 3.x.Cygwin GCC 2.95.x, 3.2.x, 3.3.xMingw GCC 2.95.x, 3.2.x, 3.3.xUNIX? Supported Platforms:Linux kernel 2.4 (with Syste
6、m V IPC), glibc 2.2, Pentium processorSolaris 7, 8, 9, UltraSPARC processor? Supported Compilers:GNU GCC 3.2.x , GNU GCC 3.3.x,GNU GCC 3.4.xSun? C+ 5.3? (Sun Forte C+ 6 Update 2 for SPARC Solaris), Sun? C+ 5.5?(Sun ONE Studio 8)第二章 C+Test 使用一安裝說明1 Windows 下安裝打開安裝源程序,同普通的 windows 應(yīng)用程序一樣,選擇安裝路徑,完成安 裝。
7、2申請(qǐng) License1申請(qǐng) License從桌面或者菜單打開 C+Test,將彈出類似于下面的一個(gè)要求輸入密碼的窗 口:按“是(Y) ” 進(jìn)入。這里的 machine ID 就是 C+Test和主機(jī)綁定的信息。 或在進(jìn)入 C+Test主界面后,在菜單 Help - License 可以同樣打開下面 的界面。這個(gè) machine ID 需交給 Parasoft 代理商,來申請(qǐng) license 。而由于 license 的種類不同,可以分為 local license (單機(jī)版)和 net license (網(wǎng)絡(luò)版)。 2輸入 License將相應(yīng)的 license 和 expire date
8、粘貼到相應(yīng)的位置,如果信息正確,系統(tǒng) 將提示 license ok。如果信息不正確,系統(tǒng)將提示 wrong license 。輸入正確的 license ,打開 C+Test,就可以進(jìn)入 C+Test 的用戶界面了。二啟動(dòng) C+Test1從 VC+里啟動(dòng) C+Test安裝 VC+后,再安裝 C+Test ,VC+工具條里會(huì)自動(dòng)地增加使用 C+Test 的按扭。 可以 啟動(dòng) C+Test 界面,或進(jìn)行 C+Test 靜態(tài)和動(dòng)態(tài)測(cè)試。2傳統(tǒng)啟動(dòng) C+Test開始 - 程序 - C+Test ,可以啟動(dòng) C+Test 。Linux 下安裝及啟動(dòng)1 建議安裝 linux red hat 9.0及以上版
9、本,建議安裝開發(fā)工作站,同時(shí)需要圖形界面支持2 在圖形界面下建立組 gtest( 或其他 )3 在 圖 形 界 面 下 建 立 用 戶 utest( 或 其 他 ), 并 且 屬 于 組 gtest 。 utest 主 目 錄 是 /home/utest 。用 bash。4 在 /home/utest/ 下建立目錄 cpptest ,并且拷貝 cpptest_linux_.sh 到 cpptest 目錄下5 在圖形界面下用 utest 用戶登錄6 在 Terminal tool 中進(jìn)入 /home/utest/cpptest 目錄7 執(zhí)行安裝 cpptest_linux_6.0.
10、1.4.sh(或 ./ cpptest_linux_.sh )。安裝程序是腳本安裝程序,沒有圖形安裝界面。 C+Test 將安裝在 /home/utest/cpptest 目錄下8 進(jìn) 入 /home/utest 目 錄 下 。 在 .bash_profile文 件 中 給 環(huán) 境 變 量 PATH 行 后 面 增加 :/home/utest/cpptest/bin 。然后保存9 用戶 utest 重新在圖形界面下登錄10在 Terminal tool 中 輸 入 c+test( 或 在 圖 形 界 面 下 執(zhí) 行/home/utest/cpptest/bin/c+test 程序
11、 ) ??梢詥?dòng) c+test四 C+Test 快速測(cè)試1打開被測(cè)文件(1)打開 C+Test, 選擇 file/open file ,選 擇 C+Test 安 裝目 錄下examples/cpptest_demo.cpp ,這個(gè) cpp 文件將出現(xiàn)在當(dāng)前的 project 下。(2) 在當(dāng)前 project 下,右擊 cpptest_demo.cpp ,選擇 read symbols (讀入 符號(hào)表),此時(shí) C+Test 將 parse( 剖析) 這個(gè)源程序,分析出此文件的文件 結(jié)構(gòu)。在源代碼窗口可以看到我們所測(cè)試的代碼,界面非常友好,當(dāng)選擇代碼時(shí), 被選擇的代碼也會(huì)以藍(lán)色塊的形式出現(xiàn)。 并
12、且,當(dāng)我們進(jìn)行了靜態(tài)分析和動(dòng)態(tài)分 析時(shí),這里我們也可以非常直觀的觀測(cè)到靜態(tài)分析和動(dòng)態(tài)分析的結(jié)果。 代碼左側(cè) 的紅色精靈帽表示靜態(tài)分析時(shí)出現(xiàn)問題的所在, 黃色小齒輪則表示動(dòng)態(tài)分析時(shí)出 現(xiàn)問題的所在。點(diǎn)擊相應(yīng)的地方,會(huì)出現(xiàn)對(duì)問題的一個(gè)簡(jiǎn)單描述。2靜態(tài)測(cè)試在向右三角型旁邊的下拉箭頭,選擇內(nèi)置的編碼規(guī)則項(xiàng)目。C+Test 將自動(dòng)完成對(duì)源代碼的靜態(tài)測(cè)試,也就是我們所說的代碼走查 ,走 查所用到的規(guī)范可以在靜態(tài)測(cè)試標(biāo)簽的 rule manage 下看到。在靜態(tài)分析欄中的 Results 標(biāo)簽是對(duì)靜態(tài)分析結(jié)果的一個(gè)羅列。 每個(gè)紅色精 靈帽都代表一種違規(guī)行為, 而它旁邊的數(shù)字則代表測(cè)試代碼中出現(xiàn)這種違規(guī)的次
13、數(shù)。緊接著的字母表明違規(guī)行為的嚴(yán)重級(jí)別。 再后面就是對(duì)這條規(guī)范的大致描述 以及規(guī)則編號(hào)。而標(biāo)簽 Rules Manager 則是對(duì)這些規(guī)則的管理,當(dāng)用戶需要使用某條規(guī)則的 時(shí)候,只需要在相應(yīng)規(guī)則左側(cè)的方框內(nèi)打上勾就表明選擇了該條規(guī)則。 而當(dāng)用戶 不需要某條規(guī)則檢查的時(shí)候,只需要去掉相應(yīng)規(guī)則的勾就可以了。下圖,右側(cè)就是靜態(tài)測(cè)試(代碼走查)的結(jié)果。每條違規(guī)信息包括對(duì)違規(guī)的 描述,該錯(cuò)誤共發(fā)生的次數(shù)以及相對(duì)應(yīng)的具體位置。而下面的 rule desription 則是對(duì)這條規(guī)則的一個(gè)比較詳細(xì)的描述。頂層的文件夾后面的“ I=4 PV=1 V=33”描述的是整個(gè)的對(duì)違規(guī)信息的統(tǒng)計(jì)。I 表示 inform
14、ation, 通知行為PV表示 possible violation,可能的違規(guī)行為V 表示 violation ,違規(guī)行為PSV表示 possible servere violation,可能的嚴(yán)重違規(guī)行為SV表示 servere violation,嚴(yán)重違規(guī)行為。3動(dòng)態(tài)測(cè)試在向右三角型旁邊的下拉箭頭,選擇內(nèi)置的白盒測(cè)試。C+Test 將自動(dòng)完成代碼的動(dòng)態(tài)測(cè)試。可以從各個(gè)層面上(單個(gè)測(cè)試用例, 整個(gè)函數(shù)的測(cè)試用例, 整個(gè)代碼的測(cè)試用例) 去看相對(duì)應(yīng)代碼的覆蓋率。 操作的 時(shí)候,只需要右擊相應(yīng)的層次(例如一個(gè)測(cè)試用例) ,選擇 show coverage ,就 可以看到對(duì)應(yīng)的覆蓋率了。在動(dòng) 態(tài)
15、測(cè)試中的 Test Case/Results 欄中,主要是對(duì)測(cè)試用例的一個(gè)總體管 理。在這里,所有的測(cè)試用例的狀態(tài)都一目了然, 綠色表示成功, 紅色表示失敗。 用戶可以自己添加或修改測(cè)試用例。而 Stub Tables 欄則是對(duì)樁函數(shù)的管理, Suppressions 則是對(duì)測(cè)試對(duì)象的 一個(gè)管理。例如,上面的 Data 類有很多個(gè)成員函數(shù),當(dāng)用戶并不想全部都測(cè), 而只是測(cè)其中的幾個(gè)。這個(gè)時(shí)候就可以通過 Suppressions 進(jìn)行選擇。除此之外,上面的 Tree filter 還提供強(qiáng)大的濾波器功能,可以讓用戶更好 的關(guān)注他們的焦點(diǎn),例如只看最近一次測(cè)試的失敗用例。下圖,右側(cè)就是對(duì)動(dòng)態(tài)測(cè)試的
16、一個(gè)整體描繪。列舉了所有的測(cè)試用例,并且 用顏色來區(qū)分成功和失敗的測(cè)試用例, 綠色代表成功通過了的測(cè)試用例, 而紅色 代表沒有通過也就是失敗了的測(cè)試用例, 對(duì)于每個(gè)錯(cuò)誤的測(cè)試用例都有一個(gè)大致 的描述。每個(gè)測(cè)試用例或者各個(gè)節(jié)點(diǎn)上都做到了相應(yīng)的覆蓋率信息, 包括了 LC(語句 覆蓋),BBC(塊覆蓋),PC(路徑覆蓋 ) ,DC(決策覆蓋),MCDC多( 條件決策覆蓋 ) 以及 CC(條件覆蓋 ) 。此外,上面的 tree filter 過濾器功能可以幫助用戶迅速察看到自己關(guān)心的 焦點(diǎn)或錯(cuò)誤。4生成報(bào)表選擇 file/generate report ,根據(jù)對(duì)報(bào)表的需求,選擇適當(dāng)?shù)膱?bào)表內(nèi)容種類 (例
17、如 dynamic analysis1,coverage statistic1)。生成一個(gè) HTML格式的報(bào)表文忡(E)a:unents nd Settno5WhinetrrtoC*+Te5tHwHTrRpc內(nèi)農(nóng)孕726個(gè)巳攔欽目逢頂“C:rX5 riAFxaot*C*Ttx7vcC799_d*.pp M(1) V: Thor。shll Z no whito space btwn n unary operator and its operand (fornat15, SpacesAfterUnaryOperator rule)Space* b mk unasy *fkac*les ckw4C
18、Fcjzn Til PxxatrC*Trr xarl cypc vv_dca .cpp S?3pccv bw5 6 untyf4 * ctarviC P4 rilP“CT“i(axavxlev cicwlSpC XFcjcan rlc. pzcdlr.f oxa pc 1mz7 tvsxC Frrz5 nix”t*CTctAcK New Project 出現(xiàn)下面的界面1 選擇 Import VC+ 6.0 project2 輸入測(cè)試工程文件名稱 (project name)3 選擇 VC+ 6.0 工程文件 .dsp(VC+ 6.0 project files)二選擇編譯器 (project
19、configuration)如果你同時(shí)安裝了 VC+6.0 和 VC+.Net 的話。你必須選擇你需要的編譯器。否則 C+Test6.0 會(huì)使用默認(rèn)的編譯器。菜單 Project - Project Configurations選擇 VC+6.0 為當(dāng)前測(cè)試工程的編譯器(下面界面默認(rèn)的 C+Test 使用編譯器是 VC+.Net2003)三設(shè)置測(cè)試配置 (test configuration )C+Test 6.0 可以選擇不同的測(cè)試配置選項(xiàng)對(duì)一個(gè)工程、文件進(jìn)行測(cè)試。測(cè)試配置:是 一系列編碼規(guī)則、 單元測(cè)試用例生成規(guī)則的組合, 決定要測(cè)試什么編碼規(guī)則, 如何生成測(cè)試 用例。菜單 Tests -
20、 Test Configurations 打開測(cè)試配置界面。1 新建一個(gè)測(cè)試配置:選擇 project - 鼠標(biāo)右鍵 New ConfigurationMo 匚 s一SA_eu This:測(cè)試前對(duì)象構(gòu)造值,特別是構(gòu)造對(duì)象時(shí)給成員變量設(shè)定的的值Pre-Conditions Externals:測(cè)試前全局變量值Post-Conditions This:測(cè)試后對(duì)象構(gòu)造值,特別是構(gòu)造對(duì)象時(shí)給成員變量設(shè)定的的值Post-Conditions Externals:測(cè)試后全局變量值Execution Result :預(yù)期的測(cè)試結(jié)果。是正常返回、 Assert 失敗,還是各種異常返回A) 首先讓我們先看看源代
21、碼/complex.cppand/ This example illustrates how C+Test works with overloaded operators constructors class Complex public:Complex(float re = 0, float im = 0) : _re(re), _im(im) Complex operator+(const Complex&);Complex operator-(const Complex&); private:float _re;float _im;Complex Complex:operator+(co
22、nst Complex& c)return Complex(this-_re + c._re, this-_im + c._im); Complex Complex:operator-(const Complex& c)return Complex(this-_re - c._re, this-_im - c._im); Complex testComplexOperators(Complex& a, Complex& b) Complex zero;Complex neg_a = zero - a;Complex neg_a_sum_b = neg_a - b;return a + b +
23、neg_a_sum_b;/this function should always return complex zero value B)我們的測(cè)試用例是針對(duì)函數(shù) Complex Complex:operator+(const Complex& c)Arguments : 表示函數(shù)參數(shù)是一個(gè) Complex& c ,這個(gè)參數(shù)對(duì)象 c 構(gòu)造的時(shí)候給 c 成員變量 float _re = 1.0; float _im = -1.0Arguments Post: 表示函數(shù)測(cè)試后。這個(gè)參數(shù)對(duì)象 c 在測(cè)試后 c 成員變量 float _re = 1 ; float _im = -1Return : 表
24、示返回對(duì)象 Complex,它的值應(yīng)當(dāng) 成員變量 float _re = 自身的成員變量 _re + 輸入對(duì)象 c 的成員變量 _re (1); float _im =自身的成員變量 _im + 輸入對(duì)象 c 的成員變量 _im( 0);注意:這里的返回值是錯(cuò)誤的,正確的是_re =3 ; _im = -3 才對(duì)。此測(cè)試用例測(cè)試結(jié)果應(yīng)當(dāng)是錯(cuò)誤的(變紅) 。Pre-Conditions : 表示進(jìn)行單元測(cè)試的時(shí)候,類成員變量的值float _re = 2; float _im =-2Post-ConditionsExecution Result表示在測(cè)試后。類成員變量的值 float _re =
25、 2 ; float _im = -2 表示測(cè)試結(jié)束是 Normal Return 。正常結(jié)束,而不是異常結(jié)束C)上面測(cè)試用例測(cè)試后的結(jié)果是失敗的預(yù)期的結(jié)果是( _re=1,_im=0 )。實(shí)際的結(jié)果是_re=3,_im=-3 )5調(diào)試測(cè)試用例選擇某個(gè)測(cè)試用例- 鼠標(biāo)右鍵 - Debug Selected Test Case(s) -打開 VC+.Net2003( 默認(rèn)編譯器 ) 調(diào)試界面。注意:對(duì) VC+6.0 好象無法進(jìn)行調(diào)試。六 Data Source如果一個(gè)函數(shù)有一系列相似的輸入, 比如協(xié)議類函數(shù)。 這個(gè)時(shí)候可以把這一系列相似的 輸入保存成一個(gè) excel 文件, CSV文件或數(shù)據(jù)庫的
26、表。我們稱之為Data Source 。這樣當(dāng)C+Test 進(jìn)行單元測(cè)試的時(shí)候,可以根據(jù) Data Source 的內(nèi)容生成一系列的測(cè)試用例。1打開 C+Test 安裝目錄 ExamplesDataSourcedsexample.cpp2菜單 project - 按“ Add”按扭增加project configurations - 打開工程配置界面。 選擇 Data Sources 。 Data Source 文件。3輸入 Data Source 名稱4選擇 Data Source 類型為 CSV Data Source4選擇 C+Test 安裝目錄 ExamplesDataSource d
27、ata.csv 文件。 /data.csv 的內(nèi)容LOWER;UPPER;TESTED;ANSWER3;8;5;TRUE3;8;1;FALSE4;9;10;FALSE2;3;3;FALSE2;3;2;FALSE-1;1;0;TRUE.csv 文件分割符號(hào)選擇或 ; 。5選擇 data.csv 文件的分割符號(hào)。要根據(jù)實(shí)際的6按按扭“ Show Columns ”顯示 Data Souce 文件 的列名稱。類似 excel 表格中的列頭名稱。7根據(jù)設(shè)置的 Data Source 生成測(cè)試用例。選擇 Unit Testing - 選擇函數(shù) isBetween -Add”,增加測(cè)試用例8選擇剛才設(shè)置好
28、的 Data Source 配置 csv1 。要在 Use Data Souce前面打。 然后按“ ShowColumns”9在輸入、輸出參數(shù)和返回值中選擇對(duì)應(yīng)的列。10測(cè)試用例按 Data Source 文件自動(dòng)生成。不同于一般情況下生成的測(cè)試用例七樁函數(shù)設(shè)置對(duì)于單元測(cè)試,如果一個(gè)函數(shù) A 調(diào)用了其他函數(shù) B(樁函數(shù)),而函數(shù) B由于還沒有實(shí) 現(xiàn)或其他原因無法使用。要正確測(cè)試函數(shù)A,就必須對(duì)函數(shù) B(樁函數(shù))進(jìn)行設(shè)置特定的返回值供測(cè)試函數(shù) A 使用1打開 C+Test 自帶的 Examples stubs.cpp2選擇 stubs.cpp - 鼠標(biāo)右鍵 - Read Symbols 解析 s
29、tubs.cpp 。 從下面的界面可以看 到 mod2() 函數(shù)調(diào)用了 odd() 函數(shù)。但是 odd() 函數(shù)沒有實(shí)現(xiàn)。要對(duì)測(cè)試 mod2 的所以必須實(shí) 現(xiàn)樁函數(shù) odd() 。選擇 odd() 函數(shù) - 鼠標(biāo)右鍵 -3選擇 Unit Testing - add user definition選擇 Stub Configuration -4打開 stub 設(shè)置界面。人為增加代碼 return ture; ,讓函數(shù) bool odd(int) 返回 true or false (下面返回值為 true ),保存修改后的樁函數(shù)。5進(jìn)行單元測(cè)試。打開 C+Test 測(cè)試用例編輯界面。不論輸入mod
30、2() 函數(shù)的輸入?yún)?shù)是什么值,它的返回值應(yīng)當(dāng)是1,這是因?yàn)闃逗瘮?shù) odd() 返回值為 true 。八導(dǎo)入導(dǎo)出測(cè)試用例當(dāng)你測(cè)試某個(gè)單元, 使用一些特殊或自己定義的測(cè)試用例。 而其他人也同樣測(cè)試此單元, 你可以通過測(cè)試用例的 Import 和 Export 功能,導(dǎo)入或?qū)С鎏囟ǖ臏y(cè)試用例。生成一個(gè) XML 文件。1 導(dǎo)出測(cè)試用例:選擇某個(gè)測(cè)試用例或某個(gè)函數(shù)- 鼠標(biāo)右鍵 - 選擇 Export ( 或從菜單 File - Export)2導(dǎo)入測(cè)試用例: 選擇某個(gè)函數(shù) - 鼠標(biāo)右鍵 - 選擇 Import (或從菜單 File - Import)九 Test Objects當(dāng)你測(cè)試某個(gè)類的一個(gè)單元
31、時(shí), 使用一些特殊或自己定義的類構(gòu)造對(duì)象。 而測(cè)試一個(gè)類 中的其他函數(shù)或其他人也需要此構(gòu)造對(duì)象的時(shí)候,你可以通過 Test Objects 例的 Import 和 Export 功能,導(dǎo)入或?qū)С鎏囟ǖ?Test Objects 。生成一個(gè) XML文件。一個(gè) Test Objects 可能包含一個(gè)或多個(gè)成員變量,而且這些成員變量有特定的值。1 Store Object :在圖形化測(cè)試用例界面中 - 某個(gè)對(duì)象 - 鼠標(biāo)右鍵 - 選擇 Store Object)2Use Object :在圖形化測(cè)試用例界面中 - 某個(gè)對(duì)象 - 選擇右邊框中的 Data 對(duì)象的 一個(gè) Test Object - 鼠標(biāo)
32、右鍵 - 選擇 Use Object)測(cè)試用例的對(duì)象 Data 的值已經(jīng)變成為 Test Object 的值1 導(dǎo)出 Test Object :選擇某個(gè) Test Object 或某個(gè)對(duì)象 - 鼠標(biāo)右鍵 - 選擇 Export ( 或 從菜單 File - Export)2 導(dǎo)入 Test Object :選擇某個(gè)對(duì)象 - 鼠標(biāo)右鍵 - 選擇 Import( 或從菜單 File - Import)十覆蓋率分析Coverage1可以顯示工程、類、函數(shù)和單個(gè)測(cè)試用例的覆蓋率。 當(dāng)分別選擇工程、類、函數(shù)和單個(gè)測(cè)試用例的時(shí)候,在下邊的Statistic Tab 中顯示相應(yīng)的覆蓋率2從菜單 Covera
33、ge - Coverage Source 可以選擇覆蓋率來源 Any:包括自身函數(shù)和其他函數(shù)調(diào)用此函數(shù)產(chǎn)生的 Own:函數(shù)測(cè)試用例產(chǎn)生的External :其他函數(shù)的測(cè)試用例調(diào)用此函數(shù)產(chǎn)生的3覆蓋率分:Line Coverage :語句覆蓋Basic Block Coverage :沒有包含分支,控制流轉(zhuǎn)的一段代碼覆蓋Path Coverage :一條從函數(shù)入口到出口的路徑覆蓋Decision (Branch) Coverage :分支覆蓋Modified Condition/Decision Coverage (MC/DC):嵌套 boolean 表達(dá)式的組合 覆蓋Condition Cov
34、erage :boolean 表達(dá)式中的各個(gè) boolean 條件覆蓋4覆蓋率顯示顏色:綠色:=80%黃色:=40% 同時(shí) 80%紅色: Show Coverage打開源文件覆蓋率下圖中第一列數(shù)字: 行標(biāo)第二列數(shù)字: 代碼被執(zhí)行的此數(shù)目 : 在當(dāng)前行上有額外的覆蓋率信息 代碼藍(lán)色表示執(zhí)行過一回歸測(cè)試回歸測(cè)試:先做單元測(cè)試 - 保存單元測(cè)試用例 - 修改源代碼 - 用原來的測(cè) 試用例測(cè)試修改后的代碼1打開 Examplecpptest_demo.cpp 。按 進(jìn)行單元測(cè)試。結(jié)果如下2修改源代碼,并保存void Data:copyToBuffer(char * from) / argument s
35、hould be validated - exception thrown if NULL passed/ off by one error - should use instead of =const unsigned SZ = getSize();for (int i = 0; i = SZ; + i) *(_data + i) = *(from + i);_dataSZ - 1 = 0;修改為void Data:copyToBuffer(char * from) / argument should be validated - exception thrown if NULL passed/ off by one error - should use instead of =const unsigned SZ = getSize();if (NULL!=_data & NULL!=from)for (int i = 0; i Customize 打開設(shè)置界面。選擇 Team Configuration Manager 。在下面的界面中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級(jí)上冊(cè)語文教案
- 農(nóng)藥殘留土壤生物降解研究
- 高一化學(xué)教案:專題第二單元第四課時(shí)糖類
- 2024屆浙江省溫州十五校聯(lián)合體高考化學(xué)押題試卷含解析
- 2024高中化學(xué)第四章電化學(xué)基礎(chǔ)第一節(jié)原電池達(dá)標(biāo)訓(xùn)練含解析新人教版選修4
- 2024高中地理課時(shí)作業(yè)9資源的跨區(qū)域調(diào)配-以我國西氣東輸為例含解析新人教版必修3
- 2024高中語文開學(xué)第一課學(xué)生觀后感范文700字范文三篇素材
- 2024高中語文第五單元散而不亂氣脈中貫伶官傳序作業(yè)含解析新人教版選修中國古代詩歌散文欣賞
- 2024高中語文精讀課文一第3課2在動(dòng)亂中成長(zhǎng)起來作業(yè)含解析新人教版選修中外傳記蚜
- 2024高考化學(xué)一輪復(fù)習(xí)第十章化學(xué)實(shí)驗(yàn)基礎(chǔ)第四講實(shí)驗(yàn)方案的設(shè)計(jì)與評(píng)價(jià)規(guī)范演練含解析新人教版
- 《國有控股上市公司高管薪酬的管控研究》
- 餐飲業(yè)環(huán)境保護(hù)管理方案
- 應(yīng)收帳款管理辦法
- 食品安全分享
- 跨境代運(yùn)營(yíng)合同范例
- 水利水電工程驗(yàn)收實(shí)施細(xì)則模版(3篇)
- 四川雅安文化旅游集團(tuán)有限責(zé)任公司招聘筆試沖刺題2024
- 礦山機(jī)械設(shè)備安全管理制度
- 計(jì)算機(jī)等級(jí)考試二級(jí)WPS Office高級(jí)應(yīng)用與設(shè)計(jì)試題及答案指導(dǎo)(2025年)
- 造價(jià)框架協(xié)議合同范例
- 糖尿病肢端壞疽
評(píng)論
0/150
提交評(píng)論