版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件測(cè)試方法和技術(shù)
第三章軟件測(cè)試方法與測(cè)試用例CH2、CH141第三章軟件測(cè)試方法與測(cè)試用例1軟件測(cè)試的基本方法2人工測(cè)試概述3軟件測(cè)試用例設(shè)計(jì)概述4白盒測(cè)試用例設(shè)計(jì)方法5黑盒測(cè)試用例設(shè)計(jì)方法6測(cè)試用例的案例21軟件測(cè)試的基本方法根據(jù)G.J.Myers觀點(diǎn)--軟件測(cè)試的目的:
軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程一個(gè)好的測(cè)試能夠在第一時(shí)間發(fā)現(xiàn)程序中存在的錯(cuò)誤一個(gè)好的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。軟件測(cè)試是質(zhì)量控制的重要手段,保證客戶拿到或用戶使用高質(zhì)量的軟件產(chǎn)品31)軟件測(cè)試方法分類根據(jù)測(cè)試對(duì)象在測(cè)試過程中是否發(fā)生狀態(tài)變化:動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試根據(jù)對(duì)測(cè)試對(duì)象了解的程度(按哲學(xué)觀點(diǎn)):黑盒測(cè)試和白盒測(cè)試4測(cè)試方法黑盒子和白盒子靜態(tài)的和動(dòng)態(tài)的文檔、代碼審查數(shù)據(jù)輸入邊界條件法等價(jià)劃分、數(shù)據(jù)流程圖狀態(tài)變換圖邏輯路徑法5黑盒子和白盒子功能測(cè)試數(shù)據(jù)驅(qū)動(dòng)測(cè)試結(jié)構(gòu)測(cè)試邏輯驅(qū)動(dòng)測(cè)試
客戶需求事件驅(qū)動(dòng)輸入輸出62)黑盒測(cè)試法(black-boxtesting)概念:也稱功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說明的測(cè)試。不關(guān)心程序內(nèi)部結(jié)構(gòu),用于驗(yàn)證產(chǎn)品所應(yīng)具有的功能是否實(shí)現(xiàn),每個(gè)功能是否都能正常使用,是否滿足用戶的要求。測(cè)試范圍:針對(duì)程序接口和用戶界面進(jìn)行測(cè)試,只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。用途:主要用于軟件確認(rèn)測(cè)試。方法:等價(jià)類劃分、邊界值分析、錯(cuò)誤推測(cè)法、因果圖。7發(fā)現(xiàn)問題類型:是否有不正確或遺漏了的功能;在接口上,能否正確地接受輸入數(shù)據(jù),能否產(chǎn)生正確的輸出信息;訪問外部信息是否滿足要求;性能上是否滿足要求;界面是否錯(cuò)誤,是否不美觀;初始化和終止錯(cuò)誤。黑盒測(cè)試的數(shù)據(jù):是根據(jù)規(guī)格說明書決定的。
83)白盒測(cè)試法(white-boxtesting)概念:也稱結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序的測(cè)試。已知產(chǎn)品內(nèi)部工作流程,清楚軟件程序的結(jié)構(gòu)和語句,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序。要求對(duì)程序的結(jié)構(gòu)特性做到一定程度的覆蓋,對(duì)所有邏輯路徑進(jìn)行測(cè)試,并檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò)。測(cè)試范圍:測(cè)試程序內(nèi)部的變量狀態(tài)、邏輯結(jié)構(gòu)、運(yùn)行路徑等,檢驗(yàn)程序中的每條通路是否能按預(yù)定要求正確工作,檢查程序內(nèi)部動(dòng)作或運(yùn)行是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否按規(guī)定正常進(jìn)行。用途:主要用于軟件驗(yàn)證測(cè)試。方法:邏輯覆蓋、循環(huán)覆蓋和基本路徑測(cè)試。9白盒測(cè)試原則和說明原則:保證每個(gè)模塊中所有獨(dú)立路徑至少被使用一次;對(duì)所有邏輯值均測(cè)試為真值和假值;在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán);檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。說明:窮舉路徑測(cè)試絕不能查出程序違反了設(shè)計(jì)規(guī)范,即程序在實(shí)現(xiàn)一個(gè)不是用戶需要的功能;窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò);窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。10黑盒測(cè)試和白盒測(cè)試比較黑盒測(cè)試白盒測(cè)試根據(jù)用戶能看到的規(guī)格說明,即針對(duì)命令、信息、報(bào)表等用戶界面及體現(xiàn)它們的輸入數(shù)據(jù)與輸出數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,特別是針對(duì)功能進(jìn)行測(cè)試。根據(jù)程序的內(nèi)部結(jié)構(gòu),比如語句的控制結(jié)構(gòu),模塊間的控制結(jié)構(gòu)以及內(nèi)部數(shù)據(jù)結(jié)構(gòu)等進(jìn)行測(cè)試。測(cè)試數(shù)據(jù)能站在用戶立場(chǎng)上進(jìn)行測(cè)試。能夠?qū)Τ绦騼?nèi)部的特定部位進(jìn)行覆蓋測(cè)試。優(yōu)點(diǎn)缺點(diǎn)1)不能測(cè)試程序內(nèi)部特定部位2)如果規(guī)格說明有誤,則無法發(fā)現(xiàn)1)無法檢驗(yàn)程序外部特性;2)無法對(duì)未實(shí)現(xiàn)規(guī)格說明的程序內(nèi)部欠缺部分進(jìn)行測(cè)試。方法舉例等價(jià)類劃分邊界值分析因果圖語句覆蓋判定覆蓋條件覆蓋路徑覆蓋判定/條件覆蓋模塊接口測(cè)試114)靜態(tài)的和動(dòng)態(tài)的測(cè)試主持人作者記錄員列席人員內(nèi)審員技術(shù)專業(yè)人員用戶代表不正式正式互審
走讀審查會(huì)議運(yùn)行程序12靜態(tài)測(cè)試概念:靜態(tài)測(cè)試就是靜態(tài)分析,對(duì)模塊的源代碼進(jìn)行研讀,查找錯(cuò)誤或收集一些度量數(shù)據(jù),不需要對(duì)代碼進(jìn)行編譯和仿真運(yùn)行。測(cè)試范圍:軟件產(chǎn)品的設(shè)計(jì)規(guī)格說明書的審查,程序代碼的閱讀、審查等。方法:人工檢測(cè)和計(jì)算機(jī)輔助靜態(tài)分析手段進(jìn)行檢測(cè)。只進(jìn)行特性分析。人工檢測(cè):人工審查或評(píng)審軟件。偏重于編碼風(fēng)格、質(zhì)量的檢驗(yàn)??捎行Оl(fā)現(xiàn)邏輯設(shè)計(jì)和編碼錯(cuò)誤。計(jì)算機(jī)輔助靜態(tài)分析:利用靜態(tài)分析工具對(duì)被測(cè)程序進(jìn)行特性分析,從程序中提取一些信息,以便檢查程序邏輯的各種缺陷和可疑的程序構(gòu)造。13靜態(tài)測(cè)試的特征靜態(tài)測(cè)試(方法)的主要特征:不利用計(jì)算機(jī)運(yùn)行被測(cè)試的程序,而是采用其它手段達(dá)到檢測(cè)的目的。靜態(tài)測(cè)試:對(duì)被測(cè)程序進(jìn)行特性分析的一些方法的總稱。一種自動(dòng)化的代碼檢驗(yàn)方法14靜態(tài)分析可以做到的工作可能發(fā)現(xiàn)的程序欠缺:用錯(cuò)的局部變量和全程變量;不匹配的參數(shù);不適當(dāng)?shù)难h(huán)嵌套和分支嵌套;不適當(dāng)?shù)奶幚眄樞颍粺o終止的死循環(huán);未定義的變量;不允許的遞歸;等等…15靜態(tài)分析可以做到的工作找到潛伏著的問題的根源:未使用過的變量;不會(huì)執(zhí)行到的代碼;未引用過的標(biāo)號(hào);提供間接涉及程序欠缺的信息:每一類型語句出現(xiàn)的次數(shù);所用變量和常量的交叉引用表;標(biāo)識(shí)符的使用方式;違背編碼規(guī)則。為進(jìn)一步查錯(cuò)作準(zhǔn)備選擇測(cè)試用例進(jìn)行符號(hào)測(cè)試16動(dòng)態(tài)測(cè)試概念:動(dòng)態(tài)測(cè)試是通過觀察代碼運(yùn)行時(shí)的動(dòng)作來提供執(zhí)行跟蹤、時(shí)間分析,以及測(cè)試覆蓋度方面的信息。它通過實(shí)際運(yùn)行程序發(fā)現(xiàn)錯(cuò)誤。測(cè)試范圍:通過有效的測(cè)試用例,對(duì)應(yīng)的輸入/輸出關(guān)系來分析被測(cè)程序的運(yùn)行情況。175)自動(dòng)測(cè)試和隨機(jī)測(cè)試手工模擬用戶操作自動(dòng)測(cè)試:通過工具自動(dòng)執(zhí)行軟件的測(cè)試。隨機(jī)測(cè)試:完全模擬客戶進(jìn)行隨意的操作。186)驗(yàn)證和確認(rèn)(V&V)
Verification:Arewebuildingtheproductright?是否正確地構(gòu)造了軟件?即是否正確地做事,驗(yàn)證開發(fā)過程是否遵守已定義好的內(nèi)容。驗(yàn)證產(chǎn)品滿足規(guī)格設(shè)計(jì)說明書的一致性Validation:Arewebuildingtherightproduct?
是否構(gòu)造了正是用戶所需要的軟件?即是否正在做正確的事。驗(yàn)證產(chǎn)品所實(shí)現(xiàn)的功能是否滿足用戶的需求192人工測(cè)試概述1)人工測(cè)試技術(shù)概述軟件審查會(huì)(softwareinspections),能有效地發(fā)現(xiàn)30%到70%的邏輯設(shè)計(jì)錯(cuò)誤和編碼錯(cuò)誤。2)軟件審查審查會(huì)是使非開發(fā)人員的力量與開發(fā)人員結(jié)合起來,利用集體的智慧查找軟件產(chǎn)品中存在的問題,從而保證軟件產(chǎn)品質(zhì)量的有效手段。軟件評(píng)審(review)203)軟件審查的作用軟件審查所的數(shù)據(jù)的使用充分利用軟件審查所獲得的數(shù)據(jù)指導(dǎo)和改進(jìn)開發(fā)工作,將是十分有益的。作為軟件開發(fā)進(jìn)程控制的審查階段審查所發(fā)現(xiàn)的問題主要有三種表現(xiàn)形式:遺漏----在規(guī)格說明或標(biāo)準(zhǔn)中指明應(yīng)該有的內(nèi)容,送審資料中丟掉了;多余----超出規(guī)格說明和標(biāo)準(zhǔn),多給出的信息;錯(cuò)誤----應(yīng)該有,也的確有,但內(nèi)容有誤的信息。213軟件測(cè)試用例設(shè)計(jì)概述如何以最少的人力、資源投入,在最短的時(shí)間內(nèi)完成測(cè)試,發(fā)現(xiàn)軟件系統(tǒng)的缺陷,保證軟件的優(yōu)良品質(zhì),則是軟件公司探索和追求的目標(biāo)。測(cè)試用例是測(cè)試工作的指導(dǎo),是軟件測(cè)試的必須遵守的準(zhǔn)則。更是軟件測(cè)試質(zhì)量穩(wěn)定的根本保障。
221)測(cè)試用例基本概念測(cè)試用例的定義
測(cè)試內(nèi)容的一系列情景和每個(gè)情景中必須依靠輸入和輸出,而對(duì)軟件的正確性進(jìn)行判斷的測(cè)試文檔,稱為測(cè)試用例。測(cè)試用例就是將軟件測(cè)試的行為活動(dòng),做一個(gè)科學(xué)化的組織歸納。
測(cè)試用例是為了特定目的而設(shè)計(jì)的測(cè)試數(shù)據(jù)及與之相關(guān)的測(cè)試規(guī)程的一個(gè)特定的集合,或稱為有效地發(fā)現(xiàn)軟件缺陷的最小測(cè)試執(zhí)行單元。232)測(cè)試用例的作用避免盲目測(cè)試并提高測(cè)試效率,減少測(cè)試的不完全性;測(cè)試用例的使用令軟件測(cè)試的實(shí)施重點(diǎn)突出、目的明確;根據(jù)測(cè)試用例的多少和執(zhí)行難度,估算測(cè)試工作量,便于測(cè)試項(xiàng)目的時(shí)間和資源管理與跟蹤;減少回歸測(cè)試的復(fù)雜程度在軟件版本更新后只需修正少量的測(cè)試用例便可展開測(cè)試工作,降低工作強(qiáng)度、縮短項(xiàng)目周期;功能模塊的測(cè)試用例的通用化和復(fù)用化則會(huì)使軟件測(cè)試易于開展,并隨著測(cè)試用例的不斷細(xì)化其效率也不斷攀升;根據(jù)測(cè)試用例的操作步驟和執(zhí)行結(jié)果,可以方便地書寫軟件測(cè)試缺陷報(bào)告;可以根據(jù)測(cè)試用例的執(zhí)行等級(jí),實(shí)施不同級(jí)別的測(cè)試;為分析軟件缺陷和程序模塊質(zhì)量提供依據(jù);便于大型軟件測(cè)試項(xiàng)目外包測(cè)試指導(dǎo)基礎(chǔ)。24測(cè)試用例的特性測(cè)試用例具有的特性:
有效性、可復(fù)用性、易組織性、可評(píng)估性、可管理性??偨Y(jié):
軟件測(cè)試是有組織性、步驟性和計(jì)劃性的,為了能將軟件測(cè)試的行為轉(zhuǎn)換為可管理的、具體量化的模式,需要?jiǎng)?chuàng)建和維護(hù)測(cè)試用例。253)良好測(cè)試用例的特征可以最大程度地找出軟件隱藏的缺陷可以最高效率的找出軟件缺陷可以最大程度地滿足測(cè)試覆蓋要求既不過分復(fù)雜、也不能過分簡(jiǎn)單使軟件缺陷的表現(xiàn)可以清楚的判定測(cè)試用例包含期望的正確的結(jié)果待查的輸出結(jié)果或文件必須盡量簡(jiǎn)單明了不包含重復(fù)的測(cè)試用例測(cè)試用例內(nèi)容清晰、格式一致、分類組織26測(cè)試用例設(shè)計(jì)的基本原則盡量避免含糊的測(cè)試用例
良好的測(cè)試用例一般會(huì)有三種狀態(tài):通過(PASS)、未通過(Failed)以及未進(jìn)行測(cè)試(NotDone)。盡量將具有相類似功能的測(cè)試用例抽象并歸類盡量避免冗長(zhǎng)和復(fù)雜的測(cè)試用例目的是保證驗(yàn)證結(jié)果的惟一性。274)測(cè)試用例的組成元素與范例組成:字段名稱類型是否必選注釋標(biāo)識(shí)符整型是惟一標(biāo)識(shí)測(cè)試用例測(cè)試項(xiàng)字符型是測(cè)試的對(duì)象測(cè)試環(huán)境要求字符型否測(cè)試環(huán)境需求輸入標(biāo)準(zhǔn)字符型是輸出標(biāo)準(zhǔn)字符型是用例間的關(guān)聯(lián)字符型否28考慮因素測(cè)試用例必須具有代表性、典型性測(cè)試用例設(shè)計(jì)時(shí),要濃縮系統(tǒng)設(shè)計(jì)
測(cè)試用例需要很確切地反映功能設(shè)計(jì),但同時(shí)最好不要完全地復(fù)制使用規(guī)格說明書。測(cè)試用例需要考慮到正確的輸入,也需要考慮錯(cuò)誤的或者異常的輸入,以及需要分析怎樣使得這樣的錯(cuò)誤或者異常能夠發(fā)生用戶測(cè)試用例設(shè)計(jì),要多考慮用戶實(shí)際使用場(chǎng)景29范例測(cè)試用例編號(hào)ID測(cè)試用例標(biāo)題測(cè)試的模塊測(cè)試輸入條件期望的輸出結(jié)果其它說明ID類型標(biāo)題測(cè)試步驟期望的結(jié)果說明001登錄輸入正確密碼用戶在登錄界面輸入正確的密碼后,按回車鍵程序提示登錄成功002登錄輸入錯(cuò)誤密碼用戶在登錄界面輸入錯(cuò)誤的密碼后,按回車鍵程序提示輸入密碼錯(cuò)誤,請(qǐng)重新輸入003登錄不輸入的空密碼用戶在登錄界面沒有輸入任何密碼使密碼為空后,按回車鍵程序提示用戶沒有輸入密碼,請(qǐng)輸入程序應(yīng)該告知用戶沒有輸入密碼,而不是密碼錯(cuò)誤303白盒測(cè)試用例設(shè)計(jì)方法概念:
白盒測(cè)試也稱為結(jié)構(gòu)測(cè)試,把程序看作一個(gè)透明的盒子,測(cè)試程序的代碼書寫結(jié)構(gòu)和邏輯問題。檢查內(nèi)容:對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少要測(cè)試一次對(duì)所有邏輯判斷,取真或假的兩種情況至少要測(cè)試一次對(duì)程序進(jìn)行邊界檢查檢驗(yàn)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。31白盒測(cè)試用例的設(shè)計(jì)方法邏輯覆蓋:以程序的內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ),分為語句覆蓋、判定覆蓋、判定-條件覆蓋、條件組合覆蓋等基本路徑測(cè)試:在程序控制流程的基礎(chǔ)上,分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例。白盒測(cè)試用例注意事項(xiàng)由于測(cè)試路徑可能非常多,由于時(shí)間和資源問題,選出足夠多的路徑測(cè)試由于深入到程序編碼,通常開發(fā)人員協(xié)助測(cè)試人員書寫白盒測(cè)試用例321)邏輯覆蓋(1)語句覆蓋(點(diǎn)覆蓋)
至少每個(gè)語句應(yīng)該執(zhí)行一次。(2)判定覆蓋--分支覆蓋(邊覆蓋)
每個(gè)語句必須至少執(zhí)行一次,而且每個(gè)判定的可能的結(jié)果都應(yīng)該至少執(zhí)行一次。(3)條件覆蓋
不僅每個(gè)語句至少執(zhí)行一次,而且使判定表達(dá)式中的每個(gè)條件都取到各種可能的結(jié)果。
注:滿足條件覆蓋,不一定滿足判定覆蓋。33(4)判定/條件覆蓋
選取足夠多的測(cè)試數(shù)據(jù),使得判定表達(dá)式中的每個(gè)條件中都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的結(jié)果。(5)條件組合覆蓋
選取足夠多的測(cè)試數(shù)據(jù),使得每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。(6)路徑覆蓋
選取足夠多的測(cè)試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次。342)基本路徑測(cè)試法概念:在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復(fù)雜性導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每個(gè)可執(zhí)行語句至少執(zhí)行一次。包括5個(gè)方面:程序流程圖計(jì)算程序環(huán)境復(fù)雜性到處測(cè)試用例準(zhǔn)備測(cè)試用例圖形矩陣354黑盒測(cè)試用例設(shè)計(jì)方法發(fā)現(xiàn)的錯(cuò)誤類型:模塊中是否有功能遺漏或者邏輯錯(cuò)誤模塊接口是否存在問題性能上是否滿足要求方法:等價(jià)類劃分邊界值分析法錯(cuò)誤推測(cè)法因果法功能圖法361)等價(jià)類測(cè)試用例設(shè)計(jì)方法概念:將所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用例。過程:
分類(等價(jià)類劃分):等價(jià)類是指某個(gè)輸入域的子集合,在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的,他們具有等價(jià)特性。分類就是將輸入域按照具有相同特性或者類似功能進(jìn)行劃分。在分析需求規(guī)格說明的基礎(chǔ)上劃分等價(jià)類,列出等價(jià)類表。
抽象:在各個(gè)子類中抽象出相同特性并用實(shí)例來表征這個(gè)特性。將程序可能的輸入數(shù)據(jù)分成若干個(gè)子集,從每個(gè)子集選取一個(gè)代表性的數(shù)據(jù)作為測(cè)試用例。37等價(jià)類劃分:等價(jià)類的分類:有效等價(jià)類和無效等價(jià)類。有效等價(jià)類:是有意義的、合理的輸入數(shù)據(jù),可以檢查程序是否實(shí)現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。無效等價(jià)類:與有效等價(jià)類的意義相反,即不滿足程序輸入要求或者無效的輸入數(shù)據(jù)構(gòu)成的集合。注意:
設(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮這兩種等價(jià)類。因?yàn)檐浖粌H要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗(yàn)。這樣的測(cè)試才能確保軟件具有更高的可靠性。38確定等價(jià)類的方式在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類;在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可以確立一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類;在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類;在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類;在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從不同角度違反規(guī)則)。39根據(jù)等價(jià)類創(chuàng)建測(cè)試用例的步驟建立等價(jià)類表,列出所有劃分出的等價(jià)類:輸入條件有效等價(jià)類無效等價(jià)類………………為每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào);設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類。重復(fù)這一步,最后使得所有有效等價(jià)類均被測(cè)試用例所覆蓋;設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋的無效等價(jià)類。重復(fù)這一步使所有無效等價(jià)類均被覆蓋。402)邊界值測(cè)試用例設(shè)計(jì)方法概念:程序的很多錯(cuò)誤發(fā)生在輸入或輸出范圍的邊界上,因此針對(duì)各種邊界情況設(shè)置測(cè)試用例,可以發(fā)現(xiàn)不少程序缺陷。因此邊界值分析法是對(duì)輸入的邊界值進(jìn)行測(cè)試。設(shè)計(jì)方法:確定邊界情況(輸入或輸出等價(jià)類的邊界)選取正好等于、剛剛大于或剛剛小于邊界值作為測(cè)試數(shù)據(jù)41確定邊界值的方式如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)少一、比最大個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù)。如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。分析規(guī)格說明,找出其他可能的邊界條件。423)錯(cuò)誤推測(cè)法測(cè)試用例設(shè)計(jì)概念:基于經(jīng)驗(yàn)和直覺推測(cè)程序中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性地設(shè)計(jì)測(cè)試用例?;舅枷耄毫信e程序中所有可能出現(xiàn)的錯(cuò)誤和容易發(fā)現(xiàn)錯(cuò)誤的地方,根據(jù)他們來選擇和設(shè)計(jì)測(cè)試用例。43發(fā)現(xiàn)程序經(jīng)常出現(xiàn)的錯(cuò)誤的方法:?jiǎn)卧獪y(cè)試中發(fā)現(xiàn)的模塊錯(cuò)誤;產(chǎn)品的以前版本曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤;輸入數(shù)據(jù)為0或字符為空;當(dāng)軟件要求輸入時(shí)(比如在文本框中),不是沒有輸入正確的信息,而是根本沒有輸入任何內(nèi)容,單單按了Enter鍵;這種情況在產(chǎn)品說明書中常常忽視,程序員也可能經(jīng)常遺忘,但是在實(shí)際使用中卻時(shí)有發(fā)生。程序員總會(huì)習(xí)慣性的認(rèn)為用戶要么輸入信息,不管是看起來合法的或非法的信息,要不就會(huì)選擇Cancel鍵放棄輸入。44測(cè)試場(chǎng)景法設(shè)計(jì)測(cè)試用例現(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,事件觸發(fā)時(shí)的情景便形成了場(chǎng)景,而同一事件不同的觸發(fā)順序和處理結(jié)果就形成事件流。這種在軟件設(shè)計(jì)方面的思想也可引入到軟件測(cè)試中,可以比較生動(dòng)地描繪出事件觸發(fā)時(shí)的情景,有利于測(cè)試設(shè)計(jì)者設(shè)計(jì)測(cè)試用例,同時(shí)使測(cè)試用例更容易理解和執(zhí)行。454)因果圖法測(cè)試用例設(shè)計(jì)概念:多種輸入條件的組合,產(chǎn)生多種結(jié)果設(shè)計(jì)測(cè)試用例。設(shè)計(jì)方法:分析軟件規(guī)格說明文檔描述的哪些是原因(輸入條件),哪些是結(jié)果(輸出條件),給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)示符找出原因與結(jié)果,原因與原因之間的對(duì)應(yīng)關(guān)系,劃出因果圖在因果圖上標(biāo)上哪些不可能發(fā)生的因果關(guān)系,表明約束或限制條件根據(jù)因果圖,創(chuàng)建判定表,將復(fù)雜的邏輯關(guān)系和多種條件組合很具體明確的表示出來把判定表的每一行作為依據(jù)設(shè)計(jì)測(cè)試用例。46測(cè)試類型與測(cè)試用例設(shè)計(jì)根據(jù)測(cè)試類型設(shè)計(jì)根據(jù)程序功能模塊設(shè)計(jì)功能測(cè)試易用性測(cè)試配置測(cè)試壓力測(cè)試回歸測(cè)試界面測(cè)試文檔測(cè)試國際化測(cè)試
測(cè)試用例1
測(cè)試用例2
測(cè)試用例3
測(cè)試用例1
測(cè)試用例2
測(cè)試用例3安裝/卸載測(cè)試聯(lián)機(jī)幫助測(cè)試軟件更新測(cè)試聯(lián)機(jī)注冊(cè)測(cè)試文件操作測(cè)試
測(cè)試用例1
測(cè)試用例2
測(cè)試用例3
測(cè)試用例1
測(cè)試用例2
測(cè)試用例3數(shù)據(jù)備份測(cè)試475)設(shè)計(jì)測(cè)試用例的策略選擇測(cè)試用例的設(shè)計(jì)方法不是單獨(dú)存在的,具體到每個(gè)測(cè)試項(xiàng)目里都會(huì)用到多種方法,每種類型的軟件有各自的特點(diǎn),每種測(cè)試用例設(shè)計(jì)的方法也有各自的特點(diǎn),針對(duì)不同軟件如何利用這些黑盒方法是非常重要的。在實(shí)際測(cè)試中,往往是綜合使用各種方法才能有效提高測(cè)試效率和測(cè)試覆蓋度,這就需要認(rèn)真掌握這些方法的原理,積累更多的測(cè)試經(jīng)驗(yàn),以有效提高測(cè)試水平。首先進(jìn)行等價(jià)類劃分,包括輸入條件和輸出條件的等價(jià)劃分,將無限測(cè)試變成有限測(cè)試,這是減少工作量和提高測(cè)試效率的最有效方法。在任何情況下都必須使用邊界值分析方法。經(jīng)驗(yàn)表明用這種方法設(shè)計(jì)出測(cè)試用例發(fā)現(xiàn)程序錯(cuò)誤的能力最強(qiáng)。對(duì)照程序邏輯,檢查已設(shè)計(jì)出的測(cè)試用例的邏輯覆蓋程度。如果沒有達(dá)到要求的覆蓋標(biāo)準(zhǔn),應(yīng)當(dāng)再補(bǔ)充足夠的測(cè)試用例。對(duì)于業(yè)務(wù)流清晰的系統(tǒng),可以利用場(chǎng)景法貫穿整個(gè)測(cè)試案例過程,在案例中綜合使用各種測(cè)試方法。48測(cè)試用例設(shè)計(jì)工具設(shè)計(jì)依據(jù):軟件需求文檔軟件設(shè)計(jì)文檔通用設(shè)計(jì)工具:MicrosoftWordMicrosoftExcelMicrosoftAccess設(shè)計(jì)工具專用:IBMRationalTestManagerMercuryInteractiveTestDirector常見問題:軟件文檔不全或沒有文檔沒有完成編碼就開始設(shè)計(jì)測(cè)試用例49案例研究1:根據(jù)輸入判斷三角形的形狀測(cè)試場(chǎng)景:一個(gè)程序讀入3個(gè)整數(shù),把這三個(gè)數(shù)值看作一個(gè)三角形的3條邊的長(zhǎng)度值。這個(gè)程序要打印出信息,說明這個(gè)三角形是不等邊的、是等腰的、還是等邊的。確定輸入數(shù)據(jù)與三角形形狀的關(guān)系:設(shè)三角形的3條邊分別為A,B,C。如果它們能夠構(gòu)成三角形的3條邊,必須滿足:A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B;如果是等腰的,還要判斷A=B,或B=C,或A=C;如果是等邊的,則需判斷是否A=B,且B=C,且A=C。50案例研究1:判斷三角形的形狀(續(xù)1)創(chuàng)建等價(jià)類表:輸入條件有效等價(jià)類無效等價(jià)類是否三角形的三條邊(A>0),
(1)(B>0),
(2)(C>0),
(3)(A+B>C),
(4)(B+C>A),
(5)(A+C>B),
(6)(A≤0),
(7)(B≤0),
(8)(C≤0),
(9)(A+B≤C),
(10)(B+C≤A),
(11)(A+C≤B),
(12)是否等腰三角形(A=B),
(13)(B=C),
(14)(C=A),(15)(A≠B)and(B≠C)and(C≠A)
(16)是否等邊三角形(A=B)and(B=C)and(C=A)(17)(A≠B),
(18)(B≠C),
(19)(C≠A),
(20)51案例研究1:判斷三角形的形狀(續(xù)2)確定等價(jià)類輸入數(shù)據(jù):序號(hào)【A,B,C】覆蓋等價(jià)類輸出1【3,4,5】(1),(2),(3),(4),(5),(6)一般三角形2【0,1,2】(7)不能構(gòu)成三角形3【1,0,2】(8)4【1,2,0】(9)5【1,2,3】(10)6【1,3,2】(11)7【3,1,2】(12)8【3,3,4】(1),(2),(3),(4),(5),(6),(13)等腰三角形9【3,4,4】(1),(2),(3),(4),(5),(6),(14)10【3,4,3】(1),(2),(3),(4),(5),(6),(15)11【3,4,5】(1),(2),(3),(4),(5),(6),(16)非等腰三角形12【3,3,3】(1),(2),(3),(4),(5),(6),(17)是等邊三角形13【3,4,4】(1),(2),(3),(4),(5),(6),(14),(18)非等邊三角形14【3,4,3】(1),(2),(3),(4),(5),(6),(15),(19)15【3,3,4】(1),(2),(3),(4),(5),(6),(13),(20)52案例研究2:測(cè)試用戶登錄對(duì)話框的功能測(cè)試場(chǎng)景:在各種輸入條件下,測(cè)試程序的登錄對(duì)話框功能。用戶名和密碼的規(guī)則如下:用戶名長(zhǎng)度為6至10位(含6位和10位)用戶名由字符(a-z、A-Z)和數(shù)字(0-9)組成不能為空、空格和特殊字符密碼規(guī)則同用戶名規(guī)則
53案例研究2:登錄對(duì)話框的功能(續(xù)1)確定輸入數(shù)據(jù)的情形:操作步驟預(yù)期結(jié)果輸入正確的用戶名和口令(均為6位),點(diǎn)擊[OK]按鈕進(jìn)入系統(tǒng)輸入正確的用戶名和口令(均為10位),點(diǎn)擊[OK]按鈕進(jìn)入系統(tǒng)輸入正確的用戶名和口令(均為6至8位之間),……進(jìn)入系統(tǒng)用戶名為空,……提示輸入用戶名不能進(jìn)入系統(tǒng)用戶名為空格,……提示無效用戶名不能進(jìn)入系統(tǒng)用戶名小于6位,……提示用戶名太短不能進(jìn)入系統(tǒng)……………………54案例研究2:登錄對(duì)話框的功能(續(xù)2)輸入條件合理等價(jià)類不合理等價(jià)類標(biāo)識(shí)符字符1、6-10位字符2、少于6個(gè)字符3、多于10個(gè)數(shù)字字符標(biāo)識(shí)符組成4、字母5、數(shù)字6、非字母數(shù)字字符7、保留字55案例研究2:登錄對(duì)話框的功能(續(xù)3)序號(hào)用例1、4、52367USER01USER
USER0000001#USER(1)
printf測(cè)試用例56案例研究2:登錄對(duì)話框的功能(續(xù)4)確定具體的輸入數(shù)據(jù):“用戶名”“口令”“預(yù)期結(jié)果”說明“user10”“pass10”進(jìn)入系統(tǒng)正確的用戶名和口令(6位)“user789”“pass789”進(jìn)入系統(tǒng)正確的用戶名和口令(7-9位)“user000010”“pass000010”進(jìn)入系統(tǒng)正確的用戶名和口令(10位)“”“pass”提示輸入用戶名不能進(jìn)入系統(tǒng)用戶名為空“空格”“pass”提示無效用戶名不能進(jìn)入系統(tǒng)用戶名為空格“user”“userpass”提示用戶名太短不能進(jìn)入系統(tǒng)用戶名小于6位“user0000011”“userpass”提示用戶名太長(zhǎng)不能進(jìn)入系統(tǒng)用戶名大于10位………………………………………………57案例研究2:登錄對(duì)話框的功能(續(xù)5)邊界值分析:輸入范圍測(cè)試用例數(shù)字在0000000000-9999999999之間000000、0000000000999999、9999999999整體000000、000001、999999、999998、0000000000、0000000001、9999999999、9999999998a00000、a00001、a99999、a99998、a000000000、a000000001、a999999999、a999999998、A00000、A00001、A99999、A99998、A000000000、A000000001、A999999999、A99999999858案例研究3:循環(huán)
有這樣一個(gè)子程序,其中包含一個(gè)如下程序流程圖所示的循環(huán),請(qǐng)給出對(duì)該程序中循環(huán)過程進(jìn)行測(cè)試的測(cè)試用例。
i>10i=1YNi=i+159案例研究3:循環(huán)測(cè)試內(nèi)容測(cè)試用例備注整個(gè)跳過循環(huán)只有一次通過循環(huán)兩次通過循環(huán)m次通過循環(huán),其中m<10n-1次通過循環(huán)n+1次通過循環(huán)i=11i=10i=9i=5i=2i=15次通過循環(huán)9次通過循環(huán)60案例研究3:壓力/負(fù)載測(cè)試用例設(shè)計(jì)設(shè)計(jì)目的:驗(yàn)證程序在承受某種負(fù)載或壓力下是否能夠正常運(yùn)行找出程序安全運(yùn)行的臨界值適用情形:服務(wù)器/客戶機(jī)局域網(wǎng)服務(wù)器/瀏覽器互聯(lián)網(wǎng)設(shè)計(jì)方法:設(shè)計(jì)出不同等級(jí)的壓力條件壓力/負(fù)載分類與代號(hào):
CPU速度CSCPU使用量CU磁盤空間DS物理內(nèi)存PM虛擬內(nèi)存使用量VM登錄用戶的數(shù)量UN傳輸帶寬BW傳輸數(shù)據(jù)的大小DN61案例研究3:壓力/負(fù)載測(cè)試用例設(shè)計(jì)(續(xù)1)編號(hào)CSCUDSPMVMUNBWDN應(yīng)該產(chǎn)生的行為結(jié)果說明01PIII80010%50MB64MB50%301M5M正常02PIV180080%100MB128MB30%1000.5M10M無法響應(yīng)03PII50025%600MB256MB15%102.5M20M正常04PIV280035%400MB512MB80%5000.5M50M無法響應(yīng)05PIV320050%200MB1024MB65%20001.5M100M無法響應(yīng)62案例研究4:測(cè)試軟件對(duì)話框的界面設(shè)計(jì)DeploymentTestcase
TestCaseID:62Title:
UserExitFormPath:
\Deployment\GeneralAuthor:xxxxxPurpose:makesurethedialogtotestisproperlydesigned,lookfortruncations,wrongtaborders,duplicatedhotkeys,overlappingsandanyotherposibleissuesSteps:
Pre-steps:1.LaunchApp.2.Goto“Tools”/“Import/ExportSettings…”3.Select“Generaldevelopmentsettings”4.ClickResetSettings5.Ifyouarepromptedtosaveyoursettings,click“Don’tsave”6.Adialogappearstellingyouthattheoperationhadbeensuccessful63案例研究5:測(cè)試中斷安裝軟件的功能Purpose:VerifytheappcanbecanceledduringinstallationTestSteps:1.Launch[AppName]2.Fromthedropdownmenuselect"File","New"and"Project"3.TheNewprojectDialogboxshouldappear4.In“ProjectTypes”,select“OtherProjectTypes”andunderthis,“Setupanddeployment”.Fromthe“Templates”selectasetupproject,givetheprojectanameforexample"Deploy1"andpress“OK”5.Fromthe“Build”menuclick“BuildSolution”andwaituntiltheprojecthasbeenbuilt6.Closetheprojectandnavigatetothefolderwhereyousavedyourproject7.DoubleclicktheSetupfolderandthendoubleclicktheDebugfolder8.ClicktheSetup.exetolaunchtheWindowsInstaller9.Atthefirststageofthewizardclickthe“Cancel”buttonandclick“Yes”whenaskedareyousureyouwanttoexit10.The"InstallationInterru
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川大學(xué)錦江學(xué)院《汽車工程學(xué)(II)》2023-2024學(xué)年第一學(xué)期期末試卷
- 餅干糕采購合同范例
- 四川城市職業(yè)學(xué)院《數(shù)字信號(hào)處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 私立華聯(lián)學(xué)院《數(shù)據(jù)通信原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 私立華聯(lián)學(xué)院《產(chǎn)業(yè)金融學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 拆墻安全合同范例
- 動(dòng)產(chǎn)資產(chǎn)收購合同范例
- 勞務(wù)合同范例企業(yè)
- 賠付款合同范例
- 法律施工合同范例
- 2025蛇年春節(jié)春聯(lián)對(duì)聯(lián)帶橫批(276副)
- 2025年中學(xué)德育工作計(jì)劃
- 2024年專業(yè)會(huì)務(wù)服務(wù)供應(yīng)與采購協(xié)議版B版
- 中國上市公司ESG行動(dòng)報(bào)告
- 早產(chǎn)臨床防治指南(2024版)解讀
- 《電子煙知識(shí)培訓(xùn)》課件
- GB/T 30661.10-2024輪椅車座椅第10部分:體位支撐裝置的阻燃性要求和試驗(yàn)方法
- 馬克思主義中國化進(jìn)程與青年學(xué)生使命擔(dān)當(dāng)Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年
- 自動(dòng)化生產(chǎn)線設(shè)備調(diào)試方案
- 2024-2030年中國醫(yī)藥冷鏈物流行業(yè)競(jìng)爭(zhēng)格局及投資模式研究報(bào)告
- 2024年高中歷史教師資格考試面試試題及解答參考
評(píng)論
0/150
提交評(píng)論