翻譯|使用教程|編輯:況魚杰|2021-03-01 10:25:55.150|閱讀 475 次
概述:本文包含一組練習,涉及單元測試的各個方面。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Parasoft C/C++test針對C/C++開發的專業白盒自動化測試方案,能有效提高軟件開發效率和代碼質量。C++test 可以進行靜態分析,全面代碼審查,運行時錯誤檢測,并在單元測試和組件測試中集成覆蓋率分析。
本文包含一組練習,涉及單元測試的各個方面。使用引言中提供的信息以及在練習中學習到的測試實踐,您可以制定出滿足您特定要求的測試原理。有關在C ++ test中執行測試和覆蓋率分析的詳細信息,請參閱《 C ++ test用戶指南》的“測試生成和執行”部分。
先決條件
ATM項目必須在您的工作空間中可用。有關如何實現此目的的詳細信息,請參見教程-創建C ++ test項目。
C ++ test單元測試簡介
任何測試活動都需要定義和理解:
測試目標/要求
測試指標
測試策略
測試預算
獨立的項目范圍的單元測試
選擇一種方法時,要考慮的一個因素是是單獨執行單元測試還是在整個項目范圍內執行API測試。
孤立地進行單元測試意味著創建通常不使用在測試文件外部定義的功能的測試,出于測試目的,這些測試將被存根替換。
具有項目范圍的單元或API測試將創建完全耦合的測試,這些測試使用了被測單元可用的所有外部功能。 結果是所需存根的數量大大減少,并且集合中的每個測試都可以行使一個或多個功能,因此,相對于測試數量而言,可以獲得更大的總體測試覆蓋率。
隔離單元測試注意事項
項目測試需求要求對單元測試進行隔離(目的是在代碼集成之前驗證底層功能)。
測試必須與新開發的源代碼一起提交。有問題的文件編譯后,可以立即進行隔離測試。
該項目是從頭開始開發的,在許多情況下,大多數依賴項組件或類都不可供開發人員編寫測試使用。
對于少量文件,隔離的單元測試通常需要較少的工作來配置和運行。處理小得多的文件也可能會大大減少C ++ test的總體測試準備和運行時間。測試更大的文件隔離集時,在定義存根和管理存根文件時應格外小心。
注意:在隔離測試中開發的測試通常可以在以后的測試周期中重新用于項目級別的測試。可以通過定義特定的源文件,庫和存根文件來調整已測試代碼與系統其余部分的耦合,以供測試目的使用或忽略。所有這些都可以通過C ++ test測試配置中的各種設置來完成。
項目(耦合)單元測試注意事項
該項目是對現有代碼庫的增量修改。
驗證整個項目的功能/用例比實現100%的代碼覆蓋率更為重要。
在項目范圍內進行測試意味著,除非您使用“用戶”存根將其明確存根,否則您選擇進行測試的對象的范圍將擴大到包括項目中定義的所有符號。
在C ++測試流程中,項目級別的單元測試可能會花費更多的時間來處理和準備-但這只是掛鐘時間。設置基于項目的測試的總體工作通常較少。
如果解決了項目中的所有符號,則可以成功鏈接項目,并且您最關心的是單元測試以達到代碼覆蓋率要求,那么最好的方法是在項目范圍內進行初始單元測試。您仍然可以進行基于類的測試,但是當您對選定的類進行覆蓋時,還將測試項目中的其他代碼并報告覆蓋率。
基本程序
存根視圖提供了符號用法的可見性。 提供了一個內置配置,該配置將加載存根視圖并顯示符號,定義類型和位置。 如果計劃將此配置集成到您的過程中,則應復制并重命名該配置。 在生成存根之前,存根視圖將列出不可用或正在使用原始定義的符號(原始代碼在作用域中可用)。 生成存根后,您應該看到所有定義為“原始”或“自動”的符號。 如果創建了用戶存根,它們將顯示為“用戶定義”。
要自動生成存根,請在項目樹中選擇測試范圍,然后運行存根生成配置。 默認情況下,在項目stubs / autogenerated目錄中將存根創建為源代碼。 如果原始定義可用于所有符號,則不會生成任何存根。 查看“存根”視圖以確保定義了所有符號。
選擇范圍并執行配置以運行測試。 測試配置將使用生成的測試基礎結構,測試套件和可用的存根生成測試可執行文件。 該可執行文件將運行,創建結果文件,并將其加載到C ++ test GUI中進行分析。
您還可以使用C ++ test測試用例瀏覽器來查看和選擇一個或多個測試用例來運行。 如果存在針對所選文件或測試之外的代碼的測試,則將忽略它們。 如果選擇中的代碼缺少測試,則該代碼將不執行。
步驟
項目范圍
文件范圍(隔離)
階段1:設置測試配置
對于基于主機的測試,用于生成測試,生成存根和運行測試的內置配置應該可以正常工作。 但是,最好將內置配置復制到用戶定義的文件夾中,以確保環境一致。 始終使用重復配置,以便您可以輕松識別它并記住其用途。
兩種方法都相同
階段2:選擇一個或多個課程
測試范圍將擴大到包括整個項目以供選擇。 但是,將僅運行與所選代碼關聯的單元測試。
可以通過在項目中選擇一個或多個源文件來設置測試范圍。 為防止在運行單元測試時出現未定義的符號錯誤,應使用與生成存根相同的作用域或作用域的子集。
階段3:生成單元測試
運行“生成單元測試”配置以設置測試基礎結構并創建測試套件。 測試生成不是特定于項目范圍或文件范圍的,因此您可以生成測試并將其用于任一測試方案。 創建測試后,您可以從項目樹中打開測試套件的源代碼,或使用C ++ test測試用例瀏覽器導航到生成的單元測試。
階段4:生成存根
兩種方法都相同
階段5:運行單元測試
兩種方法的步驟相同。 附加說明:選擇測試范圍時,必須選擇與生成存根相同的范圍或范圍的子集。
單元測試練習簡介
以下練習按在項目測試中最喜歡使用的順序進行介紹。 該流程假定您必須在代碼完成且所有功能可用之前進行測試。 最后的練習包括如何生成有關測試工作的報告。
C ++ test測試配置用于設置和管理測試。 實際上,內置的測試配置用于創建模板。 您應該將它們復制到用戶定義的文件夾中,以便可以對其進行檢查和修改以符合您的要求。 以下練習需要幾種測試配置。 我們將在各個練習中介紹每個測試配置的詳細信息。 從以前的課程中可以假定您熟悉復制和修改測試配置。
練習設置
為了準備以下練習,您需要使用新的ATM示例代碼副本進行項目設置,如教程-創建C ++測試項目中所述。
GNU基于主機的測試過程
1.使用C ++ test ATM示例代碼創建用于單元測試的項目目錄。
例如,C:\ C ++ test \ Tutorial \ ATMEclipseGnu \ ATM
2.將以下文件從[C ++ test安裝目錄] \ examples \ ATM復制到新目錄:
3.創建一個C:\ C ++ test \ Tutorial \ ATMEclipseGnu \ ATM \ include目錄,然后將以下文件復制到include目錄。
5.啟動C ++ test并在您創建的ATM父目錄中創建一個新的工作區。
例如:C:\ C ++ test \ Tutorial \ ATMEclipseGnu \ workspace
6.從C ++ test透視圖中,選擇“文件”>“新建”>“項目”。
7.展開C ++,選擇C ++ Project,然后單擊“下一步”。
8.在“項目名稱”字段中輸入ATM。
9.清除“使用默認位置”。
10.瀏覽到ATM Makefile的位置。
例如,C:\ C ++ test \ Tutorial \ ATMEclipseGnu \ ATM
11.在項目類型下,選擇Makefile項目>空項目。
12.在工具鏈下,選擇Cygwin GCC。
13.單擊完成。
14.當您看到一個對話框詢問您是否要打開關聯的透視圖時,請根據您的偏好進行響應。您可以選擇在C / C ++透視圖或C ++ test透視圖中工作。
15.在ATM.cxx上運行靜態分析,作為項目設置的健全性檢查。有關更多信息或運行靜態分析,請參見教程-根據編碼標準分析代碼。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: