17測試用例設(shè)計-STMT_第1頁
17測試用例設(shè)計-STMT_第2頁
17測試用例設(shè)計-STMT_第3頁
17測試用例設(shè)計-STMT_第4頁
17測試用例設(shè)計-STMT_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件測試方法和技術(shù)-Ch.14測試用例的設(shè)計本章要解決的問題為什么我們要使用測試用例?測試用例有哪些基本元素組成?測試用例編寫和設(shè)計時需要遵循哪些基本的原則?白盒測試用例和黑盒測試用例設(shè)計的基本方法測試用例設(shè)計,組織和測試過程組織之間的關(guān)系和實踐過程。跟蹤和維護測試用例。第14章軟件測試用例的設(shè)計測試用例概述測試用例組織和維護白盒測試用例設(shè)計方法黑盒測試用例設(shè)計方法測試用例的組織和跟蹤14.1測試用例的概述測試用例是測試執(zhí)行的最小實體,是為特定的目的而設(shè)計的一組測試輸入、執(zhí)行條件和預(yù)期的結(jié)果。簡單地說,測試用例就是一個文檔,描述輸入、動作、或者時間和一個期望的結(jié)果,其目的是確定應(yīng)用程序的某個特性是否正常的工作,并且達到程序所設(shè)計的結(jié)果。1.測試用例的重要性如何以最少的人力、資源投入,在最短的時間內(nèi)完成測試,發(fā)現(xiàn)軟件系統(tǒng)的缺陷,保證軟件的優(yōu)良品質(zhì),則是軟件公司探索和追求的目標(biāo)。軟件測試是有組織性、步驟性和計劃性的,為了能將軟件測試的行為轉(zhuǎn)換為可管理的、具體量化的模式,需要創(chuàng)建和維護測試用例測試用例是測試工作的指導(dǎo),是軟件測試的必須遵守的準(zhǔn)則,更是軟件測試質(zhì)量穩(wěn)定的根本保障2.測試用例的作用有效性避免測試的盲目性可維護性可復(fù)用性可評估性可管理性3.測試用例設(shè)計書寫標(biāo)準(zhǔn)標(biāo)志符(Identification)測試項(Test

Items)測試環(huán)境要求輸入標(biāo)準(zhǔn)(Input

Criteria)輸出標(biāo)準(zhǔn)(Output

Criteria)測試用例之間的關(guān)聯(lián)4.測試用例的組成元素與范例標(biāo)識符:由測試設(shè)計過程說明和測試程序說明引用的唯一標(biāo)識符測試項:描述被測試的詳細(xì)特性、代碼模塊等,應(yīng)該比測試設(shè)計說明中所列出的特性更加具體。如果測試設(shè)計說明說“計算器程序的加法功能”,那么測試用例說明會說“加法運算的上限溢出處理”。它還要提供產(chǎn)品說明書的引用信息或者測試用例所依據(jù)的其他設(shè)計文檔4.測試用例的組成元素與范例輸入說明:該說明列舉送到軟件執(zhí)行測試用例的所有輸入內(nèi)容或者條件輸出說明:描述進行測試用例預(yù)期的結(jié)果環(huán)境要求:執(zhí)行測試用例所必需的硬件、軟件、測試工具、人員等特殊要求:用例之間的依賴性Example示例5.為什么需要測試用例

在開始實施測試之前設(shè)計好測試用例,避免盲目測試并提高測試效率,減少測試的不完全性;

測試用例的使用令軟件測試的實施重點突出、目的明確;

根據(jù)測試用例的多少和執(zhí)行難度,估算測試工作量,便于測試項目的時間和資源管理與跟蹤;減少回歸測試的復(fù)雜程度5.為什么需要測試用例

在軟件版本更新后只需修正少量的測試用例便可展開測試工作,降低工作強度、縮短項目周期;

功能模塊的測試用例的通用化和復(fù)用化則會使軟件測試易于開展,并隨著測試用例的不斷細(xì)化其效率也不斷攀升;

根據(jù)測試用例的操作步驟和執(zhí)行結(jié)果,可以方便地書寫軟件測試缺陷報告5.為什么需要測試用例可以根據(jù)測試用例的執(zhí)行等級,實施不同級別的測試;為分析軟件缺陷和程序模塊質(zhì)量提供依據(jù);便于大型軟件測試項目外包測試指導(dǎo)基礎(chǔ);·

總結(jié):軟件測試是有組織性、步驟性和計劃性的,為了能將軟件測試的行為轉(zhuǎn)換為可管理的、具體量化的模式,需要創(chuàng)建和維護測試用例。6.良好測試用例的特征可以最大程度地找出軟件隱藏的缺陷可以最高效率的找出軟件缺陷可以最大程度地滿足測試覆蓋要求既不過分復(fù)雜、也不能過分簡單6.良好測試用例的特征使軟件缺陷的表現(xiàn)可以清楚的判定測試用例包含期望的正確的結(jié)果待查的輸出結(jié)果或文件必須盡量簡單明了不包含重復(fù)的測試用例測試用例內(nèi)容清晰、格式一致、分類組織7.測試用例設(shè)計原則測試用例的代表性:能夠代表并覆蓋各種合理的和不合理的、合法的和非法的、邊界的和越界的以及極限的輸入數(shù)據(jù)、操作和環(huán)境設(shè)置等。測試結(jié)果的可判定性:即測試執(zhí)行結(jié)果的正確性是可判定的,每一個測試用例都應(yīng)有相應(yīng)的期望結(jié)果。測試結(jié)果的可再現(xiàn)性:即對同樣的測試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。測試用例設(shè)計考慮因素具有代表性、典型性尋求系統(tǒng)設(shè)計、功能設(shè)計的弱點測試用例需要考慮到正確的輸入,也需要考慮錯誤的或者異常的輸入,以及需要分析怎樣使得這樣的錯誤或者異常能夠發(fā)生考慮用戶實際的諸多使用場景示例示例1:P.313示例2:P.3158.單個測試用例的質(zhì)量要求具有可操作性具備所需的各項信息各項信息描述準(zhǔn)確、清楚測試目標(biāo)針對性強驗證點完備,而且沒有太多的驗證點沒有太多的操作步驟,例如不超過7步符合正常業(yè)務(wù)慣例。9.整體測試用例的質(zhì)量要求覆蓋率。依據(jù)特定的測試目標(biāo)的要求,盡可能覆蓋所有的測試范圍、功能特性和代碼。易用性。測試用例的設(shè)計思路清晰、組織結(jié)構(gòu)層次合理,測試用例操作的連貫性好,使單個模塊的測試用例執(zhí)行順暢。易維護性。應(yīng)該以很少的時間來完成測試測試用例的維護工作,包括添加、修改和刪除測試用例。易用性和易讀性,也有助于易維護性。粒度適中。既能覆蓋各個特定的場景,保證測試的效率;又能處理好不同數(shù)據(jù)輸入的測試要求,提高測試用例的可維護性。14.2測試用例組織和維護測試用例的屬性測試套件及其構(gòu)成方法跟蹤測試用例維護測試用例測試用例的覆蓋率14.2.1測試用例的屬性一些屬性說明□目標(biāo)性,包括功能性、性能、容錯性、數(shù)據(jù)遷移等各方面的測試用例;□所屬的范圍,屬于哪一個組件或模塊□關(guān)聯(lián)性,和軟件產(chǎn)品特性相聯(lián)系□階段性,屬于單元測試、集成測試、系統(tǒng)測試、驗收測試中的某一個階段□時效性,不同的版本所適用的測試用例可能不相同14.2.2

測試套件及其構(gòu)成方法

建立合適的、可擴展的測試用例框架,從而借助這個框架能有效地組織眾多的測試用例,包括對測試用例的分類、清晰的層次結(jié)構(gòu)等實例測試用例套件

測試套件是由一系列測試用例并與之關(guān)聯(lián)的測試環(huán)境組合而構(gòu)成的集合,已滿足測試執(zhí)行的特定要求。通過測試套件,將服務(wù)于同一個測試目標(biāo)、特定階段性測試目標(biāo)或某一運行環(huán)境下的一系列測試用例有機地組合起來按程序功能模塊組織按測試用例的類型組織按測試用例的優(yōu)先級組織測試類型與測試用例設(shè)計易用性測試配置測試壓力測試文檔測試國際化測試測試用例1測試用例2測試用例3測試用例1測試用例2測試用例3聯(lián)機幫助測試軟件更新測試根據(jù)測試類型設(shè)計

根據(jù)程序功能模塊設(shè)計功能測試

回歸測試

安裝/卸載測試

聯(lián)機注冊測試文件操作測試測試用例1測試用例2測試用例3測試用例1測試用例2測試用例3數(shù)據(jù)備份測試測試用界例面的測組試織和測試過程的關(guān)系測試用例的組織和測試過程的關(guān)系測試套件應(yīng)用場合

只是部分功能模塊發(fā)生了變化,就可以創(chuàng)建由這些改動模塊的測試用例構(gòu)成的測試套件

在修改的模塊中,也不需要選擇所有的測試用例,針對不同的優(yōu)先級創(chuàng)建不同的測試套件測試執(zhí)行的第一階段可以創(chuàng)建一個特定平臺上的測試套件有必要為自動化測試、手工測試分別建立測試套件。

還可以建立和測試人員相對應(yīng)的、不同平臺或不同模塊的測試套件

回歸測試中,可以先運行曾經(jīng)發(fā)現(xiàn)缺陷的測試用例,然后再運行從來沒有發(fā)現(xiàn)的缺陷的測試用例14.2.3跟蹤測試用例用例執(zhí)行的跟蹤:

跟上進度?測試人員每天能執(zhí)行多少個測試用例?“通過、未通過以及未測試的”各占多少?不能被執(zhí)行的原因是什么?測試用例覆蓋率的跟蹤14.2.3維護測試用例測試用例的維護是持續(xù)改進的過程測試用例維護流程示例14.2.5

測試用例的覆蓋率測試用例本身:發(fā)現(xiàn)缺陷后補充的測試用例數(shù)/總的測試用例數(shù)需求、功能點覆蓋率代碼覆蓋率14.3白盒測試用例設(shè)計方法什么是白盒測試

白盒測試也稱為結(jié)構(gòu)測試,把程序看作一個透明的盒子,測試程序的代碼書寫結(jié)構(gòu)和邏輯問題白盒測試用例的設(shè)計方法

邏輯覆蓋:以程序的內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ),分為語句覆蓋、判定覆蓋、判定-條件覆蓋、條件組合覆蓋等

基本路徑測試:在程序控制流程的基礎(chǔ)上,分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計測試用例。白盒測試用例注意事項由于測試路徑可能非常多,由于時間和資源問題,選出足夠多的路徑測試由于深入到程序編碼,通常開發(fā)人員協(xié)助測試人員書寫白盒測試用例14.4黑盒測試用例的設(shè)計方法測試內(nèi)容模塊中是否有功能遺漏或者邏輯錯誤模塊接口是否存在問題是否有數(shù)據(jù)結(jié)構(gòu)錯誤或者外部信息訪問錯誤性能上是否滿足要求14.4黑盒測試用例的設(shè)計方法分類:等價類劃分法邊界值分析法錯誤推測法因果圖法功能圖法1.等價類測試用例設(shè)計方法定義在分析需求規(guī)格說明的基礎(chǔ)上劃分等價類,列出等價類表。將程序可能的輸入數(shù)據(jù)分成若干個子集,從每個子集選取一個代表性的數(shù)據(jù)作為測試用例,等價類是某個輸入域的子集,在該子集中每個輸入數(shù)據(jù)的作用是等效的。2.邊界值測試用例設(shè)計方法Boundary-value

analysis程序的很多錯誤發(fā)生在輸入或輸出范圍的邊界上,因此針對各種邊界情況設(shè)置測試用例,可以發(fā)現(xiàn)不少程序缺陷。邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。邊界值測試用例設(shè)計方法.與等價劃分的區(qū)別邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測試情況。Sin(x)3.錯誤推測法測試用例設(shè)計基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性地設(shè)計測試用例。錯誤推測方法的基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例。錯誤推測法測試用例設(shè)計當(dāng)軟件要求輸入時(比如在文本框中),不是沒有輸入正確的信息,而是根本沒有輸入任何內(nèi)容,單單按了Enter鍵;輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況;輸入表格為空格或輸入表格只有一行。這些都是容易發(fā)生錯誤的情況??蛇x擇這些情況下的例子作為測試用例。4.判定表當(dāng)需要描述的加工由一組操作組成,是否執(zhí)行某些操作又取決于一組條件時,用判定表寫加工邏輯將比較合適。5.因果圖法測試用例設(shè)計Cause-Effect

Graphing定義:是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計測試用例的方法,它

適合于檢查程序輸入條件的各種組合情況。6.場景設(shè)計方法現(xiàn)在的軟件幾乎都是由事件觸發(fā)來控制流程的,事件觸發(fā)時的情景便形成了場景,而同一事件

不同的觸發(fā)順序和處理結(jié)果形成事件流。這種

在軟件設(shè)計方面的思想也可被引入到軟件測試

中,生動的描繪出事件觸發(fā)時的情景,有利于

測試設(shè)計者設(shè)計測試用例,同時測試用例也更

容易的得到理解和執(zhí)行。提出這種測試思想的是Rational公司,在

RUP2000中文版當(dāng)中有其詳盡的解釋和應(yīng)用,用例場景貫穿其中。設(shè)計測試用例的策略選擇

測試用例的設(shè)計方法不是單獨存在的,具體到每個測試項目里都會用到多種方法,每種類型的軟件有各自的特點,每種測試用例設(shè)計的方法也有各自的特點,針對不同軟件如何利用這些黑盒方法是非常重要的。

在實際測試中,往往是綜合使用各種方法才能有效提高測試效率和測試覆蓋度,這就需要認(rèn)真掌握這些方法的原理,積累更多的測試經(jīng)驗,以有效提高測試水平。

首先進行等價類劃分,包括輸入條件和輸出條件的等價劃分,將無限測試變成有限測試,這是減少工作量和提高測試效率的最有效方法。

在任何情況下都必須使用邊界值分析方法。經(jīng)驗表明用這種方法設(shè)計出測試用例發(fā)現(xiàn)程序錯誤的能力最強。

對照程序邏輯,檢查已設(shè)計出的測試用例的邏輯覆蓋程度。如果沒有達到要求的覆蓋標(biāo)準(zhǔn),應(yīng)當(dāng)再補充足夠的測試用例。

對于業(yè)務(wù)流清晰的系統(tǒng),可以利用場景法貫穿整個測試案例過程,在案例中綜合使用各種測試方法。測試用例設(shè)計工具設(shè)計依據(jù):軟件需求文檔軟件設(shè)計文檔通用設(shè)計工具:Microsoft

WordMicrosoft

ExcelMicrosoft

Access設(shè)計工具專用:IBM

Rational

TestManager

Mercury

InteractiveTestDirector常見問題:軟件文檔不全或沒有文檔

沒有完成編碼就開始設(shè)計測試用例測試用例的組成元素與范例測試用例編號ID測試用例標(biāo)題測試的模塊測試輸入條件期望的輸出結(jié)果其它說明ID類型標(biāo)題測試步驟期望的結(jié)果說明001登錄輸入正確密碼用戶在登錄界面輸入正確的密碼后,按回車鍵程序提示登錄成功002登錄輸入錯誤密碼用戶在登錄界面輸入錯誤的密碼后,按回車鍵程序提示輸入密碼錯誤,請重新輸入003登錄不輸入的空密碼用戶在登錄界面沒有輸入任何密碼使密碼為空后,按回車鍵程序提示用戶沒有輸入密碼,請輸入程序應(yīng)該告知用

戶沒有輸入密碼,而不是密碼錯誤案例研究2:測試用戶登錄對話框的功能測試場景:在各種輸入條件下,測試程序的登錄對話框功能。用戶名和密碼的規(guī)則如下:用戶名長度為6至10位(含6位和10位)用戶名由字符(a-z、A-Z)和數(shù)字(0-9)組成不能為空、空格和特殊字符密碼規(guī)則同用戶名規(guī)則案例研究2:登錄對話框的功能(續(xù)1)確定輸入數(shù)據(jù)的情形:操作步驟預(yù)期結(jié)果輸入正確的用戶名和口令(均為6位),點擊[OK]按鈕進入系統(tǒng)輸入正確的用戶名和口令(均為10位),點擊[OK]按鈕進入系統(tǒng)輸入正確的用戶名和口令(均為6至8位之間),……進入系統(tǒng)用戶名為空,……提示輸入用戶名不能進入系統(tǒng)用戶名為空格,……提示無效用戶名不能進入系統(tǒng)用戶名小于6位,……提示用戶名太短不能進入系統(tǒng)……………………案例研究2:登錄對話框的功能(續(xù)2)確定具體的輸入數(shù)據(jù):“用戶名”“口令”“預(yù)期結(jié)果”說明“user10”“pass10”進入系統(tǒng)正確的用戶名和口令(6位)“user789”“pass789”進入系統(tǒng)正確的用戶名和口令(7-9位)“user000010”“pass000010”進入系統(tǒng)正確的用戶名和口令(10位)“”“pass”提示輸入用戶名不能進入系統(tǒng)用戶名為空“空格”“pass”提示無效用戶名不能進入系統(tǒng)用戶名為空格“user”“userpass”提示用戶名太短不能進入系統(tǒng)用戶名小于6位“user0000011”“userpass”提示用戶名太長不能進入系統(tǒng)用戶名大于10位………………………………………………14.5測試用例的執(zhí)行與跟蹤執(zhí)行與跟蹤測試用例前,首先要好搭建測試環(huán)境,并定義測試用例的執(zhí)行順序,然后就可以執(zhí)行與跟蹤測試用例了。測試用例執(zhí)行過程中,搭建測試環(huán)境是第一步。測試環(huán)境搭建之后,根據(jù)定義的測試用例執(zhí)行順序,可逐個執(zhí)行測試用例。測試用例執(zhí)行中應(yīng)該注意以下幾個問題:(1)全方位的觀察測試用例執(zhí)行結(jié)果(2)加強測試過程記錄(3)及時確認(rèn)發(fā)現(xiàn)的問題(4)與開發(fā)人員良好的溝通(5)及時更新測試用例(6)提交一份優(yōu)秀的問題報告單

溫馨提示

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

評論

0/150

提交評論