Testbed安裝說明及單元測試指導(dǎo)書_第1頁
Testbed安裝說明及單元測試指導(dǎo)書_第2頁
Testbed安裝說明及單元測試指導(dǎo)書_第3頁
Testbed安裝說明及單元測試指導(dǎo)書_第4頁
Testbed安裝說明及單元測試指導(dǎo)書_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Testbed 工具單元測試指導(dǎo)書1 目的本文檔用于指導(dǎo)測試人員在項目過程中使用Testbed 工具進行單元測試,主要包括單元測試介紹、工具的安裝、單元測試相關(guān)操作,以及在工程項目中使用Testbed 工具進行單元測試常見問題處理和注意事項。2 說明該指導(dǎo)書針對的Testbed 工具版本為8.2 的 Windows 7 版本,編譯器采用GCC。3 單元測試介紹3.1 測試對象軟件單元。GJB2786的定義:計算機軟件部件設(shè)計中確定的能單獨測試的部分GJB2786A勺定義:計算機軟件配置項設(shè)計中的一個元素;例如,CSCI的一個主要構(gòu)成部分、這種構(gòu)成部分的一個部件、一個類、對象、模塊、函數(shù)、子程序

2、或者數(shù)據(jù)庫。軟件單元可以出現(xiàn)在層次結(jié) 構(gòu)的不同層上,并可以由其他軟件單元組成。設(shè)計中的軟件單元與實現(xiàn)他們的代碼和數(shù)據(jù)實體(子程序、過程、數(shù)據(jù)庫、數(shù)據(jù)文件等)之間,或與包含這些實體的計算機文件之間并不一定有一一對應(yīng)的 關(guān)系。3.2 測試目的檢查每個單元能否正確地實現(xiàn)設(shè)計說明中的功能、性能、接口和其他設(shè)計約束等要求,發(fā)現(xiàn)單元 內(nèi)可能存在的各種錯誤。3.3 測試依據(jù)軟件設(shè)計文檔。3.4 為什么進行單元測試1. 確保軟件單元的正確性2. 確保單元之間交互的正確性3. 明確函數(shù)的目的4. 便于定位錯誤5. 利于代碼的重構(gòu)6. 可以實現(xiàn)自動化回歸測試3.5 單元測試工具? 流行的測試軟件:Tburn 、

3、C+Test、 Cantata+ 、 VectorCAST、 Visual Unit 、 Tessy? 優(yōu)點:一般都擁有自動化用例生成功能,具有方便的可視化功能,可以統(tǒng)計各類型的代碼覆蓋率信息。? 缺點:都是商業(yè)軟件,測試環(huán)境和開發(fā)環(huán)境完全脫離。3.6 覆蓋率類型? 語句覆蓋:又稱行覆蓋(Line Coverage) ,是最常用也是最常見的一種覆蓋方式,就是度量被測代碼中每個可執(zhí)行語句是否被執(zhí)行到了。這里說的是“可執(zhí)行語句”,因此就不會包括像C+勺頭文件聲明,代碼注釋,空行等非可執(zhí)行語句。? 判定覆蓋(Decision Coverage):又稱分支覆蓋(Branch Coverage)。它度量

4、程序中每一個判定 的每一個分支是否都被測試到了。? 條件覆蓋(Condition Coverage) :它度量判定中的每個子表達式結(jié)果true 和 false 是否被測試到了。?MC/DCJ蓋:MC/DC(Modified Condition Decision Coverage)是修訂的條件/判定覆蓋,判定中每個條件的所有可能結(jié)果至少出現(xiàn)一次,每個判定本身的所有可能結(jié)果也至少出現(xiàn)一次,每個判定中的每個條件都曾獨立的影響判定的結(jié)果至少一次,( 獨立影響意思是在其他的條件不變的情況下,改變一個條件) 。?路徑覆蓋:又稱斷言覆蓋(Predicate Coverage)。它度量了是否CSU勺每一個路徑

5、分支都被執(zhí)行了。有多個分支嵌套時,需要對多個分支進行排列組合。3.7 單元測試需要注意的地方1. 若對軟件單元進行必要的靜態(tài)測試,應(yīng)先于動態(tài)測試。2. 理論上講,單元測試除了被測單元外都應(yīng)該打樁。3. 應(yīng)逐項測試軟件設(shè)計文檔規(guī)定的軟件單元的功能、性能等特性;? 單元測試的直接依據(jù)是軟件設(shè)計文檔? 從功能的角度出發(fā),而不是從程序的角度出發(fā)4. 軟件單元的每個特性應(yīng)至少被一個正常的測試用例和一個被認(rèn)可的異常測試用例覆蓋? 正常與異常是相對于功能來說的? 因此在軟件的設(shè)計文檔中,應(yīng)明確軟件功能,以及對應(yīng)的有效輸入? 進行單元測試時,用例需要同時包含有效范圍之內(nèi)的和有效范圍之外的輸入? 空指針、異常值

6、5. 測試用例的輸入應(yīng)至少包括有效等價類值、無效等價類值和邊界等價類值? 若軟件的設(shè)計文檔有明確的功能輸入范圍描述則可以進行等價類劃分? 若沒有明確輸入范圍,則可以根據(jù)被測單元的參數(shù)類型、用到的全局變量類型,取相應(yīng)的極大值與極小值6. 測試用例應(yīng)達到要求的測試覆蓋率,對未達到所要求覆蓋率的情況需要說明原因? 語句覆蓋? 條件覆蓋? 判定覆蓋?MC/DCJ 蓋? 路徑覆蓋7. 應(yīng)測試軟件單元輸出數(shù)據(jù)及其格式? 確認(rèn)軟件單元的返回值數(shù)據(jù)類型與內(nèi)容是否與設(shè)計相一致4 軟件安裝4.1 Testbed 工具安裝解壓 Testbed 8.2 ( Win 7 ) .zip ,進入安裝包目錄,雙擊setup.

7、exe 進行軟件安裝,安裝流程如下所示。C/C+ LDfiA Tool Suite Version 8.0, - InstaflShield WizardPreparing SetupPlease it 科 hi la the IrslAllS hield W拒占 rd prepares the setup.C/C+ LDFlA T口曰 5ui(e Version 8l2,0. Setup is preparing the InstmiShield Wizards 河匕ch wil guiclE加u through the ne哥 c4 the setup process. Please 我a

8、ft.I n*MirS hieldCancel出現(xiàn)如下界面,選擇“是”,單擊“ Next”LDRATcol Suite¥ql» have local Administrator rights for thh mathinJf multiple users are required to run the L.DRA Tool Suite on this PC the following issues may arise:Ncn-Admin UserG nnay not have sufficient security privileges to access©ith

9、er the LDRA Jool Suite installation directory, or to modify T es+bed Jn iin the Windows Dire etc ryhSelect 'Yes' to Continue, oir ' No' to exit the installatioin號(V)告N)出現(xiàn)如下界面,點擊“Standard Workstation ",選擇“Typical ”,點擊“Next”,默認(rèn)安裝在“C:”目錄,可根據(jù)實際情況更改目錄。LDRA Tool Suite - Instal I shiel

10、d WizardSetup TypeSehct the setup Upe that best uti pcur needs.Clek the type of setup you preFei.a Ty 口沁國 Progiam ill be installed 疝Bh Ihe no si common options. Recommended for most, useri.Cornpct pFQgrm ill be installed 怦出 minimm 巾qiwmd opliqn菁.Custom Vou may select the oplions 3JOU want to install

11、 Reecmmentletl foe advanced users.Destination FddftrC:M_?RA_T oolsu 岫Browse.nstlS hi 鼻 Id< Back M色就 >Cancel出現(xiàn)如下界面,可選擇工作空間目錄,默認(rèn)為“C:LDRA_Workarea',此處建議修改為具有較大空問目錄,后續(xù)創(chuàng)建用例默認(rèn)都在該目錄,點擊“ Next”LDRA Tool Suite - IntstallShield WizardWorkarea S日拒ctkmPha* SdecUhe ba?e directory for Analyii reuh:iPerrr

12、idir 總 nd TBwrkfk will be located undef this 小伯出orWo Create Separate Wo rkare aC.LDRA WcrkartaErowtse.© Use Qassic Settings (Workaraa embedded in Ihe Tool Suite install bon director)C: LDRA_T cwliteSInstMlShield< Back Ne>t 斐 Cancel出現(xiàn)如下界面,采用默認(rèn)設(shè)置,點擊“ Next”出現(xiàn)如下界面,選擇最后一個選項 “Install Minimalist

13、 GNUfor Win32 2.0.0.3 ",點擊 “Next”LDRA Tool Suite - InstjIIShield WizardCoverage SelectionPlease Select Coverage requiredu OO17GB LelA0tatemertt, Branch, MC/DC )>17配 Le BF SJalementP Branch )>D17GB LexlC(Statement )OtheiBranch1MC/DCPF CalLCSAJPlee?e Mote: I he tv 業(yè) hility ot Coverage Metri

14、cs wl depend ipon licensing Option5.These netting總also be modified。皂 the Corfigure->DHarnic Corsge Report 口pitior® menuitem within the Tool Sdte.Iri5talShieW< BackNe«t>Cancel出現(xiàn)如下界面,選擇“是”,點擊“Next”。Install Source Breviera士 the default©i LDRATool Suite ear be configured to use a

15、n evaluation copy of TextPad, which incorporates syntax highlighting,source code Browser, Select YES to in5tall this brow5er出現(xiàn)如下界面,可根據(jù)實際情況安裝所需要的額外工具,默認(rèn)不安裝,點擊“Next”Select any Additianal Io&ls required from the cplions below. Enable Rhapsodv to LDRA Conriect»n Instil TBieq - Separately licens

16、ed Hequhernent? Management ToolInstall TBieq Micro soft Word Add inInstall Wind Riyei Workbench Pliig-in Provides LCRA T ool Suite aperatiorI retail LDRA Eclipse PLig-in - Ptoyides LDRA Tool Suite operation from EcipseInstall and ECI已 Rational Rose Reallime to LDFEA ConnectionSelect Al Clear AHI nst

17、allShield< Back.CshE&lNextBroiwe.Browse al Line Foimat"-Slartd"TBbcowsftCammand Line如果安裝過程中 出現(xiàn)錯誤,忽略。出現(xiàn)如下界面,點擊LDRA Tool Suite - Install Shield Wiza rdSetup Source Code BrowseiPlaaae coriigure the Source Code Srovj?er tD useQ Predefined Source Code BrowserOther Source Code BrowserC:LD

18、RA ToolsuiieTBbrowse.ej(e3t1InstMShield< Back |Newt>Cancel等待安裝完成,出現(xiàn)如下界面,選擇“否”0出現(xiàn)如下界面,選擇“否”LDKA Tool Suitef you choose to bypass setting the required Virtual Memory Allfl«ti&ri. you may #neaurit#r i?CLiee.Select 'Yes' to 5&t or rNQ' to by明饕是(¥)否陋)出現(xiàn)如下界面,安裝完成LDKA To

19、ol Suite - InstallShidd Wizardlnsta|Shie|<j Wiword CompleteSetup i« complste. You may run the irtdlod LDRA T wl Suits by dwble-clicUng or Me program icon installed.Pkasc view the g口ntunts 3 th。Relets Note icori before 射 dtinq iFie program.71 Yes I 楨nl to 疵科 the Release Notes file now,.Click

20、Finish to complete Setup< Eack Kish 一 Caicei安裝完成后,桌面會出現(xiàn)如下四個圖標(biāo)4.2 Testbed工具破解安裝進入 Testbed 8.2 (Win 7)破解目錄,拷貝 Contestbed.exe、Testbed.exe、Toolsuite.ctl三個文件到Testbed的安裝目錄“LDRA_Toolsuite ”下,直接覆蓋原文件。4.3 Testbed工具漢化安裝進入 Testbed 8.2 (Win 7)漢化目錄,拷貝 CPEN.dat文件至I目錄“ C:LDRA_ToolC'下,直接覆蓋原文件;拷貝 CPPPEN.dat文件

21、至IJ目錄CPP下,直接覆蓋原文件5單元測試操作5.1被測對象選擇在Testbed中CK中的“單元”就是一個函數(shù),每次對一個函數(shù)的代碼進行測試,測試時每次需 打開一個源文件。雙擊桌面 “ LDRA Testbed - C_C+ Static and Dynamic Analysis ” 圖標(biāo),打開程序 LDRA Test bed,點擊Testbed的菜單File-> Select File ,通過文件瀏覽窗口,選擇要測試單元所在的源文件。本文以Testbed示例代碼為例來逐步介紹單元測試過程。如C:LDRA_WorkareaExamplesC_tbrun_examplesGgrocers

22、.c。C/C+ LDRA Testbed Version 8,2.0 71975 - 2010 LDRA Ltd.Customer ID : 501661國履 Set Analysis TBrun TBevolve Individual Results Set Results Configure ViewSelect Rie.Select Previewly Analysed File.Select File or Set from TCFSave File or Set to TCFRecent SetsRecent FilesExit- - TBrun minimali reporlinq

23、 mode點擊“打開”之后,可以在工具快捷按鈕欄的下方看見目前選擇的文件。5.2編譯器的確認(rèn)與切換在使用TBrun進行單元測試前需要先確認(rèn)當(dāng)前使用的編譯器是否是正確的,如果不是正確的編 譯器可以切換為正確的編譯器,其操作如下:1 .確認(rèn)編譯器是否為目標(biāo)編譯器在Testbed 中右上角的 “ Options” 窗口中要確認(rèn) “ Current Compiler ” 和 “ Default Compile r”所顯示的內(nèi)容,需要注意兩點,“Current ”和“ Default ”是否是目標(biāo)編譯器“Current”和“ Default ”是否是一樣的,應(yīng)該相同才可以。2 .切換編譯器如果編譯器不是

24、用戶想要的目標(biāo)編譯器需要切換,切換方法如下:點擊Testbed菜單Con巾gure->Switch Compiler,在彈出窗口的編譯器列表中選擇目標(biāo)編譯 器,然后點擊Select按鈕即可如果Other Compilers列表中沒有找到需要的編譯器,可以通過“ Add Compiler”添加所需要的編譯器。點擊“ Add Compiler",彈出的窗口中點擊“是”,進入編譯工具安裝向?qū)В缦聢D所示點擊“Next”,彈出的向?qū)е羞x擇需要安裝的編譯器,本文以安裝“ Wind River Tornado編譯器為例,如下圖所示點擊“Next”,編譯器安裝成功,如下圖所示點擊Testbe

25、d菜單Con巾gure->Switch Compiler,在彈出的窗口中,當(dāng)前默認(rèn)編譯器為安裝的新的編譯器,如下圖所示。Switch CompilerRiver TornadoCurrent Default:0 Ihet Compilers如果“Current Compiler ”和“ Default Compiler ”不一致,需要設(shè)置為一致,如下圖所示ptio-nsCanfigufation OptionsCurrent Compiler - MinGWZOtJ GCC C/C+ v3.ZDjhault Compilei: Wind River 口GLH Results Reposi

26、tory ActiveInstrumented files preprocessedAnalysing include 1ilesLogging onForcing analysis of empty filesSingle standard historyShortening the source code設(shè)置方式為點擊Testbed菜單Con巾gure->Switch Compiler ,在彈出窗口中點擊 Reset Current File 按鈕來設(shè)置。Svjitch Compi lerCurrent DefaUt: Wind River T ornddoOther Compile

27、rs5.3 打開單元測試模塊 Tbrun由Testbed進入Tbrun有三種模式,每種模式對應(yīng)不同的測試類型,三種模式分別為:“Integration Unit/ Module Test”(集成測試,所有的函數(shù)都集成起來)、“Isolation Unit/ Module Test” (集成測試,適合增量測試,只有選定的函數(shù)集成,未選中的將被打樁)和“ Unit Test Only : C代 碼的單元測試使用“ Unit Test Only ”模式,CPP勺單元測試使用另外兩種模式皆可。點擊 Testbed 菜單 TBrun-> Unit Test Only ,即可進入 Tbrun 模塊。

28、C/C+ LDRA Testbed Version 8,Z0 ?1975 * 2010 LDFIA Ltd.CustFile Sei 如已施句 TBrun TBevolve rdividual Results Set Results Con3|電密Select IndiviJFile under test Jestri,InstruC;LDIntegration Unit / Module Te5tIsolation Unit / Module Te5tUnit Te5t onlyGerrerate Interfaee ReportsRun TBrun Regression Analysis&

29、#39;Miite Box InstrumentaticnInvoke TBrun For All Files in SetIrrvoke TBrun For electe-d Individual File Invoke TBrun For Multiple Files in Set Select Multiple Filej for TBrun invoc3ti<jrih.5.4 創(chuàng)建測試序列(Sequence)在TBrun中是使用測試序列(sequence)來容納測試用例和測試數(shù)據(jù)的,進入 Tbrun后第一步需要做的就是創(chuàng)建測試序列。建議每一個函數(shù)對應(yīng)一個測試序列,便于用例管理在T

30、Brun的菜單Sequence-New點擊,彈出測試序列創(chuàng)建窗口,在“ Sequence names下面需 要用戶寫入Sequence的名字(最好與函數(shù)名稱對應(yīng));窗體下面的選項卡設(shè)置如下,在“ Code Cove rage”選項卡中把選擇框“ Code Coverage”選上,此項可自動計算覆蓋率信息,在“Test Enviroment” 選項卡中把選擇框 “ Create Dicitoary "、“Create User Globals"、“Create Stubs”,注意“Test build ”選擇框不要選,其他保持默認(rèn)設(shè)置即可;然后點擊“ Continue”按鈕即

31、可。Specify N日mt forNew Sequence59queue電 Nmiinf.buy_fmi t_ex_Eeq« HideCod已 Cover age |la£t En-if*麗| Build , Eicgcuti tm 匚 oiniaiidESunnari 口.Code Ccrve(age7 Code Caver ageKeep settings 己& default.口毗】由取:“Z L群助5.5創(chuàng)建測試用例在Tbrun窗體的右上角,點擊文件名能夠展開顯示文件中所包含的函數(shù),把鼠標(biāo)放到某個函數(shù)名上,右鍵彈出菜單點擊“ Create New Test

32、 Case ",如下圖所示。EdJfU $叫心3rw。鼻3 Ku向 Di wdn- 510 M4n49clmmV'Oifroil Vifufciflc cz,fB£Wflr, fi-joiMd rjsr吮 6 M產(chǎn)舊哂3聿困*由甲 it 1 K ia 1 t曲IDOfc|jRT| * 匚 Sum S*| S0 ,|。 EAdptMt »Jivlt."JI m I1 i T«rQ tllil * IlDIUIll's叮010 LDU .id刁'fl網(wǎng)4© grEVPT£ 鷺-GlebJi Vii -Ub

33、k-! W infiMiEtv.tuiil-aiM*' Eid31 Eitgirw_ii#ijrjFiQinl由3bl 二i * 號.iwUm二口I'.piinc. - tiTri-" 卡 ca-ven_ptMe - 由 3唇_ * bu匚Ml - At,* chifijisjrirt - irtDieMciiiarv 曲時疝fy . 1*_廓5_胃時削eu3iMMIG鯉srn_2_W也說I呻。ir, mr; Kk ptr| filitflrd h* ncmcq«cficc1.fliliHuyrilag leiJ MM Oto 仃鏘打再怔/ l«G

34、-* * eeK -I * Anjt.chi :i W 押jg Vk 二瓶hg產(chǎn). TS lUT murdj jmRji 5113rd t-d E irireirw TflstFjjTi T£bul* E曲口上,Tt 1:Yf"w FjW&E5te£d PrgMijM Ce-d?廿She Fcwg rapR,Ji. it . 4f. -.I.彈出測試用例創(chuàng)建向?qū)Т翱冢缦聢D所示New Test Case Wizard for Procedure: buy_fiuit_exTBr 皿 is. ab。也 t to create a tstb 電 sed upo

35、n the i liter face who宜口Dari亂' th*$£ the t總寫t cast# the usr be proptd fcr thb«st 丁專miPQQ行飛 Xq Gwirnen£。54 in thy test g8片.申一"o>bal Vari atles§ 'buyp_frui t_« - intDynamic Coverage Metrics Callw-% Ke turn lypw - intI) Faringters Global VariablcEUegative Tastin

36、g ida Effect Hetection)®- Tfr Etin; will b* par formed up 口 nEnabled - Begative Testing Trill be perforrhei for the globalsi Ln tlOHContinue取消幫助在此窗口中會顯示函數(shù)的基本信息,可不用關(guān)注,直接點擊按鈕”Continue”向下進行,這樣個用例創(chuàng)建完成,可在左下角窗口中顯示已經(jīng)創(chuàng)建的用例,以數(shù)字編號用例;在右下角窗口中會顯示此函數(shù)的輸入輸出參數(shù)Te5t Ca eProcedureModule ; Procedureklbuy_f ru it_ex

37、NameR燈Ana ysi-sR.*gre-GMo-r Cc mparis.Q Do-ublie-c li ck io accr-.MaTiagcd Stub,StutrsT-rtrcperiyShortcutJL*stcharIn)xjt pgrarneter aippli-As-sigrHedTdodH 審Input gk&lA閆曠日Tfnjh.pricHp)doubleInpcit globalAsigrHBhdIruiLpritrndoublenput global& 口9 弋 dTrruh:_prite:|2|doubleInpLt gkbsl加電Fdrtruiljr

38、icr5lSdcn-blr-tnpcjf globalAsig -3zfruh price-iJ4doLbleInpct globalAssignad1ocu 城0 1Tls二日廿dnubJrOutput glebaCcmr arr + WriteSOIintFunction resUiFfCcimpdr# + WiTtg!=5.6 設(shè)定測試用例的IO值測試用例的輸入輸出參數(shù)值的設(shè)定是測試的核心, 在這一步?jīng)Q定了有什么樣的輸入和用例運行 之后應(yīng)該有什么樣的輸出(預(yù)期輸出),從而實現(xiàn)了函數(shù)功能的驗證。對于函數(shù)的輸入輸出不只有函數(shù) 的參數(shù),還包含函數(shù)內(nèi)部使用的全局變量。在右下角窗口中工具會顯示出函

39、數(shù)的參數(shù)和內(nèi)部使用的全局變量, 并會顯示每個參數(shù)是輸入還 是輸出,用戶給每個參數(shù)賦值即可,注意輸入以“ I”標(biāo)識的,輸出是以“ O'標(biāo)識的,此處的輸出是 指預(yù)期的輸出值。對于標(biāo)識為“I ”的變量-一定要有一個確定的值,否則用例無法執(zhí)行oValineNameTypeU&cRegression AnalysisF?eMgression Corn2 Do mb Ie dick toMar0gfd StubsTert Case Pr&penyShorUutI rrchdrInput paFanrictcr applk«AsdgncdI 4JLListLjrTir r

40、.LZishdoubleInput: glcboAi'wgnetjI 2fruit_prices(OdoubleInput glebaAssignedll8uit.priu=1l:doubleInput glebaA5dgnedI 2Muit.pri 匚注2doubleInput 9Io baAcdgnwI 2f川憶prims司daubloInput gle baAsdgnooI 2doubleInput gio baAssigned0 4.3匚ueLjeu:占占卜doubleOutpLii globalCompare + Write360.01o叼irtFunction resull

41、Compare + Write 二5.7 設(shè)定測試用例中樁函數(shù)樁一一使用一個函數(shù)原型相同的空函數(shù)來代替原函數(shù)。如果被測函數(shù)中調(diào)用了其他函數(shù),則被調(diào)用函數(shù)會被打樁, 如果被調(diào)用函數(shù)的返回值影響了被測函數(shù)的分支流程,或被調(diào)用函數(shù)的動作影響了被測函數(shù)的分支流程,則需要對樁進行設(shè)置,一般設(shè)置樁的返回值即可滿足。在Tbrun的右下角窗口中,雙擊“ Double- click to access ”圖標(biāo)即可打開樁的屬性設(shè)置其返 回值等。alueNarTypeiUegR»enrEEsioTi Ara eisReg res-0Coub e clit:. accessManaged StubsSLib

42、sTest Case PropertyShortcut1 EfirchoirdiflrInput parameter appli”AssignedI 4.3cyitomer.cashdoubleInput globalAs£gn4dI 2fruitjariceslOdoubleInput global總當(dāng)上ign與dT 2fuit_prmdoubleInput globalAssignedT2Fnjit=prk«"2|doubleInput globalAss gn-dI 2fruit prires J|ddubkInput ql&MIqned2fruit

43、_pri«5MdoubleInput globalAssigned0 4.3cyttomw.cicIHdoubleOiMput globilComp a rip * Writ#W.010%intFurction retultCcmpji# + Wince1 =在樁函數(shù)右鍵,彈出菜單,選擇“ Set Return Value On Exit ”,彈出返回值設(shè)定窗口。在圖中的“Value”設(shè)定返回值,點擊“ OK 。Return Value Set on Exit - char_tofruitGflnprAfe 君 list M to "el on aw*Press the &

44、#39;Import11 button to add vaoiable detected iMthiin lh& analysis of the source code.Care should be taken in setting values for exit in th凌 the value for the variable must be changable. e.g. it should not be a constantPrcs-s the ,T,Jcw"lbjtton to gdd o new user specified cn(ry.The prepertie

45、s of 七 variable m到 be modifed by selecting the va laNe in the value column and accessing the light hand context menu.ValueNameTypeValue 池日0力.ImportNewRsmcveRemove AU1 L 1Caned5.8 執(zhí)行測試用例測試用例的io設(shè)置和樁的設(shè)定之后,此用例就構(gòu)造完成了,接下來要做的就是執(zhí)行用例,有兩 種運行方式,操作方法如下:a. 一鍵式運行用例;在測試用例管理窗口中的空白處右鍵可彈出菜單,點擊“ Run Test Case Driver ”

46、即可運行用例。Press F2 Io run (he Seq> r?ady for analysisfClear New T&st Ca5eTeet Ca5eMUGenerate DriverBuild DriverLx&cute DriverSplit R*gwsion Driver OutputProcess Regression Driver OutputView / Edit Driver ProgramView / Edit Driver Host Programb.分步式執(zhí)行用例;在測試用例管理窗口中的空白處右鍵可彈出菜單,按順序點擊“Generate Dri

47、ver ”、“Build Driver ”、“Execute Driver ”、( “Split Regression DriverOutput”)、“Process Regression Driver Output ”,每執(zhí)行一步如果執(zhí)行成功則會在旁邊以提示,如果不成功則沒有,請排查原因。Executing sequencer program finishedJjrrVIITe?t Casef"""SRegression P / FClar New Test CaseRun Test Case DriverGenerate DriverBuild DriverE

48、xecute DriverSplit Regreesioin Driver OutputProcess Regression Driver OutputView / Edit Driver ProgramView / Edit. Driver Host Program5.9 查看執(zhí)行結(jié)果單元測試其測試結(jié)果由兩部分構(gòu)成:函數(shù)功能驗證和函數(shù)覆蓋率信息;函數(shù)功能的驗證是通過用例的執(zhí)行之后的用例確認(rèn)對話框中的Pass/Fail結(jié)果反應(yīng)的。日 New Test Case 1 buy_fruit_x (Ggracers.c)Value for StoiragePass / FailExpected Val

49、ueAchjd ValueNd meT ;I 'm''m1firsl_charclI 4.343g 的 m,zwh小fI 22fruit_pricft50d»I 22fruit_Piicesld(I 22huiLpric 舞2dI 2T f2rfruit_pnc&s3t 'i _ r *id- wVJIIFt .h.rTest Cse Pa腎 / Fail 5由寫 PASSJ Finn Dynamic Coverage口口 ru 富h to add this new test cose and its outputs to tkie inter

50、ral database? This means that:1 he Test Case i& correct.The output of the procedure analysed 和e correct.You wish to stare tkem Foi regression testiftg.I尉t 匚雷,/ Fail ReportReportFqi more defiled rults including 社ub gn白如鼾芬 arid negative testing, pre5,bReport" 2 5白網(wǎng) the T知 Cae Pas $ Fail Repor

51、tOKCancelD cementHelp5.10查看測試覆蓋率方式一:函數(shù)的覆蓋率信息可通過動態(tài)覆蓋率分析報告來查看,在Tbrun的菜單Result->Dynamic Coverage Analysis Report點擊即可,此報告中包含整個文件中所有函數(shù)的語句、分支、 MC/DC覆蓋率信息。如下圖所示,該函數(shù)語句覆蓋率為 67%分支覆蓋率為50%S*curci& SeqiuefiM Cae Run DnYfrr Stub Mancg?riwnt Globo Variables Diet。白 ry £si:rem& T«t R.«uk5 I

52、 Coni'guns ViewSoti noe E e修華茴笫國|珀|& 翁OI «黑Source <Sequence by_frli t_ej(_seqi (O : FiL 1; Teal Caw 0 : Uril Trst Mode1* File : CLL)RA WarkareayzxannpIeElC tbrun examplrocers.c* Procedure : biuy_friit_cx .1El8 Kli,與人1111.工18tl息事工工扈里J.J.工工肥工工工Input for flrst char r'm'Input tor

53、 cuatomer.caBh = 4.3Inpul faf frLill_|irii:Ksni - ?Input hr什11憶帆。壽口 * 2iiiDdt fur Iruit 口riC2l - 2"cit Case Pais Fail Report-est Case StzTg e Rcpcrt5t Caw Variable U$請9/ ReportRk; ret cion R>pcnDyr與 nrk Ccveraqe Amal fis ReportCwFvgw Rpji&rrValiidaaiorik ReportsAnly's Reports點擊buy_fr

54、uit_ex 函數(shù),進入語句、分支覆蓋詳細(xì)信息。其中“ 1”表示已覆蓋,“0”表示該語旬或分支未覆蓋。如下圖所示方式二:函數(shù)的覆蓋率信息可通過 TBrun直接查看,如下圖所示,buy_fruit_ex 函數(shù)語句覆蓋率為67%分支覆蓋率為50%b uy_fruiF e Ggr匚em Statement Coverage - Current - 3% - C.ombired - 3站 Branch Decision Coverage - Current - 2% - Combined - 2%+1-。Global Variables 整 initiali5e_customer void Combined - S 0% - B 0%+1-那 customer-cashjnjectiGrn - double - Combin

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論