軟件測試自動化方法與工具_第6講(測試文檔-不變量-蛻變)_第1頁
軟件測試自動化方法與工具_第6講(測試文檔-不變量-蛻變)_第2頁
軟件測試自動化方法與工具_第6講(測試文檔-不變量-蛻變)_第3頁
軟件測試自動化方法與工具_第6講(測試文檔-不變量-蛻變)_第4頁
軟件測試自動化方法與工具_第6講(測試文檔-不變量-蛻變)_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第6講軟件測試文檔、不變量測試講軟件測試文檔、不變量測試與蛻變測試與蛻變測試主講 吳取勁2016.46.1軟件測試文檔寫作模板要素軟件測試文檔寫作模板要素P228討論內(nèi)容討論內(nèi)容:1.測試大綱寫作模板測試大綱寫作模板2.軟件測試計劃寫作模板軟件測試計劃寫作模板3.測試任務說明書寫作模板測試任務說明書寫作模板4.測試需求說明書寫作模板測試需求說明書寫作模板5.單元測試寫作模板單元測試寫作模板6.代碼檢查寫作模板代碼檢查寫作模板7.程序錯誤報告寫作模板程序錯誤報告寫作模板8.程序設計寫作模板程序設計寫作模板9.測試用例寫作模板測試用例寫作模板10. 軟件測評寫作模板軟件測評寫作模板軟件測試技術研

2、究組軟件測試技術研究組 中國信息大學中國信息大學討論內(nèi)容討論內(nèi)容:11. 功能測試寫作模板功能測試寫作模板12. 性能測試寫作模板性能測試寫作模板13. 可靠性測試寫作模板可靠性測試寫作模板14. 集成測試寫作模板集成測試寫作模板15. 系統(tǒng)測試寫作模板系統(tǒng)測試寫作模板16. 驗收測試寫作模板驗收測試寫作模板17. 測試分析報告寫作模板測試分析報告寫作模板18. 測試總結寫作模板測試總結寫作模板19. web測試寫作模板測試寫作模板20. 軟件安全性測試寫作模板軟件安全性測試寫作模板 軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學1 測試測試大綱寫作大綱寫作模板要素模板要素 測

3、試大綱的主要內(nèi)容是:測試策略是什么、需要測試大綱的主要內(nèi)容是:測試策略是什么、需要做哪些測試、測試過程如何組織、測試人員包括做哪些測試、測試過程如何組織、測試人員包括哪些?哪些? 測試大綱是測試單位為了獲得測試任務,在項目測試大綱是測試單位為了獲得測試任務,在項目招標階段編制的文件,它是測試單位參與投標時招標階段編制的文件,它是測試單位參與投標時投標書內(nèi)容的重要組成部分投標書內(nèi)容的重要組成部分。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學2 測試計劃模板要素測試計劃模板要素 測試計劃說明書是項目經(jīng)理或者開發(fā)項目的負

4、測試計劃說明書是項目經(jīng)理或者開發(fā)項目的負責人編寫的責人編寫的, 并交給最終用戶、系統(tǒng)集成人員、并交給最終用戶、系統(tǒng)集成人員、測試人員、軟件開發(fā)人員、軟件管理人員。測試人員、軟件開發(fā)人員、軟件管理人員。 最終用戶用來核實軟件開發(fā)、測試實施任務和最終用戶用來核實軟件開發(fā)、測試實施任務和時間人員安排;核實測試需求是否可接受;是時間人員安排;核實測試需求是否可接受;是否使用了適當?shù)臏y試策略,反映出系統(tǒng)或應用否使用了適當?shù)臏y試策略,反映出系統(tǒng)或應用程序按照預定的用途來進行應用。程序按照預定的用途來進行應用。 系統(tǒng)集成人員、測試人員、軟件開發(fā)人員、軟系統(tǒng)集成人員、測試人員、軟件開發(fā)人員、軟件管理人員用來安

5、排工作進度,為整個測試工件管理人員用來安排工作進度,為整個測試工作指明方向。作指明方向。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學 軟件測試計劃是指導測試過程的綱領性文件,軟件測試計劃是指導測試過程的綱領性文件,包含了產(chǎn)品概述、測試策略、測試方法、測試包含了產(chǎn)品概述、測試策略、測試方法、測試區(qū)域、測試配置、測試周期、測試資源、測試區(qū)域、測試配置、測試周期、測試資源、測試交流、風險分析等內(nèi)容。交流、風險分析等內(nèi)容。 測試計劃的目的是粗略的估計測試大致需要的測試計劃的目的是粗略的估計測試大致需要的周期和最終測試報告遞交的時間;測試計劃是周期和最終測試報告遞交的時間;測試計劃是針

6、對測試中的每個環(huán)節(jié)的,單元測試、集成測針對測試中的每個環(huán)節(jié)的,單元測試、集成測試、系統(tǒng)測試等一般都寫測試計劃,寫的重點試、系統(tǒng)測試等一般都寫測試計劃,寫的重點不同。它為整個測試階段的管理工作和技術工不同。它為整個測試階段的管理工作和技術工作提供指南;確定測試的內(nèi)容和范圍,為評價作提供指南;確定測試的內(nèi)容和范圍,為評價系統(tǒng)提供依據(jù)。系統(tǒng)提供依據(jù)。 軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學3 測試任務說明書測試任務說明書模板要素模板要素 測試任務說明書是經(jīng)理或開發(fā)項目的負責人寫測試任務說明書是經(jīng)理或開發(fā)項目的負責人

7、寫作的,傳遞給軟件測試人員、軟件開發(fā)人員、作的,傳遞給軟件測試人員、軟件開發(fā)人員、軟件管理人員。軟件管理人員。 從用戶的角度出發(fā),測試實施任務和時間人員從用戶的角度出發(fā),測試實施任務和時間人員安排;軟件測試人員、軟件開發(fā)人員不能影響安排;軟件測試人員、軟件開發(fā)人員不能影響測試進度;對軟件的開發(fā)過程中每個版本完成測試進度;對軟件的開發(fā)過程中每個版本完成測試任務。測試任務。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學4 測試需求說明書測試需求說明書模板要素模板要素 測試需求說明書闡述一個測試軟件系統(tǒng)必須提測試需求說明書

8、闡述一個測試軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件供的功能和性能以及它所要考慮的限制條件,它不僅是系統(tǒng)測試和用戶文檔的基礎,也是所它不僅是系統(tǒng)測試和用戶文檔的基礎,也是所有子系列項目規(guī)劃、設計和編碼的基礎。有子系列項目規(guī)劃、設計和編碼的基礎。 它應該盡可能完整地描述系統(tǒng)預期的外部行為它應該盡可能完整地描述系統(tǒng)預期的外部行為和用戶可視化行為。和用戶可視化行為。 除了設計和實現(xiàn)上的限制,軟件需求規(guī)格說明除了設計和實現(xiàn)上的限制,軟件需求規(guī)格說明不應該包括設計、構造、測試或工程管理的細不應該包括設計、構造、測試或工程管理的細節(jié)。節(jié)。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信

9、息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學5 單元測試模板要素單元測試模板要素 單元測試又稱為模塊測試,主要步驟為程序語單元測試又稱為模塊測試,主要步驟為程序語法檢查和程序邏輯檢查等。其目的在于發(fā)現(xiàn)各法檢查和程序邏輯檢查等。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯。單元測試需要模塊內(nèi)部可能存在的各種差錯。單元測試需要從程序的內(nèi)部結構出發(fā)設計測試用例。多個模從程序的內(nèi)部結構出發(fā)設計測試用例。多個模塊可以平行地獨立進行單元測試。塊可以平行地獨立進行單元測試。 軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學

10、中國信息大學6 代碼檢查代碼檢查模板要素模板要素 代碼檢查是靜態(tài)測試代碼檢查是靜態(tài)測試的主要方法,代碼檢的主要方法,代碼檢查包括代碼走查、桌查包括代碼走查、桌面檢查、流程圖審查面檢查、流程圖審查等。等。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學7 程序錯誤報告模板要素程序錯誤報告模板要素 程序錯誤將會導致系統(tǒng)功能和性能與需求程序錯誤將會導致系統(tǒng)功能和性能與需求說明不相符。說明不相符。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學8 程序設計寫作程序設計寫作模板要素模板要素 程序設計程序設計(Programming)是指設計、編制、調(diào)試是指設計、編制、調(diào)試程序

11、的方法和過程。程序設計的基本概念有程程序的方法和過程。程序設計的基本概念有程序、數(shù)據(jù)、子程序、子例程、協(xié)同例程、模塊序、數(shù)據(jù)、子程序、子例程、協(xié)同例程、模塊以及順序性、并發(fā)性、并行性、分布性等。程以及順序性、并發(fā)性、并行性、分布性等。程序是程序設計中最為基本的概念,子程序和例序是程序設計中最為基本的概念,子程序和例程都是為了便于進行程序設計而建立的程序設程都是為了便于進行程序設計而建立的程序設計基本單位,順序性、并發(fā)性、并行性和分布計基本單位,順序性、并發(fā)性、并行性和分布性反映程序的內(nèi)在特性。性反映程序的內(nèi)在特性。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學1. 引言引言1.

12、1 目的1.2 定義和縮寫詞1.3 參考資料2. 編碼風格編碼風格2.1 程序編碼要采用縮進風格編寫2.2 編寫子程序一定要做注釋2.3 相對獨立的程序塊之間、變量說明之后必須加空行3. 注釋注釋注釋的原則是有助于對程序的閱讀理解,注釋語言必須準確、易懂、簡潔。4. 標識符命名標識符命名6.2 標識符的命名要清晰、明了,有明確含義6.3 命名中若使用特殊約定或縮寫,則要有注釋說明。5. 可讀性可讀性6. 變量、結構變量、結構7. 函數(shù)、過程函數(shù)、過程7.1 對所調(diào)用函數(shù)的錯誤返回碼要仔細、全面地處理。7.2 明確函數(shù)功能7.3 編寫可重入函數(shù)時,應注意局部變量的使用8. 可測性可測性9. 程序

13、效率程序效率9.1 編程時要經(jīng)常注意代碼的效率9.2 提高代碼效率10. 質(zhì)量保證質(zhì)量保證10.1 代碼質(zhì)量保證原則11. 代碼編輯、編譯、審查代碼編輯、編譯、審查11.1 打開編譯器的所有告警開關對程序進行編譯。11.2在產(chǎn)品軟件(項目組)中,要統(tǒng)一編譯開關選項。11.3 通過代碼走讀及審查方式對代碼進行檢查。12. 代碼測試、維護代碼測試、維護13. 宏宏軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學9 測試用例測試用例寫作寫作模板要素模板要素 測試用例是軟件測試的核心,測試用例的設計測試用例是軟件測試的核心,測試用例的設計和編寫是軟件測試活動中最重要的。和編寫是軟件測試活

14、動中最重要的。 測試用例目前沒有經(jīng)典的定義,比較通常的說測試用例目前沒有經(jīng)典的定義,比較通常的說法是:法是:“指對一項特定的軟件產(chǎn)品進行測試任指對一項特定的軟件產(chǎn)品進行測試任務的描述,體現(xiàn)測試方案、方法、技術和策略;務的描述,體現(xiàn)測試方案、方法、技術和策略;內(nèi)容包括測試目標、測試環(huán)境、輸入數(shù)據(jù)、測內(nèi)容包括測試目標、測試環(huán)境、輸入數(shù)據(jù)、測試步驟、預期結果、測試腳本等,并形成文試步驟、預期結果、測試腳本等,并形成文檔檔”。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學10 軟件軟件測評測評模板要素模板要素 軟件測評是以測

15、試項目為對象,保證軟件產(chǎn)品軟件測評是以測試項目為對象,保證軟件產(chǎn)品的性能和質(zhì)量而制定的。軟件測評是被測評軟的性能和質(zhì)量而制定的。軟件測評是被測評軟件的開發(fā)者填寫測評登錄表、適用程度測評表件的開發(fā)者填寫測評登錄表、適用程度測評表(適用程度測評的主要目的是確認被測評軟件(適用程度測評的主要目的是確認被測評軟件在實測中具備的功能與該軟件產(chǎn)品推廣范圍內(nèi)在實測中具備的功能與該軟件產(chǎn)品推廣范圍內(nèi)所應具備的基本功能的吻合程度)、數(shù)據(jù)管理所應具備的基本功能的吻合程度)、數(shù)據(jù)管理測評表、整理編目測評表、檢索查詢測評表、測評表、整理編目測評表、檢索查詢測評表、輔助實體管理測評表、安全保密測評表、系統(tǒng)輔助實體管理測

16、評表、安全保密測評表、系統(tǒng)維護測評表、兼容性測評表、速度測評表、易維護測評表、兼容性測評表、速度測評表、易用性測評表、容錯性測評表、安全可靠性測評用性測評表、容錯性測評表、安全可靠性測評表、軟件資料測評表、總體測評結果表。表、軟件資料測評表、總體測評結果表。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學11 功能測試模板要素功能測試模板要素 功能測試是對產(chǎn)品的功能進行驗證,各個功能功能測試是對產(chǎn)品的功能進行驗證,各個功能模塊是否正確,邏輯是否正確。對測試應側(cè)重模塊是否正確,邏輯是否正確。對測試應側(cè)重于業(yè)務功能和業(yè)務規(guī)

17、則的測試。檢查產(chǎn)品是否于業(yè)務功能和業(yè)務規(guī)則的測試。檢查產(chǎn)品是否達到用戶的功能要求。對于功能測試,針對不達到用戶的功能要求。對于功能測試,針對不同的應用系統(tǒng),其測試內(nèi)容的差異很大,但一同的應用系統(tǒng),其測試內(nèi)容的差異很大,但一般都可歸為界面、數(shù)據(jù)、操作、邏輯、接口等般都可歸為界面、數(shù)據(jù)、操作、邏輯、接口等方面。方面。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學 軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學12 12 性能測試模板要素性能測試模板要素 性能測試主要是響應時間、事務處理速率、資性能測試主要是響應時間、事務處理速率、資源占用率測試、兼容性、易用性、用戶

18、文檔、源占用率測試、兼容性、易用性、用戶文檔、效率、可擴充性進行的測試。效率、可擴充性進行的測試。 軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學13 可靠性測試模板要素可靠性測試模板要素 可靠性測試是為了滿足軟件可靠性要求,進可靠性測試是為了滿足軟件可靠性要求,進行一系列設計、分析、測試等工作。其中確行一系列設計、分析、測試等工作。其中確定軟件可靠性要求是軟件可靠性測試中需要定軟件可靠性要求是軟件可靠性測試中需要解決的首要問題。可靠性要求可以包括定性解決的首要問題。可靠性要求可以包括定性及定量要求等。及定量要求等。

19、 可靠性測試也是評估軟件可靠性水平,驗證可靠性測試也是評估軟件可靠性水平,驗證軟件產(chǎn)品是不是達到軟件可靠性要求的重要軟件產(chǎn)品是不是達到軟件可靠性要求的重要且有效的途徑。且有效的途徑。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學14 集成測試模板要素集成測試模板要素 集成測試的檢測重點包括:子系統(tǒng)功能的關聯(lián)性集成測試的檢測重點包括:子系統(tǒng)功能的關聯(lián)性測試、鏈接完整性測試、數(shù)據(jù)和數(shù)據(jù)庫完整性測測試、鏈接完整性測試、數(shù)據(jù)和數(shù)據(jù)庫完整性測試、功能測試、頁面完整性測試等。試、功能測試、頁面完整性測試等。 集成測試可以劃分成集

20、成測試可以劃分成3個級別:個級別:1. 模塊內(nèi)集成測試;2. 子系統(tǒng)內(nèi)集成測試;3. 子系統(tǒng)間集成測試。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學15 系統(tǒng)測試模板要素系統(tǒng)測試模板要素 完成集成測試后,還需要進行系統(tǒng)測試。系統(tǒng)完成集成測試后,還需要進行系統(tǒng)測試。系統(tǒng)測試是將已經(jīng)通過集成測試的軟件、計算機硬測試是將已經(jīng)通過集成測試的軟件、計算機硬件、外設和網(wǎng)絡等其他因素結合在一起,與系件、外設和網(wǎng)絡等其他因素結合在一起,與系統(tǒng)需求說明書、系統(tǒng)方案說明書相比較,發(fā)現(xiàn)統(tǒng)需求說明書、系統(tǒng)方案說明書相比較,發(fā)現(xiàn)系統(tǒng)與用戶需

21、求不符或矛盾的地方系統(tǒng)與用戶需求不符或矛盾的地方,所以在系所以在系統(tǒng)實施運行前要進行系統(tǒng)測試。統(tǒng)實施運行前要進行系統(tǒng)測試。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學16 驗收測試模板要素驗收測試模板要素 驗收測試是依據(jù)軟件開發(fā)商和用戶之間的合同、驗收測試是依據(jù)軟件開發(fā)商和用戶之間的合同、軟件需求說明書以及相關行業(yè)標準、國家標準、軟件需求說明書以及相關行業(yè)標準、國家標準、法律法規(guī)等對軟件的功能、性能、可靠性、易法律法規(guī)等對軟件的功能、性能、可靠性、易用性、可維護性、可移植性等特性進行嚴格的用性、可維護性、可移植性等特性進行嚴格的測試,驗證軟件的功能和性能及其他特性是否測試,驗

22、證軟件的功能和性能及其他特性是否與業(yè)務需求一致。與業(yè)務需求一致。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學17 測試測試分析報告模板分析報告模板 測試分析報告是測試主要報告之一。測試分析測試分析報告是測試主要報告之一。測試分析報告是建立在正確的、足夠的測試結果的基礎報告是建立在正確的、足夠的測試結果的基礎之上,不僅要提供必要的測試結果的實際數(shù)據(jù),之上,不僅要提供必要的測試結果的實際數(shù)據(jù),同時要對結果進行分析,對產(chǎn)品質(zhì)量進行準確同時要對結果進行分析,對產(chǎn)品質(zhì)量進行準確的評估。的評估。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研

23、究組 中國信息大學中國信息大學18 測試總結模板測試總結模板 軟件測試總結的就是對整個測試流程進行科學軟件測試總結的就是對整個測試流程進行科學和系統(tǒng)的總結,并根據(jù)這些結果對測試進行評和系統(tǒng)的總結,并根據(jù)這些結果對測試進行評價。這種報告是測試人員對測試工作進行總結。價。這種報告是測試人員對測試工作進行總結。軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學19 Web測試模板要素測試模板要素 Web測試與一般應用系統(tǒng)的測試不同,鏈接的測試與一般應用系統(tǒng)的測試不同,鏈接的吻合性是吻合性是web應用系統(tǒng)的一個主要特征,需要應用

24、系統(tǒng)的一個主要特征,需要檢查和驗證系統(tǒng)是否按照設計的要求運行,而檢查和驗證系統(tǒng)是否按照設計的要求運行,而且測試系統(tǒng)在不同用戶的瀏覽器上顯示是否合且測試系統(tǒng)在不同用戶的瀏覽器上顯示是否合適。更重要的是,還要從最終用戶的角度進行適。更重要的是,還要從最終用戶的角度進行Web的功能測試、的功能測試、Web的性能測試(包括負載的性能測試(包括負載/壓力測試)、壓力測試)、Web的用戶界面測試、的用戶界面測試、Web的兼的兼容性測試、容性測試、 Web的安全性測試、的安全性測試、Web的接口測的接口測試、安全性測試和可用性測試。試、安全性測試和可用性測試。軟件測試技術研究組軟件測試技術研究組 中國信息大

25、學中國信息大學軟件測試技術研究組軟件測試技術研究組 中國信息大學中國信息大學20 軟件軟件安全性安全性測試模板要素測試模板要素 安全性測試是軟件生命周期中保證軟件是安全的一安全性測試是軟件生命周期中保證軟件是安全的一個重要的環(huán)節(jié)。軟件安全性測試包括用戶認證安全、個重要的環(huán)節(jié)。軟件安全性測試包括用戶認證安全、系統(tǒng)網(wǎng)絡安全、數(shù)據(jù)庫安全性測試。系統(tǒng)網(wǎng)絡安全、數(shù)據(jù)庫安全性測試。6.2基于不變量的測試技術研究 6.2.1驗證測試中的問題 6.2.2基于不變量的測試技術 6.2.3應用基于不變量的測試解決前述問題的思路6.2.1驗證測試中的問題 現(xiàn)有驗證測試所采用的方式依舊以人工方式為主,針對具體的軟件所

26、涉及的領域,由項目組確定領域?qū)<倚纬蓪<医M,由專家組選擇最關注的技術物理量,并為其設定領域中的約束,形成驗證測試計劃書,再依據(jù)計劃書對軟件進行運行數(shù)據(jù)的采集,專家組對采集到的數(shù)據(jù)進行約束性檢查,最終形成驗證測試報告。6.2.1驗證測試中的問題 從客觀性和效率兩方面考慮,這種測試方式存在著改進空間。 客觀性方面,人工方式采集數(shù)據(jù)時容易帶入人因因素的噪音數(shù)據(jù),從而干擾專家組的判定;專家組選定的技術物理量集合相對固定,人的主觀性占據(jù)很重要的位置,物理量集合不能靈活地擴充修正以及是否合理,都是驗證測試中需要認真對待的問題。 效率方面,由于核電設計與分析軟件涉及的計算量數(shù)目眾多,人工方式采集工作量很大,

27、實際采集的算例數(shù)目不夠充分(實際做法中最多也只有10余個),這作為最終結論的支撐論據(jù)似為不夠。6.2.2基于不變量的測試技術 在軟件范疇內(nèi),不變量是指軟件程序中蘊含的不變性質(zhì)或規(guī)律。不變量的表現(xiàn)形式簡單,如下表所示:1x02Y=3*x+63Array A is sorted4.fieldabs(X)5D=one of MON,TUE,WED,THU,FRI6.2.2基于不變量的測試技術 不變量的作用多樣,下面總結了一些最近的研究中出現(xiàn)的不變量的作用: 1) 程序不變量可以用于檢測軟件缺陷、軟件錯誤等。提取程序動態(tài)運行時的不變量,作為程序的不變屬性,監(jiān)測程序運行中與這些性質(zhì)相互沖突的地方,即為疑

28、似的軟件錯誤所在。 2) 程序不變量可以輔助程序編碼過程。通過分析待編寫程序的需滿足的不變量條件,刻畫程序的屬性依賴關系圖,利用該關系圖輔助編碼過程,可以有效減少軟件編寫錯誤。6.2.2基于不變量的測試技術 不變量的作用多樣,下面總結了一些最近的研究中出現(xiàn)的不變量的作用: 3) 自動化提取程序不變量方法的出現(xiàn),為軟件測試自動化技術的研究提供了新的思路。以往手動提取不變量用來對程序進行測試的方法,已經(jīng)可以引入到自動化測試方法中來。為進一步提高軟件測試的效率打下了堅實的基礎。 4) 程序不變量可以過濾無效測試用例。將測試用例通過被測試程序運行,若自動化提取到的不變量結果不發(fā)生變化,則可以認為該用例

29、為無效用例,可直接過濾。6.2.3應用基于不變量的測試解決前述問題的思路 針對手工方式中客觀性問題,應用陽小華工作團隊的研究成果,在被測軟件對象中盡可能多地發(fā)現(xiàn)不變量,補充進專家設定的不變量庫中,解決其有限性問題;通過不變量可信度評估來降低噪音數(shù)據(jù)的影響。 針對手工方式中效率問題,應用陽小華工作團隊自主開發(fā)的集成測試用例自動生成工具,生成充分的測試用例,并使用組合測試技術與不變量指導用例生成技術獲取小規(guī)模的有效測試用例集,提升整體的測試效率。6.3蛻變測試技術研究 6.3.1蛻變測試 6.3.2蛻變測試例子(1)核電設計與分析軟件測試)核電設計與分析軟件測試-需求需求軟件的正確性-驗證計算的結

30、果是不是正確?“test oracle ” 問題 :即沒有預期值來驗證計算結果是不是正確。 比如算一個積分 ,要得到其預期值很困難,對于被積分函數(shù)是一個復雜的函數(shù),就更加困難。 dxx102)1sin(6.3.1蛻變測試(2)“test oracle ” 問題解決方法問題解決方法直接方法 a、形式化驗證(formal verification) b、程序證明(program proving) 這兩類方法基于數(shù)學形式化描述和推理的方法,但是在實際的復雜的軟件程序中很難證明和實現(xiàn)自動化1。1. Hailpern, B., Santhanam, P.: Software debugging, tes

31、ting, and verification. IBM Systems Journal 41 (2002) 4126.3.1蛻變測試(2)“test oracle ” 問題解決方法問題解決方法間接方法 蛻變測試 1998年澳大利亞墨爾本大學的Tsong Yueh Chen在文獻2提出了蛻變測試方法(Metamorphic Testing),此后,Chen很快地可以注意到,蛻變測試能夠應用在無預期值的情形,也就是解決Oracle問題方面發(fā)揮其作用2T.Y. Chen, S.C. Cheung, and S.M. Yiu. Metamorphic testing: a new approach for generating next test cases. Technical Report HKUST-CS98-01, University of Science and Technology, Hong Kong.199

溫馨提示

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

最新文檔

評論

0/150

提交評論