34測試與調(diào)試_第1頁
34測試與調(diào)試_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余7頁可下載查看

下載本文檔

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

文檔簡介

1、1.測試軟件測試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中 的錯誤,給出程序可靠性的鑒定。(1)測試的特征測試具有以下三個重要特征:1測試的挑剔性測試不是為了證明程序是正確的, 而是在設(shè)想程序有錯誤的 前提下進(jìn)行的,其目的是設(shè)法暴露程序中的錯誤和缺陷。2完全測試的不可能性 測試只能說明程序有錯,而不能證明程序無錯,希望通過有 限次的測試就能發(fā)現(xiàn)程序中的所有錯誤是不可能的, 即完全測試是不 可能的。由于冊似乎的這一特征, 程序也不可能具有百分之百的可靠 性。因此,有人將程序的可靠性定義為“在給定的時間和給定的環(huán)境 下,系統(tǒng)成功地執(zhí)行所指定功能的概率”。3測試的經(jīng)濟(jì)性測試是保證程序質(zhì)量的關(guān)鍵

2、, 但完全測試是不可能的。 因此, 應(yīng)當(dāng)在程序的用途及重要性和測試所花的代價兩者之間進(jìn)行權(quán)衡。(2)測試的過程 程序的測試一般按三種方式進(jìn)行;靜態(tài)分析,動態(tài)測試,自 動測試。這三種測試方式通常反映了測試的過程, 即先進(jìn)行靜態(tài)分析, 然后進(jìn)行動態(tài)測試, 在某些特殊情況下, 有可以借助自動測試工具對 程序進(jìn)行查錯。1程序的靜態(tài)分析所謂靜態(tài)分析,是指不執(zhí)行程序,而只由人工對程序文本 進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。2程序的動臺分析所謂程序的動臺分析, 是使用測試用例在計(jì)算機(jī)上運(yùn)行程 序,使程序在運(yùn)行過程中暴露錯誤。3自動測試工具自動測試工具實(shí)際上是人們編制的用于測試的軟件, 并用

3、它來代替人工測試。(3)測試的層次模塊測試模塊測試又稱為單元測試。 模塊測試的目標(biāo)是發(fā)現(xiàn)局部模塊 的邏輯與功能上的錯誤和缺陷。它主要對以下幾個方面進(jìn)行測試:模塊接口主要測試穿過模塊的數(shù)據(jù)流。 如果數(shù)據(jù)不能被模塊正確地接 受和輸出,進(jìn)行其他測試則是毫無意義的。局部數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)通常是錯誤的藏身之地。 這些錯誤主要包括數(shù)據(jù)引 用錯誤和書記說明錯誤。 除了對局部變量進(jìn)行測試外, 有時還需要測 試全局變量對模塊的影響。重要路徑模塊測試的一基本任務(wù)是要選擇適當(dāng)?shù)臏y試用例, 對模塊中 的重要執(zhí)行路徑進(jìn)行測試, 以暴露程序中的計(jì)算錯誤、 比較錯誤以及 控制流錯誤。錯誤處理的能力有意識的給出不合理的輸入,以

4、檢查程序?qū)﹀e誤的處理能 力。I/O錯對含有I/O功能的模塊,還應(yīng)該測試I/O方面的有關(guān)錯誤, 如文件屬性是否正確,打開文件語句是否正確, 格式說明是否正確等。 由于單個模塊的模型一般不大,卻功能單一、邏輯簡單,在進(jìn) 行模塊測試時,應(yīng)該盡可能達(dá)到徹底測試,力求暴露更多的錯誤。在 測試過程中,測試人員應(yīng)該首先通過模塊說明書和原程序清楚的了解 該模塊的I/O條件和邏輯結(jié)構(gòu), 測試時以結(jié)構(gòu)測試為主, 功能測試為 副。由于模塊不是一個獨(dú)立的程序,不能單獨(dú)進(jìn)行,因此,在進(jìn)行 模塊測試時, 還應(yīng)該為每個被測試的模塊另外設(shè)計(jì)兩類模塊 “驅(qū)動模 塊”和“承接模塊”。其中,驅(qū)動模塊的作用是將測試數(shù)據(jù)傳送給被 測試

5、的模塊, 并顯示被測試模塊所產(chǎn)生的結(jié)果; 承接模塊的作用是模 擬被測試模塊的下層模塊。通常,承接模塊有多個。 整體測試 整體測試的目標(biāo)是盡量暴露程序測試時不能暴露的結(jié)構(gòu)錯誤, 如一個模塊被破壞了另一個模塊功能數(shù)據(jù)通過接口是是否被丟失, 能 否產(chǎn)生主功能,誤差是否有積累等。整體測試可分為:漸增式和非漸增式非漸增式的整體測試,是將經(jīng)過單獨(dú)測試的所有模塊連接到一 起測試。漸增式的整體測試, 往往是于模塊測試同步進(jìn)行的, 即在對模 塊逐漸裝配的過程中,同時進(jìn)行的。這種測試可以減少模塊測試時,要設(shè)計(jì)的驅(qū)動模塊或承接模塊。1高級測試模塊測試和整體測試最基本的測試。除此之外,還有四種測 試:功能測試功能測試

6、又稱為有效性, 主要是用黑箱發(fā)測試軟件功能是否 與用戶一致。系統(tǒng)測試把軟件元素與硬件元素結(jié)合在一起進(jìn)行測試。驗(yàn)收測試主要檢查程序的操作與原設(shè)計(jì)要求以及用戶要求是否一 致。安裝測試主要是檢查軟件在安裝時產(chǎn)生的問題。(2)測試的方法對程序進(jìn)行測試需要使用一些數(shù)據(jù),每進(jìn)行依次測試,就需 要一組測試數(shù)據(jù), 這些測試數(shù)據(jù)通常稱為測試用例。 測試的關(guān)鍵是設(shè)計(jì)測試用例。由于完全測試的不可能性,因此,用有限的測試用例去 發(fā)現(xiàn)更多的錯誤就顯得非常重要。1白箱法百箱測試是根據(jù)對程序內(nèi)部邏輯結(jié)構(gòu)的分析來選取測試用 例。由于測試用例對程序邏輯覆蓋的程度決定了測試完全 性的程度,因此,白箱測試也稱為覆蓋測試。白箱測試用

7、 例的設(shè)計(jì)準(zhǔn)則有:語句覆蓋,分支覆蓋,條件覆蓋和組合 條件覆蓋。2黑箱法黑箱測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而 只是根據(jù)程序功能導(dǎo)出測試用例。常用的黑箱測試有等價 分類法、邊值分析法、因果圖法和錯誤推測法。等價分類法等價分類法是把所有可能的輸入數(shù)據(jù)劃分成若干等價 類,使每一類中的一個典型數(shù)據(jù)在測試中的作用與這一類 中所有其他數(shù)據(jù)的作用相同。因此,在實(shí)際進(jìn)行測試時, 可以在每個等價類中只取一組數(shù)據(jù)作為測試用例。由此可知,等價分類法分為兩步:一是劃分等價類;二 是從每個等價類中選取測試用例。劃分等價類的基本方法是:根據(jù)程序的功能說明,找出 所有的輸入條件,然后為每一個輸入條件劃分等價類

8、。在給出輸入條件后,確定等價類大體是一個啟發(fā)的過程, 取決于測試人員對問題的理解力和創(chuàng)造力,帶有很大的試 探性。通常,以下劃分等價類的幾個原則可以作為參考:如果輸入條件規(guī)定了值的范圍,則可以確定一個有效等 價類和兩個無效等價類;如果輸入條件規(guī)定了值的范圍,則可以確定一個有效等 價類和兩個無效等價類。邊值分析法程序錯誤往往發(fā)生于邊緣情況。因此,考慮邊界條件的 測試比沒有考慮邊界條件的測試效果要好得多。因果圖法因果圖法是設(shè)計(jì)測試用例的一種系統(tǒng)方法,有助于測試 人員系統(tǒng)地選擇高效的測試用例。其基本思想是把輸入條 件表示為“因”,輸出條件視為“果”,把黑箱視為從“因” 到“果”的邏輯網(wǎng)絡(luò)圖。錯誤推測法

9、錯誤推測法也稱為猜錯法,它無一定之規(guī)律可循,在很 大程度上是憑經(jīng)驗(yàn)或知覺推測程序中可能存在的各種錯 誤,從而有針對性地編寫測試用例。綜合策略在實(shí)際進(jìn)行測試時,需要將各種方法聯(lián)合使用。下面的 綜合策略可供參考:如果程序功能說明中包含有輸入條件的組合,便應(yīng)該從 因果圖開始,以減少組合情況。在任何情況下都要用邊值分析法,通過分析輸入和輸出 條件的邊界值,補(bǔ)充一些測試用例。判斷輸入/輸出的有效和無效等價類, 進(jìn)一步補(bǔ)充測試用 例。2.調(diào)試調(diào)試也稱為排錯, 它是一個與測試有聯(lián)系又有區(qū)別的概念。 調(diào)試與測試的關(guān)系主要體現(xiàn)在以下幾個方面:測試的目的是暴露錯誤,評價程序的可靠性;而調(diào)試的目的是發(fā)現(xiàn)錯誤的位置,

10、并改正錯誤。測試是揭示設(shè)計(jì)人員的過失,通常應(yīng)該由非設(shè)計(jì)人 員來承擔(dān);而調(diào)試幫助設(shè)計(jì)人員糾正錯誤,可以由設(shè)計(jì)人 員自己承擔(dān)。測試是機(jī)械的、強(qiáng)制的、嚴(yán)格的,也是可預(yù)測的;而調(diào)試要求隨機(jī)應(yīng)變、聯(lián)想、經(jīng)驗(yàn)、智力,并要求自主地經(jīng)過測試發(fā)現(xiàn)錯誤后,可以立即進(jìn)行調(diào)試并改正錯誤;經(jīng)過調(diào)試后的程序還需要進(jìn)行回歸測試,以檢查調(diào)試 的結(jié)果,同時也可防止在調(diào)試過程中引進(jìn)的新的錯誤。調(diào)試用例與測試用例可以一致,也可以不一致。一般的調(diào)試過程分為錯誤偵查、 錯誤診斷和改正錯誤。1)調(diào)試技術(shù) 常用的調(diào)試技術(shù)有以下五種。輸出存儲內(nèi)容。在程序中插入調(diào)試語句。利用調(diào)試用例,迫使程序逐個通過所有可能出現(xiàn)的執(zhí)行路徑,系統(tǒng)地排除“無錯”

11、的程序分支,逐步縮小檢查的范圍。經(jīng)過靜態(tài)分析、動態(tài)測試或自動測試,都會得到大量與 程序錯誤有關(guān)的信息,這些信息都可在調(diào)試時加以利用。借助調(diào)試工具。(2)調(diào)試策略常用的調(diào)試策略主要有以下五個方面:1試探法首先分析調(diào)試錯誤征兆, 猜測發(fā)生錯誤的大概位置, 然后 利用有關(guān)的調(diào)試計(jì)數(shù)進(jìn)一步獲得錯誤信息。2回朔法首先檢查錯誤征兆, 確定最先發(fā)現(xiàn)錯誤的位置, 然后人工 沿程序的控制流往回追蹤源程序代碼, 直到找出錯誤根源或確定故障 范圍為止。3對分查找法在程序的中點(diǎn)附近輸入某些變量的正確值, 然后觀察程序 的輸出。若輸出結(jié)果不正確,則說明錯誤出現(xiàn)在程序的前半部分;否 則,說明程序的后半部分有錯。 對于程序中有錯的那部分再重復(fù)使用 這個方法,直到把錯誤范圍縮小到容易診斷的程度為止。4歸納法所謂歸納法,是從個別推斷全體,即從線索出發(fā),通過分析這些線索之間的關(guān)系而找出故障。這種方法主要有以下四個步驟:收集已有的使程序出錯與不出錯的所有數(shù)據(jù);整理這些數(shù)據(jù),以便發(fā)現(xiàn)規(guī)律或矛盾;提出關(guān)于故障的若干假設(shè);證

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論