




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件質(zhì)量保證2開場(chǎng)白世界上不存在沒有缺陷的軟件??梢酝ㄟ^兩種途徑開發(fā)出沒有錯(cuò)誤的軟件:在一開始就防止引入錯(cuò)誤。識(shí)別潛藏在代碼中的錯(cuò)誤,找到并消滅它們。3什么是軟件質(zhì)量軟件質(zhì)量是軟件產(chǎn)品滿足使用要求的程度。對(duì)于軟件質(zhì)量的衡量,就是高質(zhì)量的軟件系統(tǒng)能夠準(zhǔn)時(shí)地交付給用戶,所耗費(fèi)的成本不超出預(yù)算,并且最重要的是,能夠正常地運(yùn)行。“正常地運(yùn)行”意味著該軟件必須盡可能沒有缺陷(bug)。理解:軟件需求是質(zhì)量度量的基礎(chǔ),與需求不符就是質(zhì)量不高完成的成本和完成的時(shí)間都應(yīng)該在計(jì)劃范圍內(nèi)開發(fā)出的軟件產(chǎn)品應(yīng)該是可靠的和可維護(hù)的4軟件質(zhì)量保證(SQA)質(zhì)量保證是一個(gè)活動(dòng),它向所有有關(guān)的人提供證據(jù)以確立質(zhì)量功能正在按需求運(yùn)行的信心。軟件質(zhì)量保證是一系列系統(tǒng)性的活動(dòng),它提供開發(fā)出滿足使用要求產(chǎn)品的軟件過程的能力證據(jù)。5軟件開發(fā)各個(gè)階段SQA的目標(biāo)6-1需求分析:確保客戶所要求的系統(tǒng)是可行的。確保客戶指定的需求確實(shí)能夠滿足他的真正
要求。避免開發(fā)者和客戶之間的誤解。向用戶提供為滿足他所提出的需求而實(shí)際構(gòu)建的適當(dāng)軟件系統(tǒng)。6軟件規(guī)格說明:通過建立需求跟蹤文檔,確保規(guī)格說明書與系統(tǒng)需求保持一致。確保規(guī)格說明書能適當(dāng)?shù)馗倪M(jìn)系統(tǒng)的靈活性、可維護(hù)性以及性能。確保已建立了測(cè)試策略。確保已建立了現(xiàn)實(shí)的開發(fā)進(jìn)度表,包括
預(yù)定的評(píng)審。確保已為系統(tǒng)設(shè)計(jì)了正式的變更規(guī)程。軟件開發(fā)各個(gè)階段SQA的目標(biāo)6-27軟件開發(fā)各個(gè)階段的SQA目標(biāo)6-3設(shè)計(jì):確保已建立用于描述設(shè)計(jì)的標(biāo)準(zhǔn),并且確保遵循這些標(biāo)準(zhǔn)。確保適當(dāng)?shù)乜刂撇⒂梦臋n記錄對(duì)設(shè)計(jì)進(jìn)行的變更。確保在系統(tǒng)設(shè)計(jì)組件已按照商定的準(zhǔn)則得到批準(zhǔn)之后才開始編碼。確保對(duì)設(shè)計(jì)的評(píng)審按照進(jìn)度進(jìn)行。8軟件開發(fā)各個(gè)階段的SQA目標(biāo)6-4編碼:確保代碼遵循已建立的風(fēng)格、結(jié)構(gòu)和文檔標(biāo)準(zhǔn)。確保代碼經(jīng)過適當(dāng)測(cè)試和集成,同時(shí)對(duì)編碼模塊的修改得到適當(dāng)?shù)臉?biāo)識(shí)。查看代碼編寫是否遵循既定的進(jìn)度。確保代碼評(píng)審按照進(jìn)度進(jìn)行。9軟件開發(fā)各個(gè)階段的SQA目標(biāo)6-5測(cè)試:確保測(cè)試計(jì)劃的建立和遵循。確保創(chuàng)建的測(cè)試計(jì)劃能夠滿足所有系統(tǒng)規(guī)格說明書的要求。確保經(jīng)過測(cè)試和返工后軟件與規(guī)格說明書保持一致。10軟件開發(fā)各個(gè)階段的SQA目標(biāo)6-6維護(hù):確保代碼和文檔的一致性。確保對(duì)已建立的變更控制過程進(jìn)行監(jiān)測(cè),包括將變更集成到軟件的產(chǎn)品版本中的過程。確保對(duì)代碼的修改遵循編碼標(biāo)準(zhǔn),并且要對(duì)其進(jìn)行評(píng)審,不要破壞整個(gè)代碼結(jié)構(gòu)。11實(shí)施質(zhì)量管理質(zhì)量管理的發(fā)展和趨勢(shì)質(zhì)量管理體系建立質(zhì)量計(jì)劃質(zhì)量保證質(zhì)量控制的輸入質(zhì)量控制的手段和技巧質(zhì)量控制的輸出12質(zhì)量管理發(fā)展五個(gè)階段1900手工操作者專職檢驗(yàn)員1920過程統(tǒng)計(jì)技術(shù)1931全面質(zhì)量管理19602000以顧客為中心階段時(shí)間13質(zhì)量管理發(fā)展趨勢(shì)核心:由對(duì)結(jié)果的檢驗(yàn)轉(zhuǎn)向?qū)^程精細(xì)的控制改變:-管理范圍的改變:由針對(duì)以產(chǎn)品生產(chǎn)制造服務(wù)質(zhì)量管理擴(kuò)大到行政部門工作質(zhì)量。-關(guān)注焦點(diǎn)的轉(zhuǎn)移:
由面向以產(chǎn)品生存周期的服務(wù)質(zhì)量管理轉(zhuǎn)向顧客滿意為中心質(zhì)量管理。14軟件產(chǎn)業(yè)要經(jīng)歷三個(gè)不同時(shí)代結(jié)構(gòu)化生產(chǎn)時(shí)代(70年代中期至90年代中期):結(jié)構(gòu)化分析;結(jié)構(gòu)化設(shè)計(jì);結(jié)構(gòu)化程序設(shè)計(jì);結(jié)構(gòu)化測(cè)試;結(jié)構(gòu)化審查與走查。以過程為中心的時(shí)代(從80年代中期至2010年前后):寓質(zhì)量和效率于生產(chǎn)過程之中;關(guān)于軟件過程的主要流派(ISO9000,CMM)。軟件工業(yè)化生產(chǎn)時(shí)代(1995年開始):基礎(chǔ)技術(shù)(軟件過程技術(shù),面向?qū)ο蠹夹g(shù),基于構(gòu)件的開發(fā)技術(shù));主要問題(標(biāo)準(zhǔn)化,產(chǎn)業(yè)文化,政策法規(guī));對(duì)前途的估計(jì)(我國(guó)2005年可以進(jìn)入軟件工業(yè)化生產(chǎn)時(shí)代)。15項(xiàng)目質(zhì)量管理總覽圖16項(xiàng)目質(zhì)量管理定義項(xiàng)目質(zhì)量管理質(zhì)量管理需要保證整個(gè)項(xiàng)目都要滿足設(shè)計(jì)時(shí)的需要項(xiàng)目質(zhì)量管理包括了所有的活動(dòng),這些活動(dòng)決定了質(zhì)量策略、質(zhì)量目標(biāo)和責(zé)任。而這些都需要被質(zhì)量計(jì)劃、質(zhì)量控制、質(zhì)量保證和質(zhì)量改進(jìn)等活動(dòng)完成。17項(xiàng)目質(zhì)量管理的核心過程三個(gè)核心過程:質(zhì)量管理–確認(rèn)質(zhì)量標(biāo)準(zhǔn)是關(guān)于項(xiàng)目目的、項(xiàng)目管理者、項(xiàng)目使用者這方面決定的質(zhì)量保證–評(píng)估整個(gè)項(xiàng)目滿足相關(guān)的質(zhì)量要求質(zhì)量控制–監(jiān)控記過符合相應(yīng)質(zhì)量標(biāo)準(zhǔn),可以進(jìn)行檢查,滿足項(xiàng)目管理者以及整個(gè)項(xiàng)目組的要求18制定質(zhì)量計(jì)劃質(zhì)量計(jì)劃描述相關(guān)質(zhì)量標(biāo)準(zhǔn)并且說明如何滿足相應(yīng)標(biāo)準(zhǔn)輸入質(zhì)量計(jì)劃質(zhì)量策略–一個(gè)組織中有關(guān)管理層對(duì)于質(zhì)量的定義和方向范圍描述產(chǎn)品說明標(biāo)準(zhǔn)和規(guī)則其他過程輸出–其他領(lǐng)域的相關(guān)知識(shí)19質(zhì)量計(jì)劃的手段和技巧2-1質(zhì)量計(jì)劃的工具和技巧效益成本分析–考慮市場(chǎng),就意味著減少返工;成本是與質(zhì)量管理活動(dòng)有關(guān)的費(fèi)用基本水平標(biāo)準(zhǔn)–比較實(shí)際或者計(jì)劃中其他項(xiàng)目實(shí)施中的情況流程圖因果圖20質(zhì)量計(jì)劃的手段和技巧2-2系統(tǒng)或程序流程圖
試驗(yàn)設(shè)計(jì)–一種分析技巧,有助于鑒定哪些變量對(duì)整個(gè)項(xiàng)目的成果產(chǎn)生最大的影響21質(zhì)量計(jì)劃的輸出質(zhì)量計(jì)劃的輸出質(zhì)量管理計(jì)劃–說明項(xiàng)目管理小組如何具體執(zhí)行它的質(zhì)量策略;操作性定義–用非常專業(yè)化的術(shù)語(yǔ)描述各項(xiàng)操作規(guī)程的含義,以及如何通過質(zhì)量控制程序?qū)λ鼈冞M(jìn)行檢測(cè)。審驗(yàn)單–用以證明一系列步驟是否已經(jīng)得到貫徹實(shí)施對(duì)其他程序的輸入–可以在其他領(lǐng)域提出更長(zhǎng)遠(yuǎn)的要求22質(zhì)量計(jì)劃中的輸出總覽圖23質(zhì)量保證質(zhì)量保證為了提供信用,證明項(xiàng)目將會(huì)達(dá)到有關(guān)質(zhì)量標(biāo)準(zhǔn),而在質(zhì)量體系中開展的有計(jì)劃、有組織的工作活動(dòng)質(zhì)量保證的輸入質(zhì)量管理計(jì)劃質(zhì)量控制結(jié)果操作性定義24質(zhì)量保證的手段和技巧質(zhì)量保證的手段和技巧質(zhì)量計(jì)劃的手段和技巧質(zhì)量審查–質(zhì)量審查是對(duì)其他質(zhì)量管理活動(dòng)的結(jié)構(gòu)性復(fù)查質(zhì)量保證的輸出質(zhì)量改進(jìn)–質(zhì)量提高包括采取措施提高項(xiàng)目的效益和效率,為項(xiàng)目相關(guān)人員提供更多的利益25質(zhì)量控制質(zhì)量控制–包括監(jiān)控特定的項(xiàng)目成果,以判定它們是否符合有關(guān)的質(zhì)量標(biāo)準(zhǔn),并找出方法消除造成項(xiàng)目成果不令人滿意的原因。預(yù)防(不讓錯(cuò)誤進(jìn)入項(xiàng)目程序)和檢驗(yàn)(不讓錯(cuò)誤進(jìn)入客戶手中)靜態(tài)調(diào)查(其結(jié)果要么一致,要么不一致)和動(dòng)態(tài)調(diào)查(其結(jié)果依據(jù)衡量一致性程度的一種持續(xù)性標(biāo)準(zhǔn)而評(píng)估)確定因素(非常事件)和隨機(jī)因素(正態(tài)過程分布)誤差范圍(如果其結(jié)果落入誤差范圍所界定的范圍內(nèi),那么這個(gè)結(jié)果就是可接受的)和控制界限(如果其成果落入控制界限內(nèi)。那么該項(xiàng)目也在控制之中。)26質(zhì)量控制總覽圖 27質(zhì)量控制的輸入質(zhì)量控制的輸入項(xiàng)目成果–包括程序運(yùn)行結(jié)果和生產(chǎn)結(jié)果質(zhì)量管理計(jì)劃操作性定義審查單28質(zhì)量控制輸入圖29質(zhì)量控制的手段和技巧2-1檢驗(yàn)-包括測(cè)量、檢查和測(cè)試等活動(dòng),目的是確定項(xiàng)目成果是否與要求相一致控制表-控制表是根據(jù)時(shí)間推移對(duì)程序運(yùn)行結(jié)果的一種圖表展示。排列圖-是一種直方圖,由事件發(fā)生的頻率組織而成,用以顯示多少成果是產(chǎn)生于已確定的各種類型的原因的。如下圖。30質(zhì)量控制的手段和技巧2-2抽樣調(diào)查統(tǒng)計(jì)流程圖趨勢(shì)分析31質(zhì)量控制的輸出質(zhì)量控制輸出質(zhì)量提高可接受的決定(接受/拒絕)返工–返工是有缺陷的、不符合要求的產(chǎn)品變?yōu)榉弦蠛驮O(shè)計(jì)規(guī)格的產(chǎn)品的行為。完成后的審驗(yàn)單程序的調(diào)整-程序的調(diào)整指作為質(zhì)量檢測(cè)結(jié)果而隨時(shí)進(jìn)行的糾錯(cuò)和預(yù)防行為。32簡(jiǎn)介軟件測(cè)試是軟件工程過程中的關(guān)鍵組件。軟件測(cè)試是軟件質(zhì)量保證的要素,可以將其描述為一個(gè)運(yùn)行程序以檢測(cè)錯(cuò)誤(如果有)的過程。33測(cè)試的常識(shí)與道理2-1編程大師說:沒有錯(cuò)誤的程序世間難求。(《編程之道》)你在學(xué)校里學(xué)過測(cè)試嗎?(讀到博士可能也不懂測(cè)試)你所在的企業(yè)重視測(cè)試嗎?(小公司程序員的技能更加全面)臨時(shí)抱佛腳行嗎?你以為有文檔模板就會(huì)測(cè)試了嗎?
34測(cè)試的常識(shí)與道理2-2如果不懂得有效地進(jìn)行測(cè)試,你不僅得不到功勞,也沒人欣賞你的苦勞,你擁有最多的將只是疲勞。職業(yè)軟件工程師應(yīng)當(dāng)掌握需求開發(fā)、系統(tǒng)設(shè)計(jì)、編程、測(cè)試、維護(hù)所有技能。35測(cè)試的目的是什么測(cè)試的目的是為了發(fā)現(xiàn)盡可能多的缺陷,不是為了說明軟件中沒有缺陷。推論:成功的測(cè)試在于發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的缺陷。所以測(cè)試人員的職責(zé)是設(shè)計(jì)這樣的測(cè)試用例,它能有效地揭示潛伏在軟件里的缺陷。千萬不要將“測(cè)試”與“演示”混為一談。例如科研鑒定會(huì)。如果產(chǎn)品通過了嚴(yán)格的測(cè)試,大家不要不吭氣,應(yīng)當(dāng)好好地宣傳一把。36軟件測(cè)試原則2-1完全測(cè)試程序是不可能的-輸入量太大-輸出結(jié)果太多-軟件實(shí)現(xiàn)途徑太多-軟件說明書沒有客觀標(biāo)準(zhǔn)。從不同角度看,軟件缺陷的標(biāo)準(zhǔn)不同。37軟件測(cè)試原則2-2軟件測(cè)試是有風(fēng)險(xiǎn)的行為測(cè)試無法顯示潛伏的軟件缺陷找到的軟件缺陷越多,就說明軟件缺陷越多并非所有軟件缺陷都能修復(fù)軟件測(cè)試一項(xiàng)講究條理的技術(shù)專業(yè)38軟件測(cè)試方法-黑盒和白盒白盒測(cè)試中(有時(shí)候稱為開盒測(cè)試),軟件測(cè)試員可以訪問程序員的代碼,并通過檢查代碼來協(xié)助測(cè)試-可以看到盒子里面。一般在單元測(cè)試中采用白盒測(cè)試,用于測(cè)試模塊中所有可能的路徑、執(zhí)行所有循環(huán)并測(cè)試所有邏輯表達(dá)式。黑盒測(cè)試則側(cè)重于軟件的整體功能。它不基于程序的內(nèi)部結(jié)構(gòu)而基于系統(tǒng)功能。猶如一個(gè)人站在黑盒子外面,只知道系統(tǒng)輸入一定數(shù)據(jù),得到一定的輸出,而不必清楚這個(gè)黑盒子中進(jìn)行了哪些操作和運(yùn)算。39軟件測(cè)試方法-靜態(tài)和動(dòng)態(tài)靜態(tài)檢查確保系統(tǒng)按照組織的標(biāo)準(zhǔn)和過程運(yùn)行,主要依賴于評(píng)審和非運(yùn)行的手段來檢查。通常包括需求評(píng)審、設(shè)計(jì)評(píng)審、代碼走查和代碼檢查。動(dòng)態(tài)檢查在生命周期中進(jìn)行測(cè)試(運(yùn)行)。通常包括單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、用戶的驗(yàn)收測(cè)試。40靜態(tài)測(cè)試審查(Inspection)-軟件的一種基本測(cè)試方法,它以一系列典型問題為依據(jù)進(jìn)行檢測(cè)。走查(Walkthrough)
-一對(duì)一的審查,比審查更加仔細(xì)?;仡?Review)-以發(fā)現(xiàn)軟件中存在的錯(cuò)誤和缺陷為目的的一種軟件測(cè)試方法,它是在軟件證實(shí)執(zhí)行之前完成。41靜態(tài)和動(dòng)態(tài)測(cè)試進(jìn)行結(jié)構(gòu)和功能測(cè)試測(cè)試階段執(zhí)行人靜態(tài)校驗(yàn)動(dòng)態(tài)校驗(yàn)可行性評(píng)審開發(fā)人員,用戶√需求評(píng)審開發(fā)人員,用戶√設(shè)計(jì)評(píng)審開發(fā)人員√單元測(cè)試開發(fā)人員√集成測(cè)試開發(fā)人員,用戶√系統(tǒng)測(cè)試開發(fā)人員在用戶的協(xié)助下完成√驗(yàn)收測(cè)試用戶√42測(cè)試技術(shù)43測(cè)試產(chǎn)品說明書對(duì)于產(chǎn)品說明書的制定是個(gè)很重要的設(shè)計(jì)階段,產(chǎn)品說明書的質(zhì)量會(huì)直接影響到整個(gè)產(chǎn)品開發(fā)。測(cè)試產(chǎn)品說明書屬于靜態(tài)黑盒子測(cè)試。44常用測(cè)試用語(yǔ)-測(cè)試用例測(cè)試用例:編寫用于輸入輸入的實(shí)際數(shù)制和預(yù)期結(jié)果。測(cè)試用例還明確指出使用具體測(cè)試用例產(chǎn)生的測(cè)試程序的任何限制。使用目的:測(cè)試用例應(yīng)該設(shè)計(jì)為能夠快速容易地發(fā)現(xiàn)盡可能多的錯(cuò)誤。應(yīng)該通過使用和產(chǎn)生正確和錯(cuò)誤的輸入和輸出來“檢驗(yàn)”程序。其目標(biāo)是要使用合理范圍內(nèi)的條件,盡可能全面地測(cè)試所有模塊乃至整個(gè)系統(tǒng)。45測(cè)試與調(diào)試-什么是缺陷缺陷:最終產(chǎn)品同用戶的期望不一致缺陷的分類錯(cuò)誤遺漏超出需求的部分缺陷(未觸發(fā))VS.錯(cuò)誤(應(yīng)首先解決)46測(cè)試與調(diào)試-調(diào)試的準(zhǔn)則調(diào)試的方法:歸納法、演繹法和回溯法。常用調(diào)試技術(shù)使用診斷輸出語(yǔ)句(diagnosticoutputstatement)、快照轉(zhuǎn)儲(chǔ)(snapshotdump)以及跟蹤指令的斷點(diǎn)(instruction-dependentbreakpoint)。47測(cè)試的分類與比較開發(fā)與測(cè)試的V型關(guān)系如果軟件開發(fā)過程采用嚴(yán)格的瀑布模型,那么開發(fā)與測(cè)試有“V”型的對(duì)應(yīng)關(guān)系。需求開發(fā)
高層設(shè)計(jì)詳細(xì)設(shè)計(jì)編程單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試48測(cè)試階段2-1單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試。是“從小到大”、“由內(nèi)至外”、“循序漸進(jìn)”的測(cè)試過程,體現(xiàn)了“分而治之”的思想。單元測(cè)試的粒度最小,一般由開發(fā)小組采用白盒方式來測(cè)試,主要測(cè)試單元是否符合“設(shè)計(jì)”。集成測(cè)試界于單元測(cè)試和系統(tǒng)測(cè)試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測(cè)試,既要驗(yàn)證“設(shè)計(jì)”又要驗(yàn)證“需求”。
49測(cè)試階段2-2系統(tǒng)測(cè)試的粒度最大,一般由獨(dú)立測(cè)試小組采用黑盒方式來測(cè)試,主要測(cè)試系統(tǒng)是否符合“需求規(guī)格說明書”。驗(yàn)收測(cè)試與系統(tǒng)測(cè)試非常相似,主要區(qū)別是測(cè)試人員不同,驗(yàn)收測(cè)試由用戶執(zhí)行。50測(cè)試內(nèi)容測(cè)試內(nèi)容一般包含接口與路徑測(cè)試。功能測(cè)試、健壯性測(cè)試、性能測(cè)試、用戶界面測(cè)試、安全性測(cè)試、壓力測(cè)試、可靠性測(cè)試、安裝/反安裝測(cè)試…
51測(cè)試階段對(duì)應(yīng)表測(cè)試階段
主要依據(jù)
測(cè)試人員、測(cè)試方式
主要測(cè)試內(nèi)容
單元測(cè)試系統(tǒng)設(shè)計(jì)文檔由開發(fā)小組執(zhí)行白盒測(cè)試
接口測(cè)試、路徑測(cè)試
集成測(cè)試系統(tǒng)設(shè)計(jì)文檔需求文檔由開發(fā)小組執(zhí)行白盒測(cè)試和黑盒測(cè)試
接口測(cè)試、路徑測(cè)試功能測(cè)試、性能測(cè)試
系統(tǒng)測(cè)試需求文檔由獨(dú)立測(cè)試小組執(zhí)行黑盒測(cè)試
功能測(cè)試、健壯性測(cè)試、性能測(cè)試、用戶界面測(cè)試、安全性測(cè)試、壓力測(cè)試、可靠性測(cè)試、安裝/反安裝測(cè)試
驗(yàn)收測(cè)試需求文檔由用戶執(zhí)行黑盒測(cè)試
52接口與路徑測(cè)試3-1接口測(cè)試:數(shù)據(jù)一般通過接口輸入和輸出,接口測(cè)試一般是白盒測(cè)試的第一步。
輸入?yún)?shù)有“典型值”、“邊界值”、“異常值”輸出包括函數(shù)的返回值和輸出參數(shù)。實(shí)際輸出與期望的輸出不一致,那么說明程序有錯(cuò)誤。一個(gè)函數(shù)體內(nèi)的語(yǔ)句可能只有十幾條,但邏輯路徑可能有成千上萬條。所以應(yīng)該根據(jù)經(jīng)驗(yàn)選擇關(guān)鍵的路徑測(cè)試。
53接口與路徑測(cè)試3-2路徑測(cè)試的檢查表-數(shù)據(jù)類型、變量值、邏輯判斷、循環(huán)、內(nèi)存管理、文件I/O、錯(cuò)誤處理預(yù)防一些重要的路徑?jīng)]有被測(cè)試的措施有:觀察是否有程序語(yǔ)句從來沒有被執(zhí)行過。要特別留意函數(shù)體內(nèi)的錯(cuò)誤處理程序塊。54接口與路徑測(cè)試3-3接口與路徑測(cè)試用例的參考模板55功能測(cè)試3-1功能測(cè)試的基本方法是構(gòu)造一些合理輸入(在需求范圍之內(nèi)),檢查輸出是否與期望的相同。如果兩者不一致,即表明功能有誤。難點(diǎn)在于如何構(gòu)造有效的輸入。56功能測(cè)試3-2功能測(cè)試的測(cè)試方法:等價(jià)劃分法和邊界值分析法。
等價(jià)劃分是指把輸入空間劃分為幾個(gè)“等價(jià)區(qū)間”,在每個(gè)“等價(jià)區(qū)間”中只需要測(cè)試一個(gè)典型值就可以了。等價(jià)劃分法來源于人們的直覺與經(jīng)驗(yàn),可令測(cè)試事半功倍?!叭毕葸z漏在角落里,聚集在邊界上”。邊界值測(cè)試法是對(duì)等價(jià)劃分法的補(bǔ)充。如果A和B是輸入空間的邊界值,那么除了典型值外還要用A和B作為測(cè)試用例。57功能測(cè)試3-3功能測(cè)試用例的參考模板58性能測(cè)試3-1性能測(cè)試即測(cè)試軟件處理事務(wù)的速度,一是為了檢驗(yàn)性能是否符合需求,二是為了得到某些性能數(shù)據(jù)供人們參考。絕對(duì)值考慮:如數(shù)據(jù)送輸速率是每秒多少比特?!跋鄬?duì)值”考慮:如某個(gè)軟件比另一個(gè)軟件快多少倍。性能測(cè)試中考慮運(yùn)行環(huán)境的影響:例如網(wǎng)絡(luò)環(huán)境、計(jì)算機(jī)主頻,總線結(jié)構(gòu)和外部設(shè)備都可能影響軟件的運(yùn)行速度。59性能測(cè)試3-2性能測(cè)試的一些注意事項(xiàng):應(yīng)當(dāng)編寫一段程序用于計(jì)算時(shí)間以及相關(guān)數(shù)據(jù)。應(yīng)當(dāng)測(cè)試軟件在標(biāo)準(zhǔn)配置和最低配置下的性能。應(yīng)當(dāng)關(guān)閉那些消耗內(nèi)存、占用CPU的其它應(yīng)用軟件(如殺毒軟件)。應(yīng)當(dāng)分檔記錄。例如傳輸文件的容量從100K到1M可以分成若干等級(jí)。同一種輸入情況在不同的時(shí)間可能得到不同的性能數(shù)據(jù),可以取其平均值。
60性能測(cè)試3-3性能測(cè)試用例的參考模板61壓力測(cè)試2-1壓力測(cè)試也叫負(fù)荷測(cè)試,即獲取系統(tǒng)能正常運(yùn)行的極限狀態(tài)。壓力測(cè)試的主要任務(wù)是:構(gòu)造正確的輸入,使勁折騰系統(tǒng)卻讓它剛好不癱瘓。壓力測(cè)試的一個(gè)變種是敏感測(cè)試。在某種情況下,微小的輸入變動(dòng)會(huì)導(dǎo)致系統(tǒng)的表現(xiàn)(如性能)發(fā)生急劇的變化。62壓力測(cè)試2-2壓力測(cè)試用例的參考模板63其他測(cè)試內(nèi)容健壯性測(cè)試用戶界面測(cè)試信息安全測(cè)試可靠性測(cè)試安裝和反安裝測(cè)試64問題1:有了“黑盒”測(cè)試為什么還要“白盒”測(cè)試?問題2:由于單元測(cè)試要寫測(cè)試驅(qū)動(dòng)程序,非常麻煩,能否等到整個(gè)系統(tǒng)全部開發(fā)完后,再集中精力進(jìn)行一次性地單元測(cè)試呢?問題3:如果每個(gè)單元都通過了測(cè)試,把它們集成一起難道會(huì)有什么不妥嗎?集成測(cè)試是否多此一舉?測(cè)試常見問題2-165測(cè)試常見問題2-2問題4:在集成測(cè)試的時(shí)候,已經(jīng)對(duì)一些子系統(tǒng)進(jìn)行了功能測(cè)試、性能測(cè)試等等,那么在系統(tǒng)測(cè)試時(shí)能否跳過相同內(nèi)容的測(cè)試?問題5:既然系統(tǒng)測(cè)試與驗(yàn)收測(cè)試的內(nèi)容幾乎是相同的,為什么還要驗(yàn)收測(cè)試?問題6:能否將系統(tǒng)測(cè)試和驗(yàn)收測(cè)試“合二為一”?66總結(jié)2-1測(cè)試可以將測(cè)試描述為一個(gè)運(yùn)行程序以發(fā)現(xiàn)錯(cuò)誤的過程。軟件測(cè)試的準(zhǔn)則:不完全測(cè)試、風(fēng)險(xiǎn)測(cè)試、無法顯示潛伏錯(cuò)誤、發(fā)現(xiàn)錯(cuò)誤成線性增長(zhǎng)、缺陷不能完全修復(fù)、測(cè)試有條理規(guī)程測(cè)試的方法:黑盒/白盒、靜態(tài)/動(dòng)態(tài)軟件測(cè)試的各個(gè)階段:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試67什么是測(cè)試工具定義:輔助測(cè)試整個(gè)過程的工具軟件單元測(cè)試可以有兩種方式自己編寫代碼使用單元測(cè)試工具整個(gè)過程包括:靜態(tài)分析,測(cè)試計(jì)劃,測(cè)試設(shè)計(jì),測(cè)試執(zhí)行,測(cè)試缺陷跟蹤,測(cè)試報(bào)告和質(zhì)量度量等68單元測(cè)試工具的種類單元測(cè)試工具的種類靜態(tài)分析工具代碼規(guī)范審核工具內(nèi)存和資源檢查工具測(cè)試數(shù)據(jù)生成工具測(cè)試框架工具測(cè)試結(jié)果比較工具測(cè)試度量工具測(cè)試文檔生成和管理工具69自動(dòng)測(cè)試工具自動(dòng)測(cè)試工具好處速度和效率準(zhǔn)確度和精確度耐性、不休息、可重復(fù)局限對(duì)軟件變更,尤其是代碼變更比較敏感先期的測(cè)試開發(fā)比較費(fèi)時(shí)有些測(cè)試結(jié)果無法用工具比較和分析有些工具的腳本/代碼會(huì)使程序運(yùn)行環(huán)境不純凈70使用自動(dòng)測(cè)試工具的目的測(cè)試工具提高測(cè)試效率,節(jié)省測(cè)試成本測(cè)試設(shè)計(jì)提高測(cè)試效果,同時(shí)也可以提高測(cè)試效率,節(jié)省測(cè)試成本有些測(cè)試單靠手工很難完成壓力測(cè)試,模擬并發(fā)測(cè)試等多數(shù)的單元測(cè)試有些測(cè)試使用測(cè)試工具更合適回歸測(cè)試大量測(cè)試數(shù)據(jù)的生成、部分測(cè)試結(jié)果的比較缺陷管理和測(cè)試用例管理質(zhì)量度量71如何引入自動(dòng)測(cè)試工具3-1選擇自動(dòng)測(cè)試工具是一個(gè)重要的步驟,所以一定要謹(jǐn)慎因?yàn)闇y(cè)試工作經(jīng)常會(huì)涉及到管理流程和開發(fā)流程的改變、涉及到人員的考評(píng)標(biāo)準(zhǔn),所以它有時(shí)會(huì)對(duì)整個(gè)企業(yè)產(chǎn)生影響。測(cè)試工具應(yīng)該能夠管理測(cè)試過程和測(cè)試文檔,并生成各種測(cè)試報(bào)告。自動(dòng)測(cè)試工具應(yīng)該允許用戶把自動(dòng)測(cè)試數(shù)據(jù)和流程與手工的測(cè)試數(shù)據(jù)和流程結(jié)合到一起。72如何引入自動(dòng)測(cè)試工具3-2自動(dòng)測(cè)試工具應(yīng)該能夠?qū)I(yè)務(wù)需求與測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)和測(cè)試結(jié)果相關(guān)聯(lián),允許最終用戶根據(jù)測(cè)試結(jié)果來評(píng)估應(yīng)用程序的完成情況。自動(dòng)測(cè)試工具中的各功能模塊應(yīng)該緊密集成到一起,共享和重用測(cè)試數(shù)據(jù),支持回歸測(cè)試。工具應(yīng)該可以很容易地利用過去的或者其他人員的測(cè)試資料。工具內(nèi)部應(yīng)該使用一致的腳本語(yǔ)言和數(shù)據(jù)格式。73如何引入自動(dòng)測(cè)試工具3-3自動(dòng)測(cè)試工具的體系結(jié)構(gòu)和文件格式應(yīng)該是開放的,可以很容易地與其他技術(shù)或工具進(jìn)行交互和集成。自動(dòng)測(cè)試工具廠商應(yīng)該有比較完善的科室培訓(xùn)和技術(shù)支持機(jī)制,能夠?yàn)樽詣?dòng)測(cè)試工具的實(shí)施提供咨詢和支持。74Panorama產(chǎn)品內(nèi)容產(chǎn)品背景及功能產(chǎn)品術(shù)語(yǔ)基礎(chǔ)應(yīng)用原理及環(huán)境工具介紹OO-Test其它工具請(qǐng)按照上機(jī)安排操作75測(cè)試工具PanoramaPanorama-2C/C++是一個(gè)軟件測(cè)試工具。它也用來QA維護(hù)環(huán)境它運(yùn)行在SunOS/Solaris和WindowsNT/95上,支持SunC、C++。76Panorama產(chǎn)品背景及功能3-1產(chǎn)品背景集成了8個(gè)產(chǎn)品/32個(gè)工具的軟件包,一般用于:1、新系統(tǒng)開發(fā)過程中的質(zhì)量保證和單元測(cè)試;2、舊系統(tǒng)維護(hù)過程中質(zhì)量保證與測(cè)試3、再工程中的系統(tǒng)分析77Panorama產(chǎn)品背景及功能3-278Panorama產(chǎn)品背景及功能3-3OO-Test:測(cè)試用例生成和管理:1、記錄和生成測(cè)試用例2、最小化測(cè)試用例集3、測(cè)試覆蓋分析OO-Browser:系統(tǒng)結(jié)構(gòu)分析:1、生成系統(tǒng)中類和函數(shù)的繼承/調(diào)用關(guān)系圖2、實(shí)現(xiàn)代碼與關(guān)系圖的雙向?qū)?yīng)和跳轉(zhuǎn)3、顯示系統(tǒng)結(jié)構(gòu)測(cè)試覆蓋結(jié)果OO-Diagrammer:流程結(jié)構(gòu)分析:1、生成控制流程圖、邏輯流程圖、代碼流程圖2、實(shí)現(xiàn)代碼與流程圖的雙向?qū)?yīng)和跳轉(zhuǎn)3、顯示流程結(jié)構(gòu)測(cè)試覆蓋結(jié)果OO-SQA:質(zhì)量度量分析:1、設(shè)定質(zhì)量度量標(biāo)準(zhǔn)和指標(biāo)2、生成質(zhì)量度量數(shù)據(jù)3、顯示質(zhì)量度量結(jié)果OO-Analyzer:系統(tǒng)文檔生成:1、生成100多種設(shè)計(jì)文檔和質(zhì)量文檔OO-Playback:GUI測(cè)試過程回放:1、捕獲并記錄測(cè)試過程2、回放測(cè)試過程3、比較回放結(jié)果OO-MemoryChecker:內(nèi)存泄漏和非法使用檢測(cè):1、檢測(cè)內(nèi)存泄漏和非法使用2、記錄錯(cuò)誤發(fā)生的語(yǔ)句位置3、生成檢測(cè)報(bào)告OO-DefectTracer:缺陷定位和追溯:1、檢測(cè)并記錄缺陷(包括死機(jī))發(fā)生的路徑和語(yǔ)句位置2、生成缺陷定位報(bào)告79產(chǎn)品背景及功能產(chǎn)品功能應(yīng)用:新系統(tǒng)開發(fā)支持舊系統(tǒng)維護(hù)支持系統(tǒng)再工程支持其他1、設(shè)計(jì)支持-系統(tǒng)結(jié)構(gòu)/流程結(jié)構(gòu)自動(dòng)生成與維護(hù)-多重復(fù)雜性度量及分析-生成復(fù)雜性度量報(bào)告2、編碼及調(diào)試支持-確定編碼順序-保證編碼和設(shè)計(jì)的雙向?qū)?yīng)-生成代碼邏輯結(jié)構(gòu)-顯示測(cè)試路徑和頻率-顯示錯(cuò)誤(尤其是意外中止)的語(yǔ)句位置和執(zhí)行路徑3、測(cè)試支持-確定單元測(cè)試順序-生成并管理測(cè)試用例-執(zhí)行測(cè)試用例并顯示結(jié)果-測(cè)試分析和度量-支持回歸測(cè)試-生成質(zhì)量報(bào)告1、復(fù)雜性度量支持-多重復(fù)雜性度量及分析-生成復(fù)雜性度量報(bào)告2、代碼修改支持-系統(tǒng)結(jié)構(gòu)/流程結(jié)構(gòu)自動(dòng)生成與維護(hù)、編碼和設(shè)計(jì)的雙向?qū)?yīng)、錯(cuò)誤定位和追溯-加強(qiáng)代碼理解、避免修改的副作用-幫助代碼靜態(tài)分析技術(shù)的實(shí)施3、測(cè)試支持-確定單元測(cè)試順序-生成并管理測(cè)試用例-執(zhí)行測(cè)試用例并顯示結(jié)果-測(cè)試分析和度量-支持回歸測(cè)試-生成質(zhì)量報(bào)告1、系統(tǒng)設(shè)計(jì)分析-系統(tǒng)結(jié)構(gòu)/流程結(jié)構(gòu)自動(dòng)生成與維護(hù),加強(qiáng)設(shè)計(jì)理解-編碼和設(shè)計(jì)的雙向?qū)?yīng),加強(qiáng)代碼理解2、系統(tǒng)復(fù)雜性分析-多重復(fù)雜性度量及分析-生成復(fù)雜性度量報(bào)告3、系統(tǒng)性能分析-分析模塊執(zhí)行性能和執(zhí)行瓶頸4、文檔報(bào)告生成-生成多種系統(tǒng)分析報(bào)告和質(zhì)量報(bào)告1、支持工程管理和進(jìn)度估算-代碼文件和設(shè)計(jì)文檔的一致性維護(hù)-多種度量分析方法2、訓(xùn)練項(xiàng)目組新進(jìn)人員-理解系統(tǒng)結(jié)構(gòu)和流程結(jié)構(gòu)-方便閱讀和理解代碼3、支持驗(yàn)收評(píng)估-自動(dòng)生成設(shè)計(jì)和編碼文檔-自動(dòng)生成測(cè)試分析報(bào)告-自動(dòng)生成質(zhì)量度量報(bào)告80產(chǎn)品術(shù)語(yǔ)基礎(chǔ)2-1基本概念1、塊,也叫基本段、可視段2、不可視段基本不可視段:if,switch高端循環(huán)邊界(執(zhí)行0次循環(huán)體)低端循環(huán)邊界(執(zhí)行1次循環(huán)體)3、段,也叫標(biāo)準(zhǔn)段包括可視段與基本不可視段4、增強(qiáng)段包括可視段和不可視段81產(chǎn)品術(shù)語(yǔ)基礎(chǔ)2-2質(zhì)量保證度量規(guī)范1、代碼可讀性度量2、復(fù)雜性度量3、測(cè)試覆蓋度量IEEE度量標(biāo)準(zhǔn)1、環(huán)形復(fù)雜性2、測(cè)試覆蓋度量1、程序行數(shù)2、代碼行百分比3、注釋行百分比4、空格間隔行百分比1、環(huán)形復(fù)雜性2、塊測(cè)試復(fù)雜性JC03、段測(cè)試復(fù)雜性JC14、增強(qiáng)段測(cè)試復(fù)雜性JC1+5、條件段測(cè)試復(fù)雜性JC26、繼承樹深度DIT7、子類數(shù)目NOC8、類耦合數(shù)目CBO9、類中方法數(shù)目10、類中響應(yīng)方法數(shù)目RFC
11、使用類中方法的函數(shù)數(shù)目12、類中重用基類代碼行數(shù)13、類中重用基類代碼百分比1、塊測(cè)試覆蓋SC02、段測(cè)試覆蓋SC13、增強(qiáng)段測(cè)試覆蓋SC1+4、J-覆蓋5、條件真覆蓋6、條件假覆蓋7、總條件覆蓋8、分支覆蓋1、定義:-環(huán)形復(fù)雜性C-區(qū)域數(shù)目RG-邊數(shù)目E-節(jié)點(diǎn)數(shù)目N-分支節(jié)點(diǎn)數(shù)目SN2、計(jì)算公式:-C=RG-C=E-N+2-C=SN+11、原語(yǔ)-程序-功能-數(shù)據(jù)-需求-測(cè)試用例2、測(cè)試覆蓋TC計(jì)算公式:-TC=((測(cè)試的需求原語(yǔ)數(shù)目)/(需求原語(yǔ)總數(shù)))*((測(cè)試的程序原語(yǔ)數(shù)目)/(程序原語(yǔ)總數(shù)))82應(yīng)用原理與環(huán)境2-1使用流程.mak文件是C/C++編譯文件.hsi文件是Panorama內(nèi)部使用的輸入緩沖區(qū)文件,用于記載C/C++文件結(jié)構(gòu)信息.dbs文件是Panorama內(nèi)部使用的數(shù)據(jù)庫(kù)文件,用于記載C/C++文件分析和測(cè)試結(jié)果信息,一般與his文件配合使用83應(yīng)用原理與環(huán)境2-2應(yīng)用原理84工具的局限性局限性1、中文顯示問題2、使用自己的腳本技術(shù),但這種腳本技術(shù)與其他的測(cè)試工具不兼容3、需要執(zhí)行.mak文件,而不是編譯C程序后生成的.obj文件4、僅能處理C/C++程序5、界面不夠友好85OO-Test2-1輸出結(jié)果測(cè)試用例最小集合測(cè)試結(jié)果分析數(shù)據(jù)作用:生成并管理測(cè)試用例最小化測(cè)試用例集測(cè)試結(jié)果記錄和分析86OO-Test2-2生成并保存測(cè)試用例加載測(cè)試用例執(zhí)行測(cè)試用例測(cè)試結(jié)果分析測(cè)試覆蓋結(jié)果測(cè)試用例效率最小化測(cè)試用例集87基本測(cè)試過程 基本測(cè)試過程原則:盡早測(cè)試、經(jīng)常測(cè)試、充分測(cè)試。開發(fā)過程與測(cè)試過程:分析、測(cè)試、設(shè)計(jì)、測(cè)試、編碼、測(cè)試。測(cè)試計(jì)劃應(yīng)該是按照開發(fā)者的要求并用具體例子來描述一個(gè)測(cè)試計(jì)劃的層次結(jié)構(gòu)以及各個(gè)測(cè)試計(jì)劃相聯(lián)系的標(biāo)準(zhǔn)模版。88測(cè)試的五個(gè)問題誰(shuí)執(zhí)行了測(cè)試?測(cè)試什么?什么時(shí)候測(cè)試?怎樣測(cè)試?測(cè)試應(yīng)進(jìn)行到何種程度?89測(cè)試方案設(shè)計(jì)良好的測(cè)試設(shè)計(jì)由以下的若干個(gè)方面組成:測(cè)試策略測(cè)試計(jì)劃測(cè)試說明書測(cè)試規(guī)范這些方案適用于從單元測(cè)試到系統(tǒng)測(cè)試等各個(gè)級(jí)別的測(cè)試。測(cè)試設(shè)計(jì)需要根據(jù)軟件說明書來進(jìn)行。90單元測(cè)試2-1概況定義:檢驗(yàn)程序最小單位有無錯(cuò)誤。一般在編碼之后,由開發(fā)人員完成。單元:軟件開發(fā)中的最小的獨(dú)立部分C語(yǔ)言中的單元:函數(shù)或者是子過程C++語(yǔ)言中的單元:類91單元測(cè)試2-2單元測(cè)試目前狀況:實(shí)施效果非常好,但是實(shí)施阻力比較大(主要是人員和管理因素),一般只在關(guān)鍵的程序單元中實(shí)施有比較系統(tǒng)的理論和方法,但也依賴于系統(tǒng)的特殊性和開發(fā)人員的經(jīng)驗(yàn)有大量的輔助工具,開發(fā)人員也經(jīng)常自己開發(fā)測(cè)試代碼和測(cè)試工具主要使用白盒測(cè)試和靜態(tài)分析,也使用黑盒測(cè)試92單元測(cè)試流程管理流程主要指動(dòng)態(tài)測(cè)試應(yīng)用流程測(cè)試計(jì)劃測(cè)試設(shè)計(jì)測(cè)試執(zhí)行測(cè)試記錄分析測(cè)試總結(jié)完畢缺陷跟蹤針對(duì)測(cè)試目標(biāo),規(guī)定測(cè)試任務(wù)、資源分配、人員角色、進(jìn)度安排等。根據(jù)測(cè)試計(jì)劃,設(shè)計(jì)測(cè)試用例,包括:測(cè)試步驟、測(cè)試場(chǎng)景、測(cè)試代碼、測(cè)試數(shù)據(jù)(包括預(yù)期結(jié)果)。根據(jù)測(cè)試計(jì)劃,配置測(cè)試環(huán)境,并手動(dòng)或者自動(dòng)執(zhí)行測(cè)試設(shè)計(jì)。根據(jù)測(cè)試計(jì)劃,忠實(shí)地記錄測(cè)試執(zhí)行的過程和結(jié)果。分析測(cè)試記錄,如果發(fā)現(xiàn)與預(yù)期結(jié)果不同,確定并重現(xiàn)缺陷。檢查測(cè)試設(shè)計(jì)是否全部執(zhí)行完畢,缺陷是否全部關(guān)閉。記錄、分發(fā)、評(píng)估、關(guān)閉缺陷報(bào)告。分析測(cè)試過程和缺陷報(bào)告,評(píng)估測(cè)試質(zhì)量和測(cè)試效果,給出是否通過測(cè)試的建議。93測(cè)試用例2-1測(cè)試用例是數(shù)據(jù)輸入和期望結(jié)果組成的對(duì)。軟件中有許多錯(cuò)誤用戶遇到的錯(cuò)誤只占很小比例應(yīng)該針對(duì)用戶最容易遇到的錯(cuò)誤進(jìn)行測(cè)試,以便改進(jìn)測(cè)試的有效性94測(cè)試用例2-2ANSI/IEEE829標(biāo)準(zhǔn)列出了測(cè)試用例應(yīng)該包含在內(nèi)的重要信息:標(biāo)識(shí)符測(cè)試項(xiàng)輸入說明輸出說明環(huán)境要求特殊要求用例依賴性95單元測(cè)試說明書的組成單元測(cè)試說明書由一系列單元測(cè)試用例組成。每個(gè)單元測(cè)試用例都應(yīng)該包括四個(gè)基本要素(對(duì)照ANSI/IEEE標(biāo)準(zhǔn)):?jiǎn)卧某跏紶顟B(tài)說明單元的輸入測(cè)試用例實(shí)際要測(cè)試的內(nèi)容測(cè)試用例的預(yù)期結(jié)果96單元測(cè)試說明書(例)-測(cè)試計(jì)劃編號(hào)如:stb-tp0013標(biāo)題如:文字排版功能.字間距.MayCourse版本號(hào)如:V1.0執(zhí)行狀態(tài)如:未執(zhí)行修改記錄如:2003年7月28日;××編制/修改;原因測(cè)試目標(biāo)如:語(yǔ)句覆蓋測(cè)試人員如:××1負(fù)責(zé)執(zhí)行測(cè)試用例xxx;××2負(fù)責(zé)執(zhí)行測(cè)試用例xxx測(cè)試用例編號(hào)(多個(gè))如:stb-fg00021/stb-fg00031/stb-fg00035…被測(cè)試單元代碼位置如:$tag1/layout/MayCourse.cpp97單元測(cè)試說明書(例)-測(cè)試用例編號(hào)如:stb-tp00014標(biāo)題如:測(cè)試“文字排版功能.字間距.MayCourse”版本號(hào)如:V1.3執(zhí)行狀態(tài)如:已經(jīng)執(zhí)行修改記錄如:2003年7月29日;××編制/修改;原因測(cè)試步驟如:配置運(yùn)行環(huán)境;輸入測(cè)試數(shù)據(jù);執(zhí)行X功能/測(cè)試代碼;觀察/記錄XX測(cè)試場(chǎng)景如:在聯(lián)網(wǎng)的環(huán)境下測(cè)試代碼如:stb-tp00021(位置)/stb-tp00035(位置)…測(cè)試數(shù)據(jù)如:輸入數(shù)據(jù)(輸入文件、文字描述…);預(yù)期結(jié)果(性能、圖片、文字描述…)98單元測(cè)試說明書(例)-測(cè)試記錄編號(hào)如:stb-tp00015標(biāo)題如:記錄測(cè)試“文字排版功能.字間距.MayCourse”結(jié)果填寫記錄如:2003年7月30日;××填寫;原因測(cè)試用例編號(hào)如:stb-tp0015輸出結(jié)果如:圖片、文字描述測(cè)試觀察符合/不符合期望結(jié)果99單元測(cè)試說明書(例)-缺陷跟蹤報(bào)告編號(hào)如:stb-tp00016標(biāo)題如:文字排版功能.字間距.MayCourse計(jì)算錯(cuò)誤版本號(hào)如:V1.3執(zhí)行狀態(tài)如:空白/草稿/提交/審批/分發(fā)/正在修改/修改完畢/正在確認(rèn)/關(guān)閉…修改記錄如:2003年7月31日;××編制/修改;原因測(cè)試環(huán)境和版本號(hào)碼、程序編寫人員錯(cuò)誤嚴(yán)重程度和優(yōu)先級(jí)別錯(cuò)誤詳細(xì)描述重現(xiàn)步驟和方式、對(duì)應(yīng)的測(cè)試記錄編碼附件建議修改方式修改內(nèi)容、結(jié)果及修改人員簽字/日期確認(rèn)內(nèi)容、結(jié)果及確認(rèn)人員簽字/日期100單元測(cè)試說明書(例)-總結(jié)報(bào)告
編號(hào)如:stb-tp00017標(biāo)題如:文字排版功能.字間距.MayCourse單元測(cè)試總結(jié)報(bào)告版本號(hào)如:V1.5執(zhí)行狀態(tài)如:已經(jīng)提交修改記錄如:2003年8月1日;××編制/修改;原因測(cè)試計(jì)劃編號(hào)計(jì)劃執(zhí)行情況缺陷統(tǒng)計(jì)(缺陷總數(shù)/未解決數(shù)目)及為解決缺陷列表后續(xù)處理措施是否通過單元測(cè)試101制定單元測(cè)試說明書步驟包含一組單獨(dú)的單元測(cè)試用例的單元測(cè)試說明書的設(shè)計(jì)過程:步驟1-運(yùn)行簡(jiǎn)單測(cè)試用例步驟2-正面測(cè)試步驟3-負(fù)面測(cè)試步驟4-考慮特殊事項(xiàng)步驟5-覆蓋完成率測(cè)試步驟6-完善說明書,進(jìn)行相對(duì)完整測(cè)試102測(cè)試用例設(shè)計(jì)技術(shù)測(cè)試用例設(shè)計(jì)技術(shù)可以大體分成兩個(gè)主要類別:黑盒技術(shù)使用的是單元的接口和對(duì)功能的描述,而無需知道單元內(nèi)部是如何構(gòu)建的。白盒技術(shù)使用的是有關(guān)單元內(nèi)部如何工作的信息。此外還有其他的技術(shù),它們都不能歸入上面的類別中,例如錯(cuò)誤猜測(cè)。103黑盒測(cè)試測(cè)試手段2-1根據(jù)說明書進(jìn)行的測(cè)試測(cè)試用例是通過通讀相關(guān)的說明書而設(shè)計(jì)得到的。
每個(gè)測(cè)試用例都應(yīng)該測(cè)試說明書的一條或多條陳述。等價(jià)劃分基本做法是將要測(cè)試的軟件的輸入和輸出分成若干部分,對(duì)于特定部分中的任意值,軟件行為都是等價(jià)的。104黑盒測(cè)試測(cè)試手段2-2邊界值分析它使用與等價(jià)劃分相同的方法分析各個(gè)部分。但是,它假定錯(cuò)誤最可能出現(xiàn)在各部分之間的邊界處。狀態(tài)變換測(cè)試當(dāng)軟件被設(shè)計(jì)成狀態(tài)機(jī)或者軟件實(shí)現(xiàn)的是以狀態(tài)機(jī)為模型的需求的時(shí)候,狀態(tài)變換測(cè)試特別有用。測(cè)試用例通過生成導(dǎo)致轉(zhuǎn)變的事件來測(cè)試
狀態(tài)之間的轉(zhuǎn)換。105白盒測(cè)試測(cè)試手段2-1分支測(cè)試測(cè)試用例被設(shè)計(jì)為檢驗(yàn)對(duì)單元中的流分支或判定點(diǎn)的控制。通常來說它的目的是要達(dá)到目標(biāo)級(jí)別的判定覆蓋率。條件測(cè)試條件測(cè)試的目標(biāo)是設(shè)計(jì)測(cè)試用例以表明邏輯條件的單個(gè)組件和單個(gè)組件的組合是正確的。106白盒測(cè)試測(cè)試手段2-2數(shù)據(jù)定義-使用測(cè)試它將測(cè)試用例設(shè)計(jì)為對(duì)成對(duì)的數(shù)據(jù)定義和使用進(jìn)行測(cè)試。設(shè)置數(shù)據(jù)項(xiàng)的值的地方就是數(shù)據(jù)定義,讀取或使用數(shù)據(jù)的地方就是數(shù)據(jù)使用。次邊界值測(cè)試很多情況下,各部分和它們的邊界可以通過單元功能說明書來識(shí)別。但是,單元可能會(huì)有內(nèi)部邊界值,它只能
通過結(jié)構(gòu)說明書來識(shí)別。107錯(cuò)誤猜測(cè)錯(cuò)誤猜測(cè)主要是憑經(jīng)驗(yàn),同時(shí)還需要諸如邊界值分析等其他技術(shù)的一些輔助。憑借經(jīng)驗(yàn),測(cè)試設(shè)計(jì)者猜測(cè)特定類型的軟件中可能出現(xiàn)的錯(cuò)誤類型,并設(shè)計(jì)測(cè)試用例來找到它們。由有經(jīng)驗(yàn)的工程師來進(jìn)行錯(cuò)誤猜測(cè)可能是最有效地設(shè)計(jì)能發(fā)現(xiàn)錯(cuò)誤的測(cè)試的唯一方法。相反,任用不合適的人來進(jìn)行錯(cuò)誤猜測(cè)可能會(huì)浪費(fèi)時(shí)間。簡(jiǎn)介測(cè)試全貌:測(cè)試計(jì)劃、實(shí)際測(cè)試和寫測(cè)試報(bào)告度量是軟件工程過程的一個(gè)關(guān)鍵要素。度量標(biāo)準(zhǔn)用于理解所創(chuàng)建的模型的屬性。監(jiān)視測(cè)試覆蓋率對(duì)于測(cè)試結(jié)果的評(píng)價(jià),需要監(jiān)視測(cè)試覆蓋率。要減少要測(cè)試的條件的數(shù)量,可以將系統(tǒng)分成多個(gè)獨(dú)立的部分。這樣可以為代碼測(cè)試的各個(gè)部分分別生成不同的條件組合。邏輯覆蓋測(cè)試方法4-1語(yǔ)句覆蓋
選擇足夠的測(cè)試用例,使得程序中每一條可執(zhí)行語(yǔ)句至少被執(zhí)行一次。判定覆蓋
選擇足夠的測(cè)試用例,使得程序中每一個(gè)分支判斷的每一種可能結(jié)果(主要指switch-case情況)都至少被執(zhí)行一次。判定覆蓋也叫分支覆蓋。條件覆蓋
選擇足夠的測(cè)試用例,使得程序中每一個(gè)分支判斷中的每一個(gè)條件的可能結(jié)果都至少被執(zhí)行一次。邏輯覆蓋測(cè)試方法4-2判定/條件覆蓋選擇足夠的測(cè)試用例,使得同時(shí)滿足判定覆蓋和條件覆蓋。條件組合覆蓋選擇足夠的測(cè)試用例,使得程序中每一個(gè)分支判斷中的每一個(gè)條件的每一種可能組合結(jié)果都至少被執(zhí)行一次。路徑覆蓋選擇足夠的測(cè)試用例,使得程序中所有的可能路徑都至少被執(zhí)行一次。邏輯覆蓋測(cè)試方法4-3語(yǔ)句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋條件組合覆蓋路徑覆蓋邏輯覆蓋測(cè)試方法4-4需要完成的各種測(cè)試包括:?jiǎn)卧獪y(cè)試集成測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試回歸測(cè)試在驗(yàn)收和回歸測(cè)試后,對(duì)于覆蓋率測(cè)試達(dá)到一定標(biāo)準(zhǔn)后,我們即發(fā)布軟件。測(cè)試覆蓋率涉及的測(cè)試什么是缺陷?缺陷可以定義成:沒有實(shí)現(xiàn)預(yù)定的使用需求或合理期望與規(guī)格說明書或標(biāo)準(zhǔn)存在偏差在與標(biāo)準(zhǔn)的一致性方面導(dǎo)致客戶不滿的任何問題為什么需要缺陷管理?客戶期望以較少的時(shí)間/成本獲得較高的質(zhì)量。規(guī)格說明書在項(xiàng)目開發(fā)生命周期的后期往往會(huì)被修改。測(cè)試所發(fā)現(xiàn)的缺陷常常會(huì)招致大量的軟件開發(fā)成本。新的開發(fā)方法、工具不斷地實(shí)現(xiàn)。軟件管理不能讓測(cè)試成為瓶頸并減慢開發(fā)速度。測(cè)試需要快速、靈活和可靠。我們需要有關(guān)測(cè)試充分性的證據(jù)。缺陷的生命周期缺陷管理——Defect級(jí)別致命性缺陷(Critical)數(shù)據(jù)丟失,數(shù)據(jù)計(jì)算缺陷、系統(tǒng)崩潰和非常死機(jī)嚴(yán)重功能性缺陷(Serious)規(guī)定的功能沒有實(shí)現(xiàn)或不完整、設(shè)計(jì)不合理造成性能低下,影響系統(tǒng)的運(yùn)營(yíng)警告性缺陷(Moderate)不影響業(yè)務(wù)運(yùn)營(yíng)的功能問題建議性缺陷(Suggestion,Cosmetic)軟件設(shè)計(jì)和功能實(shí)現(xiàn)等不甚合理之處提出建議
缺陷管理——修改的優(yōu)先級(jí)高優(yōu)先級(jí)中優(yōu)先級(jí)低優(yōu)先級(jí)缺陷管理——缺陷描述1分配給缺陷的ID號(hào)2提交缺陷的時(shí)間3缺陷提交人4版本號(hào)發(fā)生缺陷的子系統(tǒng)或模塊5缺陷發(fā)生的條件6對(duì)缺陷的詳細(xì)描述7所使用的測(cè)試用例號(hào)8缺陷被發(fā)現(xiàn)的數(shù)據(jù)庫(kù)9使用的機(jī)器號(hào)10缺陷的重要性11缺陷的改正優(yōu)先級(jí)12發(fā)生缺陷的子系統(tǒng)或模塊及相關(guān)的模塊13缺陷是否易再現(xiàn)14其他缺陷管理——與缺陷跟蹤有關(guān)項(xiàng)1缺陷負(fù)責(zé)人6缺陷改正后需要重新做的測(cè)試2嚴(yán)重性7改正缺陷所影響的組件3優(yōu)先級(jí)8目前缺陷的狀態(tài)4估計(jì)改正缺陷的日期9缺陷類別5估計(jì)改正缺陷所要花費(fèi)的時(shí)間10解決辦法缺陷管理——缺陷分發(fā)對(duì)象項(xiàng)目管理者測(cè)試管理者被分配修改缺陷的人組件代碼的編寫人測(cè)試小組中的其他成員缺陷管理的實(shí)現(xiàn)階段2-1這些階段如下所示:缺陷標(biāo)識(shí)、記錄和報(bào)告缺陷的消除和跟蹤缺陷測(cè)量和根由分析缺陷預(yù)防/過程改進(jìn)軟件開發(fā)生命周期所有階段的測(cè)試安裝測(cè)試工具缺陷管理的實(shí)現(xiàn)階段2-2缺陷管理問題包括:缺陷遺漏同類缺陷重復(fù)精力分散效率低數(shù)據(jù)庫(kù)更新不完全分類不嚴(yán)謹(jǐn)-每個(gè)缺陷都被劃分為缺陷的類型用來攻擊項(xiàng)目分類的缺陷數(shù)據(jù)很多不負(fù)責(zé)任的缺陷重置是一個(gè)瓶頸相同的缺陷卷土重來缺陷狀態(tài)信息缺陷狀態(tài)信息應(yīng)該包含下列信息:缺陷的當(dāng)前狀態(tài)和狀態(tài)歷史記錄描述狀態(tài)歷史記錄,包括描述日期、操作、執(zhí)行者、實(shí)際工作量、結(jié)果狀態(tài)和指定的下一個(gè)步驟的行。下一個(gè)步驟估計(jì)需要付出的努力完成的期望日期缺陷分析和度量缺陷生命周期分布有助于深入了解缺陷結(jié)束
所花天數(shù)、修復(fù)缺陷所需付出的努力和進(jìn)度分析對(duì)預(yù)計(jì)付出的努力相對(duì)于實(shí)際付出的努力的分析缺陷報(bào)告3-1進(jìn)行缺陷報(bào)告前執(zhí)行的過程:獲取空白的缺陷表格指定可用的信息信息可用時(shí)不斷更新對(duì)缺陷信息進(jìn)行分類,包括一般信息缺陷檢測(cè)信息缺陷消除信息狀態(tài)信息估計(jì)要投入的努力、預(yù)計(jì)日期、實(shí)際
日期以及缺陷在其整個(gè)生命周期中的變化。所需的缺陷信息有:有關(guān)缺陷性質(zhì)、它的修復(fù)優(yōu)先級(jí)等的基本信息;描述-簡(jiǎn)要的文字優(yōu)先級(jí)(緊急、普通、不急)[您的優(yōu)先級(jí),客戶的優(yōu)先級(jí)]嚴(yán)重程度(主要、次要、不嚴(yán)重)[您的優(yōu)先級(jí),客戶的優(yōu)先級(jí)]原因關(guān)鍵字(用于進(jìn)一步分析)癥狀(數(shù)據(jù)庫(kù)損壞、可視數(shù)據(jù)缺陷、
界面缺陷、等等)缺陷報(bào)告3-2起源的階段找到的階段報(bào)告的數(shù)據(jù)期望和實(shí)際的結(jié)束日期描述版本、日志、周期、過程、用例-發(fā)現(xiàn)缺陷的地方報(bào)告者:(姓名、公司)硬件操作系統(tǒng)-發(fā)現(xiàn)缺陷的平臺(tái)測(cè)試位置附件/附加信息缺陷報(bào)告3-3缺陷報(bào)告(印)總結(jié)2-1度量是軟件工程過程的一個(gè)關(guān)鍵要素。可以在源代碼中插入語(yǔ)句以收集程序數(shù)據(jù),例如計(jì)算每個(gè)分支的每一側(cè)被遍歷了幾次,或者每一段代碼是否都被執(zhí)行過,執(zhí)行了幾次。測(cè)試覆蓋率是對(duì)最后的測(cè)試結(jié)果提供度量的信任標(biāo)準(zhǔn)。理解缺陷的定義和測(cè)試過程中對(duì)缺陷管理的必要性131簡(jiǎn)介“能力成熟度模型”是SEI在1986年開發(fā)的過程,用于改善組織的軟件技術(shù)的應(yīng)用過程。這個(gè)過程分為五個(gè)定義良好的順序提高的等級(jí):初始級(jí)可重復(fù)級(jí)已定義級(jí)已管理級(jí)優(yōu)化級(jí)132CMM的產(chǎn)生背景當(dāng)今的軟件組織工作在一個(gè)競(jìng)爭(zhēng)和變化日益加劇的環(huán)境中。成功的軟件組織通過為現(xiàn)有產(chǎn)品開辟新的市場(chǎng)或滿足新的需求來積極有效地面對(duì)變化。許多公司面對(duì)變化沒能采取主動(dòng)有效的措施,而被其產(chǎn)品開發(fā)工作的缺乏控制所牽掣。許多公司不能夠正確地預(yù)測(cè)、控制和改進(jìn)
特定產(chǎn)品或合同的利潤(rùn)空間、產(chǎn)品
裝運(yùn)日期或產(chǎn)品質(zhì)量。133CMMCMM是設(shè)計(jì)用來幫助組織解決這些問題的。CMM提供了一種有效的和可驗(yàn)證的方法,用以不斷地加強(qiáng)對(duì)產(chǎn)品開發(fā)過程的控制,并改進(jìn)產(chǎn)品開發(fā)過程。CMM提供了一個(gè)標(biāo)尺,使組織能夠根據(jù)該標(biāo)尺對(duì)其生產(chǎn)過程進(jìn)行定期的測(cè)量,也提供了進(jìn)行優(yōu)化及管理改進(jìn)工作的數(shù)據(jù)。CMM描述了軟件特有的產(chǎn)品開發(fā)實(shí)踐和
所有組織必須遵守的通用管理實(shí)踐。134SECATSECAT支持應(yīng)用于行業(yè)中的大部分主要的CMM模型,特別是:集成產(chǎn)品開發(fā)能力成熟度模型(IPD-CMM)軟件能力成熟度模型(SW-CMM)軟件獲取能力成熟度模型(SA-CMM)系統(tǒng)工程能力成熟度模型(SE-CMM)EIAI/S731:系統(tǒng)工程能力模型(SECM)系統(tǒng)安全工程能力成熟度模型(SSE-CMM)135CMM等級(jí)1361級(jí):初始級(jí)2-1開發(fā)團(tuán)隊(duì)對(duì)每個(gè)項(xiàng)目采用不同的處理方式??赡苋〉镁薮蟮某晒Γ院罂赡懿粫?huì)成功。某些時(shí)間/成本估算是準(zhǔn)確的,但大多數(shù)估算與實(shí)際相去甚遠(yuǎn)。成功依賴于杰出的人員和他們的努力。1371級(jí):初始級(jí)2-2杰出的人員離開后,很難再次獲得成功。經(jīng)常出現(xiàn)危機(jī)和緊急修改工作。(許多人認(rèn)為這是軟件開發(fā)過程中不可避免的。但是CMM不這樣認(rèn)為。)大多數(shù)的軟件開發(fā)組織處于1級(jí)。1382級(jí):可重復(fù)級(jí)3-1紀(jì)律化的過程用于管理軟件項(xiàng)目的方針和實(shí)施這些方針的規(guī)程都已制定。項(xiàng)目級(jí)想法,可造,類似項(xiàng)目成功經(jīng)驗(yàn)可重用。1392級(jí):可重復(fù)級(jí)3-2軟件項(xiàng)目標(biāo)準(zhǔn)均已確定,并且組織能保證切實(shí)地執(zhí)行這些標(biāo)準(zhǔn)。如果有分包商的話,軟件項(xiàng)目人員與他們一起努力,建立牢固的顧客-供應(yīng)商關(guān)系。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 應(yīng)急管理信息化工程師崗位面試問題及答案
- 2025屆廣東省惠州市實(shí)驗(yàn)中學(xué)高二下化學(xué)期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 廣東省深圳實(shí)驗(yàn)學(xué)校高中部2025屆高二化學(xué)第二學(xué)期期末聯(lián)考試題含解析
- 忻州一中2025屆高一化學(xué)第二學(xué)期期末檢測(cè)模擬試題含解析
- 2025屆重慶市普通高中化學(xué)高一下期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 2025屆安徽省安慶市達(dá)標(biāo)名校高一化學(xué)第二學(xué)期期末聯(lián)考試題含解析
- 廣西蒙山縣一中2025屆高一下化學(xué)期末達(dá)標(biāo)檢測(cè)試題含解析
- 冶金設(shè)備安全管理辦法
- 供電企業(yè)信條管理辦法
- 桃江人才引進(jìn)管理辦法
- 全國(guó)中醫(yī)藥職業(yè)教育技能大賽針灸推拿技能大賽方案
- 2024至2030年中國(guó)漢白玉石雕數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 三年級(jí)下冊(cè)混合計(jì)算題100道及答案
- DB12T 998-2020 殯葬服務(wù)機(jī)構(gòu)消毒衛(wèi)生規(guī)范
- 廣東省廣州市五校2023-2024學(xué)年高一下學(xué)期期末聯(lián)考化學(xué)試卷
- 2024年天津高考數(shù)學(xué)真題試題(原卷版+含解析)
- 《大數(shù)據(jù)分析技術(shù)》課程標(biāo)準(zhǔn)
- 最簡(jiǎn)單封陽(yáng)臺(tái)安全免責(zé)協(xié)議書
- 2024年危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全管理人員考試練習(xí)題(附答案)
- (正式版)JBT 3300-2024 平衡重式叉車 整機(jī)試驗(yàn)方法
- 《無人機(jī)航跡規(guī)劃》課程標(biāo)準(zhǔn)(高職)
評(píng)論
0/150
提交評(píng)論