無論采用何種開發(fā)模型開發(fā)出來的大型軟件系統(tǒng)_第1頁
無論采用何種開發(fā)模型開發(fā)出來的大型軟件系統(tǒng)_第2頁
無論采用何種開發(fā)模型開發(fā)出來的大型軟件系統(tǒng)_第3頁
無論采用何種開發(fā)模型開發(fā)出來的大型軟件系統(tǒng)_第4頁
無論采用何種開發(fā)模型開發(fā)出來的大型軟件系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章測試 無論采用何種開發(fā)模型開發(fā)出來的大型軟件系統(tǒng),由于客觀系統(tǒng)的復(fù)雜性,人的主觀認識的狹隘性,不可能對要開發(fā)的系統(tǒng)具有完美的認識。雖然在軟件開發(fā)的每一階段都進行了技術(shù)審查和管理復(fù)審,也不可能把設(shè)計中所有潛在的錯誤檢查出來并進行糾正,而且在編碼階段也會引入新的錯誤,軟件設(shè)計環(huán)節(jié)的錯誤,如果不進行糾正,在使用階段可能造成的損失會很大。所以軟件在交付使用之前必須進行嚴格的測試,通過測試找出軟件在需求分析、設(shè)計和編碼階段隱藏的錯誤,并加以改正。計算機科學與工程學院軟件工程(SoftwareEngineer)7.1測試的基本概念和原則1測試的必要性在測試理論形成的早期,一些軟件開發(fā)公司由于忽視軟件的測試,造成了巨大的經(jīng)濟損失。所以測試對提高軟件的質(zhì)量具有很大的重要性。雖然在軟件生命周期的各個階段都有嚴格的技術(shù)審查和管理復(fù)審,但是經(jīng)驗表明,審查不能發(fā)現(xiàn)所有的差錯;在編碼過程中,程序員的編程水平對軟件的影響很大,但是不管經(jīng)驗多豐富的程序員在編程中都會引入一些錯誤。如果這些錯誤在軟件交付前沒有被測試出來,投入使用后往往帶來嚴重后果。

計算機科學與工程學院軟件工程(SoftwareEngineer)2測試的概念

1)軟件測試軟件測試是對軟件計劃、軟件設(shè)計和軟件編碼進行查錯和糾錯的活動,這個過程包括了代碼執(zhí)行活動和人工活動。2)程序測試程序測試是對編碼階段出現(xiàn)的語法錯、語義錯、運行錯進行查找的編碼執(zhí)行過程。3)動態(tài)測試動態(tài)測試包括白盒測試和黑盒測試。黑盒測試是根據(jù)軟件的功能而設(shè)計測試用例而進行測試的過程,白盒測試是根據(jù)測試的內(nèi)部結(jié)構(gòu)而設(shè)計測試數(shù)據(jù),發(fā)現(xiàn)程序的錯誤。4)靜態(tài)測試靜態(tài)測試包括代碼審查和靜態(tài)分析。計算機科學與工程學院軟件工程(SoftwareEngineer)3軟件測試的目的

G.Myers關(guān)于軟件測試目的的觀點是:(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;(2)好的測試方案是極有可能發(fā)現(xiàn)迄今尚未發(fā)現(xiàn)的盡可能多的錯誤的測試;(3)成功的測試是發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的錯誤的測試。計算機科學與工程學院軟件工程(SoftwareEngineer)測試復(fù)雜性在理論上看,不論采用哪種測試,只要對每一種可能的情況都進行測試,就可以得到完全正確的程序。我們稱包含所有可能的測試稱為窮盡測試。而在實際中,窮盡測試是不可能做到的。圖8.1黑盒測試復(fù)雜性例子無論采用黑盒法還是白盒法,要做到窮盡測試,在時間上和代價上都不可能,只能選擇部分測試用例盡可能多地行測試,找到盡可能多的錯誤,也即是進行有窮測試。計算機科學與工程學院軟件工程(SoftwareEngineer)5測試的基本原則

(1)測試前要認定被測試的軟件有錯,不要認為被測試的程序是正確的;(2)要確定測試軟件的預(yù)先測試結(jié)果;(3)盡量避免測試自己編寫的程序;(4)測試時要考慮合理的輸入和不合理的輸入數(shù)據(jù);(5)測試時應(yīng)以軟件需求規(guī)格說明書中的需求為標準;(6)要確定找到的新錯與已找到的舊錯成正比;(7)所使用的測試用例應(yīng)該紀錄下來,以后測試時再用,以供后來的測試和維護使用。計算機科學與工程學院軟件工程(SoftwareEngineer)7.2測試步驟

1測試過程

計算機科學與工程學院軟件工程(SoftwareEngineer)2測試的步驟

測試時,首先進行單元測試,再進行組裝測試,最后進行確認測試。計算機科學與工程學院軟件工程(SoftwareEngineer)7.3設(shè)計測試方案

1白盒法測試的基本技術(shù)

在工程實踐中,白盒法的基本測試思想:分析被測試程序的邏輯結(jié)構(gòu),選擇邏輯執(zhí)行路徑子集設(shè)計測試方案。用盡可能少的測試用例子集確定被測試程序的實際執(zhí)行狀態(tài)與預(yù)期的狀態(tài)是否一致,期望發(fā)現(xiàn)盡可能多的錯誤。在工程實踐中提出了以下幾種選擇邏輯路徑子集的覆蓋標準。計算機科學與工程學院軟件工程(SoftwareEngineer)語句覆蓋:執(zhí)行足夠的測試用例,使得被測試程序中每個可執(zhí)行語句至少被執(zhí)行一次。判定覆蓋:判定覆蓋又稱為分支覆蓋,它的基本思想是:執(zhí)行足夠的測試用例,使得被測試程序中每個語句至少執(zhí)行一次,并且每個判定分支也至少執(zhí)行一次.條件覆蓋:執(zhí)行足夠的測試用例,使判定條件中的每個條件至少獲得一次可能取值的機會。判定/條件覆蓋:執(zhí)行足夠的測試用例,使得被測試程序中每個判定分支至少獲得一次通過,同時各判定中每個條件至少獲得一次可能取值的機會。條件組合覆蓋:執(zhí)行足夠的測試用例,使得被測試程序中每個判定條件的各種組合至少獲得一次為真和假的機會。點覆蓋邊覆蓋路徑覆蓋:執(zhí)行足夠的測試用例,使得被測試程序中的每條可能路徑至少執(zhí)行一次計算機科學與工程學院軟件工程(SoftwareEngineer)2黑盒法法測試的基基本技術(shù)1)等價價分類法將程序模塊塊的所有可可能輸入數(shù)數(shù)據(jù)(有效效與無效的的)劃分為為若干等價價類,在指指定等價類類中任取一一組數(shù)據(jù)作作為一個測測試用例,,作為該等等價類的代代表,并且且假定:如如果該組數(shù)數(shù)據(jù)可以檢檢查出程序序的錯誤,,則該等價價類中其他他組數(shù)據(jù)也也可以產(chǎn)生生同樣的錯錯誤,相反反,如果該該組數(shù)據(jù)沒沒有查出錯錯誤,則使使用該等價價類中其他他數(shù)據(jù)組執(zhí)執(zhí)行程序也也是正確的的。計算機科學學與工程學學院軟件工程((SoftwareEngineer)⒉)邊界界值分析:程序在處處理邊界情情況時最容容易發(fā)生錯錯誤,許多多程序錯誤誤出現(xiàn)在下下標、數(shù)據(jù)據(jù)結(jié)構(gòu)和循循環(huán)等等的的邊界附近近。3)錯誤誤推測法在很大程度度上該方法法靠直覺和和經(jīng)驗進行行。它的基基本思想是是:列舉出出程序中可可能有的錯錯誤和容易易發(fā)生錯誤誤的特殊情情況,并且且根據(jù)它們們選擇測試試方案。計算機科學學與工程學學院軟件工程((SoftwareEngineer)7.4單元元測試1單元測測試的內(nèi)容容1)模塊接接口測試通過測試模模塊接口的的數(shù)據(jù)流是是否可以通通暢地流入入/出模塊塊,如果數(shù)數(shù)據(jù)不能正正常地進出出,則其他他測試都不不能進行。。2)局部數(shù)數(shù)據(jù)結(jié)構(gòu)測試模塊內(nèi)內(nèi)部數(shù)據(jù)是是否完整,,內(nèi)容、形形式、相關(guān)關(guān)關(guān)系是否否正確。3)邏輯覆覆蓋(執(zhí)行行路徑)問問題不可能對模模塊內(nèi)部的的所有邏輯輯執(zhí)行路徑徑進行測試試,所以選選擇最有可可能發(fā)現(xiàn)錯錯誤的執(zhí)行行路徑進行行測試是至至關(guān)重要的的。4)出錯錯處理問題題一個好的模模塊應(yīng)該能能夠分析出出錯的原因因、報告出出錯和提供供很好的處處理錯誤,,保證程序序能正常的的運行。因因此應(yīng)該詳詳細測試錯錯誤處理的的通路。計算機科學學與工程學學院軟件工程((SoftwareEngineer)2單元元測試步步驟單元測試試按照如如下的步步驟進行行:1)配置置測試環(huán)環(huán)境,設(shè)設(shè)計所需需要的輔輔助模塊塊2)設(shè)計計測試用用例根據(jù)邏輯輯覆蓋標標準和單單元測試試所需要要解決的的測試問問題,設(shè)設(shè)計合適適的測試試用例。。3)多個個單元并并行測試試為每一個個模塊設(shè)設(shè)計相應(yīng)應(yīng)的測試試環(huán)境和和測試用用例,可可以同時時對多個個模塊進進行測試試。計算機科科學與工工程學院院軟件工程程(SoftwareEngineer)7.5集集成測試試1非增增式組裝裝測試這種方法法將單元元測試后后的所有有模塊按按照總體體的結(jié)構(gòu)構(gòu)圖一次次性的組組裝起來來,然后后對組裝裝的整體體進行測測試,得得到最終終要求的的目標系系統(tǒng)。一一般采用用黑盒法法設(shè)計測測試用例例進行測測試。計算機科科學與工工程學院院軟件工程程(SoftwareEngineer)2增式式組裝測測試所謂增式式組裝測測試是按按照結(jié)構(gòu)構(gòu)圖自頂頂向下或或自底向向上逐漸漸把模塊塊組裝成成一個系系統(tǒng),即即安裝一一個模塊塊測試一一個模塊塊。增式組裝裝測試根根據(jù)把待待測試模模塊加入入系統(tǒng)的的方式可可以分為為兩種方方法:1)自自頂向下下增式組組裝測試試2)自自底向上上增式組組裝測試試3)兩者者相結(jié)合合的組裝裝測試計算機科科學與工工程學院院軟件工程程(SoftwareEngineer)7.6確確認測試試對軟件進進行組裝裝測試后后,軟件件系統(tǒng)已已成為完完整的軟軟件包,,消除了了接口的的錯誤,,可以進進行系統(tǒng)統(tǒng)的確認認測試,,驗證系系統(tǒng)是否否滿足需需求規(guī)格格說明書書中規(guī)定定的要求求。確認認測試所所采用的的技術(shù)以以黑盒法法為主。。確認測試試主要由由使用用用戶參加加測試,,測試的的目的是是向用戶戶表明軟軟件系統(tǒng)統(tǒng)的有效效性。根根據(jù)軟件件需求說說明書中中的描述述,使用用戶能夠夠確認軟軟件的功功能與性性能同他他們期望望的一樣樣。計算機科科學與工工程學院院軟件工程程(SoftwareEngineer)1測試內(nèi)內(nèi)容:(1)系系統(tǒng)功功能測試試:按照照需求說說明書的的要求,,測試系系統(tǒng)是否否具有用用戶所要要求的功功能;(2)強強度測測試:加加載所有有負荷的的情況下下,運行行系統(tǒng),,驗證系系統(tǒng)的負負荷能力力;(3)性性能測測試;系系統(tǒng)在實實際運行行環(huán)境中中,是否否具有需需求說明明書上所所要求的的系統(tǒng)性性能;(4)背背景測測試:系系統(tǒng)在實實際負荷荷情況下下,測試試系統(tǒng)運運行多道道程序、、多道作作業(yè)的能能力;(5)配配置測測試:在在指定的的邏輯組組合或物物理設(shè)備備下,檢檢查用戶戶手冊、、操作手手冊、設(shè)設(shè)計說明明、源程程序、測測試說明明的完整整性、可可理解性性、可用用性與實實際運行行系統(tǒng)的的一致性性;(6)恢恢復(fù)測測試:測測試系統(tǒng)統(tǒng)在軟件件或硬件件故障下下,恢復(fù)復(fù)原先控控制數(shù)據(jù)據(jù)的能力力;(7)安安全測測試:測測試系統(tǒng)統(tǒng)的安全全性,測測試系統(tǒng)統(tǒng)能否使使不合法法用戶不不能進入入系統(tǒng)。。計算機科科學與工工程學院院軟件工程程(SoftwareEngineer)2測試試步驟(1)在在模擬的的環(huán)境中中,首先先進行強強度測試試(即壓壓力測試試),系系統(tǒng)是否否滿足要要求;(2)在在計劃的的時間內(nèi)內(nèi),運行行用戶可可見的軟軟件功能能,驗證證是否與與用戶的的要求相相符;(3)測測試系統(tǒng)統(tǒng)的配置置、性能能、背景景、恢復(fù)復(fù)能力、、安全性性是否滿滿足要求求,同時時對軟件件的可移移植性、、兼容性性、可維維護性做做出評價價;(4)測測試過程程中,詳詳細記錄錄不符合合用戶要要求的內(nèi)內(nèi)容及系系統(tǒng)的缺缺陷;(5)測測試結(jié)束束,分析析測試結(jié)結(jié)果,找找出產(chǎn)生生錯誤的的原因;;(6)書書寫確認認測試分分析報告告;(7)根根據(jù)測試試分析報報告,明明確表示示軟件的的功能及及各種性性能能否否達到軟軟件需求求說明書書的要求求。(8)確確認測試試結(jié)束,,如果驗驗收通過過,書寫寫整個項項目的開開發(fā)總結(jié)結(jié)報告。。計算機科科學與工工程學院院軟件工程程(SoftwareEngineer)7.7軟軟件調(diào)試試一般有如如下幾種種方法::1)輸出出內(nèi)存和和寄存器器的內(nèi)容容2)設(shè)置置程序斷斷點,插插入打印印語句3)使用用自動調(diào)調(diào)試工具具計算算機機科科學學與與工工程程學學院院軟件件工工程程((SoftwareEngineer))2常常用用調(diào)調(diào)試試策策略略1))跟跟蹤蹤法法::在在錯錯誤誤的的征征兆兆附附近近進進行行追追蹤蹤,,或或是是正正向向跟跟蹤蹤或或是是反反向向跟跟蹤蹤。。2))演演繹繹法法::從從測測試試數(shù)數(shù)據(jù)據(jù)中中分分析析可可能能出出錯錯的的原原因因,,排排除除不不會會發(fā)發(fā)生生的的錯錯誤誤原原因因。。3))歸歸納納法法::歸歸納納法法糾糾錯錯是是由由測測試試取取得得錯錯誤誤數(shù)數(shù)據(jù)據(jù)的的個個別別數(shù)數(shù)據(jù)據(jù),,其其過過程程是是收收集集有有關(guān)關(guān)數(shù)數(shù)據(jù)據(jù)、、組組織織數(shù)數(shù)據(jù)據(jù)、、尋尋找找假假設(shè)設(shè)、、證證明明假假設(shè)設(shè)、、排排除除假假設(shè)設(shè)的的錯錯誤誤的的過過程程。。計算算機機科科學學與與工工程程學學院院軟件件工工程程((SoftwareEngineer))4))試試探探法法::針針對對錯錯誤誤不不復(fù)復(fù)雜雜,,而而程程序序又又比比較較簡簡單單的的程程序序,,根根據(jù)據(jù)錯錯誤誤征征兆兆,,猜猜想想出出故故障障的的大大致致位位置置,,選選取取一一種種糾糾錯錯方方法法,,找找到到有有關(guān)關(guān)的的出出錯錯信信息息,,借借此此逐逐漸漸確確定定原原來來的的分分析析,,漸漸漸漸找找出出錯錯誤誤的的原原因因與與位位置置,,然然后后糾糾錯錯。。5))回回溯溯法法糾錯錯修修改改設(shè)設(shè)計計(或或代代碼碼)的的相相應(yīng)應(yīng)錯錯誤誤之之后后,,必必須須重重復(fù)復(fù)執(zhí)執(zhí)行行先先前前測測試試集集的的過過程程稱稱回回溯溯測測試試,,又又叫叫回回歸歸測測試試,,目目的的在在于于進進一一步步驗驗證證糾糾錯錯的的正正確確性性。。6))對對分分查查找找法法如果果已已經(jīng)經(jīng)知知道道每每個個變變量量在在程程序序內(nèi)內(nèi)若若干干個個關(guān)關(guān)鍵鍵點點的的正正確確值值,,則則用用賦賦值值語語句句或或輸輸入入語語句句在在程程序序中中的的關(guān)關(guān)鍵鍵點點附附近近輸輸入入這這些些變變量量的的正正確確值值,,然然后后檢檢查查程程序序的的輸輸出出值值。。計算算機機科科學學與與工工程程學學院院軟件件工工程程((SoftwareEngineer))7.8自自動動測測試試工工具具1測測試試數(shù)數(shù)據(jù)據(jù)生生成成程程序序2靜靜態(tài)態(tài)生生成成程程序序3動動態(tài)態(tài)分分析析程程序序4文文件件比比較較程程序序計算算機機科科學學與與工工程程學學院院軟件件工工程程((SoftwareEngineer))7.9軟軟件件可可靠靠性性1基基本本概概念念1))軟軟件件可可靠靠性性其定定義義為為程程序序在在給給定定的的時時間間間間隔隔內(nèi)內(nèi),,按按照照規(guī)規(guī)格格說說明明書書的的規(guī)規(guī)定定能能成成功功運運行行的的概概率率。。2))軟軟件件可可用用性性其定定義義為為程程序序在在給給定定的的時時刻刻,,按按照照規(guī)規(guī)格格說說明明書書的的規(guī)規(guī)定定,,能能成成功功運運行行的的概概率率。。3))MTTF和和MTTR2估估算算MTTF的的方方法法計算算機機科科學學與與工工程程學學院院軟件工程((SoftwareEngineer)7.10實實例1測試計計劃2測試分分析報告計算機科學學與工程學學院軟件工程((SoftwareEngineer)習題七1.為什么么說軟件測測試是軟件件開發(fā)中不不可缺少的的重要一環(huán)環(huán),但不是是軟件質(zhì)量量保證的安安全網(wǎng)?2.軟件測測試的基本本任務(wù)是什什么?簡述述軟件測試試與程序調(diào)調(diào)試的區(qū)別別。3.總結(jié)軟軟件測試的的基本原則則。4.軟件測測試分哪幾幾個階段??各階段的的任務(wù)是什什么?5.什么是是黑盒測試試與白盒測測試?它們們都適應(yīng)哪哪些測試??6.什么是是軟件系統(tǒng)統(tǒng)的α測試試和β測試試?它們各各自的目的的和方法有有什么特點點?7.使用白白盒法覆蓋蓋被測試程程序的所有有邏輯執(zhí)行行路徑能夠夠保證程序序正確嗎??為什么?8.為什么么在綜合測測試策略中中首先考慮慮邊界值分分析,而不不是等價分分類方法?

溫馨提示

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

最新文檔

評論

0/150

提交評論