版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件生存周期可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編 碼集成測(cè)試確認(rèn)測(cè)試使用與維護(hù)退役軟件定義軟件開(kāi)發(fā)軟件使用與維護(hù)軟件生命周期1軟件生存周期可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編 碼集成測(cè)試軟 件 工 程-軟件測(cè)試2軟 件 工 程-軟件測(cè)試2防不勝防的軟件錯(cuò)誤 例:1963年, 美國(guó), 飛往火星的火箭爆炸, 損失$ 10 million. 原因: FORTRAN循環(huán) DO 5 I = 1, 3 誤寫(xiě)為 DO 5 I = 1.3軟 件 測(cè) 試 (Testing)軟件測(cè)試是保證軟件質(zhì)量的關(guān)鍵步驟,是對(duì)軟件規(guī)格說(shuō)明、設(shè)計(jì)和編碼的最后復(fù)審,其工件量約占總工作量40%以上(對(duì)于人命關(guān)天的情況,測(cè)試相當(dāng)于其它
2、部分總成本的3 5倍)。3防不勝防的軟件錯(cuò)誤 軟 件 測(cè) 試 (Testing)1. 基本概念1、定義:測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程。注意: 只能盡可能查錯(cuò),不能證明程序中 沒(méi)有錯(cuò); 測(cè)試員與程序員不應(yīng)是同一個(gè)人。2、黑盒和白盒測(cè)試 黑盒測(cè)試(black-box , or closed-box testing): 不考慮程序內(nèi)部的結(jié)構(gòu),只觀察程序的入口和出口,是否能完成規(guī)格要求的輸入輸出. 功能測(cè)試41. 基本概念1、定義:測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程 白盒測(cè)試(white-box , or open-box, clear-box testing): 程序的結(jié)構(gòu)和處理過(guò)程象
3、白盒子一樣透明. 結(jié)構(gòu)測(cè)試1. 基本概念若程序執(zhí)行需10-3秒,則對(duì)于所有合法輸入的測(cè)試大約需用一萬(wàn)年,而且還應(yīng)測(cè)試輸入非法數(shù)據(jù)的情況。主要問(wèn)題:窮盡測(cè)試(complete test)通常是不可能的。例:(Black-box) 程序要求輸入3個(gè)整形數(shù)據(jù)。若字長(zhǎng)16位,則各種可能輸入的排列組合共有 (種)5 白盒測(cè)試(white-box , or open-box例:(White-box) 下圖所示的程序中共有 5201014條可能的執(zhí)行通路,顯然,每條通路都執(zhí)行一遍是不現(xiàn)實(shí)的。1. 基本概念循環(huán)20次6例:(White-box) 下圖所示的程序中共有 52013、測(cè)試步驟:(1) 單元測(cè)試 程
4、序設(shè)計(jì) & 編碼 bugs(2) 集成測(cè)試 模塊之間的連接(3) 系統(tǒng)測(cè)試 需求 & 系統(tǒng)設(shè)計(jì)(4) 驗(yàn)收測(cè)試 用戶參與(5) 平行測(cè)試 新老系統(tǒng)進(jìn)行比較.綜合測(cè)試1. 基本概念測(cè)試階段的信息流:測(cè)試評(píng)價(jià)調(diào)試可靠性模型軟件配置測(cè)試配置測(cè)試結(jié)果可靠性預(yù)測(cè)錯(cuò) 誤正 確錯(cuò)誤率數(shù)據(jù)預(yù)期結(jié)果73、測(cè)試步驟:(1) 單元測(cè)試 程序設(shè)計(jì) & 編碼 b2. 單元測(cè)試(白盒)主要測(cè)試以下五個(gè)方面:1、模塊接口: 內(nèi)部檢查:傳輸參數(shù)的數(shù)目、屬性、單位、次序是否匹配;全程變量的定義是否一致;只做輸入的變?cè)袩o(wú)被修改,等等。 外部檢查:打開(kāi)、結(jié)束、關(guān)閉文件的操作;文件和屬性;IO錯(cuò)誤處理;輸出拼寫(xiě),等等。2、局部數(shù)據(jù)
5、結(jié)構(gòu): 數(shù)據(jù)說(shuō)明(declaration);初始化與缺省值的設(shè)置;變量名拼寫(xiě);數(shù)據(jù)類(lèi)型的相容性;上下溢出及地址異常,等等。82. 單元測(cè)試(白盒)主要測(cè)試以下五個(gè)方面:82.單元測(cè)試3、重要的執(zhí)行通路: 由于窮盡測(cè)試不可能,故通常針對(duì)最常見(jiàn)的錯(cuò)誤設(shè)計(jì)測(cè)試方案。4、出錯(cuò)處理通路: 預(yù)見(jiàn)出現(xiàn)錯(cuò)誤的條件,設(shè)置處理。5、邊界條件 單元測(cè)試中最后,也可能是最重要的任務(wù),因?yàn)檐浖T谄溥吔缡А?2.單元測(cè)試3、重要的執(zhí)行通路:4、出錯(cuò)處理通路:5、邊界1、代碼審查(code inspection) 徹底檢查: 例如 Lucent Technologies 的測(cè)試策略,是由三人一組(包括 author,
6、reader, 和recorder),逐行檢查源代碼。 演習(xí):由人扮演computer,模擬執(zhí)行情況。2.單元測(cè)試優(yōu)點(diǎn): 一次審查可發(fā)現(xiàn)多個(gè)錯(cuò)誤,不必改一個(gè)測(cè)一個(gè)。單元測(cè)試的主要手段 :2、制作測(cè)試軟件:Stub (存根)和 Driver(驅(qū)動(dòng))軟件的編寫(xiě),屬額外開(kāi)支。模塊高內(nèi)聚可簡(jiǎn)化這一過(guò)程。101、代碼審查(code inspection)2.單元測(cè)試3. 集成測(cè)試 (Integration Testing)1、非漸增式測(cè)試 (Big-bang testing)Test A,B, C, DTestATestBTestCTestD113. 集成測(cè)試 (Integration Testin3.
7、集成測(cè)試兩種方式的比較: Incremental testing 可以較早發(fā)現(xiàn)模塊間的接口錯(cuò)誤;Big-bang testing 最后才組裝,因此錯(cuò)誤發(fā)現(xiàn)得晚。 Big-bang testing 中發(fā)現(xiàn)錯(cuò)誤后難以診斷定位; Incremental testing 中,出現(xiàn)的錯(cuò)誤往往跟最新加入的模塊有關(guān)。 Incremental testing 在不斷集成的過(guò)程中使模塊不斷在新的條件下受到新的檢測(cè),測(cè)試更徹底。 Incremental testing 較 Big-bang testing 費(fèi)時(shí)。 Big-bang testing 可以同時(shí)并行測(cè)試所有模塊,能充分利用人力。2、漸增式測(cè)試 (Inc
8、remental testing)123.集成測(cè)試兩種方式的比較:2、漸增式測(cè)試 (Increm 自頂向下測(cè)試第1步:測(cè)試頂端模塊,用存根程序(stub)代替直接附屬的下層模塊 Stub: 模擬未測(cè)試模塊的活動(dòng).3.集成測(cè)試3、Incremental testing 的幾種策略MS1S213 自頂向下測(cè)試3.集成測(cè)試3、Incremental t第2步:根據(jù)深度優(yōu)先或?qū)挾葍?yōu)先的策略,每次用一個(gè)實(shí)際模塊代換一個(gè)stub。3.集成測(cè)試第3步:在結(jié)合進(jìn)一個(gè)模塊的同時(shí)進(jìn)行測(cè)試。MS1S2M1S3S4M2S2第4步:回歸測(cè)試(regression testing)全部或部分地重復(fù)以前做過(guò)的測(cè)試。14第2
9、步:根據(jù)深度優(yōu)先或?qū)挾葍?yōu)先的策略,每次用一個(gè)實(shí)際模塊代換 自底向上測(cè)試第1步:把低層模塊組合成族,每族實(shí)現(xiàn)一個(gè)子功能。第2步:用驅(qū)動(dòng)程序(Driver)協(xié)調(diào)測(cè)試數(shù)據(jù)的IO,測(cè)試子功能族。3.集成測(cè)試優(yōu)點(diǎn):在早期即對(duì)主要控制及關(guān)鍵的抉擇進(jìn)行檢驗(yàn)。問(wèn)題:Stub只是對(duì)低層模塊的模擬,測(cè)試時(shí)沒(méi)有重要的數(shù)據(jù)自下往上流,許多重要的測(cè)試須推遲進(jìn)行,而且在早期不能充分展開(kāi)人力。Driver: 調(diào)用模塊細(xì)節(jié)逐個(gè)進(jìn)行測(cè)試.DM1M215 自底向上測(cè)試3.集成測(cè)試優(yōu)點(diǎn):在早期即對(duì)主要控制及關(guān)鍵第3步:去掉Driver,自下而上把子功能族合成更大的子功能族。MMMMMMMMMMMMDDDDDD3.集成測(cè)試注意:兩種
10、策略的優(yōu)、缺點(diǎn)剛好互補(bǔ),但單用其中任一種都不實(shí)際,通常根據(jù)軟件的特點(diǎn)將二者混用。16第3步:去掉Driver,自下而上把子功能族合成更大的子功能 Sandwich testing (三文治測(cè)試)3.集成測(cè)試Target layerTop-downBottom-up17 Sandwich testing (三文治測(cè)試)3.集4. 驗(yàn)收測(cè)試(Acceptance testing)任務(wù):驗(yàn)收軟件的有效性(功能和性能達(dá)標(biāo))。手段:黑盒測(cè)試;用戶參與;主要用實(shí)際數(shù)據(jù)進(jìn)行測(cè)試。內(nèi)容:按合同規(guī)定審查軟件配置; 設(shè)計(jì)測(cè)試計(jì)劃,使通過(guò)測(cè)試保證軟件能滿足所有功能、性能要求; 文檔與程序一致,具有維護(hù)階段所必須的細(xì)
11、節(jié); 嚴(yán)格按用戶手冊(cè)操作,以檢查手冊(cè)的完整性和正確性。184. 驗(yàn)收測(cè)試(Acceptance testing)任務(wù)5. 設(shè)計(jì)測(cè)試方案(Plan of testing)主要技術(shù):1、邏輯覆蓋(Logical coverage) 適用于白盒測(cè)試 覆蓋程度由弱到強(qiáng)順次為: 語(yǔ)句覆蓋(Statement coverage):每個(gè)語(yǔ)句至少執(zhí)行一次。任務(wù):預(yù)定要測(cè)試的功能 設(shè)計(jì)輸入的測(cè)試數(shù)據(jù)(test cases) 列出預(yù)期結(jié)果(expected output)195. 設(shè)計(jì)測(cè)試方案(Plan of testing)主要技5. 設(shè)計(jì)測(cè)試方案例:?jiǎn)栴}:若AND錯(cuò)寫(xiě)為OR,或X1錯(cuò)寫(xiě)為X 1AND B=0T
12、A=2OR X 1TX = X / AX = X + 1返回FFTest case : A=2 , B=0 , X=4. 205. 設(shè)計(jì)測(cè)試方案例:?jiǎn)栴}:若AND錯(cuò)寫(xiě)為OR,或X1錯(cuò)判定覆蓋(Branch coverage):在的基礎(chǔ)上,每個(gè)判定的每個(gè)分支至少執(zhí)行一次。5. 設(shè)計(jì)測(cè)試方案Test cases:A=3 , B=0 , X=3A=2 , B=1 , X=1問(wèn)題:若X1錯(cuò)寫(xiě)為X 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回FF21判定覆蓋(Branch coverage):在的基礎(chǔ)上, 條件覆蓋(Condition coverage):在的基礎(chǔ)上,使
13、每個(gè)判定表達(dá)式的每個(gè)條件都取到各種可能的結(jié)果。5. 設(shè)計(jì)測(cè)試方案Test cases:A=2 , B=0 , X=4(滿足A1, B=0; A=2, X1)A=1, B=1, X=1(滿足A1, B0; A 2, X1)問(wèn):條件覆蓋 ? 判定覆蓋 答: 不一定。 反例: A=2, B=0, X=1 A=1, B=1, X=2 判定/條件覆蓋:即判定覆蓋條件覆蓋 入口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回FF22 條件覆蓋(Condition coverage):在的 條件組合覆蓋:每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。5. 設(shè)計(jì)測(cè)試方案入
14、口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回FF全部可能的條件組合為: A1, B=0 A1, B 0 A1, B=0 A1, B 0 A=2, X1 A=2, X 1 A 2, X1 A 2,X 1 Test cases: A=2, B=0, X=4 (T T) A=2. B=1, X=1 (F T) A=1, B=0, X=2 (F T) A=1, B=1, X=1 (F F)問(wèn)題:沒(méi)有測(cè)試到(T F)的情形23 條件組合覆蓋:每個(gè)判定表達(dá)式中條件的各種可能組合都至少出考察control flow graph 的角度,還可考慮下述覆蓋: 點(diǎn)覆蓋5.
15、設(shè)計(jì)測(cè)試方案 邊覆蓋= 語(yǔ)句覆蓋 路徑覆蓋(Path coverage): 每條可能的路徑都至少執(zhí)行一次,若圖中有環(huán),則每個(gè)環(huán)至少經(jīng)過(guò)一次。=判定覆蓋Test cases: A=1 , B=1 , X=1 A=1 , B=1 , X=2 A=3 , B=0 , X=1 A=2 , B=0 , X=4 路徑覆蓋 條件組合覆蓋24考察control flow graph 的角度,還可考慮下 劃分經(jīng)驗(yàn) 當(dāng)規(guī)定了輸入范圍時(shí):5. 設(shè)計(jì)測(cè)試方案2、等價(jià)劃分(Equivalence Partitioning) 適用于黑盒測(cè)試 劃分一組 等價(jià)類(lèi) 描繪一組輸入條件的有效或無(wú)效條件, 測(cè)試程序是否有設(shè)計(jì)方案中該
16、有的輸出結(jié)果.無(wú)效類(lèi) 有效類(lèi) 無(wú)效類(lèi) 當(dāng)規(guī)定了輸入的一組值,且對(duì)不同值做不同處理時(shí):例:教工分房方案中,按教授、副教授、講師、助教分別計(jì)分 有效類(lèi)4個(gè);無(wú)效類(lèi)1個(gè)25 劃分經(jīng)驗(yàn)5. 設(shè)計(jì)測(cè)試方案2、等價(jià)劃分(Equival 當(dāng)規(guī)定了輸入的規(guī)則時(shí): 例:(PASCAL) 語(yǔ)言規(guī)定,每個(gè)語(yǔ)句以“ ;” 結(jié) 束 有效類(lèi)1個(gè);無(wú)效類(lèi)若干(以“ ,”結(jié)束、以“ :”結(jié)束、以空格結(jié)束等等) 當(dāng)輸入為整型時(shí):有效類(lèi)可分為Z+、0、Z 三種 當(dāng)處理表格時(shí):有效類(lèi)可分為空表、含一項(xiàng)的表、含多項(xiàng)的表等注: 以上經(jīng)驗(yàn)亦適用于輸出數(shù)據(jù); 不需要測(cè)試編譯程序肯定能發(fā)現(xiàn)的錯(cuò)誤。5. 設(shè)計(jì)測(cè)試方案26 當(dāng)規(guī)定了輸入的規(guī)則時(shí)
17、: 設(shè)計(jì)步驟 設(shè)計(jì)一個(gè)新方案以盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類(lèi);重復(fù)這一步驟直到所有有效類(lèi)都被覆蓋為止。 設(shè)計(jì)一個(gè)新方案以覆蓋一個(gè)且僅一個(gè)尚未被覆蓋的無(wú)效等價(jià)類(lèi);重復(fù)這一步驟直到所有無(wú)效類(lèi)都被覆蓋為止。(通常程序執(zhí)行一個(gè)錯(cuò)誤后即不繼續(xù)檢測(cè)其它錯(cuò)誤,故每次只測(cè)一個(gè)無(wú)效類(lèi))5. 設(shè)計(jì)測(cè)試方案27 設(shè)計(jì)步驟5. 設(shè)計(jì)測(cè)試方案273、邊界值分析(Boundary Value Analysis)注意: 程序最容易在邊界發(fā)生錯(cuò)誤; 通常與等價(jià)劃分結(jié)合進(jìn)行。4、錯(cuò)誤推測(cè)(Failure Prediction)思路: 列出可能有的錯(cuò)誤; 列出容易發(fā)生錯(cuò)誤的特殊情況。 以此為基礎(chǔ)設(shè)計(jì)測(cè)試方案。根據(jù):直覺(jué)、經(jīng)
18、驗(yàn)工具:常見(jiàn)錯(cuò)誤清單、判定表等。5. 設(shè)計(jì)測(cè)試方案283、邊界值分析(Boundary Value Analysi5、實(shí)用策略(Practical Strategies) 黑盒設(shè)計(jì) 白盒補(bǔ)充 在任何情況下都應(yīng)該使用邊界值分析的方法; 必要時(shí)用等價(jià)劃分法補(bǔ)充; 必要時(shí)再用錯(cuò)誤推測(cè)法補(bǔ)充; 對(duì)照程序邏輯,檢查測(cè)試方案??筛鶕?jù)對(duì)程序可靠性的要求采用不同的邏輯覆蓋標(biāo)準(zhǔn),必要時(shí)補(bǔ)充一些測(cè)試方案。注: 即使用上述綜合策略設(shè)計(jì)測(cè)試方案,仍不能保證發(fā)現(xiàn)一切錯(cuò)誤。例如Lucent公司經(jīng)過(guò)包括逐行檢查源代碼在內(nèi)的多方面測(cè)試之后,其軟件能達(dá)標(biāo)運(yùn)行的成功率為 5. 設(shè)計(jì)測(cè)試方案80%。295、實(shí)用策略(Practic
19、al Strategies) 6.調(diào) 試(Debugging)測(cè)試 發(fā)現(xiàn)錯(cuò)誤調(diào)試 改正錯(cuò)誤第1步:確定錯(cuò)誤的位置(95%工作量); 第2步:改正錯(cuò)誤。Failure(外錯(cuò)誤)通常是由系統(tǒng)設(shè)計(jì)產(chǎn)生的.Fault(故障、內(nèi)錯(cuò)誤、error、bug)起因于軟件生產(chǎn)中的人為錯(cuò)誤.程序的 failure 通常有一個(gè)清晰的表現(xiàn)特征,但是 fault 往往很難被發(fā)現(xiàn)。306.調(diào) 試(Debugging)測(cè)試 發(fā)現(xiàn)錯(cuò)誤第1步Execution of casesTestcasesResultsDebuggingAdditional testsSuspected causesIdentified causesCo
20、rrectionsRegression testsDebugging6.調(diào) 試31Execution of casesTestResultsD1、調(diào)試技術(shù) 輸出存儲(chǔ)器內(nèi)容(memory dump): 以八進(jìn)制或十六進(jìn)制的形式印出存儲(chǔ)器的內(nèi)容。缺點(diǎn): 輸出信息量極大, 不易解讀且大多無(wú)用; 輸出的是程序在某一 時(shí)刻的靜態(tài)情況,且 往往不是出錯(cuò)時(shí)的狀態(tài)。6.調(diào) 試321、調(diào)試技術(shù)6.調(diào) 試32 插入“watch points”(或稱“spy points”) 人工插入打印 缺點(diǎn): 改動(dòng)源代碼,增加了出錯(cuò)機(jī)會(huì); 打印信息可能太多。 自動(dòng)調(diào)試工具 無(wú)須打印額外信息,且不改動(dòng)源代碼6.調(diào) 試33 插入“
21、watch points”(或稱“spy poin2、調(diào)試策略 調(diào)試過(guò)程的關(guān)鍵不是調(diào)試技術(shù),而是用來(lái)推斷錯(cuò)誤原因的基本策略。主要有: 試探法,憑經(jīng)驗(yàn)猜測(cè)。 回溯法:由癥狀(symptom)最先出現(xiàn)的地方,沿control flow向回檢查。適用于小型程序。 對(duì)分法:在關(guān)鍵點(diǎn)插入變量的正確值,則:6.調(diào) 試輸出正確錯(cuò)誤在前半段錯(cuò)誤在后半段NY342、調(diào)試策略 收集數(shù)據(jù)組織數(shù)據(jù)研究數(shù)據(jù)間的關(guān)系提出假設(shè)證明假設(shè)糾正錯(cuò)誤能能不能不能6.調(diào) 試 歸納法:從錯(cuò)誤癥狀中找出規(guī)律,推斷根源。35收集數(shù)據(jù)組織數(shù)據(jù)研究數(shù)據(jù)提出假設(shè)證明假設(shè)糾正錯(cuò)誤能能不不能列舉可能的原因排除不正確的假設(shè)精化余下的假設(shè)證明假設(shè)收集更
22、多數(shù)據(jù)糾正錯(cuò)誤有剩余能不能無(wú)剩余 演繹法:普通 特殊 從假設(shè)中逐步排除、精化,從而導(dǎo)出錯(cuò)誤根源。6.調(diào) 試36列舉可能排除不正確精化余下證明收集更多數(shù)據(jù)糾正有剩余能不能無(wú)7. 軟件可靠性(Reliability)1、基本概念 可靠性(Reliability):程序在給定的時(shí)間間隔內(nèi),按照說(shuō)明書(shū)的規(guī)定,成功地運(yùn)行的概率。 可用性(Usability):程序在給定的時(shí)間點(diǎn),按照說(shuō)明書(shū)的規(guī)定,成功地運(yùn)行的概率。 正確性(Correctness):程序的功能正確。ReliabilityCorrectnessUsability377. 軟件可靠性(Reliability)1、基本概念Re7. 軟件可靠性
23、設(shè)系統(tǒng)故障停機(jī)時(shí)間為td1, td2, ; 正常運(yùn)行時(shí)間為tu1, tu2, ; 則系統(tǒng)的“穩(wěn)態(tài)可用性”為Availability = (Shooman, 1983)其中 MTTF = Mean Time To Failure = MTTR = Mean Time To Repair = 0ttu1td1tu2td2387. 軟件可靠性設(shè)系統(tǒng)故障停機(jī)時(shí)間為td1, td2, 2、估算 MTTF: MTTF = 7. 軟件可靠性其中:K為經(jīng)驗(yàn)常數(shù)(典型值約在200左右); ET為測(cè)試前故障總數(shù); IT為程序長(zhǎng)度(機(jī)器指令總數(shù)); 為測(cè)試(包括調(diào)試)時(shí)間; EC( )為時(shí)間從0至 期間改正的錯(cuò)誤數(shù)
24、。前提假設(shè): ET / IT Constant (通常為0.5 2%) 調(diào)試中沒(méi)有引入新故障(即ET與時(shí)間無(wú)關(guān)) MTTF與剩余故障成反比392、估算 MTTF:7. 軟件可靠性其中:K為經(jīng)驗(yàn)常數(shù)(典換個(gè)角度看問(wèn)題7. 軟件可靠性意義:可根據(jù)對(duì)軟件平穩(wěn)運(yùn)行時(shí)間的要求,估算需改正多少個(gè)錯(cuò)誤后才能結(jié)束測(cè)試。還有一個(gè)問(wèn)題 ET = ?估算方法: 植入故障法: 人為植入NS個(gè)故障,測(cè)后發(fā)現(xiàn)ns個(gè)植入故障和n個(gè)原有故障,則設(shè)40換個(gè)角度看問(wèn)題7. 軟件可靠性意義:可根據(jù)對(duì)軟件平穩(wěn)運(yùn)行時(shí) Hyman 分別測(cè)試法: 二人(組)分別獨(dú)立測(cè)試同一程序,甲測(cè)得故障總數(shù)為B1,乙測(cè)得為B2,其中有bc是相同的,設(shè)以
25、甲的測(cè)試結(jié)果為基準(zhǔn)(即相當(dāng)于中的植入故障),則設(shè)7. 軟件可靠性一般多測(cè)幾個(gè) 取平均。41 Hyman 分別測(cè)試法:7. 軟件可靠性一般多測(cè)幾個(gè) 3、正確性說(shuō)明 目標(biāo):研究能證明程序正確性的自動(dòng)系統(tǒng)。7. 軟件可靠性p1p2p3pn-1pna(1) = inputa(2)a(3)a(n-1)a(n) = outputa(i):斷言(assertion)證明:對(duì)任一個(gè)i,執(zhí)行了pi到pi+1之間的語(yǔ)句后,可將a(i)變?yōu)閍(i+1),則證明由a(1)可導(dǎo)出a(n)。若a(1)和a(n)正確,且程序確定可終止,則證明程序正確。但是:即使有了正確性證明程序,軟件測(cè)試也仍然是需要的。因?yàn)椋赫_性證明只
26、證明程序功能正確,但不能驗(yàn)證動(dòng)態(tài)特性; 證明過(guò)程本身也可能發(fā)生錯(cuò)誤。原理:423、正確性說(shuō)明7. 軟件可靠性p1p2p3pn-1pna100%50%100%測(cè)試用例完成率 = 已完成用例 / 全部用例測(cè)試時(shí)間使用率 = 所用時(shí)間 / 總時(shí)間第一階段第二階段第三階段8.日立預(yù)測(cè)法日立預(yù)測(cè)法 測(cè)試期間繪制并檢查兩種曲線1、測(cè)試完成率曲線:經(jīng)驗(yàn):工程的成敗取決于第一階段向第二階段轉(zhuǎn)移斷點(diǎn)的位置,一般成功的工程其轉(zhuǎn)折點(diǎn)位于15%;若超過(guò)55%則破產(chǎn)不可避免。43100%50%100%測(cè)試用例完成率 = 已完成用例 / 全錯(cuò)誤發(fā)現(xiàn)率 = 單位時(shí)間內(nèi)發(fā)現(xiàn)的錯(cuò)誤數(shù)時(shí)間峰值時(shí)間成功的工程失敗的工程極壞的工程8.日立預(yù)測(cè)法2、錯(cuò)誤發(fā)現(xiàn)率曲線:經(jīng)驗(yàn):剛過(guò)峰值點(diǎn)后曲線的導(dǎo)數(shù)關(guān)系到工程的成敗。若導(dǎo)數(shù)值大于- 0.3,則失敗不可避免。44錯(cuò)誤發(fā)現(xiàn)率 = 單位時(shí)間內(nèi)發(fā)現(xiàn)的錯(cuò)誤數(shù)時(shí)間峰值時(shí)間成功的工程其它可靠性預(yù)測(cè)模型
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《FZT 50056-2021合成纖維 短纖維拒水性能試驗(yàn)方法》專(zhuān)題研究報(bào)告
- 道路安全培訓(xùn)會(huì)議通知課件
- 2026年廣西壯族自治區(qū)河池市高職單招語(yǔ)文試題附答案
- 道口安全知識(shí)培訓(xùn)小結(jié)課件
- 2024+共識(shí)聲明:成人心臟手術(shù)患者快速拔管建議
- 邊檢站消防安全培訓(xùn)記錄課件
- 辰溪消防安全培訓(xùn)課件
- 車(chē)隊(duì)安全培訓(xùn)美篇標(biāo)題課件
- 防雷接地工程量計(jì)算試題及答案
- 車(chē)間質(zhì)量問(wèn)題培訓(xùn)課件
- 2025年輸血知識(shí)考試試題及答案
- 2025-2026學(xué)年人教版八年級(jí)上冊(cè)道德與法治期末試卷(含答案和解析)
- 2026貴州鹽業(yè)集團(tuán)秋招面筆試題及答案
- 沈陽(yáng)市2025遼寧沈陽(yáng)市于洪區(qū)社區(qū)殘疾人工作專(zhuān)職干事招聘筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 四川省成都市天府新區(qū)2024-2025學(xué)年七上期末數(shù)學(xué)試卷(原卷版)
- 慢性病患者健康管理工作方案
- 安全防范設(shè)計(jì)評(píng)估師基礎(chǔ)理論復(fù)習(xí)試題
- 2026年內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案詳解
- DB53-T 1269-2024 改性磷石膏用于礦山廢棄地生態(tài)修復(fù)回填技術(shù)規(guī)范
- 2025年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)過(guò)氧化苯甲酰行業(yè)市場(chǎng)深度分析及發(fā)展前景預(yù)測(cè)報(bào)告
- 昆明醫(yī)科大學(xué)研究生學(xué)位論文撰寫(xiě)要求及有關(guān)規(guī)定
評(píng)論
0/150
提交評(píng)論