軟件測(cè)試教學(xué)PPT課件
軟件測(cè)試教學(xué)PPT課件,軟件測(cè)試,教學(xué)PPT課件,軟件,測(cè)試,教學(xué),PPT,課件
國(guó)家教學(xué)資源庫(kù)建設(shè)項(xiàng)目國(guó)家教學(xué)資源庫(kù)建設(shè)項(xiàng)目單元單元1 軟件測(cè)試入門軟件測(cè)試入門 主講人主講人 翁英萍翁英萍南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試學(xué)習(xí)導(dǎo)航學(xué)習(xí)導(dǎo)航2南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試本單元任務(wù)分解本單元任務(wù)分解3任務(wù)一:理解軟件工程和軟件測(cè)試的聯(lián)系 及軟件測(cè)試模型任務(wù)二:正確理解和認(rèn)識(shí)軟件質(zhì)量的概念 及質(zhì)量保證體系任務(wù)三:理解軟件測(cè)試的分類、原則、策 略和流程建議課時(shí):建議課時(shí):4課時(shí)課時(shí) 南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試本單元各任務(wù)的教學(xué)過(guò)程本單元各任務(wù)的教學(xué)過(guò)程4 項(xiàng)目概述任務(wù)一任務(wù)二任務(wù)三 南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試項(xiàng)目概述項(xiàng)目概述5目標(biāo)目標(biāo)l本單元旨在對(duì)軟件測(cè)試建立概要性、框架性的整體本單元旨在對(duì)軟件測(cè)試建立概要性、框架性的整體認(rèn)識(shí)和全面理解,并為后續(xù)學(xué)習(xí)軟件測(cè)試的策略、認(rèn)識(shí)和全面理解,并為后續(xù)學(xué)習(xí)軟件測(cè)試的策略、方法與實(shí)現(xiàn)技術(shù)建立堅(jiān)實(shí)基礎(chǔ)。方法與實(shí)現(xiàn)技術(shù)建立堅(jiān)實(shí)基礎(chǔ)。l本單元將:本單元將:l介紹軟件工程及其各階段的任務(wù),由此引出軟件介紹軟件工程及其各階段的任務(wù),由此引出軟件測(cè)試模型測(cè)試模型l討論軟件質(zhì)量的概念及質(zhì)量保證體系。討論軟件質(zhì)量的概念及質(zhì)量保證體系。l介紹軟件測(cè)試的分類、原則、策略和流程。介紹軟件測(cè)試的分類、原則、策略和流程。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)一:軟件工程和軟件測(cè)試的聯(lián)系及軟件測(cè)試模型任務(wù)一:軟件工程和軟件測(cè)試的聯(lián)系及軟件測(cè)試模型任務(wù)一:軟件工程和軟件測(cè)試的聯(lián)系及軟件測(cè)試模型任務(wù)一:軟件工程和軟件測(cè)試的聯(lián)系及軟件測(cè)試模型6 任務(wù)簡(jiǎn)介 任務(wù)分析 相關(guān)知識(shí)點(diǎn) 任務(wù)實(shí)施 任務(wù)小結(jié) 拓展訓(xùn)練南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介7任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介l了解軟件測(cè)試的歷史發(fā)展過(guò)程和軟件測(cè)試的現(xiàn)狀。了解軟件測(cè)試的歷史發(fā)展過(guò)程和軟件測(cè)試的現(xiàn)狀。l了解軟件測(cè)試與軟件工程各階段的聯(lián)系了解軟件測(cè)試與軟件工程各階段的聯(lián)系l了解軟件測(cè)試模型了解軟件測(cè)試模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析8l軟件測(cè)試的含義和概念,軟件測(cè)試的含義和概念,l從軟件測(cè)試的歷史發(fā)展階段來(lái)把握。從軟件測(cè)試的歷史發(fā)展階段來(lái)把握。l從軟件工程的角度來(lái)把握。從軟件工程的角度來(lái)把握。l軟件測(cè)試的歷史和現(xiàn)狀,它的背景和意義。軟件測(cè)試的歷史和現(xiàn)狀,它的背景和意義。l軟件測(cè)試和軟件工程的聯(lián)系。軟件測(cè)試和軟件工程的聯(lián)系。l常見(jiàn)的軟件測(cè)試模型。常見(jiàn)的軟件測(cè)試模型。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試相關(guān)知識(shí)點(diǎn)相關(guān)知識(shí)點(diǎn)9知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表l軟件測(cè)試l軟件工程南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試軟件測(cè)試10早期定義早期定義1.1.是證明軟件中不存在錯(cuò)誤的過(guò)程是證明軟件中不存在錯(cuò)誤的過(guò)程2.2.是確信程序做了它應(yīng)該做的事情是確信程序做了它應(yīng)該做的事情(Hetzel,1973)(Hetzel,1973)3.3.是為找出錯(cuò)誤而運(yùn)行程序或系統(tǒng)的過(guò)程是為找出錯(cuò)誤而運(yùn)行程序或系統(tǒng)的過(guò)程(Myers,1979)(Myers,1979)4.4.保證程序和相應(yīng)的規(guī)范說(shuō)明一致。保證程序和相應(yīng)的規(guī)范說(shuō)明一致。5.5.發(fā)現(xiàn)軟件中的缺陷。發(fā)現(xiàn)軟件中的缺陷。6.6.確保軟件不做不必要的事情。確保軟件不做不必要的事情。7.7.確保系統(tǒng)合理地執(zhí)行。確保系統(tǒng)合理地執(zhí)行。8.8.確保系統(tǒng)失敗前可以讓系統(tǒng)運(yùn)行到何種程度確保系統(tǒng)失敗前可以讓系統(tǒng)運(yùn)行到何種程度9.9.確保發(fā)布給用戶的系統(tǒng)中有哪些風(fēng)險(xiǎn)。確保發(fā)布給用戶的系統(tǒng)中有哪些風(fēng)險(xiǎn)。10.ISO900010.ISO9000定義:測(cè)試是一種基于機(jī)器的,對(duì)代碼執(zhí)行測(cè)試,確認(rèn)測(cè)試的活動(dòng)定義:測(cè)試是一種基于機(jī)器的,對(duì)代碼執(zhí)行測(cè)試,確認(rèn)測(cè)試的活動(dòng) 。11.11.對(duì)軟件質(zhì)量的度量對(duì)軟件質(zhì)量的度量(Hetzel,1983)(Hetzel,1983)12.12.驗(yàn)證系統(tǒng)滿足需求,或確定實(shí)際結(jié)果與預(yù)期結(jié)果之間的區(qū)別驗(yàn)證系統(tǒng)滿足需求,或確定實(shí)際結(jié)果與預(yù)期結(jié)果之間的區(qū)別13.13.確認(rèn)程序正確實(shí)現(xiàn)了所要求的功能確認(rèn)程序正確實(shí)現(xiàn)了所要求的功能南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試軟件測(cè)試11標(biāo)準(zhǔn)定義標(biāo)準(zhǔn)定義lIEEE軟件工程(1983)的定義:使用人工或者自動(dòng)手段來(lái)運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過(guò)使用人工或者自動(dòng)手段來(lái)運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過(guò)程程,其目的在于檢驗(yàn)它。是否滿足規(guī)定的需求或弄其目的在于檢驗(yàn)它。是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。它是幫助識(shí)別清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。它是幫助識(shí)別開(kāi)發(fā)完成(中間或最終的版本)的計(jì)算機(jī)軟件(整開(kāi)發(fā)完成(中間或最終的版本)的計(jì)算機(jī)軟件(整體或部分)的正確度體或部分)的正確度(correctness)(correctness)、完全度、完全度(completeness)(completeness)和質(zhì)量和質(zhì)量(quality)(quality)的軟件過(guò)程;是的軟件過(guò)程;是SQA(software quality assurance)SQA(software quality assurance)的重要子域的重要子域南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試軟件測(cè)試12標(biāo)準(zhǔn)定義標(biāo)準(zhǔn)定義l軟件工程知識(shí)體系指南2004版 定義測(cè)試是為評(píng)價(jià)、改進(jìn)產(chǎn)品質(zhì)量、標(biāo)識(shí)產(chǎn)品的缺陷和問(wèn)測(cè)試是為評(píng)價(jià)、改進(jìn)產(chǎn)品質(zhì)量、標(biāo)識(shí)產(chǎn)品的缺陷和問(wèn)題而進(jìn)行的活動(dòng)。題而進(jìn)行的活動(dòng)。軟件測(cè)試由一個(gè)程序的行為在有限測(cè)試用例集合上,軟件測(cè)試由一個(gè)程序的行為在有限測(cè)試用例集合上,針對(duì)期望的行為的動(dòng)態(tài)驗(yàn)證組成,測(cè)試用例是從通常針對(duì)期望的行為的動(dòng)態(tài)驗(yàn)證組成,測(cè)試用例是從通常的無(wú)限執(zhí)行域中適當(dāng)選取的。的無(wú)限執(zhí)行域中適當(dāng)選取的。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件工程軟件工程13由來(lái)由來(lái)l北大西洋公約組織(NATO)在1968年舉辦了首次軟件工程學(xué)術(shù)會(huì)議并于會(huì)中提出“軟件工程”來(lái)界定軟件開(kāi)發(fā)所需相關(guān)知識(shí),并建議“軟件開(kāi)發(fā)應(yīng)該是類似工程的活動(dòng)”。l軟件工程自1968年正式提出至今,這段時(shí)間累積了大量的研究成果,廣泛地進(jìn)行大量的技術(shù)實(shí)踐,借由學(xué)術(shù)界和產(chǎn)業(yè)界的共同努力,軟件工程正逐漸發(fā)展成為一門專業(yè)學(xué)科。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件工程軟件工程14定義定義lIEEEl在軟件工程術(shù)語(yǔ)匯編中的定義:軟件工程是:1.將系統(tǒng)化的、嚴(yán)格約束的、可量化的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù),即將工程化應(yīng)用于軟件;2.在1中所述方法的研究 lFritzBauerl在NATO會(huì)議上給出的定義:建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件工程軟件工程15定義定義l計(jì)算機(jī)科學(xué)技術(shù)百科全書計(jì)算機(jī)科學(xué)技術(shù)百科全書l軟件工程是研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過(guò)程化方法去開(kāi)發(fā)和維護(hù)軟件,以及如何把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái) 南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件工程軟件工程16核心知識(shí)核心知識(shí)l軟件需求(軟件需求(Software requirements)l 軟件設(shè)計(jì)(軟件設(shè)計(jì)(Software design)l 軟件建構(gòu)(軟件建構(gòu)(Software construction)l 軟件測(cè)試(軟件測(cè)試(Software test)l 軟件維護(hù)與更新(軟件維護(hù)與更新(Software maintenance)l 軟件構(gòu)型管理(軟件構(gòu)型管理(Software Configuration Management,SCM)l 軟件工程管理(軟件工程管理(Software Engineering Management)l 軟件開(kāi)發(fā)過(guò)程(軟件開(kāi)發(fā)過(guò)程(Software Development Process)l 軟件工程工具與方法(軟件工程工具與方法(Computer-Aided Software Engineering,CASE)l 軟件品質(zhì)(軟件品質(zhì)(Software Quality)南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施17步驟步驟l了解軟件測(cè)試的歷史發(fā)展過(guò)程和軟件測(cè)試的現(xiàn)狀l了解軟件測(cè)試與軟件工程各階段的聯(lián)系l了解軟件測(cè)試模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試的歷史發(fā)展過(guò)程軟件測(cè)試的歷史發(fā)展過(guò)程18發(fā)展階段發(fā)展階段1.1.軟件調(diào)試軟件調(diào)試2.2.獨(dú)立的軟件測(cè)試獨(dú)立的軟件測(cè)試3.3.定義軟件測(cè)試定義軟件測(cè)試4.4.軟件測(cè)試成為專門學(xué)科軟件測(cè)試成為專門學(xué)科5.5.開(kāi)發(fā)與測(cè)試的融合開(kāi)發(fā)與測(cè)試的融合南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試的現(xiàn)狀軟件測(cè)試的現(xiàn)狀19發(fā)展趨勢(shì)發(fā)展趨勢(shì)1.軟件測(cè)試技術(shù)進(jìn)入快速發(fā)展軌道2.自動(dòng)化軟件測(cè)試技術(shù)應(yīng)用越來(lái)越普遍3.測(cè)試技術(shù)不斷細(xì)分1.WEB應(yīng)用測(cè)試 2.手機(jī)軟件測(cè)試 3.嵌入式軟件測(cè)試4.安全測(cè)試5.可靠性測(cè)試南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試與軟件工程軟件測(cè)試與軟件工程20對(duì)應(yīng)關(guān)系對(duì)應(yīng)關(guān)系南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試模型軟件測(cè)試模型21對(duì)應(yīng)關(guān)系對(duì)應(yīng)關(guān)系lV模型lW模型lX模型lH模型l前置模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試模型軟件測(cè)試模型22V V模型模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試模型軟件測(cè)試模型23W W模型模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試模型軟件測(cè)試模型24X X模型模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試模型軟件測(cè)試模型25H H模型模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試模型軟件測(cè)試模型26前置模型前置模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)271 11.1.軟件測(cè)試的發(fā)展經(jīng)歷了從最初的軟件調(diào)試軟件測(cè)試的發(fā)展經(jīng)歷了從最初的軟件調(diào)試 獨(dú)立的獨(dú)立的軟件測(cè)試軟件測(cè)試 軟件測(cè)試定義的討論軟件測(cè)試定義的討論 軟件測(cè)試成為專門軟件測(cè)試成為專門的學(xué)科的學(xué)科 與軟件開(kāi)發(fā)融合的發(fā)展歷程,目前軟件測(cè)與軟件開(kāi)發(fā)融合的發(fā)展歷程,目前軟件測(cè)試進(jìn)入了快速發(fā)展的軌道,自動(dòng)化測(cè)試應(yīng)用廣泛,試進(jìn)入了快速發(fā)展的軌道,自動(dòng)化測(cè)試應(yīng)用廣泛,測(cè)試技術(shù)不斷細(xì)分。測(cè)試技術(shù)不斷細(xì)分。2.2.軟件測(cè)試與軟件開(kāi)發(fā)的各階段是一一對(duì)應(yīng)的,且具軟件測(cè)試與軟件開(kāi)發(fā)的各階段是一一對(duì)應(yīng)的,且具有和軟件開(kāi)發(fā)并行的特性。有和軟件開(kāi)發(fā)并行的特性。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)282 23.軟件測(cè)試模型的主要特點(diǎn):lV V模型模型:反映了測(cè)試活動(dòng)與分析設(shè)計(jì)的關(guān)系,清楚的描述了測(cè)試階反映了測(cè)試活動(dòng)與分析設(shè)計(jì)的關(guān)系,清楚的描述了測(cè)試階段和開(kāi)發(fā)過(guò)程期間各階段的對(duì)應(yīng)關(guān)系,但沒(méi)有明確的指出應(yīng)對(duì)軟段和開(kāi)發(fā)過(guò)程期間各階段的對(duì)應(yīng)關(guān)系,但沒(méi)有明確的指出應(yīng)對(duì)軟件的需求、設(shè)計(jì)進(jìn)行測(cè)試。件的需求、設(shè)計(jì)進(jìn)行測(cè)試。lW W模型:強(qiáng)調(diào)了測(cè)試計(jì)劃等工作的先行和對(duì)系統(tǒng)需求和設(shè)計(jì)的測(cè)試,模型:強(qiáng)調(diào)了測(cè)試計(jì)劃等工作的先行和對(duì)系統(tǒng)需求和設(shè)計(jì)的測(cè)試,但無(wú)獨(dú)立的操作流程,受開(kāi)發(fā)進(jìn)度的制約。但無(wú)獨(dú)立的操作流程,受開(kāi)發(fā)進(jìn)度的制約。lX X模型:提出針對(duì)單獨(dú)的程序片段進(jìn)行相互分離的編碼和測(cè)試模型:提出針對(duì)單獨(dú)的程序片段進(jìn)行相互分離的編碼和測(cè)試,此此后通過(guò)頻繁的交接后通過(guò)頻繁的交接,通過(guò)集成最終合成為可執(zhí)行的程序。通過(guò)集成最終合成為可執(zhí)行的程序。lH H模型:體現(xiàn)了軟件測(cè)試模型是一個(gè)獨(dú)立的流程,貫穿與整個(gè)產(chǎn)品模型:體現(xiàn)了軟件測(cè)試模型是一個(gè)獨(dú)立的流程,貫穿與整個(gè)產(chǎn)品周期,與其他流程并發(fā)進(jìn)行。周期,與其他流程并發(fā)進(jìn)行。l前置模型:是前置模型:是“測(cè)試驅(qū)動(dòng)開(kāi)發(fā)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)”的映射。前置測(cè)試模型結(jié)合了傳的映射。前置測(cè)試模型結(jié)合了傳統(tǒng)的統(tǒng)的模型和模型和測(cè)試模型特點(diǎn),把軟件測(cè)試的工作提早至對(duì)需求測(cè)試模型特點(diǎn),把軟件測(cè)試的工作提早至對(duì)需求獲取階段,提高了軟件測(cè)試的效率獲取階段,提高了軟件測(cè)試的效率南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試拓展訓(xùn)練拓展訓(xùn)練29進(jìn)一步練習(xí)進(jìn)一步練習(xí)1、進(jìn)一步了解并簡(jiǎn)述軟件測(cè)試定義的演變過(guò)程,和測(cè)試意義的演變2、進(jìn)一步了解并簡(jiǎn)述軟件開(kāi)發(fā)的幾個(gè)模式,并說(shuō)明每種模式對(duì)軟件測(cè)試的影響。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)二:軟件質(zhì)量的概念及質(zhì)量保證體系任務(wù)二:軟件質(zhì)量的概念及質(zhì)量保證體系任務(wù)二:軟件質(zhì)量的概念及質(zhì)量保證體系任務(wù)二:軟件質(zhì)量的概念及質(zhì)量保證體系30 任務(wù)簡(jiǎn)介 任務(wù)分析 相關(guān)知識(shí)點(diǎn) 任務(wù)實(shí)施 任務(wù)小結(jié) 拓展訓(xùn)練南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介31簡(jiǎn)介簡(jiǎn)介l了解軟件質(zhì)量管理。了解軟件質(zhì)量管理。l了解軟件能力成熟度模型了解軟件能力成熟度模型l了解軟件測(cè)試成熟度模型了解軟件測(cè)試成熟度模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析32l通常在一般的中小企業(yè)中會(huì)不將軟件測(cè)試與軟件質(zhì)量通常在一般的中小企業(yè)中會(huì)不將軟件測(cè)試與軟件質(zhì)量保證加以細(xì)分,軟件測(cè)試人員也叫做質(zhì)量保證人員即保證加以細(xì)分,軟件測(cè)試人員也叫做質(zhì)量保證人員即QAQA,但是軟件測(cè)試和軟件質(zhì)量保證是軟件質(zhì)量工程的,但是軟件測(cè)試和軟件質(zhì)量保證是軟件質(zhì)量工程的兩個(gè)不同層面的工作,兩者既有聯(lián)系,又有區(qū)別。兩個(gè)不同層面的工作,兩者既有聯(lián)系,又有區(qū)別。l質(zhì)量保證(質(zhì)量保證(QAQA)是通過(guò)預(yù)防,檢查與改進(jìn)來(lái)保證軟件)是通過(guò)預(yù)防,檢查與改進(jìn)來(lái)保證軟件質(zhì)量的質(zhì)量的l軟件測(cè)試關(guān)注的不是過(guò)程活動(dòng),而是每個(gè)過(guò)程活動(dòng)的軟件測(cè)試關(guān)注的不是過(guò)程活動(dòng),而是每個(gè)過(guò)程活動(dòng)的產(chǎn)出物產(chǎn)出物南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試相關(guān)知識(shí)點(diǎn)相關(guān)知識(shí)點(diǎn)33知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表l軟件缺陷l軟件可靠性l軟件質(zhì)量南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件缺陷軟件缺陷34定義定義l從產(chǎn)品內(nèi)部看,缺陷是軟件產(chǎn)品開(kāi)發(fā)或維護(hù)過(guò)程中存在的錯(cuò)誤、毛病等各種問(wèn)題;從產(chǎn)品外部看,缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背。l表現(xiàn):1、軟件沒(méi)有實(shí)現(xiàn)產(chǎn)品規(guī)格說(shuō)明所要求的功能模塊2、軟件中出現(xiàn)了產(chǎn)品規(guī)格說(shuō)明指明不應(yīng)該出現(xiàn)的錯(cuò)誤3、軟件實(shí)現(xiàn)了產(chǎn)品規(guī)格說(shuō)明沒(méi)有提到的功能模塊4、軟件沒(méi)有實(shí)現(xiàn)雖然產(chǎn)品規(guī)格說(shuō)明沒(méi)有明確提及但應(yīng)該實(shí)現(xiàn)的目標(biāo);5、軟件難以理解,不容易使用,運(yùn)行緩慢,或從測(cè)試員的角度看,最終用戶會(huì)認(rèn)為不好。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件缺陷軟件缺陷35產(chǎn)生的原因產(chǎn)生的原因l軟件本身軟件本身l團(tuán)隊(duì)工作團(tuán)隊(duì)工作l技術(shù)問(wèn)題技術(shù)問(wèn)題l項(xiàng)目管理的問(wèn)題項(xiàng)目管理的問(wèn)題南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件缺陷軟件缺陷36修復(fù)成本修復(fù)成本l問(wèn)題發(fā)現(xiàn)的越早越好南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件可靠性軟件可靠性371 1l軟件可靠性比硬件可靠性更難保證軟件可靠性比硬件可靠性更難保證l即使是美國(guó)宇航局的軟件系統(tǒng),其可靠性仍比硬即使是美國(guó)宇航局的軟件系統(tǒng),其可靠性仍比硬件可靠性低一個(gè)數(shù)量級(jí)。件可靠性低一個(gè)數(shù)量級(jí)。l影響軟件可靠性的因素影響軟件可靠性的因素1.需求分析定義錯(cuò)誤。需求分析定義錯(cuò)誤。2.設(shè)計(jì)錯(cuò)誤。設(shè)計(jì)錯(cuò)誤。3.編碼錯(cuò)誤。編碼錯(cuò)誤。4.測(cè)試錯(cuò)誤。測(cè)試錯(cuò)誤。5.文檔錯(cuò)誤。文檔錯(cuò)誤。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件可靠性軟件可靠性382 2l軟件可靠性定義軟件可靠性定義(1)在規(guī)定的條件下,在規(guī)定的時(shí)間內(nèi),軟件不引起系統(tǒng)失效的概率;(2)在規(guī)定的時(shí)間周期內(nèi),在所述條件下程序執(zhí)行所要求的功能的能力;南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件質(zhì)量軟件質(zhì)量39影響質(zhì)量的因素影響質(zhì)量的因素l正確性、健壯性、效率、完整性、可用性、風(fēng)險(xiǎn)(產(chǎn)正確性、健壯性、效率、完整性、可用性、風(fēng)險(xiǎn)(產(chǎn)品運(yùn)行);品運(yùn)行);l可理解性、可維修性、靈活性、可測(cè)試性(產(chǎn)品修改)可理解性、可維修性、靈活性、可測(cè)試性(產(chǎn)品修改);l可移植性、可再用性、互運(yùn)行性(產(chǎn)品轉(zhuǎn)移)??梢浦残浴⒖稍儆眯?、互運(yùn)行性(產(chǎn)品轉(zhuǎn)移)。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件質(zhì)量軟件質(zhì)量40標(biāo)準(zhǔn)標(biāo)準(zhǔn)l軟件需求是度量軟件質(zhì)量的基礎(chǔ),與需求不一致就是軟件需求是度量軟件質(zhì)量的基礎(chǔ),與需求不一致就是質(zhì)量不高。質(zhì)量不高。l指定的標(biāo)準(zhǔn)定義了一組指導(dǎo)軟件開(kāi)發(fā)的準(zhǔn)則,如果沒(méi)指定的標(biāo)準(zhǔn)定義了一組指導(dǎo)軟件開(kāi)發(fā)的準(zhǔn)則,如果沒(méi)有遵守這些準(zhǔn)則,幾乎肯定會(huì)導(dǎo)致質(zhì)量不高。有遵守這些準(zhǔn)則,幾乎肯定會(huì)導(dǎo)致質(zhì)量不高。l如果軟件滿足明確描述的需求,但卻不滿足隱含的需如果軟件滿足明確描述的需求,但卻不滿足隱含的需求,那么軟件的質(zhì)量仍然是值得懷疑的。求,那么軟件的質(zhì)量仍然是值得懷疑的。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施41步驟步驟l了解軟件質(zhì)量管理l了解軟件能力成熟度模型l了解軟件測(cè)試成熟度模型南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件質(zhì)量管理軟件質(zhì)量管理42質(zhì)量管理過(guò)程質(zhì)量管理過(guò)程l質(zhì)量計(jì)劃l質(zhì)量保證l質(zhì)量控制南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件能力成熟度模型軟件能力成熟度模型43CMM/CMMICMM/CMMIlCMM/CMMI是目前國(guó)際上最流行、最實(shí)用的一種軟件生產(chǎn)過(guò)程標(biāo)準(zhǔn)l美國(guó)卡內(nèi)基梅隆大學(xué)軟件工程研究所(CMU SEI)提出l分為5個(gè)等級(jí)l初始級(jí)(initial)l可重復(fù)級(jí)(Repeatable)l已定義級(jí)(Defined)l已管理級(jí)(Managed)l優(yōu)化級(jí)(Optimizing)南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試成熟度模型軟件測(cè)試成熟度模型44TMMTMMl美國(guó)的伊利諾斯州技術(shù)學(xué)院參照CMM開(kāi)發(fā)了TMM(Testing Maturity Model),作為CMM的補(bǔ)充l一個(gè)試圖達(dá)到TMM特定等級(jí)的企業(yè)必須至少達(dá)到同樣的CMM等級(jí)l分為5個(gè)等級(jí)l初始級(jí)l定義級(jí)l集成級(jí)l管理和測(cè)量級(jí)l 優(yōu)化,預(yù)防缺陷和質(zhì)量控制級(jí)南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)451.1.2020世紀(jì)世紀(jì)9090年代中期以后,人們對(duì)軟件測(cè)試的認(rèn)識(shí)也年代中期以后,人們對(duì)軟件測(cè)試的認(rèn)識(shí)也不斷得到發(fā)展。不斷得到發(fā)展。2.2.美國(guó)卡耐基美國(guó)卡耐基-梅隆大學(xué)軟件工程研究所梅隆大學(xué)軟件工程研究所(SEI)(SEI)研制并研制并推出了推出了CMMCMM,該模型逐漸成為了評(píng)估軟件開(kāi)發(fā)過(guò)程,該模型逐漸成為了評(píng)估軟件開(kāi)發(fā)過(guò)程的管理以及工程能力的標(biāo)準(zhǔn)。的管理以及工程能力的標(biāo)準(zhǔn)。3.3.BurnsteinBurnstein博士提出的博士提出的TMMTMM,依據(jù),依據(jù)CMMCMM的框架提出測(cè)的框架提出測(cè)試的五個(gè)不同級(jí)別,關(guān)注于測(cè)試的成熟度模型。試的五個(gè)不同級(jí)別,關(guān)注于測(cè)試的成熟度模型。TMMTMM描述了測(cè)試過(guò)程,是項(xiàng)目測(cè)試部分得到良好計(jì)描述了測(cè)試過(guò)程,是項(xiàng)目測(cè)試部分得到良好計(jì)劃和控制的基礎(chǔ)。劃和控制的基礎(chǔ)。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試拓展訓(xùn)練拓展訓(xùn)練46進(jìn)一步練習(xí)進(jìn)一步練習(xí)1、進(jìn)一步了解并簡(jiǎn)述軟件質(zhì)量管理中軟件質(zhì)量保證和軟件質(zhì)量控制之間的區(qū)別和聯(lián)系。2、進(jìn)一步了解并簡(jiǎn)述軟件測(cè)試在軟件質(zhì)量管理中的作用。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)三:軟件測(cè)試的分類、原則和流程任務(wù)三:軟件測(cè)試的分類、原則和流程任務(wù)三:軟件測(cè)試的分類、原則和流程任務(wù)三:軟件測(cè)試的分類、原則和流程47 任務(wù)簡(jiǎn)介 任務(wù)分析 相關(guān)知識(shí)點(diǎn) 任務(wù)實(shí)施 任務(wù)小結(jié) 拓展訓(xùn)練南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介48l了解軟件測(cè)試的分類。l了解軟件測(cè)試的原則l了解軟件測(cè)試的流程南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析49分析分析l軟件測(cè)試有很多種分類方法,前人也總結(jié)出了許多軟件測(cè)試的原則。l此外,作為第一章的最后一部分我們將要真正了解軟件測(cè)試的整個(gè)流程,了解軟件測(cè)試的全過(guò)程。并真正實(shí)施一次軟件測(cè)試。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試相關(guān)知識(shí)點(diǎn)相關(guān)知識(shí)點(diǎn)50知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表l測(cè)試用例l測(cè)試環(huán)境南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試測(cè)試用例測(cè)試用例51定義定義l測(cè)試用例(Test Case)是為某個(gè)特殊目標(biāo)而編制的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測(cè)試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。l測(cè)試用例=輸入+輸出+測(cè)試環(huán)境南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試測(cè)試用例測(cè)試用例52重要性重要性l技術(shù)層面l指導(dǎo)測(cè)試的實(shí)施l規(guī)劃測(cè)試數(shù)據(jù)的準(zhǔn)備l編寫測(cè)試腳本的“設(shè)計(jì)規(guī)格說(shuō)明書”l降低工作強(qiáng)度l管理層面l團(tuán)隊(duì)交流l重復(fù)測(cè)試l檢驗(yàn)測(cè)試員進(jìn)度l質(zhì)量評(píng)估l分析缺陷的標(biāo)準(zhǔn)南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試測(cè)試用例測(cè)試用例53評(píng)價(jià)標(biāo)準(zhǔn)評(píng)價(jià)標(biāo)準(zhǔn)l有效性l經(jīng)濟(jì)性l可仿效性l可修改性l獨(dú)立性l可跟蹤性南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試測(cè)試用例測(cè)試用例54設(shè)計(jì)基本原則設(shè)計(jì)基本原則l代表性l可判定性l可再生性南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試測(cè)試環(huán)境測(cè)試環(huán)境551 1l定義l測(cè)試環(huán)境就是軟件運(yùn)行的平臺(tái),即進(jìn)行軟件測(cè)試所必需的工作平臺(tái)和前提條件,可用如下公式來(lái)表示。l測(cè)試環(huán)境=硬件+軟件+網(wǎng)絡(luò)+歷史數(shù)據(jù)l重要性l加快測(cè)試進(jìn)度l準(zhǔn)確重現(xiàn)缺陷l提高工作效率和軟件質(zhì)量南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試測(cè)試環(huán)境測(cè)試環(huán)境562 2l良好測(cè)試環(huán)境的要素l好的測(cè)試模型。l多樣化的系統(tǒng)配置l熟練使用工具的測(cè)試員l測(cè)試環(huán)境的規(guī)劃l明確8個(gè)問(wèn)題l指定責(zé)任人南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試測(cè)試環(huán)境測(cè)試環(huán)境573 3l測(cè)試環(huán)境的維護(hù)和管理l設(shè)置專門的測(cè)試環(huán)境管理員角色l明確測(cè)試環(huán)境管理所需的各種文檔l測(cè)試環(huán)境訪問(wèn)權(quán)限的管理l測(cè)試環(huán)境的變更管理 l測(cè)試環(huán)境的備份和恢復(fù)南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施58l了解軟件測(cè)試的分類l了解軟件測(cè)試的原則l了解軟件測(cè)試的流程南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試的分類軟件測(cè)試的分類591 1l按是否需要執(zhí)行被測(cè)軟件的角度l靜態(tài)測(cè)試l動(dòng)態(tài)測(cè)試l按階段劃分l單元測(cè)試l集成測(cè)試 l系統(tǒng)測(cè)試l驗(yàn)收測(cè)試l回歸測(cè)試lAlpha 測(cè)試lBeta 測(cè)試南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試的分類軟件測(cè)試的分類602 2l按測(cè)試方法劃分l白盒測(cè)試l黑盒測(cè)試l灰盒測(cè)試南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試的原則軟件測(cè)試的原則611 1l原則1:測(cè)試顯示缺陷的存在l原則2:窮盡測(cè)試是不可能的l原則3:測(cè)試的盡早介入l原則4:缺陷的集群性l原則5:殺蟲劑悖論l原則6:測(cè)試活動(dòng)依賴于測(cè)試內(nèi)容南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試的原則軟件測(cè)試的原則622 2l原則7:沒(méi)有失效不代表系統(tǒng)是可用的l原則8:測(cè)試的標(biāo)準(zhǔn)是用戶的需求l原則9:盡早定義產(chǎn)品的質(zhì)量標(biāo)準(zhǔn)l原則10:測(cè)試貫穿于整個(gè)生命周期l原則11:第三方或獨(dú)立的測(cè)試團(tuán)隊(duì)南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試軟件測(cè)試的流程軟件測(cè)試的流程63l需求分析階段。l測(cè)試計(jì)劃制定l測(cè)試設(shè)計(jì)l執(zhí)行測(cè)試l測(cè)試分析報(bào)告南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)641 11.1.軟件測(cè)試涉及技術(shù)和管理兩個(gè)層面的工作,看似頭軟件測(cè)試涉及技術(shù)和管理兩個(gè)層面的工作,看似頭緒紛繁,實(shí)際只要了解測(cè)試的主線,就能清楚了解緒紛繁,實(shí)際只要了解測(cè)試的主線,就能清楚了解每個(gè)階段不同角色的職責(zé)。每個(gè)階段不同角色的職責(zé)。2.2.本任務(wù)主要從宏觀上來(lái)介紹軟件測(cè)試的各個(gè)角度的本任務(wù)主要從宏觀上來(lái)介紹軟件測(cè)試的各個(gè)角度的分類,軟件測(cè)試的原則和軟件測(cè)試的流程分類,軟件測(cè)試的原則和軟件測(cè)試的流程南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試拓展訓(xùn)練拓展訓(xùn)練65進(jìn)一步練習(xí)進(jìn)一步練習(xí)1、進(jìn)一步了解并簡(jiǎn)述冒煙測(cè)試和隨機(jī)測(cè)試的含義和應(yīng)用場(chǎng)合2、進(jìn)一步了解并簡(jiǎn)述軟件測(cè)試工程師的素質(zhì)要求。國(guó)家教學(xué)資源庫(kù)建設(shè)項(xiàng)目國(guó)家教學(xué)資源庫(kù)建設(shè)項(xiàng)目單元單元2 白盒測(cè)試白盒測(cè)試 對(duì)圖形識(shí)別系統(tǒng)的測(cè)試對(duì)圖形識(shí)別系統(tǒng)的測(cè)試 主講人主講人 翁英萍翁英萍南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試學(xué)習(xí)導(dǎo)航學(xué)習(xí)導(dǎo)航2南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試本單元任務(wù)分解本單元任務(wù)分解3任務(wù)一:對(duì)圖形識(shí)別系統(tǒng)的程序片段按照 邏輯覆蓋方法編寫測(cè)試用例 任務(wù)二:對(duì)圖形識(shí)別系統(tǒng)的程序片段進(jìn)行 路徑測(cè)試 任務(wù)三:掌握白盒測(cè)試法的應(yīng)用策略建議課時(shí):建議課時(shí):8課時(shí)課時(shí) 南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試本單元各任務(wù)的教學(xué)過(guò)程本單元各任務(wù)的教學(xué)過(guò)程4 項(xiàng)目概述任務(wù)一任務(wù)二任務(wù)三 南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試項(xiàng)目概述項(xiàng)目概述5引例引例l 如何清理面包機(jī)?如何清理面包機(jī)?l不管內(nèi)部,拿水從入口往下灌著沖洗不管內(nèi)部,拿水從入口往下灌著沖洗l將面包機(jī)拆開(kāi)一點(diǎn)點(diǎn)的查看有無(wú)銹跡污跡,逐個(gè)將面包機(jī)拆開(kāi)一點(diǎn)點(diǎn)的查看有無(wú)銹跡污跡,逐個(gè)清理清理 l白盒測(cè)試白盒測(cè)試 測(cè)試者針對(duì)可見(jiàn)代碼進(jìn)行的測(cè)試者針對(duì)可見(jiàn)代碼進(jìn)行的一種測(cè)試一種測(cè)試 南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試項(xiàng)目概述項(xiàng)目概述6常用白盒測(cè)試方法常用白盒測(cè)試方法l邏輯覆蓋邏輯覆蓋l是通過(guò)對(duì)程序邏輯結(jié)構(gòu)的遍歷實(shí)現(xiàn)程序的覆蓋l路徑測(cè)試法路徑測(cè)試法l在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制流圖的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑的集合,然后據(jù)此設(shè)計(jì)測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試項(xiàng)目概述項(xiàng)目概述7待測(cè)程序說(shuō)明待測(cè)程序說(shuō)明l圖形識(shí)別系統(tǒng)圖形識(shí)別系統(tǒng)l根據(jù)輸入的信息確定最終圖形的種類根據(jù)輸入的信息確定最終圖形的種類l主要測(cè)試的程序片段主要測(cè)試的程序片段-三角形問(wèn)題三角形問(wèn)題l接受輸入三個(gè)整數(shù)接受輸入三個(gè)整數(shù)a a、b b、c c,分別作為三角形的三條邊,通,分別作為三角形的三條邊,通過(guò)程序判斷這三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,過(guò)程序判斷這三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,則判斷三角形的類型(等邊三角形、等腰三角形、一般三角則判斷三角形的類型(等邊三角形、等腰三角形、一般三角形)。要求輸入三個(gè)整數(shù)形)。要求輸入三個(gè)整數(shù)a a、b b、c c,必須滿足以下條件:,必須滿足以下條件:1a2001a200;1b2001b200;1c2001c200。l本項(xiàng)目主要針對(duì)該程序片段根據(jù)白盒測(cè)試的各種要求本項(xiàng)目主要針對(duì)該程序片段根據(jù)白盒測(cè)試的各種要求編寫測(cè)試用例。編寫測(cè)試用例。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)一:邏輯覆蓋測(cè)試任務(wù)一:邏輯覆蓋測(cè)試8 任務(wù)簡(jiǎn)介 任務(wù)分析 相關(guān)知識(shí)點(diǎn) 任務(wù)實(shí)施 任務(wù)小結(jié) 拓展訓(xùn)練南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介9任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介l對(duì)圖形識(shí)別系統(tǒng)的程序片段按照邏輯覆蓋方法編寫測(cè)對(duì)圖形識(shí)別系統(tǒng)的程序片段按照邏輯覆蓋方法編寫測(cè)試用例試用例void IsTri(int a,int b,int c)1if(a+b=c)|(a+c=b)|(b+c=a)2printf(不能構(gòu)成三角形);3else4if(a=b)|(b=c)|(a=c)5if(a=b)&(b=c)6printf(等邊三角形);7else8printf(等腰三角形);910else11printf(一般三角形);南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析10任務(wù)準(zhǔn)備任務(wù)準(zhǔn)備一、理解白盒測(cè)試和邏輯覆蓋測(cè)試的特點(diǎn)一、理解白盒測(cè)試和邏輯覆蓋測(cè)試的特點(diǎn)l白盒測(cè)試:針對(duì)被測(cè)軟件的內(nèi)部是如何進(jìn)行工作白盒測(cè)試:針對(duì)被測(cè)軟件的內(nèi)部是如何進(jìn)行工作的測(cè)試的測(cè)試l邏輯覆蓋:關(guān)注點(diǎn)在于條件判定表達(dá)式本身的復(fù)邏輯覆蓋:關(guān)注點(diǎn)在于條件判定表達(dá)式本身的復(fù)雜度雜度二、程序的邏輯結(jié)構(gòu)二、程序的邏輯結(jié)構(gòu)l流程圖流程圖l判斷條件判斷條件l執(zhí)行路徑執(zhí)行路徑南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析11程序代碼程序代碼void IsTri(int a,int b,int c)1if(a+b=c)|(a+c=b)|(b+c=a)2printf(不能構(gòu)成三角形不能構(gòu)成三角形);3else4if(a=b)|(b=c)|(a=c)5if(a=b)&(b=c)6printf(等邊三角形等邊三角形);7else8printf(等腰三角形等腰三角形);910else11printf(一般三角形一般三角形);南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析12流程圖流程圖/判斷條件判斷條件/執(zhí)行路徑執(zhí)行路徑T1:a+b=cT2:a+c=bT3:b+c1b3TTTTTFTFFTFTFFFF28例例l寫出每個(gè)條件組合寫出每個(gè)條件組合l寫出條件組合的真值表寫出條件組合的真值表l據(jù)此寫出測(cè)試用例據(jù)此寫出測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正條件判定覆蓋修正條件判定覆蓋29定義定義l修正判定條件覆蓋單元的入口與出口必須至少被調(diào)用修正判定條件覆蓋單元的入口與出口必須至少被調(diào)用一次,程序中判斷的每一個(gè)分支必須至少被執(zhí)行一次。一次,程序中判斷的每一個(gè)分支必須至少被執(zhí)行一次。對(duì)于程序中通過(guò)邏輯運(yùn)算對(duì)于程序中通過(guò)邏輯運(yùn)算(AND(AND,OROR等等)組成判斷的基本組成判斷的基本布爾條件,每個(gè)條件必須取遍所有可能的值且每一個(gè)布爾條件,每個(gè)條件必須取遍所有可能的值且每一個(gè)條件對(duì)判斷的結(jié)果具有獨(dú)立的作用。條件對(duì)判斷的結(jié)果具有獨(dú)立的作用。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正條件判定覆蓋修正條件判定覆蓋30例例a1b1 and b2TTTTFFFTFFFF南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施31步驟步驟l實(shí)現(xiàn)案例的語(yǔ)句覆蓋測(cè)試用例編寫實(shí)現(xiàn)案例的語(yǔ)句覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的判定覆蓋測(cè)試用例編寫實(shí)現(xiàn)案例的判定覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的條件覆蓋測(cè)試用例編寫實(shí)現(xiàn)案例的條件覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的條件實(shí)現(xiàn)案例的條件/判定覆蓋測(cè)試用例編寫判定覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的條件組合覆蓋測(cè)試用例編寫實(shí)現(xiàn)案例的條件組合覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的修正的條件實(shí)現(xiàn)案例的修正的條件/判定覆蓋測(cè)試用例編寫判定覆蓋測(cè)試用例編寫南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試語(yǔ)句覆蓋實(shí)現(xiàn)語(yǔ)句覆蓋實(shí)現(xiàn)32說(shuō)明說(shuō)明l語(yǔ)句覆蓋:保證程序的每一條可執(zhí)行語(yǔ)句至少執(zhí)行一語(yǔ)句覆蓋:保證程序的每一條可執(zhí)行語(yǔ)句至少執(zhí)行一次次l案例流程圖案例流程圖l要滿足語(yǔ)句覆蓋,每個(gè)路徑均需執(zhí)行要滿足語(yǔ)句覆蓋,每個(gè)路徑均需執(zhí)行南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試語(yǔ)句覆蓋實(shí)現(xiàn)語(yǔ)句覆蓋實(shí)現(xiàn)ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑語(yǔ)句覆語(yǔ)句覆蓋率蓋率abcLC-001324一般三角形一般三角形路徑路徑1100%LC-002223等腰三角形等腰三角形路徑路徑2LC-003222等邊三角形等邊三角形路徑路徑3LC-004124不是三角形不是三角形路徑路徑433測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試語(yǔ)句覆蓋實(shí)現(xiàn)語(yǔ)句覆蓋實(shí)現(xiàn)34測(cè)試分析測(cè)試分析l優(yōu)點(diǎn):優(yōu)點(diǎn):l可以直觀地從源代碼得到測(cè)試用例,無(wú)需仔細(xì)分可以直觀地從源代碼得到測(cè)試用例,無(wú)需仔細(xì)分析每個(gè)判定節(jié)點(diǎn)析每個(gè)判定節(jié)點(diǎn)l缺點(diǎn):缺點(diǎn):1.1.關(guān)注語(yǔ)句而非判定節(jié)點(diǎn)關(guān)注語(yǔ)句而非判定節(jié)點(diǎn)2.2.邏輯判定條件存在屏蔽作用邏輯判定條件存在屏蔽作用3.3.對(duì)隱式分支無(wú)效對(duì)隱式分支無(wú)效南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)35說(shuō)明說(shuō)明l判定覆蓋:保證程序中每個(gè)判定節(jié)點(diǎn)的取真和取假分判定覆蓋:保證程序中每個(gè)判定節(jié)點(diǎn)的取真和取假分支至少執(zhí)行一次。支至少執(zhí)行一次。l案例流程圖案例流程圖l從本例來(lái)看,由于每種判定取真和取假分支都有獨(dú)立從本例來(lái)看,由于每種判定取真和取假分支都有獨(dú)立的語(yǔ)句,因此,對(duì)本例來(lái)說(shuō),判定覆蓋和語(yǔ)句覆蓋的的語(yǔ)句,因此,對(duì)本例來(lái)說(shuō),判定覆蓋和語(yǔ)句覆蓋的要求一致要求一致南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑判定覆蓋判定覆蓋率率abcLC-001324一般三角形一般三角形路徑路徑1100%LC-002223等腰三角形等腰三角形路徑路徑2LC-003222等邊三角形等邊三角形路徑路徑3LC-004124不是三角形不是三角形路徑路徑436測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)37測(cè)試分析測(cè)試分析l判定覆蓋比語(yǔ)句覆蓋有更強(qiáng)的測(cè)試能力判定覆蓋比語(yǔ)句覆蓋有更強(qiáng)的測(cè)試能力l單分支條件結(jié)構(gòu):判定覆蓋比語(yǔ)句覆蓋會(huì)增加幾乎一倍的測(cè)單分支條件結(jié)構(gòu):判定覆蓋比語(yǔ)句覆蓋會(huì)增加幾乎一倍的測(cè)試路徑。試路徑。l雙分支或多分支條:判定覆蓋和語(yǔ)句覆蓋測(cè)試路徑類似或相雙分支或多分支條:判定覆蓋和語(yǔ)句覆蓋測(cè)試路徑類似或相同。同。l判定覆蓋不需要仔細(xì)分析每個(gè)判定節(jié)點(diǎn)。并未深入到判定覆蓋不需要仔細(xì)分析每個(gè)判定節(jié)點(diǎn)。并未深入到測(cè)試符合判定表達(dá)式的細(xì)節(jié),并未測(cè)試到每個(gè)簡(jiǎn)單邏測(cè)試符合判定表達(dá)式的細(xì)節(jié),并未測(cè)試到每個(gè)簡(jiǎn)單邏輯判定條件的正確性輯判定條件的正確性l判定覆蓋能夠避免語(yǔ)句覆蓋的第判定覆蓋能夠避免語(yǔ)句覆蓋的第3 3個(gè)缺點(diǎn)個(gè)缺點(diǎn)(對(duì)隱式分支對(duì)隱式分支無(wú)效無(wú)效)。但仍然不能避免其余的。但仍然不能避免其余的2 2個(gè)缺點(diǎn)。個(gè)缺點(diǎn)。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件覆蓋實(shí)現(xiàn)條件覆蓋實(shí)現(xiàn)38說(shuō)明說(shuō)明l條件覆蓋:保證程序中每個(gè)復(fù)合判定表達(dá)式的每個(gè)簡(jiǎn)條件覆蓋:保證程序中每個(gè)復(fù)合判定表達(dá)式的每個(gè)簡(jiǎn)單判定條件的取真和取假情況至少執(zhí)行一次。單判定條件的取真和取假情況至少執(zhí)行一次。l案例流程圖和條件表達(dá)式案例流程圖和條件表達(dá)式l從本例來(lái)看,要滿足條件覆蓋,就是要使得基本邏輯從本例來(lái)看,要滿足條件覆蓋,就是要使得基本邏輯判定條件判定條件T1T6T1T6的取真和取假分支至少執(zhí)行一次的取真和取假分支至少執(zhí)行一次南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件覆蓋實(shí)現(xiàn)條件覆蓋實(shí)現(xiàn)組組合合T1T2T3T1|T2|T3T4T5T6T4|T5|T6T4&T5通過(guò)路通過(guò)路徑徑1TFFT路徑路徑42FTFT路徑路徑43FFTT路徑路徑44FFFFTTTTT路徑路徑35FFFFFFFFF路徑路徑139條件取值條件取值南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件覆蓋實(shí)現(xiàn)條件覆蓋實(shí)現(xiàn)40測(cè)試用例測(cè)試用例ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑條件覆條件覆蓋率蓋率abcLC-004124不是三角形不是三角形路徑路徑4100%LC-005142不是三角形不是三角形路徑路徑4LC-006412不是三角形不是三角形路徑路徑4LC-003222等邊三角形等邊三角形路徑路徑3LC-001324一般三角形一般三角形路徑路徑1南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件覆蓋實(shí)現(xiàn)條件覆蓋實(shí)現(xiàn)41測(cè)試分析測(cè)試分析l條件覆蓋通過(guò)仔細(xì)分析每個(gè)判定節(jié)點(diǎn),增加了測(cè)試路條件覆蓋通過(guò)仔細(xì)分析每個(gè)判定節(jié)點(diǎn),增加了測(cè)試路徑,一定程度上解決了語(yǔ)句覆蓋和判定覆蓋的第徑,一定程度上解決了語(yǔ)句覆蓋和判定覆蓋的第1 1、3 3兩個(gè)缺點(diǎn),但是對(duì)于第兩個(gè)缺點(diǎn),但是對(duì)于第2 2個(gè)缺點(diǎn)仍然無(wú)法解決。個(gè)缺點(diǎn)仍然無(wú)法解決。l條件覆蓋所用的測(cè)試用例,一般而言會(huì)多于語(yǔ)句覆蓋條件覆蓋所用的測(cè)試用例,一般而言會(huì)多于語(yǔ)句覆蓋和判定覆蓋,但是滿足了條件覆蓋,不一定能滿足判和判定覆蓋,但是滿足了條件覆蓋,不一定能滿足判定覆蓋,甚至也不能滿足語(yǔ)句覆蓋,正如本例所示就定覆蓋,甚至也不能滿足語(yǔ)句覆蓋,正如本例所示就是如此。是如此。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件條件/判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)42說(shuō)明說(shuō)明l條件條件/判定語(yǔ)句覆蓋:保證程序的每一個(gè)判定節(jié)點(diǎn)取判定語(yǔ)句覆蓋:保證程序的每一個(gè)判定節(jié)點(diǎn)取真和取假分支至少執(zhí)行一次,且每個(gè)簡(jiǎn)單判定條件的真和取假分支至少執(zhí)行一次,且每個(gè)簡(jiǎn)單判定條件的取真和取假也至少執(zhí)行一次。取真和取假也至少執(zhí)行一次。l案例流程圖和條件表達(dá)式案例流程圖和條件表達(dá)式l從本例來(lái)看,要滿足條件從本例來(lái)看,要滿足條件/判定覆蓋,只需要結(jié)合上判定覆蓋,只需要結(jié)合上面的條件覆蓋測(cè)試用例和判定覆蓋測(cè)試用例即可。面的條件覆蓋測(cè)試用例和判定覆蓋測(cè)試用例即可。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件條件/判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑條件條件/判判定覆蓋率定覆蓋率abcLC-001324一般三角形一般三角形路徑路徑1100%LC-002223等腰三角形等腰三角形路徑路徑2LC-003222等邊三角形等邊三角形路徑路徑3LC-004124不是三角形不是三角形路徑路徑4LC-005142不是三角形不是三角形路徑路徑4LC-006412不是三角形不是三角形路徑路徑443測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件條件/判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)44測(cè)試分析測(cè)試分析l理論上看,判定理論上看,判定/條件覆蓋是較為完善的覆蓋指標(biāo),條件覆蓋是較為完善的覆蓋指標(biāo),它彌補(bǔ)了判定覆蓋和條件覆蓋的不足,但該指標(biāo)包含它彌補(bǔ)了判定覆蓋和條件覆蓋的不足,但該指標(biāo)包含的設(shè)計(jì)工作量較大,且需要較好的設(shè)計(jì)技巧的設(shè)計(jì)工作量較大,且需要較好的設(shè)計(jì)技巧南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)45說(shuō)明說(shuō)明l條件組合覆蓋:保證程序的每個(gè)判定節(jié)點(diǎn)中所有簡(jiǎn)單條件組合覆蓋:保證程序的每個(gè)判定節(jié)點(diǎn)中所有簡(jiǎn)單判定條件的各種可能取值的組合應(yīng)至少執(zhí)行一次。判定條件的各種可能取值的組合應(yīng)至少執(zhí)行一次。l案例流程圖和條件表達(dá)式案例流程圖和條件表達(dá)式l從本例來(lái)看,一共有從本例來(lái)看,一共有3 3個(gè)判定節(jié)點(diǎn),其中第個(gè)判定節(jié)點(diǎn),其中第2 2個(gè)判定節(jié)個(gè)判定節(jié)點(diǎn)包含了第點(diǎn)包含了第3 3個(gè)判定節(jié)點(diǎn)的簡(jiǎn)單判定條件。因此我們只個(gè)判定節(jié)點(diǎn)的簡(jiǎn)單判定條件。因此我們只需考慮前兩個(gè)判定節(jié)點(diǎn)的簡(jiǎn)單判定條件的組合。需考慮前兩個(gè)判定節(jié)點(diǎn)的簡(jiǎn)單判定條件的組合。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)46條件條件T1T3T1T3的組合的組合組合組合T1T2T3T1|T2|T3通過(guò)路徑通過(guò)路徑說(shuō)明說(shuō)明1TFFT路徑42FTFT路徑43FFTT路徑44FTT-不可能5TFT-不可能6TTF-不可能7TTT-不可能8FFFF其他路徑南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)47條件條件T4T6T4T6的組合的組合組合組合T4T5T6T4|T5|T6T4&T5通過(guò)路通過(guò)路徑徑說(shuō)明說(shuō)明1TFFTF路徑2T1T3為F2FTFTF路徑2T1T3為F3FFTTF路徑2T1T3為F4FTT-不可能5TFT-不可能6TTF-不可能7TTTTT路徑3T1T3為F8FFFFF路徑1T1T3為F南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)48最終條件組合最終條件組合組合組合 T1T2T3T1|T2|T3T4T5T6T4|T5|T6T4&T5通過(guò)路通過(guò)路徑徑1TFFT路徑路徑42FTFT路徑路徑43FFTT路徑路徑44FFFFTTTTT路徑路徑35FFFFFFFFF路徑路徑16FFFFTFFTF路徑路徑27FFFFFTFTF路徑路徑28FFFFFFTTF路徑路徑2南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑組合覆蓋組合覆蓋率率abcLC-004124不是三角形不是三角形路徑路徑4100%LC-005142不是三角形不是三角形路徑路徑4LC-006412不是三角形不是三角形路徑路徑4LC-003222等邊三角形等邊三角形路徑路徑3LC-001324一般三角形一般三角形路徑路徑1LC-002223等腰三角形等腰三角形路徑路徑2LC-007322等腰三角形等腰三角形路徑路徑2LC-008232等腰三角形等腰三角形路徑路徑249測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)50測(cè)試分析測(cè)試分析l從理論上看,條件組合覆蓋是較好的覆蓋指標(biāo),因?yàn)閺睦碚撋峡?,條件組合覆蓋是較好的覆蓋指標(biāo),因?yàn)樗欢M足判定覆蓋、條件覆蓋和判定它一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋。條件覆蓋。l然而當(dāng)判定表達(dá)式較為復(fù)雜的時(shí)候,條件組合覆蓋的然而當(dāng)判定表達(dá)式較為復(fù)雜的時(shí)候,條件組合覆蓋的測(cè)試用例規(guī)模是相當(dāng)大的。測(cè)試用例規(guī)模是相當(dāng)大的。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋51說(shuō)明說(shuō)明l修正條件判定覆蓋(修正條件判定覆蓋(Modified Condition/Decision Modified Condition/Decision CoverageCoverage),簡(jiǎn)稱),簡(jiǎn)稱MC/DCMC/DC,要求在滿足判定,要求在滿足判定/條件覆蓋條件覆蓋的基礎(chǔ)上,每個(gè)簡(jiǎn)單邏輯判定條件都應(yīng)能夠獨(dú)立影響的基礎(chǔ)上,每個(gè)簡(jiǎn)單邏輯判定條件都應(yīng)能夠獨(dú)立影響整個(gè)判定表達(dá)式。整個(gè)判定表達(dá)式。l案例流程圖和條件表達(dá)式案例流程圖和條件表達(dá)式南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋52說(shuō)明說(shuō)明l通俗的說(shuō),通俗的說(shuō),MC/DCMC/DC首先要求實(shí)現(xiàn)條件覆蓋、判定覆蓋,首先要求實(shí)現(xiàn)條件覆蓋、判定覆蓋,在此基礎(chǔ)上,對(duì)于每一個(gè)條件在此基礎(chǔ)上,對(duì)于每一個(gè)條件C C,要求存在符合以下條,要求存在符合以下條件的兩個(gè)用例:件的兩個(gè)用例:1 1)條件)條件C C所在判定內(nèi)的所有條件,除條件所在判定內(nèi)的所有條件,除條件C C外,其外,其他條件的取值完全相同;他條件的取值完全相同;2 2)條件)條件C C的取值相反;的取值相反;3 3)判定的計(jì)算結(jié)果相反。)判定的計(jì)算結(jié)果相反。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋53條件條件T1T3T1T3的組合的組合組合組合T1T2T3T1|T2|T3通過(guò)路徑通過(guò)路徑說(shuō)明說(shuō)明1TFFT路徑42FTFT路徑43FFTT路徑44FTT-不可能5TFT-不可能6TTF-不可能7TTT-不可能8FFFF其他路徑T1:組合1,組合8T2:組合2,組合8T3:組合3,組合8南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋54條件條件T4T6T4T6的組合的組合組合組合T4T5T6T4|T5|T6T4&T5通過(guò)路通過(guò)路徑徑說(shuō)明說(shuō)明1TFFTF路徑2T1T3為F2FTFTF路徑2T1T3為F3FFTTF路徑2T1T3為F4FTT-不可能5TFT-不可能6TTF-不可能7TTTTT路徑3T1T3為F8FFFFF路徑1T1T3為FT4|T5|T6:組合1、2、3與組合8T4&T5:組合1、2和組合7南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑MC/DC覆蓋率覆蓋率abcLC-004124不是三角形不是三角形路徑路徑4100%LC-005142不是三角形不是三角形路徑路徑4LC-006412不是三角形不是三角形路徑路徑4LC-003222等邊三角形等邊三角形路徑路徑3LC-001324一般三角形一般三角形路徑路徑1LC-002223等腰三角形等腰三角形路徑路徑2LC-007322等腰三角形等腰三角形路徑路徑2LC-008232等腰三角形等腰三角形路徑路徑255測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋56測(cè)試分析測(cè)試分析l修正判定修正判定/條件覆蓋繼承了條件組合覆蓋的優(yōu)點(diǎn):條件覆蓋繼承了條件組合覆蓋的優(yōu)點(diǎn):1 1、測(cè)試用例數(shù)量的增加是線性的、測(cè)試用例數(shù)量的增加是線性的2 2、對(duì)操作數(shù)及非等式條件變化反應(yīng)敏感、對(duì)操作數(shù)及非等式條件變化反應(yīng)敏感3 3、具有更高的目標(biāo)碼覆蓋率、具有更高的目標(biāo)碼覆蓋率l修正的判定修正的判定/條件覆蓋通過(guò)消除測(cè)試用例之間的冗余,條件覆蓋通過(guò)消除測(cè)試用例之間的冗余,達(dá)到降低測(cè)試用例規(guī)模的目的,但其分析過(guò)程仍然是達(dá)到降低測(cè)試用例規(guī)模的目的,但其分析過(guò)程仍然是較為繁瑣的。較為繁瑣的。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)571 11.1.邏輯覆蓋主要針對(duì)邏輯判定表達(dá)式展開(kāi)測(cè)試,考查邏輯覆蓋主要針對(duì)邏輯判定表達(dá)式展開(kāi)測(cè)試,考查程序代碼中所有邏輯值均需測(cè)試真值和假值的情況程序代碼中所有邏輯值均需測(cè)試真值和假值的情況2.2.邏輯覆蓋主要包括邏輯覆蓋主要包括6 6個(gè)指標(biāo),按照由弱到強(qiáng)依次為:個(gè)指標(biāo),按照由弱到強(qiáng)依次為:l語(yǔ)句覆蓋語(yǔ)句覆蓋l判定覆蓋判定覆蓋l條件覆蓋條件覆蓋l判定判定/條件覆蓋條件覆蓋l條件組合覆蓋條件組合覆蓋l修正的判定修正的判定/條件覆蓋。條件覆蓋。但每個(gè)指標(biāo)都無(wú)法保證但每個(gè)指標(biāo)都無(wú)法保證100%100%的覆蓋。的覆蓋。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)582 23.3.因受到因受到“與與”、“或或”關(guān)系的限制,判斷條件之間關(guān)系的限制,判斷條件之間存在屏蔽作用,設(shè)計(jì)測(cè)試用例時(shí)要充分注意這一點(diǎn)。存在屏蔽作用,設(shè)計(jì)測(cè)試用例時(shí)要充分注意這一點(diǎn)。4.4.在實(shí)際項(xiàng)目中,由于程序內(nèi)部的邏輯存在不確定性在實(shí)際項(xiàng)目中,由于程序內(nèi)部的邏輯存在不確定性和無(wú)窮性,尤其對(duì)于大規(guī)模復(fù)雜軟件,不必采用所和無(wú)窮性,尤其對(duì)于大規(guī)模復(fù)雜軟件,不必采用所有的覆蓋指標(biāo),而應(yīng)根據(jù)實(shí)際情況選擇合適的覆蓋有的覆蓋指標(biāo),而應(yīng)根據(jù)實(shí)際情況選擇合適的覆蓋指標(biāo)指標(biāo)5.5.常見(jiàn)的覆蓋指標(biāo):常見(jiàn)的覆蓋指標(biāo):l語(yǔ)句覆蓋率:語(yǔ)句覆蓋率:100%100%l 判定覆蓋率:判定覆蓋率:80%80%以上以上 l 路徑覆蓋率:路徑覆蓋率:100%100%南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試public boolean isLeap(int year)boolean leap;if(year%4=0)if(year%100=0)if(year%400=0)leap=true;else leap=false;else leap=true;else leap=false;return leap;拓展訓(xùn)練拓展訓(xùn)練59進(jìn)一步練習(xí)進(jìn)一步練習(xí)l請(qǐng)用邏輯覆蓋法對(duì)右請(qǐng)用邏輯覆蓋法對(duì)右側(cè)的判斷閏年的側(cè)的判斷閏年的javajava代碼段設(shè)計(jì)測(cè)試用例。代碼段設(shè)計(jì)測(cè)試用例。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)二:路徑測(cè)試任務(wù)二:路徑測(cè)試60 任務(wù)簡(jiǎn)介 任務(wù)分析 相關(guān)知識(shí)點(diǎn) 任務(wù)實(shí)施 任務(wù)小結(jié) 拓展訓(xùn)練南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介611 1l本任務(wù)主要學(xué)習(xí)采用基本路徑測(cè)試法和循環(huán)測(cè)試法來(lái)本任務(wù)主要學(xué)習(xí)采用基本路徑測(cè)試法和循環(huán)測(cè)試法來(lái)設(shè)計(jì)測(cè)試用例。設(shè)計(jì)測(cè)試用例。l用路徑測(cè)試方法(基路徑測(cè)試法和循環(huán)測(cè)試法)對(duì)下用路徑測(cè)試方法(基路徑測(cè)試法和循環(huán)測(cè)試法)對(duì)下頁(yè)的頁(yè)的c+c+代碼進(jìn)行測(cè)試。代碼的功能是:輸入三個(gè)整數(shù)代碼進(jìn)行測(cè)試。代碼的功能是:輸入三個(gè)整數(shù)a a、b b、c c,分別作為三角形的三條邊,通過(guò)調(diào)用程序判,分別作為三角形的三條邊,通過(guò)調(diào)用程序判斷這三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,斷這三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,則判斷三角形的類型(等邊三角形、等腰三角形、一則判斷三角形的類型(等邊三角形、等腰三角形、一般三角形)。要求輸入三個(gè)整數(shù)般三角形)。要求輸入三個(gè)整數(shù)a a、b b、c c,必須滿足以,必須滿足以下條件:下條件:1a2001a200;1b2001b200;1c2001c200。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介622 2 void input(int num,int n)1int a;2for(int i=0;in;i+)3 do4 couta;6 while(a200);7 numi=a;89南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析63路徑測(cè)試的特點(diǎn)路徑測(cè)試的特點(diǎn)l從廣義的角度講,任何有關(guān)路徑分析的測(cè)試都可以被從廣義的角度講,任何有關(guān)路徑分析的測(cè)試都可以被成為路徑測(cè)試。這里給出路徑測(cè)試的最簡(jiǎn)單描述:路成為路徑測(cè)試。這里給出路徑測(cè)試的最簡(jiǎn)單描述:路徑測(cè)試就是從一個(gè)程序的入口開(kāi)始,執(zhí)行所經(jīng)歷的各徑測(cè)試就是從一個(gè)程序的入口開(kāi)始,執(zhí)行所經(jīng)歷的各個(gè)語(yǔ)句的完整過(guò)程。個(gè)語(yǔ)句的完整過(guò)程。l路徑測(cè)試是白盒測(cè)試最為典型的問(wèn)題,完成路經(jīng)測(cè)試路徑測(cè)試是白盒測(cè)試最為典型的問(wèn)題,完成路經(jīng)測(cè)試的理想情況是做到路徑覆蓋。但從路徑覆蓋的討論中的理想情況是做到路徑覆蓋。但從路徑覆蓋的討論中已經(jīng)得知,對(duì)于比較簡(jiǎn)單的程序?qū)崿F(xiàn)路徑測(cè)試是可能已經(jīng)得知,對(duì)于比較簡(jiǎn)單的程序?qū)崿F(xiàn)路徑測(cè)試是可能做到的,而對(duì)于程序中出現(xiàn)較多個(gè)判定和較多個(gè)循環(huán),做到的,而對(duì)于程序中出現(xiàn)較多個(gè)判定和較多個(gè)循環(huán),則路徑數(shù)目將會(huì)急劇增加,不可能實(shí)現(xiàn)路徑覆蓋。則路徑數(shù)目將會(huì)急劇增加,不可能實(shí)現(xiàn)路徑覆蓋。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析64路徑測(cè)試的方法路徑測(cè)試的方法l基路徑測(cè)試方法:在程序控制流圖的基礎(chǔ)上,通過(guò)分基路徑測(cè)試方法:在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。從而設(shè)計(jì)測(cè)試用例的方法。l循環(huán)測(cè)試方法:重點(diǎn)檢查循環(huán)結(jié)構(gòu)的有效性。循環(huán)測(cè)試方法:重點(diǎn)檢查循環(huán)結(jié)構(gòu)的有效性。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試相關(guān)知識(shí)點(diǎn)相關(guān)知識(shí)點(diǎn)65知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表l基路徑測(cè)試l循環(huán)測(cè)試南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試66定義定義l基本路徑測(cè)試法是在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。l設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖67定義定義l程序的控制流圖:描述程序控制流的一種圖示方法。l流圖只有2種圖形符號(hào):l圖中的每一個(gè)圓稱為流圖的結(jié)點(diǎn),代表一條或多條語(yǔ)句。l流圖中的箭頭稱為邊或連接,代表控制流南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖68注意事項(xiàng)注意事項(xiàng)l在選擇或多分支結(jié)構(gòu)中,分支的匯聚處應(yīng)有一個(gè)匯聚結(jié)點(diǎn)。l邊和結(jié)點(diǎn)圈定的區(qū)域叫做區(qū)域,當(dāng)對(duì)區(qū)域計(jì)數(shù)時(shí),圖形外的區(qū)域也應(yīng)記為一個(gè)區(qū)域。l如果判斷中的條件表達(dá)式是由一個(gè)或多個(gè)邏輯運(yùn)算符(OR,AND,NAND,NOR)連接的復(fù)合條件表達(dá)式,則需要改為一系列只有單條件的嵌套的判斷。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖69區(qū)域計(jì)數(shù)舉例區(qū)域計(jì)數(shù)舉例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖70復(fù)合條件復(fù)合條件1 if a or b2 x3 else4 y南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖71獨(dú)立路徑獨(dú)立路徑l至少沿一條新的邊移動(dòng)的路徑。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試72舉例舉例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試73步驟步驟1.畫出程序的控制流圖2.2.計(jì)算計(jì)算程序圈復(fù)雜度3.導(dǎo)出獨(dú)立路徑4.準(zhǔn)備測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試74步驟步驟1 1南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試75步驟步驟2 2l圈復(fù)雜度是一種為程序邏輯復(fù)雜性提供定量測(cè)度的軟圈復(fù)雜度是一種為程序邏輯復(fù)雜性提供定量測(cè)度的軟件度量,將該度量用于計(jì)算程序的基本的獨(dú)立路徑數(shù)件度量,將該度量用于計(jì)算程序的基本的獨(dú)立路徑數(shù)目,為確保所有語(yǔ)句至少執(zhí)行一次的測(cè)試數(shù)量的上界。目,為確保所有語(yǔ)句至少執(zhí)行一次的測(cè)試數(shù)量的上界。獨(dú)立路徑必須包含一條在定義之前不曾用到的邊。獨(dú)立路徑必須包含一條在定義之前不曾用到的邊。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試76步驟步驟2 2l有以下三種方法計(jì)算圈復(fù)雜度:有以下三種方法計(jì)算圈復(fù)雜度:l流圖中封閉區(qū)域的數(shù)量流圖中封閉區(qū)域的數(shù)量+1+1個(gè)開(kāi)放區(qū)域個(gè)開(kāi)放區(qū)域=總的區(qū)域總的區(qū)域數(shù)數(shù)=圈復(fù)雜度圈復(fù)雜度l給定流圖給定流圖G G的圈復(fù)雜度的圈復(fù)雜度V(G)V(G),定義為,定義為V(G)=E-N+2V(G)=E-N+2,E E是流圖中邊的數(shù)量,是流圖中邊的數(shù)量,N N是流圖中結(jié)點(diǎn)的數(shù)量是流圖中結(jié)點(diǎn)的數(shù)量;l給定流圖給定流圖G G的圈復(fù)雜度的圈復(fù)雜度V(G)V(G),定義為,定義為V(G)=P+1V(G)=P+1,P P是流圖是流圖G G中判定結(jié)點(diǎn)的數(shù)量。中判定結(jié)點(diǎn)的數(shù)量。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試77步驟步驟2 2南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試78步驟步驟3 3l獨(dú)立路徑是指,和其他的獨(dú)立路徑相比,至少引入一個(gè)新處理語(yǔ)句或一個(gè)新判斷的程序通路。lV(G)值正好等于該程序的獨(dú)立路徑的條數(shù)。l得出得出4 4條獨(dú)立路徑條獨(dú)立路徑路徑1:4-14路徑2:4-6-7-14路徑3:4-6-8-10-13-4-14路徑4:4-6-8-11-13-4-14南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試79步驟步驟4 4南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試循環(huán)測(cè)試循環(huán)測(cè)試80定義和分類定義和分類l循環(huán)測(cè)試的目的就是檢查循環(huán)結(jié)構(gòu)的有效性。l循環(huán)測(cè)試是一種白盒測(cè)試技術(shù),它專注于測(cè)試循環(huán)結(jié)構(gòu)的有效性。l在結(jié)構(gòu)化的程序中通常只有 3 種循環(huán),即 l簡(jiǎn)單循環(huán)l串接循環(huán)l嵌套循環(huán)南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試循環(huán)測(cè)試循環(huán)測(cè)試81分類分類南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試循環(huán)測(cè)試循環(huán)測(cè)試82簡(jiǎn)單循環(huán)簡(jiǎn)單循環(huán)l簡(jiǎn)單循環(huán)。應(yīng)該使用下列測(cè)試集來(lái)測(cè)試簡(jiǎn)單循 環(huán),其中 n 是允許通過(guò)循環(huán)的最大次數(shù)。l跳過(guò)循環(huán)。l只通過(guò)循環(huán)一次。l通過(guò)循環(huán)兩次。l通過(guò)循環(huán) m 次,其中 m=1=1,不可能測(cè)到內(nèi)層循環(huán),不可能測(cè)到內(nèi)層循環(huán)=0=0的情況。且內(nèi)層循環(huán)的循環(huán)次數(shù)取決于輸入的數(shù)是的情況。且內(nèi)層循環(huán)的循環(huán)次數(shù)取決于輸入的數(shù)是否符合規(guī)則,具有不確定性,因此內(nèi)層循環(huán)的測(cè)試僅否符合規(guī)則,具有不確定性,因此內(nèi)層循環(huán)的測(cè)試僅能取循環(huán)能取循環(huán)1 1次、循環(huán)次、循環(huán)2 2次和循環(huán)正常次數(shù),這里取次和循環(huán)正常次數(shù),這里取5 5次。次。l外層循環(huán):外層循環(huán)的循環(huán)次數(shù)取決于參數(shù)外層循環(huán):外層循環(huán)的循環(huán)次數(shù)取決于參數(shù)n,n=0n,n=0時(shí),時(shí),不執(zhí)行循環(huán)體,不執(zhí)行循環(huán)體,n1n1時(shí),將進(jìn)入循環(huán)體,考慮各種循環(huán)時(shí),將進(jìn)入循環(huán)體,考慮各種循環(huán)次數(shù)都能測(cè)試到,取次數(shù)都能測(cè)試到,取n=10n=10,此時(shí)最大循環(huán)次數(shù)為,此時(shí)最大循環(huán)次數(shù)為9.9.南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試循環(huán)測(cè)試用例編寫循環(huán)測(cè)試用例編寫91測(cè)試用例測(cè)試用例測(cè)試項(xiàng)測(cè)試項(xiàng)輸入輸入預(yù)期結(jié)果預(yù)期結(jié)果內(nèi)內(nèi) 層層循環(huán)循環(huán)循環(huán)1次tri數(shù)組,n=1,依次輸入0,201,-5,300,50a=0循環(huán)2次a=201循環(huán)5次a=50,tri0=50外外 層層循環(huán)循環(huán)循環(huán)0次n=0循環(huán)1次tri數(shù)組,n=10,依次輸入10,20,30,40,50,60,70,80,90,100tri0=10循環(huán)2次tri1=20循環(huán)5次tri4=60循環(huán)9次tri9=100南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)921 11.1.路徑測(cè)試是最早被應(yīng)用的測(cè)試方法之一,它有點(diǎn)類路徑測(cè)試是最早被應(yīng)用的測(cè)試方法之一,它有點(diǎn)類似于遍歷。通常的過(guò)程是,首先選定一些路徑,然似于遍歷。通常的過(guò)程是,首先選定一些路徑,然后據(jù)此寫出測(cè)試用例。后據(jù)此寫出測(cè)試用例。2.2.由于在實(shí)踐中對(duì)程序的所有路徑組合進(jìn)行測(cè)試是不由于在實(shí)踐中對(duì)程序的所有路徑組合進(jìn)行測(cè)試是不可能的,所以研究了許多策略來(lái)簡(jiǎn)化問(wèn)題,降低選可能的,所以研究了許多策略來(lái)簡(jiǎn)化問(wèn)題,降低選取出來(lái)的路徑數(shù)。取出來(lái)的路徑數(shù)。3.3.基路徑測(cè)試方法著眼于獨(dú)立路徑的尋找,要求在測(cè)基路徑測(cè)試方法著眼于獨(dú)立路徑的尋找,要求在測(cè)試中程序的每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次。試中程序的每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次。4.4.循環(huán)測(cè)試法主要解決的是對(duì)循環(huán)的測(cè)試方法。循環(huán)測(cè)試法主要解決的是對(duì)循環(huán)的測(cè)試方法。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試public void select_sort(int a)int i,j,k,t,n;n=a.length;for(i=0;i n-1;i+)k=i;for(j=i+1;j n;j+)if(a j a k)k=j;if(i!=k)t=ak;ak=ai;ai=t;拓展訓(xùn)練拓展訓(xùn)練93進(jìn)一步練習(xí)進(jìn)一步練習(xí)l請(qǐng)用基路徑測(cè)試法和循環(huán)測(cè)試法對(duì)下面的選擇排序java代碼段進(jìn)行測(cè)試。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)三:綜合案例分析任務(wù)三:綜合案例分析94 任務(wù)簡(jiǎn)介 任務(wù)分析 相關(guān)知識(shí)點(diǎn) 任務(wù)實(shí)施 任務(wù)小結(jié) 拓展訓(xùn)練南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介951 1l下頁(yè)程序流程圖描述了最多輸入50個(gè)值(以1作為輸入結(jié)束標(biāo)志),計(jì)算其中有效的學(xué)生分?jǐn)?shù)的個(gè)數(shù)、總分?jǐn)?shù)和平均值。l使用白盒測(cè)試方法對(duì)其進(jìn)行分析測(cè)試。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介v流程圖96南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析97分析分析l對(duì)于該流程圖而言,首先我們要分析其結(jié)構(gòu),確定判定節(jié)點(diǎn)和條件的個(gè)數(shù),在決定覆蓋指標(biāo)和具體采取的白盒測(cè)試方法。l也可以用多種方法共同驗(yàn)證選取的測(cè)試用例是否充分,是否需要補(bǔ)充。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試相關(guān)知識(shí)點(diǎn)相關(guān)知識(shí)點(diǎn)98知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表l白盒測(cè)試方法總結(jié)l白盒測(cè)試的應(yīng)用策略南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒測(cè)試方法總結(jié)白盒測(cè)試方法總結(jié)99白盒方法白盒方法l白盒測(cè)試是基于被測(cè)程序的源代碼設(shè)計(jì)測(cè)試用例的測(cè)試方法。l常見(jiàn)的白盒測(cè)試方法l邏輯覆蓋測(cè)試l路徑分析測(cè)試南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒方法白盒方法100邏輯覆蓋邏輯覆蓋l語(yǔ)句覆蓋:每個(gè)語(yǔ)句至少執(zhí)行一次。語(yǔ)句覆蓋:每個(gè)語(yǔ)句至少執(zhí)行一次。l判定覆蓋:在語(yǔ)句覆蓋的基礎(chǔ)上,每個(gè)判定的每個(gè)分支至少執(zhí)判定覆蓋:在語(yǔ)句覆蓋的基礎(chǔ)上,每個(gè)判定的每個(gè)分支至少執(zhí)行一次。行一次。l條件覆蓋:在語(yǔ)句覆蓋的基礎(chǔ)上,使每個(gè)判定表達(dá)式的每個(gè)條條件覆蓋:在語(yǔ)句覆蓋的基礎(chǔ)上,使每個(gè)判定表達(dá)式的每個(gè)條件都取到各種可能的結(jié)果。件都取到各種可能的結(jié)果。l判定判定/條件覆蓋:即判定覆蓋和條件覆蓋的交集。條件覆蓋:即判定覆蓋和條件覆蓋的交集。l條件組合覆蓋:每個(gè)判定表達(dá)式中條件的各種可能組合都至少條件組合覆蓋:每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。出現(xiàn)一次。l修正的條件修正的條件/判定覆蓋:要求在滿足判定判定覆蓋:要求在滿足判定/條件覆蓋的基礎(chǔ)上,條件覆蓋的基礎(chǔ)上,每個(gè)簡(jiǎn)單邏輯判定條件都應(yīng)能夠獨(dú)立影響整個(gè)判定表達(dá)式。每個(gè)簡(jiǎn)單邏輯判定條件都應(yīng)能夠獨(dú)立影響整個(gè)判定表達(dá)式。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒方法白盒方法101路徑分析路徑分析l基路徑測(cè)試:基本路徑測(cè)試法是在程序控制流圖的基基路徑測(cè)試:基本路徑測(cè)試法是在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。l循環(huán)測(cè)試是一種著重循環(huán)結(jié)構(gòu)有效性測(cè)試的測(cè)試方法。循環(huán)測(cè)試是一種著重循環(huán)結(jié)構(gòu)有效性測(cè)試的測(cè)試方法。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒方法應(yīng)用策略白盒方法應(yīng)用策略1021 1l靜態(tài)白盒測(cè)試有助于直接定位缺陷,所以應(yīng)優(yōu)先進(jìn)行靜態(tài)白盒測(cè)試有助于直接定位缺陷,所以應(yīng)優(yōu)先進(jìn)行靜態(tài)白盒測(cè)試,特別是重要的、核心的功能模塊,應(yīng)靜態(tài)白盒測(cè)試,特別是重要的、核心的功能模塊,應(yīng)進(jìn)行嚴(yán)格的評(píng)審。檢查的內(nèi)容包括對(duì)程序代碼的結(jié)構(gòu)進(jìn)行嚴(yán)格的評(píng)審。檢查的內(nèi)容包括對(duì)程序代碼的結(jié)構(gòu)進(jìn)行分析、對(duì)代碼質(zhì)量進(jìn)行度量。同時(shí)在靜態(tài)測(cè)試的進(jìn)行分析、對(duì)代碼質(zhì)量進(jìn)行度量。同時(shí)在靜態(tài)測(cè)試的過(guò)程中,應(yīng)不斷總結(jié)經(jīng)驗(yàn),更新缺陷檢查表等規(guī)范性過(guò)程中,應(yīng)不斷總結(jié)經(jīng)驗(yàn),更新缺陷檢查表等規(guī)范性文檔。文檔。l應(yīng)盡量采用現(xiàn)有的測(cè)試工具來(lái)幫助分析代碼的結(jié)構(gòu)和應(yīng)盡量采用現(xiàn)有的測(cè)試工具來(lái)幫助分析代碼的結(jié)構(gòu)和評(píng)估代碼質(zhì)量。評(píng)估代碼質(zhì)量。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒方法應(yīng)用策略白盒方法應(yīng)用策略1032 2l針對(duì)黑盒測(cè)試檢查不到或難以檢查的地方(如內(nèi)存泄針對(duì)黑盒測(cè)試檢查不到或難以檢查的地方(如內(nèi)存泄漏)使用特殊的白盒測(cè)試方法。漏)使用特殊的白盒測(cè)試方法。l根據(jù)代碼的不同結(jié)構(gòu),選用合理的測(cè)試覆蓋指標(biāo),評(píng)根據(jù)代碼的不同結(jié)構(gòu),選用合理的測(cè)試覆蓋指標(biāo),評(píng)估黑盒測(cè)試方法是否存在漏洞和冗余,若有漏洞,應(yīng)估黑盒測(cè)試方法是否存在漏洞和冗余,若有漏洞,應(yīng)有針對(duì)性地補(bǔ)充更多必要的測(cè)試用例。有針對(duì)性地補(bǔ)充更多必要的測(cè)試用例。l對(duì)于系統(tǒng)測(cè)試,也可以借鑒白盒測(cè)試中的路徑測(cè)試方對(duì)于系統(tǒng)測(cè)試,也可以借鑒白盒測(cè)試中的路徑測(cè)試方法的思想,展開(kāi)相應(yīng)的測(cè)試工作。法的思想,展開(kāi)相應(yīng)的測(cè)試工作。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施104策略分析策略分析l白盒測(cè)試主要針對(duì)被測(cè)軟件的內(nèi)部如何進(jìn)行工作的測(cè)試。邏輯覆蓋的關(guān)注點(diǎn)主要在于條件判定表達(dá)式本身的復(fù)雜度。而路徑測(cè)試必然滿足基本的邏輯覆蓋指標(biāo),所以優(yōu)先考慮路徑測(cè)試。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施105步驟步驟l導(dǎo)出過(guò)程的流圖l確定環(huán)形復(fù)雜性度量V(G)l確定基本路徑集合(即獨(dú)立路徑集合)。l為每一條獨(dú)立路徑各設(shè)計(jì)一組測(cè)試用例,以便強(qiáng)迫程序沿著該路徑至少執(zhí)行一次。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施106步驟步驟1 1南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施107步驟步驟2 21.1.V(G)=6(V(G)=6(個(gè)區(qū)域個(gè)區(qū)域)2.2.V(G)=EV(G)=EN+2=16N+2=1612+2=612+2=6其中其中E E為流圖中的邊數(shù),為流圖中的邊數(shù),N N為結(jié)點(diǎn)數(shù)為結(jié)點(diǎn)數(shù);3.3.V(G)=P+1=5+1=6V(G)=P+1=5+1=6其中其中P P為謂詞結(jié)點(diǎn)的個(gè)數(shù)。在流圖中,結(jié)點(diǎn)為謂詞結(jié)點(diǎn)的個(gè)數(shù)。在流圖中,結(jié)點(diǎn)2 2、3 3、5 5、6 6、9 9是謂詞結(jié)點(diǎn)。是謂詞結(jié)點(diǎn)。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施108步驟步驟3 3l可確定6條獨(dú)立的路徑:路徑1:1-2-9-10-12路徑2:1-2-9-11-12路徑3:1-2-3-9-10-12路徑4:1-2-3-4-5-8-2路徑5:1-2-3-4-5-6-8-2路徑6:1-2-3-4-5-6-7-8-2南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施109步驟步驟4-14-1l為每一條獨(dú)立路徑各設(shè)計(jì)一組測(cè)試用例,以便強(qiáng)迫程序沿著該路徑至少執(zhí)行一次。1.路徑1(1-2-9-10-12)的測(cè)試用例:scorek=有效分?jǐn)?shù)值,當(dāng)k i;scorei=1,2i50;期望結(jié)果:根據(jù)輸入的有效分?jǐn)?shù)算出正確的分?jǐn)?shù)個(gè)數(shù)n1、總分sum和平均分average。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施110步驟步驟4-24-22.路徑2(1-2-9-11-12)的測(cè)試用例:score 1=1;期望的結(jié)果:average=1,其他量保持初值。3.路徑3(1-2-3-9-10-12)的測(cè)試用例:輸入多于50個(gè)有效分?jǐn)?shù),即試圖處理51個(gè)分?jǐn)?shù),要求前51個(gè)為有效分?jǐn)?shù);期望結(jié)果:n1=50、且算出正確的總分和平均分。3.路徑4(1-2-3-4-5-8-2)的測(cè)試用例:scorei=有效分?jǐn)?shù),當(dāng)i50;2.scorek0,k i;期望結(jié)果:根據(jù)輸入的有效分?jǐn)?shù)算出正確的分?jǐn)?shù)個(gè)數(shù)n1、總分sum和平均分average。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施111步驟步驟4-34-35.路徑5(1-2-3-4-5-6-8-2)的測(cè)試用例:scorei=有效分?jǐn)?shù),當(dāng)i100,k i;期望結(jié)果:根據(jù)輸入的有效分?jǐn)?shù)算出正確的分?jǐn)?shù)個(gè)數(shù)n1、總分sum和平均分average。5.路徑6(1-2-3-4-5-6-7-8-2)的測(cè)試用例:scorei=有效分?jǐn)?shù),當(dāng)i1010的程序,的程序,一般會(huì)認(rèn)為過(guò)于復(fù)雜而難以測(cè)試。一般會(huì)認(rèn)為過(guò)于復(fù)雜而難以測(cè)試。2.2.在采用了路徑測(cè)試的基礎(chǔ)上在采用了路徑測(cè)試的基礎(chǔ)上 ,可針對(duì)循環(huán),進(jìn)而,可針對(duì)循環(huán),進(jìn)而采用循環(huán)測(cè)試,以驗(yàn)證循環(huán)結(jié)構(gòu)的正確性。采用循環(huán)測(cè)試,以驗(yàn)證循環(huán)結(jié)構(gòu)的正確性。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試void ReadPara(CString temp)if(temp=)m_oper.SetCurSel(0);elseif(temp=)m_oper.SetCurSel(1);elseif(temp=)m_oper.SetCurSel(2);else If(temp=)m_oper.SetCurSel(3);else if(temp=)m_oper.SetCurSel(4);elsem_oper.SetCurSel(5);return;拓展訓(xùn)練拓展訓(xùn)練113進(jìn)一步練習(xí)進(jìn)一步練習(xí)l請(qǐng)綜合考慮使用各白盒測(cè)試方法對(duì)下面的程序代碼段進(jìn)行測(cè)試。
收藏
編號(hào):66077335
類型:共享資源
大?。?span id="xz7jdp7" class="font-tahoma">13.30MB
格式:ZIP
上傳時(shí)間:2022-03-26
25
積分
- 關(guān) 鍵 詞:
-
軟件測(cè)試
教學(xué)PPT課件
軟件
測(cè)試
教學(xué)
PPT
課件
- 資源描述:
-
軟件測(cè)試教學(xué)PPT課件,軟件測(cè)試,教學(xué)PPT課件,軟件,測(cè)試,教學(xué),PPT,課件
展開(kāi)閱讀全文
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。