Parasoft-C++Test操作手冊范本_第1頁
Parasoft-C++Test操作手冊范本_第2頁
Parasoft-C++Test操作手冊范本_第3頁
Parasoft-C++Test操作手冊范本_第4頁
Parasoft-C++Test操作手冊范本_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

...wd......wd......wd...C++Test介紹修訂歷史記錄日期版本說明作者C++Test6.0C++Test原理,使用介紹,RuleWizard定制規(guī)則目錄TOC\o"1-3"\h\z第一章C++Test特性4第二章C++Test使用6一.安裝說明61.Windows下安裝62.申請License6二.啟動C++Test71.從VC++里啟動C++Test72.傳統(tǒng)啟動C++Test8三.Linux下安裝及啟動9四.C++Test快速測試101.翻開被測文件102.靜態(tài)測試123.動態(tài)測試144.生成報(bào)表16第三章C++Test高級功能19一.導(dǎo)入VC++工程(ImportVC++project)19二.選擇編譯器(projectconfiguration)20三.設(shè)置測試配置(testconfiguration)21四.編碼規(guī)則測試結(jié)果分析26五.測試用例分析28六.DataSource33七.樁函數(shù)設(shè)置40八.導(dǎo)入導(dǎo)出測試用例43九.TestObjects45十.覆蓋率分析48十一.回歸測試52十二.其他設(shè)置551.設(shè)置TCM552.設(shè)置GRS563.設(shè)置源代碼編輯器和HTML瀏覽器57第四章RuleWizard定制規(guī)則59一.啟動RuleWizard59二.翻開一個(gè)現(xiàn)有的規(guī)則60三.設(shè)計(jì)一個(gè)新規(guī)則62四.C++Test中導(dǎo)入自定義規(guī)則71第一章C++Test特性C++Test是一個(gè)C/C++單元測試工具,自動測試任何C/C++類、函數(shù)或部件,而不需要您編寫一個(gè)測試用例、測試驅(qū)動程序或樁調(diào)用。C++Test能夠自動測試代碼構(gòu)造〔白盒測試〕、測試代碼的功能性〔黑盒測試〕和維護(hù)代碼的完整性〔回歸測試〕。C++Test是一個(gè)易于使用的產(chǎn)品,能夠適應(yīng)任何開發(fā)生命周期。通過將C++Test集成到開發(fā)過程中,您能夠有效地防止軟件錯(cuò)誤,提高代碼的穩(wěn)定性,并自動化單元測試技術(shù)〔這是極端編程過程的根基〕。特性即時(shí)測試類/函數(shù)支持極端編程模式下的代碼測試自動建設(shè)類/函數(shù)的測試驅(qū)動程序和樁調(diào)用自動建設(shè)和執(zhí)行類/函數(shù)的測試用例提供快速參加和執(zhí)行說明和功能性測試的框架執(zhí)行自動回歸測試執(zhí)行部件測試〔COM〕優(yōu)點(diǎn)幫助您立即驗(yàn)證類功能性和構(gòu)造將您從編寫測試驅(qū)動程序、樁和測試用例的繁重工作中解放出來自動化極端編程和其它編程模式的單元測試過程使得您能夠?qū)崿F(xiàn)和執(zhí)行100%的代碼覆蓋性支持緊急和短線開發(fā)工程降低調(diào)試和維護(hù)時(shí)間改善應(yīng)用的可靠性防止簡單錯(cuò)誤的擴(kuò)大系統(tǒng)要求最小系統(tǒng)要求:Pentiumclassprocessor800MHz512MBRAM(1024MBisrecommended)150MBfreediskspaceforC++Testinstallation其他要求:保存足夠的磁盤空間供測試使用。支持平臺Windows?SupportedPlatforms:WindowsNT,2000,XP?SupportedCompilers:Microsoft?VisualC++?6.0,.NET?,or.NET2003?,GNUGCC2.95xor3.x.CygwinGCC2.95.x,3.2.x,3.3.xMingwGCC2.95.x,3.2.x,3.3.xUNIX?SupportedPlatforms:Linuxkernel2.4(withSystemVIPC),glibc2.2,PentiumprocessorSolaris7,8,9,UltraSPARCprocessor?SupportedCompilers:GNUGCC3.2.x,GNUGCC3.3.x,GNUGCC3.4.xSun?C++5.3?(SunForteC++6Update2forSPARCSolaris),Sun?C++5.5?(SunONEStudio8)第二章C++Test使用一.安裝說明1.Windows下安裝翻開安裝源程序,同普通的windows應(yīng)用程序一樣,選擇安裝路徑,完成安裝。2.申請License1.申請License從桌面或者菜單翻開C++Test,將彈出類似于下面的一個(gè)要求輸入密碼的窗口:按“是(Y)〞進(jìn)入。這里的machineID就是C++Test和主機(jī)綁定的信息?;蛟谶M(jìn)入C++Test主界面后,在菜單Help->License…可以同樣翻開下面的界面。這個(gè)machineID需交給Parasoft代理商,來申請license。而由于license的種類不同,可以分為locallicense〔單機(jī)版〕和netlicense〔網(wǎng)絡(luò)版〕。2.輸入License將相應(yīng)的license和expiredate粘貼到相應(yīng)的位置,如果信息正確,系統(tǒng)將提示licenseok。如果信息不正確,系統(tǒng)將提示wronglicense。輸入正確的license,翻開C++Test,就可以進(jìn)入C++Test的用戶界面了。二.啟動C++Test1.從VC++里啟動C++Test安裝VC++后,再安裝C++Test,VC++工具條里會自動地增加使用C++Test的按扭??梢詥覥++Test界面,或進(jìn)展C++Test靜態(tài)和動態(tài)測試。2.傳統(tǒng)啟動C++Test開場->程序->C++Test,可以啟動C++Test。三.Linux下安裝及啟動建議安裝linuxredhat9.0及以上版本,建議安裝開發(fā)工作站,同時(shí)需要圖形界面支持在圖形界面下建設(shè)組gtest(或其他)在圖形界面下建設(shè)用戶utest(或其他),并且屬于組gtest。utest主目錄是/home/utest。用bash。在/home/utest/下建設(shè)目錄cpptest,并且拷貝cpptest_linux_.sh到cpptest目錄下在圖形界面下用utest用戶登錄在Terminaltool中進(jìn)入/home/utest/cpptest目錄執(zhí)行安裝cpptest_linux_.sh〔或./cpptest_linux_.sh〕。安裝程序是腳本安裝程序,沒有圖形安裝界面。C++Test將安裝在/home/utest/cpptest目錄下進(jìn)入/home/utest目錄下。在.bash_profile文件中給環(huán)境變量PATH行后面增加:/home/utest/cpptest/bin。然后保存用戶utest重新在圖形界面下登錄在Terminaltool中輸入c++test(或在圖形界面下執(zhí)行/home/utest/cpptest/bin/c++test程序)??梢詥觕++test四.C++Test快速測試1.翻開被測文件翻開C++Test,選擇file/openfile,選擇C++Test安裝目錄下examples/cpptest_demo.cpp,這個(gè)cpp文件將出現(xiàn)在當(dāng)前的project下。在當(dāng)前project下,右擊cpptest_demo.cpp,選擇readsymbols〔讀入符號表〕,此時(shí)C++Test將parse(剖析)這個(gè)源程序,分析出此文件的文件構(gòu)造。在源代碼窗口可以看到我們所測試的代碼,界面非常友好,中選擇代碼時(shí),被選擇的代碼也會以藍(lán)色塊的形式出現(xiàn)。并且,當(dāng)我們進(jìn)展了靜態(tài)分析和動態(tài)分析時(shí),這里我們也可以非常直觀的觀測到靜態(tài)分析和動態(tài)分析的結(jié)果。代碼左側(cè)的紅色精靈帽表示靜態(tài)分析時(shí)出現(xiàn)問題的所在,黃色小齒輪則表示動態(tài)分析時(shí)出現(xiàn)問題的所在。點(diǎn)擊相應(yīng)的地方,會出現(xiàn)對問題的一個(gè)簡單描述。2.靜態(tài)測試在向右三角型旁邊的下拉箭頭,選擇內(nèi)置的編碼規(guī)則工程。C++Test將自動完成對源代碼的靜態(tài)測試,也就是我們所說的代碼走查,走查所用到的標(biāo)準(zhǔn)可以在靜態(tài)測試標(biāo)簽的rulemanage下看到。在靜態(tài)分析欄中的Results標(biāo)簽是對靜態(tài)分析結(jié)果的一個(gè)羅列。每個(gè)紅色精靈帽都代表一種違規(guī)行為,而它旁邊的數(shù)字則代表測試代碼中出現(xiàn)這種違規(guī)的次數(shù)。緊接著的字母說明違規(guī)行為的嚴(yán)重級別。再后面就是對這條標(biāo)準(zhǔn)的大致描述以及規(guī)則編號。而標(biāo)簽RulesManager則是對這些規(guī)則的管理,當(dāng)用戶需要使用某條規(guī)則的時(shí)候,只需要在相應(yīng)規(guī)則左側(cè)的方框內(nèi)打上勾就說明選擇了該條規(guī)則。而當(dāng)用戶不需要某條規(guī)則檢查的時(shí)候,只需要去掉相應(yīng)規(guī)則的勾就可以了。以下列圖,右側(cè)就是靜態(tài)測試〔代碼走查〕的結(jié)果。每條違規(guī)信息包括對違規(guī)的描述,該錯(cuò)誤共發(fā)生的次數(shù)以及相對應(yīng)的具體位置。而下面的ruledesription則是對這條規(guī)則的一個(gè)比擬詳細(xì)的描述。頂層的文件夾后面的“I=4PV=1V=33……〞描述的是整個(gè)的對違規(guī)信息的統(tǒng)計(jì)。I表示information,通知行為PV表示possibleviolation,可能的違規(guī)行為V表示violation,違規(guī)行為PSV表示possibleservereviolation,可能的嚴(yán)重違規(guī)行為SV表示servereviolation,嚴(yán)重違規(guī)行為。3.動態(tài)測試在向右三角型旁邊的下拉箭頭,選擇內(nèi)置的白盒測試。C++Test將自動完成代碼的動態(tài)測試??梢詮母鱾€(gè)層面上〔單個(gè)測試用例,整個(gè)函數(shù)的測試用例,整個(gè)代碼的測試用例〕去看相對應(yīng)代碼的覆蓋率。操作的時(shí)候,只需要右擊相應(yīng)的層次〔例如一個(gè)測試用例〕,選擇showcoverage,就可以看到對應(yīng)的覆蓋率了。在動態(tài)測試中的TestCase/Results欄中,主要是對測試用例的一個(gè)總體管理。在這里,所有的測試用例的狀態(tài)都一目了然,綠色表示成功,紅色表示失敗。用戶可以自己添加或修改測試用例。而StubTables欄則是對樁函數(shù)的管理,Suppressions則是對測試對象的一個(gè)管理。例如,上面的Data類有很多個(gè)成員函數(shù),當(dāng)用戶并不想全部都測,而只是測其中的幾個(gè)。這個(gè)時(shí)候就可以通過Suppressions進(jìn)展選擇。除此之外,上面的Treefilter還提供強(qiáng)大的濾波器功能,可以讓用戶更好的關(guān)注他們的焦點(diǎn),例如只看最近一次測試的失敗用例。以下列圖,右側(cè)就是對動態(tài)測試的一個(gè)整體描繪。列舉了所有的測試用例,并且用顏色來區(qū)分成功和失敗的測試用例,綠色代表成功通過了的測試用例,而紅色代表沒有通過也就是失敗了的測試用例,對于每個(gè)錯(cuò)誤的測試用例都有一個(gè)大致的描述。每個(gè)測試用例或者各個(gè)節(jié)點(diǎn)上都做到了相應(yīng)的覆蓋率信息,包括了LC〔語句覆蓋〕,BBC〔塊覆蓋〕,PC(路徑覆蓋),DC〔決策覆蓋〕,MCDC(多條件決策覆蓋)以及CC(條件覆蓋)。此外,上面的treefilter過濾器功能可以幫助用戶迅速觀察到自己關(guān)心的焦點(diǎn)或錯(cuò)誤。4.生成報(bào)表選擇file/generatereport,根據(jù)對報(bào)表的需求,選擇適當(dāng)?shù)膱?bào)表內(nèi)容種類〔例如dynamicanalysis1,coveragestatistic1〕。生成一個(gè)HTML格式的報(bào)表。第三章C++Test高級功能一.導(dǎo)入VC++工程(ImportVC++project)C++Test6.0可以直接導(dǎo)入VC++6.0project,VC++.Netproject和VC++.Net2003project文件。菜單File->NewProject…出現(xiàn)下面的界面選擇ImportVC++6.0project輸入測試工程文件名稱(projectname)選擇VC++6.0工程文件.dsp(VC++6.0projectfiles)二.選擇編譯器(projectconfiguration)如果你同時(shí)安裝了VC++6.0和VC++.Net的話。你必須選擇你需要的編譯器。否則C++Test6.0會使用默認(rèn)的編譯器。菜單Project->ProjectConfigurations…選擇VC++6.0為當(dāng)前測試工程的編譯器〔下面界面默認(rèn)的C++Test使用編譯器是VC++.Net2003〕三.設(shè)置測試配置(testconfiguration)C++Test6.0可以選擇不同的測試配置選項(xiàng)對一個(gè)工程、文件進(jìn)展測試。測試配置:是一系列編碼規(guī)則、單元測試用例生成規(guī)則的組合,決定要測試什么編碼規(guī)則,如何生成測試用例。菜單Tests->TestConfigurations…翻開測試配置界面。新建一個(gè)測試配置:選擇project->鼠標(biāo)右鍵–>NewConfigurationAnalysisFlow決定是否要做編碼規(guī)則測試和單元測試AnalysisSettings包括CodingStandards和UnitTesting。其中CodingStandards選擇需要的規(guī)則。打√選擇規(guī)則UnitTesting中Types設(shè)置不同數(shù)據(jù)類型在生成測試用例的取值,可以增加某種數(shù)據(jù)類型在生成測試用例時(shí)的取值。比方char類型可以增加特定的字符’A’設(shè)置一個(gè)被測單元自動生成測試用例的最大數(shù)目〔默認(rèn)是50個(gè)〕設(shè)置新增加的測試設(shè)置為活動用新增加測試設(shè)置進(jìn)展測試。在向右三角型旁邊的下拉箭頭,選擇新增加的測試設(shè)置。四.編碼規(guī)則測試結(jié)果分析以下列圖,右側(cè)就是靜態(tài)測試〔代碼走查〕的結(jié)果。I表示information,通知行為PV表示possibleviolation,可能的違規(guī)行為V表示violation,違規(guī)行為PSV表示possibleservereviolation,可能的嚴(yán)重違規(guī)行為SV表示servereviolation,嚴(yán)重違規(guī)行為。1.頂層的文件夾后面的“I=4PV=1V=33……〞描述的是整個(gè)的對違規(guī)信息的統(tǒng)計(jì)。2.下面的每個(gè)小紅帽表示一條違例規(guī)則。前面的數(shù)字表示違反次數(shù),緊接著是嚴(yán)重程度,然后是此規(guī)則的簡單描述。每條違規(guī)信息包括對違規(guī)的描述,該錯(cuò)誤共發(fā)生的次數(shù)以及相對應(yīng)的具體位置。而下面的ruledesription則是對這條規(guī)則的一個(gè)比擬詳細(xì)的描述。3.Treefilter:可以按嚴(yán)重程度分類顯示。4.CodingStandards的Suppressions可以按嚴(yán)重程度,類,文件等條件決定是否要顯示測試結(jié)果。以下列圖中對Violation類型的編碼規(guī)則測試結(jié)果不顯示5.不顯示Violation類型的測試結(jié)果五.測試用例分析用C++Test做單元測試,最重要的步驟是分析測試用例。如果這步?jīng)]有做好,你會覺得C++Test不適合你們;如果做好了,你的單元測試就做好了。用C++Test做單元測試,重點(diǎn)在分析測試用例,而不是設(shè)計(jì)測試用例。C++Test自動生成的測試用例是白盒測試用例。如果你要用C++Test做黑盒測試,你需要手工增加黑盒測試用例或修改白盒測試用例使之成為黑盒測試用例,要求:要準(zhǔn)確地分析測試用例,必須對被測函數(shù)有清楚的了解。1.選擇Examples\complex.cpp文件2.選擇工具條中向右三角型進(jìn)展進(jìn)展單元測試3.選擇一個(gè)測試用例,然后按“Edit〞按扭進(jìn)入測試用例編輯界面4.分析測試用例Arguments:測試前的函數(shù)的參數(shù)值A(chǔ)rgumentsPost:測試后的函數(shù)的參數(shù)值Return:測試前設(shè)定的函數(shù)的返回值Pre-Conditions>This:測試前對象構(gòu)造值,特別是構(gòu)造對象時(shí)給成員變量設(shè)定的的值Pre-Conditions>Externals:測試前全局變量值Post-Conditions>This:測試后對象構(gòu)造值,特別是構(gòu)造對象時(shí)給成員變量設(shè)定的的值Post-Conditions>Externals:測試后全局變量值ExecutionResult:預(yù)期的測試結(jié)果。是正常返回、Assert失敗,還是各種異常返回A)首先讓我們先看看源代碼//complex.cpp//ThisexampleillustrateshowC++TestworkswithoverloadedoperatorsandconstructorsclassComplex{public:Complex(floatre=0,floatim=0):_re(re),_im(im){}Complexoperator+(constComplex&);Complexoperator-(constComplex&);private:float_re;float_im;};ComplexComplex::operator+(constComplex&c){returnComplex(this->_re+c._re,this->_im+c._im);}ComplexComplex::operator-(constComplex&c){returnComplex(this->_re-c._re,this->_im-c._im);}ComplextestComplexOperators(Complex&a,Complex&b){Complexzero;Complexneg_a=zero-a;Complexneg_a_sum_b=neg_a-b;returna+b+neg_a_sum_b;//thisfunctionshouldalwaysreturncomplexzerovalue}B〕我們的測試用例是針對函數(shù)ComplexComplex::operator+(constComplex&c)的Arguments:表示函數(shù)參數(shù)是一個(gè)Complex&c,這個(gè)參數(shù)對象c構(gòu)造的時(shí)候給c成員變量float_re=1.0;float_im=-1.0ArgumentsPost:表示函數(shù)測試后。這個(gè)參數(shù)對象c在測試后c成員變量float_re=1;float_im=-1Return:表示返回對象Complex,它的值應(yīng)當(dāng)成員變量float_re=自身的成員變量_re+輸入對象c的成員變量_re〔1〕;float_im=自身的成員變量_im+輸入對象c的成員變量_im〔0〕;注意:這里的返回值是錯(cuò)誤的,正確的選項(xiàng)是_re=3;_im=-3才對。此測試用例測試結(jié)果應(yīng)當(dāng)是錯(cuò)誤的〔變紅〕。Pre-Conditions:表示進(jìn)展單元測試的時(shí)候,類成員變量的值float_re=2;float_im=-2Post-Conditions:表示在測試后。類成員變量的值float_re=2;float_im=-2ExecutionResult:表示測試完畢是NormalReturn。正常完畢,而不是異常完畢C)上面測試用例測試后的結(jié)果是失敗的預(yù)期的結(jié)果是〔_re=1,_im=0〕。實(shí)際的結(jié)果是〔_re=3,_im=-3〕5.調(diào)試測試用例選擇某個(gè)測試用例->鼠標(biāo)右鍵->DebugSelectedTestCase(s)->翻開VC++.Net2003(默認(rèn)編譯器)調(diào)試界面。注意:對VC++6.0好象無法進(jìn)展調(diào)試。六.DataSource如果一個(gè)函數(shù)有一系列相似的輸入,比方協(xié)議類函數(shù)。這個(gè)時(shí)候可以把這一系列相似的輸入保存成一個(gè)excel文件,CSV文件或數(shù)據(jù)庫的表。我們稱之為DataSource。這樣當(dāng)C++Test進(jìn)展單元測試的時(shí)候,可以根據(jù)DataSource的內(nèi)容生成一系列的測試用例。1.翻開C++Test安裝目錄Examples\DataSource\dsexample.cpp2.菜單project->projectconfigurations…->翻開工程配置界面。選擇DataSources。按“Add〞按扭增加DataSource文件。3.輸入DataSource名稱4.選擇DataSource類型為CSVDataSource4.選擇C++Test安裝目錄Examples\DataSource\data.csv文件。//data.csv的內(nèi)容"LOWER";"UPPER";"TESTED";"ANSWER"3;8;5;TRUE3;8;1;FALSE4;9;10;FALSE2;3;3;FALSE2;3;2;FALSE-1;1;0;TRUE5.選擇data.csv文件的分割符號。要根據(jù)實(shí)際的.csv文件分割符號選擇’或;。6.按按扭“ShowColumns〞顯示DataSouce文件的列名稱。類似excel表格中的列頭名稱。7.根據(jù)設(shè)置的DataSource生成測試用例。選擇UnitTesting->選擇函數(shù)isBetween->“Add〞,增加測試用例8.選擇剛剛設(shè)置好的DataSource配置csv1。要在UseDataSouce前面打√。然后按“ShowColumns〞9.在輸入、輸出參數(shù)和返回值中選擇對應(yīng)的列。10.測試用例按DataSource文件自動生成。不同于一般情況下生成的測試用例七.樁函數(shù)設(shè)置對于單元測試,如果一個(gè)函數(shù)A調(diào)用了其他函數(shù)B〔樁函數(shù)〕,而函數(shù)B由于還沒有實(shí)現(xiàn)或其他原因無法使用。要正確測試函數(shù)A,就必須對函數(shù)B〔樁函數(shù)〕進(jìn)展設(shè)置特定的返回值供測試函數(shù)A使用1.翻開C++Test自帶的Examples\stubs.cpp。2.選擇stubs.cpp->鼠標(biāo)右鍵->ReadSymbols解析stubs.cpp。從下面的界面可以看到mod2()函數(shù)調(diào)用了odd()函數(shù)。但是odd()函數(shù)沒有實(shí)現(xiàn)。要對測試mod2的所以必須實(shí)現(xiàn)樁函數(shù)odd()。3.選擇UnitTesting->選擇StubConfiguration->選擇odd()函數(shù)->鼠標(biāo)右鍵->adduserdefinition。4.翻開stub設(shè)置界面。人為增加代碼returnture;,讓函數(shù)boolodd(int)返回trueorfalse〔下面返回值為true〕,保存修改后的樁函數(shù)。5.進(jìn)展單元測試。翻開C++Test測試用例編輯界面。不管輸入mod2()函數(shù)的輸入?yún)?shù)是什么值,它的返回值應(yīng)當(dāng)是1,這是因?yàn)闃逗瘮?shù)odd()返回值為true。八.導(dǎo)入導(dǎo)出測試用例當(dāng)你測試某個(gè)單元,使用一些特殊或自己定義的測試用例。而其他人也同樣測試此單元,你可以通過測試用例的Import和Export功能,導(dǎo)入或?qū)С鎏囟ǖ臏y試用例。生成一個(gè)XML文件。導(dǎo)出測試用例:選擇某個(gè)測試用例或某個(gè)函數(shù)->鼠標(biāo)右鍵->選擇Export(或從菜單File->Export)2.導(dǎo)入測試用例:選擇某個(gè)函數(shù)->鼠標(biāo)右鍵->選擇Import(或從菜單File->Import)九.TestObjects當(dāng)你測試某個(gè)類的一個(gè)單元時(shí),使用一些特殊或自己定義的類構(gòu)造對象。而測試一個(gè)類中的其他函數(shù)或其他人也需要此構(gòu)造對象的時(shí)候,你可以通過TestObjects例的Import和Export功能,導(dǎo)入或?qū)С鎏囟ǖ腡estObjects。生成一個(gè)XML文件。一個(gè)TestObjects可能包含一個(gè)或多個(gè)成員變量,而且這些成員變量有特定的值。StoreObject:在圖形化測試用例界面中->某個(gè)對象->鼠標(biāo)右鍵->選擇StoreObject)2.UseObject:在圖形化測試用例界面中->某個(gè)對象->選擇右邊框中的Data對象的一個(gè)TestObject->鼠標(biāo)右鍵->選擇UseObject)測試用例的對象Data的值已經(jīng)變成為TestObject的值導(dǎo)出TestObject:選擇某個(gè)TestObject或某個(gè)對象->鼠標(biāo)右鍵->選擇Export(或從菜單File->Export)導(dǎo)入TestObject:選擇某個(gè)對象->鼠標(biāo)右鍵->選擇Import(或從菜單File->Import)十.覆蓋率分析可以顯示工程、類、函數(shù)和單個(gè)測試用例的覆蓋率。當(dāng)分別選擇工程、類、函數(shù)和單個(gè)測試用例的時(shí)候,在下邊的CoverageStatisticTab中顯示相應(yīng)的覆蓋率2.從菜單Coverage->CoverageSource可以選擇覆蓋率來源Any:包括自身函數(shù)和其他函數(shù)調(diào)用此函數(shù)產(chǎn)生的Own:函數(shù)測試用例產(chǎn)生的External:其他函數(shù)的測試用例調(diào)用此函數(shù)產(chǎn)生的3.覆蓋率分:LineCoverage:語句覆蓋BasicBlockCoverage:沒有包含分支,控制流轉(zhuǎn)的一段代碼覆蓋PathCoverage:一條從函數(shù)入口到出口的路徑覆蓋Decision(Branch)Coverage:分支覆蓋ModifiedCondition/DecisionCoverage(MC/DC):嵌套boolean表達(dá)式的組合覆蓋ConditionCoverage:boolean表達(dá)式中的各個(gè)boolean條件覆蓋4.覆蓋率顯示顏色:綠色: >=80%黃色: >=40%同時(shí)<80%紅色: <40%5.在源代碼上顯示覆蓋率在左邊的樹狀中選擇文件,類或函數(shù)。然后選擇菜單Coverage->ShowCoverage…翻開源文件覆蓋率以下列圖中第一列數(shù)字: 行標(biāo)第二列數(shù)字: 代碼被執(zhí)行的此數(shù)目: 在當(dāng)前行上有額外的覆蓋率信息代碼藍(lán)色表示執(zhí)行過十一.回歸測試回歸測試:先做單元測試->保存單元測試用例->修改源代碼->用原來的測試用例測試修改后的代碼1.翻開Example\cpptest_demo.cpp。按進(jìn)展單元測試。結(jié)果如下2.修改源代碼,并保存voidData::copyToBuffer(char*from){//argumentshouldbevalidated-exceptionthrownifNULLpassed//offbyoneerror-shoulduse'<'insteadof'<="constunsignedSZ=getSize();for(inti=0;i<=SZ;++i){*(_data+i)=*(from+i);}_data[SZ-1]='\0';}修改為voidData::copyToBuffer(char*from){//argumentshouldbevalidated-exceptionthrownifNULLpassed//offbyoneerror-shoulduse'<'insteadof'<="constunsignedSZ=getSize();if(NULL!=_data&&NULL!=from){for(inti=0;i<=SZ;++i){*(_data+i)=*(from+i);}_data[SZ-1]='\0'; } else {_data=NULL; }}用下面方法進(jìn)展回歸測試測試回歸測試的結(jié)果如下〔不再重新生成測試用例,而是用原來的測試用例〕十二.其他設(shè)置1.設(shè)置TCMTCM是保存測試配置的服務(wù)器。C++TestArchitectEdition可以上傳測試配置到TCM。C++TestProfessorEdition可以從TCM中取得測試配置。 菜單Settings->Customize…翻開設(shè)置界面。選擇TeamConfigurationManager。在下面的界面中輸入TCM所在的服務(wù)器,然后按“Check〞按扭。檢測TCM設(shè)置是否正確?!睬疤崾且_安裝和運(yùn)行TCM〕。2.設(shè)置GRSGRS是一個(gè)全局報(bào)告系統(tǒng),它自動從C++Test.Jtest的測試工具中收集測試數(shù)據(jù)。并且按不同的角色,顯示不同的內(nèi)容。菜單Settings->Customize…翻開設(shè)置界面。選擇Test->GroupReportingSystem->Settings…。在下面的界面中輸入GRS所在的服務(wù)器,然后按“Check〞按扭。檢測GRS設(shè)置是否正確〔前提是要正確安裝和運(yùn)行GRS〕。3.設(shè)置源代碼編輯器和HTML瀏覽器菜單Settings->Customize…翻開設(shè)置界面。選擇General。Editors選擇查看源代碼的程序。HTMLBrowser設(shè)置查看HTML測試結(jié)果的瀏覽器。第四章RuleWizard定制規(guī)則一.啟動Rule

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論