軟件測(cè)試全書課件完整版ppt整本書電子教案最全教學(xué)教程最新ppt課件_第1頁
軟件測(cè)試全書課件完整版ppt整本書電子教案最全教學(xué)教程最新ppt課件_第2頁
軟件測(cè)試全書課件完整版ppt整本書電子教案最全教學(xué)教程最新ppt課件_第3頁
軟件測(cè)試全書課件完整版ppt整本書電子教案最全教學(xué)教程最新ppt課件_第4頁
軟件測(cè)試全書課件完整版ppt整本書電子教案最全教學(xué)教程最新ppt課件_第5頁
已閱讀5頁,還剩752頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章 軟件測(cè)試基礎(chǔ) 軟件測(cè)試模型 軟件測(cè)試原則 軟件測(cè)試基本流程 軟件概述 軟件缺陷管理 軟件測(cè)試概述1.1.1 軟件生命周期軟件生命周期可分為6個(gè)階段:?jiǎn)栴}定義需求分析軟件設(shè)計(jì)軟件開發(fā)軟件測(cè)試軟件維護(hù)淘汰1.1.2 軟件開發(fā)模型1、瀑布模型計(jì)劃需求分析軟件設(shè)計(jì)編碼測(cè)試運(yùn)行維護(hù)軟件設(shè)計(jì)階段軟件開發(fā)階段軟件維護(hù)階段1.1.2 軟件開發(fā)模型1、瀑布模型優(yōu)點(diǎn):檢查點(diǎn)清晰,分工明確,有利于大型軟件軟件開發(fā)人員的組織管理及工具的使用與研究,可以提高開發(fā)的效率。缺點(diǎn):嚴(yán)格按照線性執(zhí)行,增加了開發(fā)風(fēng)險(xiǎn);要求必須有產(chǎn)出結(jié)果,增加了開發(fā)工作量。對(duì)于現(xiàn)代軟件,各階段之間的關(guān)系很少是線性,瀑布模型已經(jīng)不適合現(xiàn)代軟

2、件開發(fā)。1.1.2 軟件開發(fā)模型2、快速原型模型需求分析構(gòu)建原型原型評(píng)價(jià)確定最終需求軟件開發(fā)細(xì)化需求1.1.2 軟件開發(fā)模型2、快速原型模型優(yōu)點(diǎn):克服了需求不明確帶來的風(fēng)險(xiǎn),適用于不能預(yù)先確定需求的軟件項(xiàng)目。缺點(diǎn):原型設(shè)計(jì)較難;不利于開發(fā)人員對(duì)產(chǎn)品的擴(kuò)展。1.1.2 軟件開發(fā)模型2、迭代模型需求分析軟件設(shè)計(jì)編碼測(cè)試迭代1組件1需求分析軟件設(shè)計(jì)編碼測(cè)試迭代2組件2需求分析軟件設(shè)計(jì)編碼測(cè)試迭代n組件n1.1.2 軟件開發(fā)模型3、迭代模型優(yōu)點(diǎn):適應(yīng)客戶需求變更;降低了開發(fā)成本和風(fēng)險(xiǎn)。缺點(diǎn):增加了集成失敗風(fēng)險(xiǎn);容易退化為“邊做邊改”模式,失去對(duì)整個(gè)項(xiàng)目的控制。1.1.2 軟件開發(fā)模型4、螺旋模型1.1

3、.2 軟件開發(fā)模型4、螺旋模型螺旋模型包含四個(gè)象限: 制定計(jì)劃:確定軟件目標(biāo),制定實(shí)施方案,列出項(xiàng)目開發(fā)的限制條件。 風(fēng)險(xiǎn)分析:評(píng)價(jià)所制定的實(shí)施方案,識(shí)別風(fēng)險(xiǎn)并消除風(fēng)險(xiǎn)。 實(shí)施工程:開發(fā)產(chǎn)品并進(jìn)行驗(yàn)證。 客戶評(píng)估:客戶對(duì)產(chǎn)品進(jìn)行審核評(píng)估,提出修正建議,制定下一步計(jì)劃。1.1.2 軟件開發(fā)模型4、螺旋模型優(yōu)點(diǎn):強(qiáng)調(diào)了風(fēng)險(xiǎn)分析,有助于將軟件質(zhì)量融入開發(fā)中;小分段構(gòu)建大型軟件,易于計(jì)算成本;客戶參與,保證項(xiàng)目可控性。缺點(diǎn):構(gòu)建過程太過繁瑣,不適合小型項(xiàng)目。1.1.2 軟件開發(fā)模型5、敏捷模型敏捷模型以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。1.1.2 軟件開發(fā)模型5、敏捷模型敏捷

4、模型的特點(diǎn)如下: 項(xiàng)目被拆分成多個(gè)子項(xiàng)目,迭代完成,每個(gè)迭代都要經(jīng)過測(cè)試。 快速響應(yīng)需求變更,在修改過程中,軟件一直處于可用狀態(tài)。 不斷對(duì)產(chǎn)品進(jìn)行細(xì)微、漸進(jìn)式地改進(jìn),每次改進(jìn)一小部分,如果可行再逐步擴(kuò)大改進(jìn)范圍。 開發(fā)未動(dòng),測(cè)試先行。 注重“人”的作用。1.1.2 軟件開發(fā)模型5、敏捷模型優(yōu)點(diǎn):及時(shí)響應(yīng)客戶需求變更,不斷適應(yīng)新的趨勢(shì)。缺點(diǎn):管理相對(duì)混亂,不適合大型項(xiàng)目。多學(xué)一招:敏捷模型開發(fā)方式1、ScrumScrum Master(產(chǎn)品負(fù)責(zé)人)全面負(fù)責(zé)產(chǎn)品的開發(fā)過程。Scrum Master把團(tuán)隊(duì)劃分成不同的小組,把整個(gè)項(xiàng)目劃分成細(xì)小的可交付成果的子項(xiàng)目,分別由不同的小組完成,并對(duì)各小組的工

5、作劃分優(yōu)先級(jí),估算每個(gè)小組的工作量。多學(xué)一招:敏捷模型開發(fā)方式2、Kanban利用可視化軟件將開發(fā)的軟件項(xiàng)目細(xì)分成小任務(wù),并分配給團(tuán)隊(duì)成員,每個(gè)成員都可以在“看板”上了解自己的工作任務(wù)及整個(gè)團(tuán)隊(duì)的工作進(jìn)度。項(xiàng)目開始之后,從目前執(zhí)行的任務(wù)和過程開始,團(tuán)隊(duì)會(huì)針對(duì)每個(gè)成員的工作作出持續(xù)性、增量、漸進(jìn)式的改變。1.1.3 軟件質(zhì)量概述軟件質(zhì)量是指軟件產(chǎn)品滿足基本需求及隱式需求的程度。軟件產(chǎn)品滿足基本需求是指其能滿足軟件開發(fā)時(shí)所規(guī)定需求的特性,其次是軟件產(chǎn)品滿足隱式需求的程度。1.1.3 軟件質(zhì)量概述從軟件質(zhì)量的定義,可將軟件質(zhì)量分為三個(gè)層次: 滿足需求規(guī)定:軟件產(chǎn)品符合開發(fā)者明確定義的目標(biāo),并且能可靠

6、運(yùn)行。 滿足用戶需求:軟件產(chǎn)品的需求是由用戶產(chǎn)生的,軟件最終的目的就是滿足用戶需求,解決用戶的實(shí)際問題。 滿足用戶隱式需求:軟件如果滿足用戶隱式需求,即潛在的可能需要在將來開發(fā)的功能。將會(huì)極大的提升用戶滿意度,這就意味著軟件質(zhì)量更高。1.1.3 軟件質(zhì)量概述軟件質(zhì)量模型多學(xué)一招:紙杯測(cè)試 測(cè)試項(xiàng)目:紙杯。 需求測(cè)試:查看紙杯說明書是否完整。 界面測(cè)試:觀察紙杯外觀,表面是否光滑、手感是否舒適。 功能測(cè)試:用紙杯裝水,觀察是否漏水。 安全測(cè)試:紙杯是否有毒或細(xì)菌。多學(xué)一招:紙杯測(cè)試 易用性測(cè)試:用紙杯盛放開水是否燙手、紙杯是否易滑、是否方便飲用。 兼容性測(cè)試:用紙杯分別盛放水、酒精、飲料、汽油等

7、,觀察是否有滲漏現(xiàn)象。 可靠性測(cè)試:從不同高度摔下來,觀察紙杯的損壞程度。 可移植性測(cè)試:將紙杯放在溫度、濕度等不同的環(huán)境中,查看紙杯是否還能正常使用。多學(xué)一招:紙杯測(cè)試 可維護(hù)性:將紙杯揉捏變形,看其是否能恢復(fù)。 壓力測(cè)試:用一根針扎在紙杯上不斷增加力量,記錄多大壓強(qiáng)時(shí)能穿透紙杯。 疲勞測(cè)試:用紙杯分別盛放水、汽油放置24小時(shí),觀察其滲漏情況(時(shí)間和程度)。 跌落測(cè)試:紙杯(加包裝)從高處落下,查看達(dá)到破損的高度。多學(xué)一招:紙杯測(cè)試 震動(dòng)測(cè)試:紙杯(加包裝)六面震動(dòng),評(píng)估它是否能應(yīng)對(duì)惡劣的公路/鐵路/航空運(yùn)輸?shù)取?測(cè)試數(shù)據(jù):編寫具體測(cè)試數(shù)據(jù)(略),其中可能會(huì)用到場(chǎng)景法、等價(jià)類劃分法、邊界值分

8、析法等測(cè)試方法。 期望輸出:期望輸出需要查閱國(guó)際標(biāo)準(zhǔn)及用戶的使用需求。多學(xué)一招:紙杯測(cè)試 用戶文檔:使用手冊(cè)是否對(duì)紙杯的用法、使用條件、限制條件等有詳細(xì)描述。 說明書測(cè)試:查看紙杯說明書的正確性、準(zhǔn)確性及完整性。1.1.3 軟件質(zhì)量概述影響軟件質(zhì)量的因素: 需求模糊 軟件開發(fā)缺乏規(guī)范性文件指導(dǎo) 軟件開發(fā)人員問題 缺乏軟件質(zhì)量控制管理1.2.1 軟件缺陷產(chǎn)生的原因 需求不明確 軟件結(jié)構(gòu)復(fù)雜 開發(fā)人員水平有限 項(xiàng)目期限短 使用新技術(shù)1.2.2 軟件缺陷的分類劃分標(biāo)準(zhǔn)缺陷類型測(cè)試種類界面類功能類性能類安全性類兼容性類嚴(yán)重程度嚴(yán)重一般次要建議優(yōu)先級(jí)立即解決高優(yōu)先級(jí)正常排隊(duì)低優(yōu)先級(jí)發(fā)生階段需求階段構(gòu)架階

9、段設(shè)計(jì)階段編碼階段測(cè)試階段1.2.3 軟件缺陷的處理流程每個(gè)公司的軟件缺陷處理流程不盡相同,但是它們遵循的最基本流程是一樣的,都要經(jīng)過提交、分配、確認(rèn)、處理、復(fù)測(cè)、關(guān)閉等環(huán)節(jié)。1.2.3 軟件缺陷的處理流程 提交:測(cè)試人員發(fā)現(xiàn)缺陷之后,將缺陷提交給測(cè)試組長(zhǎng)。 分配:測(cè)試組長(zhǎng)接收到測(cè)試組員提交的缺陷之后,將其移交給開發(fā)人員。 確認(rèn):開發(fā)人員接收到移交的缺陷之后,會(huì)與團(tuán)隊(duì)甚至測(cè)試人員一起商議,確定該缺陷是否是一個(gè)缺陷。 拒絕:如果經(jīng)過商議之后,缺陷不是一個(gè)真正的缺陷則拒絕處理,關(guān)閉缺陷。如果經(jīng)過商議之后,確定其是一個(gè)真正的缺陷,則可以根據(jù)缺陷的嚴(yán)重程度或優(yōu)先級(jí)等立即處理或延期處理。1.2.3 軟件

10、缺陷的處理流程 復(fù)測(cè):開發(fā)人員修改好缺陷之后,測(cè)試人員重新進(jìn)行測(cè)試(復(fù)測(cè)),檢測(cè)缺陷是否確實(shí)已經(jīng)修改。如果未被正確修改,則重新提交缺陷。 關(guān)閉:測(cè)試人員重新測(cè)試之后,如果缺陷已經(jīng)被正確修改,則將缺陷關(guān)閉,整個(gè)缺陷處理完成。多學(xué)一招:缺陷報(bào)告測(cè)試人員在提交軟件測(cè)試時(shí)都會(huì)按照公司規(guī)定的模板(Word、Excel、缺陷管理軟件等)將缺陷的詳細(xì)情況記錄下來生成缺陷報(bào)告,每個(gè)公司的缺陷報(bào)告模板并不相同,但一般都會(huì)包括缺陷的編號(hào)、類型、嚴(yán)重程度、優(yōu)先級(jí)、測(cè)試環(huán)境等,有時(shí)還會(huì)有測(cè)試人員的建議。注 意多學(xué)一招:缺陷報(bào)告編寫缺陷報(bào)告要注意以下事項(xiàng): 每個(gè)缺陷都有一個(gè)唯一的編號(hào)。 缺陷要有重現(xiàn)步驟。 一個(gè)缺陷生成

11、一份報(bào)告。 缺陷報(bào)告要整潔、完整。1.2.4 常見的軟件缺陷管理工具1、BugzillaBugzilla是Mozilla公司提供的一款免費(fèi)的軟件缺陷管理工具。Bugzilla能夠建立一個(gè)完整的缺陷跟蹤體系,包括缺陷跟蹤、記錄、缺陷報(bào)告、處理解決情況等。使用Bugzilla管理軟件缺陷時(shí),測(cè)試人員可以在Bugzilla上提交缺陷報(bào)告,Bugzilla會(huì)將缺陷轉(zhuǎn)給相應(yīng)的開發(fā)者,開發(fā)者可以使用Bugzilla做一個(gè)工作表,標(biāo)明要做的事情的優(yōu)先級(jí)、時(shí)間安排和跟蹤記錄。1.2.4 常見的軟件缺陷管理工具2、禪道禪道是一款優(yōu)秀的國(guó)產(chǎn)項(xiàng)目管理軟件,它集產(chǎn)品管理、項(xiàng)目管理、質(zhì)量管理、缺陷管理、文檔管理、組織管

12、理和事務(wù)管理于一體,是一款功能完備的項(xiàng)目管理軟件,完美地覆蓋了項(xiàng)目管理的核心流程。禪道分為專業(yè)和開源兩個(gè)版本,專業(yè)版是收費(fèi)軟件,開源版是免費(fèi)軟件,對(duì)于日常的項(xiàng)目管理,開源版本已經(jīng)足夠使用。1.2.4 常見的軟件缺陷管理工具3、JIRAJIRA是Atlassian公司開發(fā)的項(xiàng)目與實(shí)務(wù)跟蹤工具,被廣泛用于缺陷跟蹤、客戶實(shí)務(wù)、需求收集、流程審批、任務(wù)跟蹤、項(xiàng)目跟蹤和敏捷管理等工作領(lǐng)域。JIRA配置靈活、功能全面、部署簡(jiǎn)單、擴(kuò)展豐富、易用性好,是目前比較流行的基于Java架構(gòu)的管理工具。JIRA軟件有兩個(gè)認(rèn)可度很高的特色:第一個(gè)是Atlassian公司對(duì)該開源項(xiàng)目實(shí)行免費(fèi)提供缺陷跟蹤服務(wù);第二個(gè)是用戶

13、在購(gòu)買JIRA軟件同時(shí)將源代碼也購(gòu)置進(jìn)來,方便做二次開發(fā)。1.3.1 軟件測(cè)試簡(jiǎn)介軟件測(cè)試的發(fā)展也經(jīng)歷了一個(gè)漫長(zhǎng)的過程,其發(fā)展過程可用下圖表示:1.3.2 軟件測(cè)試的目的 對(duì)于軟件開發(fā)來說,軟件測(cè)試通過找到的問題缺陷幫助開發(fā)人員找到開發(fā)過程中存在的問題,包括軟件開發(fā)的模式、工具、技術(shù)等方面存在的問題與不足,預(yù)防下次缺陷的產(chǎn)生。 對(duì)于軟件測(cè)試來說,使用最少的人力、物力、時(shí)間等找到軟件中隱藏的缺陷,保證軟件的質(zhì)量,也為以后軟件測(cè)試積累豐富的經(jīng)驗(yàn)。 對(duì)于客戶需求來說,軟件測(cè)試能夠檢驗(yàn)軟件是否符合客戶需求,對(duì)軟件質(zhì)量進(jìn)行評(píng)估和度量,為客戶評(píng)審軟件提供有力的依據(jù)。1.3.3 軟件測(cè)試的分類1、按照測(cè)試階

14、段分類 單元測(cè)試:驗(yàn)證軟件單元是否符合軟件需求與設(shè)計(jì),開發(fā)人員自測(cè)。 冒煙測(cè)試:軟件構(gòu)建版本建立后,對(duì)系統(tǒng)的基本功能進(jìn)行簡(jiǎn)單的測(cè)試,這種測(cè)試重點(diǎn)驗(yàn)證的是程序的主要功能,而不會(huì)對(duì)具體功能進(jìn)行深入測(cè)試。 集成測(cè)試:冒煙測(cè)試之后,將已經(jīng)測(cè)試過的軟件單元組合在一起測(cè)試它們之間的接口,用于驗(yàn)證軟件是否滿足設(shè)計(jì)需求。1.3.3 軟件測(cè)試的分類1、按照測(cè)試階段分類 系統(tǒng)測(cè)試:將經(jīng)過測(cè)試的軟件在實(shí)際環(huán)境中運(yùn)行,并與其他系統(tǒng)的成分(如數(shù)據(jù)庫、硬件和操作人員等)組合在一起進(jìn)行測(cè)試。 驗(yàn)收測(cè)試:主要是對(duì)軟件產(chǎn)品說明進(jìn)行驗(yàn)證,逐行逐字的按照說明書的描述對(duì)軟件產(chǎn)品進(jìn)行測(cè)試,確保其符合客戶的各項(xiàng)要求。1.3.3 軟件測(cè)試

15、的分類2、按照測(cè)試技術(shù)分類 黑盒測(cè)試:把軟件(程序)當(dāng)作一個(gè)有輸入與輸出的黑匣子,它把程序當(dāng)作一個(gè)輸入域到輸出域的映射,只要輸入的數(shù)據(jù)能輸出預(yù)期的結(jié)果即可,不必關(guān)心程序內(nèi)部是怎么樣實(shí)現(xiàn)的。1.3.3 軟件測(cè)試的分類2、按照測(cè)試技術(shù)分類白盒測(cè)試:測(cè)試人員了解軟件程序的邏輯結(jié)構(gòu)、路徑與運(yùn)行過程,在測(cè)試時(shí),按照程序的執(zhí)行路徑得出結(jié)果。白盒測(cè)試就是把軟件(程序)當(dāng)作一個(gè)透明的盒子,測(cè)試人員清楚的知道從輸入到輸出的每一步過程。1.3.3 軟件測(cè)試的分類2、按照測(cè)試技術(shù)分類總結(jié):相對(duì)于黑盒測(cè)試來說,白盒測(cè)試對(duì)測(cè)試人員的要求會(huì)更高一點(diǎn),它要求測(cè)試人員具有一定的編程能力,而且要熟悉各種腳本語言。但是在軟件公司

16、里,黑盒測(cè)試與白盒測(cè)試并不是界限分明的,在測(cè)試一款軟件時(shí)往往是黑盒測(cè)試與白盒測(cè)試相結(jié)合對(duì)軟件進(jìn)行完整全面的測(cè)試。1.3.3 軟件測(cè)試的分類3、按照軟件質(zhì)量特性分類 功能測(cè)試:測(cè)試軟件的功能是否滿足客戶的需求,包括準(zhǔn)確性、易用性、適合性、互操作性等。 性能測(cè)試:測(cè)試軟件的性能是否滿足客戶的需求,性能測(cè)試包括負(fù)載測(cè)試、壓力測(cè)試、兼容性測(cè)試、可移植性測(cè)試和健壯性測(cè)試等。1.3.3 軟件測(cè)試的分類4、按照自動(dòng)化程度分類 手工測(cè)試:測(cè)試人員一條一條的執(zhí)行代碼完成測(cè)試工作。費(fèi)時(shí)費(fèi)力且很驗(yàn)證保證測(cè)試效果。 自動(dòng)化測(cè)試:借助腳本、自動(dòng)化測(cè)試工具等完成相應(yīng)的測(cè)試工作,它也需要人工的參與,但是它可以將要執(zhí)行的測(cè)試

17、代碼或流程寫成腳本,執(zhí)行腳本完成整個(gè)測(cè)試工作。1.3.3 軟件測(cè)試的分類5、按照測(cè)試項(xiàng)目分類 界面類測(cè)試:驗(yàn)證軟件界面是否符合客戶需求。 安全性測(cè)試:試軟件在沒有授權(quán)的內(nèi)部或外部用戶的攻擊或惡意破壞時(shí)如何進(jìn)行處理,是否能保證軟件與數(shù)據(jù)的安全。 文檔測(cè)試:以需求分析、軟件設(shè)計(jì)、用戶手冊(cè)、安裝手冊(cè)為主,主要驗(yàn)證文檔說明與實(shí)際軟件之間是否存在差異。1.3.3 軟件測(cè)試的分類6、其他分類 測(cè)試:軟件上線之前進(jìn)行的版本測(cè)試。由開發(fā)人員和測(cè)試人員或者用戶協(xié)助進(jìn)行測(cè)試。測(cè)試人員記錄使用過程中出現(xiàn)的錯(cuò)誤與問題,整個(gè)測(cè)試過程是可控的。 測(cè)試:軟件上線之后進(jìn)行的版本測(cè)試。由用戶在使用過程中發(fā)現(xiàn)錯(cuò)誤與問題并進(jìn)行記錄

18、,然后反饋給開發(fā)人員進(jìn)行修復(fù)。1.3.3 軟件測(cè)試的分類6、其他分類 回歸測(cè)試:對(duì)修改后的程序重新進(jìn)行測(cè)試確認(rèn)原有的缺陷已經(jīng)消除并且沒有引入新的缺陷,這個(gè)重新測(cè)試的過程就叫作回歸測(cè)試。 隨機(jī)測(cè)試:沒有測(cè)試用例、檢查列表、腳本或指令的測(cè)試,它主要是根據(jù)測(cè)試人員的經(jīng)驗(yàn)對(duì)軟件進(jìn)行功能和性能抽查。1.4.1 軟件測(cè)試與軟件開發(fā)的關(guān)系軟件測(cè)試在項(xiàng)目各個(gè)階段的作用如下: 項(xiàng)目規(guī)劃階段:負(fù)責(zé)從單元測(cè)試到系統(tǒng)測(cè)試的整個(gè)測(cè)試階段的監(jiān)控。 需求分析階段:確定測(cè)試需求分析,即確定在項(xiàng)目中需要測(cè)試什么,同時(shí)制定系統(tǒng)測(cè)試計(jì)劃。 概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)階段:制定單元測(cè)試計(jì)劃和集成測(cè)試計(jì)劃。 編碼階段:開發(fā)相應(yīng)的測(cè)試代碼和測(cè)試

19、腳本。 測(cè)試階段:實(shí)施測(cè)試并提交相應(yīng)的測(cè)試報(bào)告。1.4.1 軟件測(cè)試與軟件開發(fā)的關(guān)系軟件測(cè)試與軟件開發(fā)的關(guān)系如右圖。1.4.2 常見的軟件測(cè)試模型1、V模型1.4.2 常見的軟件測(cè)試模型1、V模型優(yōu)點(diǎn):將復(fù)雜的測(cè)試工作分成了目標(biāo)明確的小階段完成,具有階段性、順序性和依賴性,它既包含了對(duì)于源代碼的底層測(cè)試也包含了對(duì)于軟件需求的高層測(cè)試。缺點(diǎn):只能在編碼之后才能開始測(cè)試,早期的需求分析等前期工作沒有涵蓋其中,因此它不能發(fā)現(xiàn)需求分析等早期的錯(cuò)誤,這為后期的系統(tǒng)測(cè)試、驗(yàn)收測(cè)試埋下了隱患。1.4.2 常見的軟件測(cè)試模型2、W模型1.4.2 常見的軟件測(cè)試模型2、W模型優(yōu)點(diǎn):測(cè)試范圍不僅包括程序,還包括需

20、求分析、軟件設(shè)計(jì)等前期工作,這樣有利于盡早全面的發(fā)現(xiàn)問題。缺點(diǎn):它將軟件開發(fā)過程分成需求、設(shè)計(jì)、編碼、集成等一系列的串行活動(dòng),無法支持迭代、自發(fā)性等需要變更調(diào)整的項(xiàng)目。1.4.2 常見的軟件測(cè)試模型3、H模型H模型將測(cè)試活動(dòng)完全獨(dú)立了出來,形成一個(gè)完全獨(dú)立的流程,這個(gè)流程將測(cè)試準(zhǔn)備活動(dòng)和測(cè)試執(zhí)行活動(dòng)清晰的體現(xiàn)出來。測(cè)試流程和其他工作流程是并發(fā)執(zhí)行的,只要某一個(gè)工作流程的條件成熟就可以開始進(jìn)行測(cè)試。1.4.2 常見的軟件測(cè)試模型4、X模型X模型的設(shè)計(jì)原理是將程序分成多個(gè)片段反復(fù)迭代測(cè)試,然后將多個(gè)片段集成再進(jìn)行迭代測(cè)試。1.4.2 常見的軟件測(cè)試模型4、X模型優(yōu)點(diǎn):對(duì)單獨(dú)程序片段進(jìn)行的相互分離的

21、編碼和測(cè)試,保證了測(cè)試效果。增加了探索測(cè)試,可以幫助測(cè)試人員發(fā)現(xiàn)計(jì)劃之外的軟件錯(cuò)誤。缺點(diǎn):頻繁的集成會(huì)增加測(cè)試成本;探索測(cè)試對(duì)測(cè)試人員要求更高。1.5 軟件測(cè)試原則 測(cè)試應(yīng)基于客戶需求。 測(cè)試要盡早進(jìn)行。 窮盡測(cè)試是不可能的。 遵循GoodEnough原則。 測(cè)試缺陷要符合“二八”定理。 避免缺陷免疫。測(cè)試應(yīng)基于客戶需求所有的測(cè)試工作都應(yīng)該建立在滿足客戶需求的基礎(chǔ)上,從客戶角度來看,最嚴(yán)重的錯(cuò)誤就是軟件無法滿足要求。有時(shí)候,軟件產(chǎn)品的測(cè)試結(jié)果非常完美,但卻不是客戶最終想要的產(chǎn)品,那么軟件產(chǎn)品的開發(fā)就是失敗的,而測(cè)試工作也是沒有任何意義的。因此測(cè)試應(yīng)依照客戶的需求配置環(huán)境并且按照客戶的使用習(xí)慣進(jìn)

22、行測(cè)試并評(píng)價(jià)結(jié)果。1.5 軟件測(cè)試原則測(cè)試要盡早進(jìn)行軟件的錯(cuò)誤存在于軟件生命周期的各個(gè)階段,因此應(yīng)該盡早開展測(cè)試工作,把軟件測(cè)試貫穿到軟件生命周期的各個(gè)階段中,這樣測(cè)試人員能夠盡早地發(fā)現(xiàn)和預(yù)防錯(cuò)誤,降低錯(cuò)誤修復(fù)的成本。盡早的開展測(cè)試工作有利于幫助測(cè)試人員了解軟件產(chǎn)品的需求和設(shè)計(jì),從而預(yù)測(cè)測(cè)試的難度和風(fēng)險(xiǎn),制定出完善的計(jì)劃和方案,提高測(cè)試的效率。1.5 軟件測(cè)試原則窮盡測(cè)試是不可能的由于時(shí)間和資源的限制,進(jìn)行完全(各種輸入和輸出的全部組合)的測(cè)試是不可能的,測(cè)試人員可以根據(jù)測(cè)試的風(fēng)險(xiǎn)和優(yōu)先級(jí)等確定測(cè)試的關(guān)注點(diǎn),從而控制測(cè)試的工作量,在測(cè)試成本、風(fēng)險(xiǎn)和收益之間求得平衡。1.5 軟件測(cè)試原則遵循Go

23、odEnough原則GoodEnough原則是指測(cè)試的投入與產(chǎn)出要適當(dāng)權(quán)衡,形成充分的質(zhì)量評(píng)估過程,這個(gè)過程建立在測(cè)試花費(fèi)的代價(jià)之上。測(cè)試不充分無法保證軟件產(chǎn)品的質(zhì)量,但測(cè)試投入過多會(huì)造成資源的浪費(fèi)。隨著測(cè)試資源投入的增加,測(cè)試的產(chǎn)出也是增加的,但當(dāng)投入達(dá)到一定的比例后,測(cè)試的效果就不會(huì)明顯增強(qiáng)了。因此在測(cè)試時(shí)要根據(jù)實(shí)際要求和產(chǎn)品質(zhì)量考慮測(cè)試的投入,最好使測(cè)試投入與產(chǎn)出達(dá)到一個(gè)GoodEnough狀態(tài)。1.5 軟件測(cè)試原則測(cè)試缺陷要符合“二八”定理一般情況下,軟件80%的缺陷會(huì)集中在20%的模塊中,缺陷并不是平均分布的。因此在測(cè)試時(shí),要抓住主要矛盾,如果發(fā)現(xiàn)某些模塊比其他模塊具有更多的缺陷,則

24、要投入更多的人力、精力重點(diǎn)測(cè)試這些模塊以提高測(cè)試效率。1.5 軟件測(cè)試原則避免缺陷免疫測(cè)試用例被反復(fù)使用,發(fā)現(xiàn)缺陷的能力就會(huì)越來越差;測(cè)試人員對(duì)軟件越熟悉越會(huì)忽略一些看起來比較小的問題,發(fā)現(xiàn)缺陷的能力也越差,這種現(xiàn)象被稱為軟件測(cè)試的“殺蟲劑”現(xiàn)象。它主要是由于測(cè)試人員沒有及時(shí)更新測(cè)試用例或者是對(duì)測(cè)試用例和測(cè)試對(duì)象過于熟悉,形成了思維定勢(shì)。1.5 軟件測(cè)試原則1.6.1 軟件測(cè)試流程不同類型的軟件產(chǎn)品測(cè)試的方式和重點(diǎn)不一樣,測(cè)試流程也會(huì)不一樣。同樣類型的軟件產(chǎn)品,不同的公司所制定的測(cè)試流程也會(huì)不一樣。雖然不同軟件的詳細(xì)測(cè)試步驟不同,但它們所遵循的最基本的測(cè)試流程是一樣的分析測(cè)試需求制定測(cè)試計(jì)劃設(shè)

25、計(jì)測(cè)試用例執(zhí)行測(cè)試編寫測(cè)試報(bào)告1.6.1 軟件測(cè)試流程(1)分析測(cè)試需求測(cè)試人員在制定測(cè)試計(jì)劃之前需要先對(duì)軟件需求進(jìn)行分析,以便對(duì)要開發(fā)的軟件產(chǎn)品有一個(gè)清晰的認(rèn)識(shí),從而明確測(cè)試對(duì)象及測(cè)試工作的范圍和測(cè)試重點(diǎn)。在分析需求時(shí)還可以獲取一些測(cè)試數(shù)據(jù),作為測(cè)試計(jì)劃的基本依據(jù),為后續(xù)的測(cè)試打好基礎(chǔ)。此外,分析測(cè)試需求也是對(duì)軟件需求進(jìn)行測(cè)試,以發(fā)現(xiàn)軟件需求中不合理的地方。1.6.1 軟件測(cè)試流程序號(hào)檢查項(xiàng)檢查結(jié)果說明1是否覆蓋了客戶提出的所有需求項(xiàng)是【】否【】NA【】2用詞是否清晰、語義是否存在歧義是【】否【】NA【】3是否清楚地描述了軟件需要做什么以及不做什么是【】否【】NA【】4是否描述了軟件的目標(biāo)環(huán)

26、境,包括軟硬件環(huán)境是【】否【】NA【】5是否對(duì)需求項(xiàng)進(jìn)行了合理的編號(hào)是【】否【】NA【】6需求項(xiàng)是否前后一致、彼此不沖突是【】否【】NA【】7是否清楚地說明了軟件的每個(gè)輸入、輸出格式,以及輸入與輸出之間的對(duì)應(yīng)關(guān)系是【】否【】NA【】8是否清晰地描述了軟件系統(tǒng)的性能要求是【】否【】NA【】9需求的優(yōu)先級(jí)是否合理分配是【】否【】NA【】10是否描述了各種約束條件是【】否【】NA【】1.6.1 軟件測(cè)試流程被確定的測(cè)試需求必須是可核實(shí)的,測(cè)試需求必須有一個(gè)可觀察、可評(píng)測(cè)的結(jié)果。無法核實(shí)的需求就不是測(cè)試需求。測(cè)試需求分析還要與客戶進(jìn)行交流,以澄清某些混淆,確保測(cè)試人員與客戶盡早地對(duì)項(xiàng)目達(dá)成共識(shí)。注 意

27、1.6.1 軟件測(cè)試流程(2)制定測(cè)試計(jì)劃測(cè)試計(jì)劃一般要做好以下工作安排。 確定測(cè)試范圍:明確哪些對(duì)象是需要測(cè)試的,哪些對(duì)象不是需要測(cè)試的。 制定測(cè)試策略:測(cè)試策略是測(cè)試計(jì)劃中最重要的部分,它將要測(cè)試的內(nèi)容劃分出不同的優(yōu)先級(jí),并確定測(cè)試重點(diǎn)。根據(jù)測(cè)試模塊的特點(diǎn)和測(cè)試類型(如功能測(cè)試、性能測(cè)試)選定測(cè)試環(huán)境和測(cè)試方法(如人工測(cè)試、自動(dòng)化測(cè)試)。1.6.1 軟件測(cè)試流程 安排測(cè)試資源:通過對(duì)測(cè)試難度、時(shí)間、工作量等因素對(duì)測(cè)試資源合理安排,包括人員分配、工具配置等。 安排測(cè)試進(jìn)度:根據(jù)軟件開發(fā)計(jì)劃、產(chǎn)品的整體計(jì)劃來安排測(cè)試工作的進(jìn)度,同時(shí)還要考慮各部分工作的變化。在安排工作進(jìn)度時(shí),最好在各項(xiàng)測(cè)試工作

28、之間預(yù)留一個(gè)緩沖時(shí)間以應(yīng)對(duì)計(jì)劃變更。 預(yù)估測(cè)試風(fēng)險(xiǎn):羅列出測(cè)試工作過程中可能會(huì)出現(xiàn)的不確定因素,并制定應(yīng)對(duì)策略。1.6.1 軟件測(cè)試流程(3)設(shè)計(jì)測(cè)試用例測(cè)試用例(Test Case)指的是一套詳細(xì)的測(cè)試方案,包括測(cè)試環(huán)境、測(cè)試步驟、測(cè)試數(shù)據(jù)和預(yù)期結(jié)果。不同的公司會(huì)有不同的測(cè)試用例模板,雖然它們?cè)陲L(fēng)格和樣式上有所不同,但本質(zhì)上是一樣的,都包括了測(cè)試用例的基本要素。測(cè)試用例編寫的原則是盡量以最少的測(cè)試用例達(dá)到最大測(cè)試覆蓋率。1.6.1 軟件測(cè)試流程(4)執(zhí)行測(cè)試測(cè)試執(zhí)行就是按照測(cè)試用例執(zhí)行測(cè)試的過程,這是測(cè)試人員最主要的活動(dòng)階段。在執(zhí)行測(cè)試時(shí)要根據(jù)測(cè)試用例的優(yōu)先級(jí)進(jìn)行。在執(zhí)行測(cè)試過程中,測(cè)試人員

29、要密切跟蹤測(cè)試過程,記錄缺陷、形成報(bào)告等,這一階段是測(cè)試人員最重要的工作階段。1.6.1 軟件測(cè)試流程(5)編寫測(cè)試報(bào)告一份完整的測(cè)試報(bào)告必須要包含以下幾個(gè)要點(diǎn)。 引言:測(cè)試報(bào)告編寫目的、報(bào)告中出現(xiàn)的專業(yè)術(shù)語解釋及參考資料等。 測(cè)試概要:介紹項(xiàng)目背景、測(cè)試時(shí)間、測(cè)試地點(diǎn)及測(cè)試人員等信息。 測(cè)試內(nèi)容及執(zhí)行情況:描述本次測(cè)試模塊的版本、測(cè)試類型,使用的測(cè)試用例設(shè)計(jì)方法及測(cè)試通過覆蓋率,依據(jù)測(cè)試的通過情況提供對(duì)測(cè)試執(zhí)行過程的評(píng)估結(jié)論,并給出測(cè)試執(zhí)行活動(dòng)的改進(jìn)建議,以供后續(xù)測(cè)試執(zhí)行活動(dòng)借鑒參考。1.6.1 軟件測(cè)試流程(5)編寫測(cè)試報(bào)告 缺陷統(tǒng)計(jì)與分析:統(tǒng)計(jì)本次測(cè)試所發(fā)現(xiàn)的缺陷數(shù)目、類型等,分析缺陷產(chǎn)

30、生的原因給出規(guī)避措施等建議,同時(shí)還要記錄殘留缺陷與未解決問題。 測(cè)試結(jié)論與建議:從需求符合度、功能正確性、性能指標(biāo)等多個(gè)維度對(duì)版本質(zhì)量進(jìn)行總體評(píng)價(jià),給出具體明確的結(jié)論。測(cè)試報(bào)告的數(shù)據(jù)是真實(shí)的,每一條結(jié)論的得出都要有評(píng)價(jià)依據(jù),不能是主觀臆斷的。多學(xué)一招:測(cè)試的準(zhǔn)入準(zhǔn)出測(cè)試準(zhǔn)入標(biāo)準(zhǔn)如下: 開發(fā)編碼結(jié)束,開發(fā)人員在開發(fā)環(huán)境已經(jīng)進(jìn)行了單元測(cè)試,即開發(fā)人員完成自測(cè)。 軟件需求上規(guī)定的功能都已經(jīng)實(shí)現(xiàn)。如果沒有完全實(shí)現(xiàn),開發(fā)人員提供測(cè)試范圍。 測(cè)試項(xiàng)目通過基本的冒煙測(cè)試,界面上的功能均已經(jīng)實(shí)現(xiàn),符合設(shè)計(jì)規(guī)定的功能。 被測(cè)試項(xiàng)目的代碼符合軟件編碼規(guī)范并已通過評(píng)審。 開發(fā)人員提交了測(cè)試申請(qǐng)并提供了相應(yīng)的文檔資料

31、。多學(xué)一招:測(cè)試的準(zhǔn)入準(zhǔn)出 測(cè)試項(xiàng)目滿足客戶需求。 所有測(cè)試用例都已經(jīng)通過評(píng)審并成功執(zhí)行。 測(cè)試覆蓋率已經(jīng)達(dá)到要求。 所有發(fā)現(xiàn)的缺陷都記錄在缺陷管理系統(tǒng)。 一二級(jí)錯(cuò)誤修復(fù)率達(dá)到100%。 三四級(jí)錯(cuò)誤修復(fù)率達(dá)到了95%。 所有遺留問題都已經(jīng)有解決方案。 測(cè)試項(xiàng)目的功能、性能、安全性等都滿足要求。 完成系統(tǒng)測(cè)試總結(jié)報(bào)告。測(cè)試準(zhǔn)出標(biāo)準(zhǔn)如下:多學(xué)一招:測(cè)試的準(zhǔn)入準(zhǔn)出測(cè)試中需要暫停的情況包括以下幾種。 測(cè)試人員進(jìn)行冒煙測(cè)試時(shí)發(fā)現(xiàn)重大缺陷,導(dǎo)致測(cè)試無法正常進(jìn)行,需要暫停并返回開發(fā)。 測(cè)試人員進(jìn)行冒煙測(cè)試時(shí)發(fā)現(xiàn)bug過多可以申請(qǐng)暫停測(cè)試,返回開發(fā)。 測(cè)試項(xiàng)目需要更新調(diào)整而暫停,測(cè)試工作也要相應(yīng)暫停。 如果測(cè)

32、試人員有其他優(yōu)先級(jí)更高的任務(wù)時(shí),可以申請(qǐng)暫停測(cè)試。1.6.2 摩拜單車App開鎖用車功能測(cè)試流程摩拜單車業(yè)務(wù)流程圖:1.6.2 摩拜單車App開鎖用車功能測(cè)試流程(1)分析測(cè)試需求摩拜單車的用車功能需要測(cè)試三個(gè)內(nèi)容: 掃描二維碼開鎖。 輸入車輛編號(hào)開鎖。 調(diào)取手機(jī)手電筒。1.6.2 摩拜單車App開鎖用車功能測(cè)試流程(2)制定測(cè)試計(jì)劃軟件版本摩拜單車App 8.10.0版本模塊開鎖用車負(fù)責(zé)人測(cè)試組長(zhǎng)測(cè)試人員測(cè)試員1、測(cè)試員2測(cè)試時(shí)間2019.3.12019.3.3測(cè)試用例001012回歸測(cè)試2019.4.102019.4.131.6.2 摩拜單車App開鎖用車功能測(cè)試流程(2)設(shè)計(jì)測(cè)試用例 白

33、天:掃碼開鎖。 白天:手動(dòng)輸入車輛編號(hào)開鎖。 晚上:掃碼+手電筒開鎖。 晚上:手動(dòng)輸入車輛編號(hào)開鎖。1.6.2 摩拜單車App開鎖用車功能測(cè)試流程注 意開鎖用車模塊與其他模塊的關(guān)聯(lián),在開鎖時(shí),如果有正在運(yùn)行的訂單或者有未支付的訂單,則無法開鎖。1.6.2 摩拜單車App開鎖用車功能測(cè)試流程序號(hào)用例說明前置操作操作預(yù)期結(jié)果備注001開鎖沒有正在運(yùn)行的訂單,也沒有未支付的訂單白天掃碼進(jìn)入數(shù)碼解鎖頁面002開鎖有正在運(yùn)行的訂單白天掃碼無法開鎖,提示正在騎行,需結(jié)束騎行并支付才能解鎖003開鎖有未支付的訂單白天掃碼無法開鎖,提示支付未支付訂單才能解鎖004開鎖沒有正在運(yùn)行的訂單,也沒有未支付的訂單白天

34、手動(dòng)輸入車輛編號(hào)進(jìn)入數(shù)碼解鎖頁面1.6.2 摩拜單車App開鎖用車功能測(cè)試流程序號(hào)用例說明前置操作操作預(yù)期結(jié)果備注005開鎖有正在運(yùn)行的訂單白天手動(dòng)輸入車輛編號(hào)無法開鎖,提示正在騎行,需結(jié)束騎行并支付才能解鎖006開鎖有未支付的訂單白天手動(dòng)輸入車輛編號(hào)無法開鎖,提示支付未支付訂單才能解鎖007開鎖沒有正在運(yùn)行的訂單,也沒有未支付的訂單晚上掃碼開啟手機(jī)手電筒,掃碼成功,進(jìn)入數(shù)碼解鎖頁面008開鎖有正在運(yùn)行的訂單晚上掃碼無法開鎖,提示正在騎行,需結(jié)束騎行并支付才能解鎖1.6.2 摩拜單車App開鎖用車功能測(cè)試流程序號(hào)用例說明前置操作操作預(yù)期結(jié)果備注009開鎖有未支付的訂單晚上掃碼無法開啟手電筒,提

35、示支付未支付訂單才能解鎖010開鎖沒有正在運(yùn)行的訂單,也沒有未支付的訂單晚上手動(dòng)輸入車輛編號(hào)進(jìn)入數(shù)碼解鎖頁面011開鎖有正在運(yùn)行的訂單晚上手動(dòng)輸入車輛編號(hào)無法開鎖,提示正在騎行,需結(jié)束騎行并支付才能解鎖012開鎖有未支付的訂單晚上手動(dòng)輸入車輛編號(hào)無法開鎖,提示支付未支付訂單才能解鎖1.6.2 摩拜單車App開鎖用車功能測(cè)試流程(3)測(cè)試執(zhí)行執(zhí)行測(cè)試用例,對(duì)測(cè)試過程進(jìn)行記錄和跟蹤。對(duì)于測(cè)試發(fā)現(xiàn)的缺陷整理成缺陷報(bào)告。缺陷ID1900210006測(cè)試軟件名稱摩拜單車App測(cè)試軟件版本8.10.0缺陷發(fā)現(xiàn)日期20190302測(cè)試人員測(cè)試員1、測(cè)試員2缺陷描述該版本的開鎖用車功能在晚上掃碼開鎖時(shí),無法啟

36、動(dòng)手電筒,導(dǎo)致掃碼不成功而無法完成開鎖功能。1.6.2 摩拜單車App開鎖用車功能測(cè)試流程附件(可附圖)附圖1(鏈接)缺陷類型功能類型缺陷缺陷嚴(yán)重程度嚴(yán)重缺陷優(yōu)先級(jí)立即解決測(cè)試環(huán)境手機(jī)信息:華為 honor AAL-AL20內(nèi)存:4.0GB系統(tǒng)類型:Android8.0.0操作系統(tǒng)重現(xiàn)步驟1、進(jìn)入摩拜單車App頁面,點(diǎn)擊“掃碼開鎖”按鈕。2、手電筒未打開,掃取摩拜單車二維碼,掃取失敗。備注無1.6.2 摩拜單車App開鎖用車功能測(cè)試流程(5)編寫測(cè)試報(bào)告測(cè)試結(jié)束之后(包括回歸測(cè)試),編寫一個(gè)完整的測(cè)試報(bào)告,測(cè)試報(bào)告的內(nèi)容非常多,一般都是長(zhǎng)達(dá)十幾頁甚至幾十頁的word文檔,或者是在相應(yīng)的軟件測(cè)試

37、管理工具中編寫。在測(cè)試報(bào)告中詳細(xì)描述本次測(cè)試過程及結(jié)論。1.7 本章小結(jié)本章對(duì)軟件測(cè)試基礎(chǔ)知識(shí)進(jìn)行了講解,首先介紹了軟件相關(guān)的知識(shí),包括軟件生命周期、軟件開發(fā)模型、軟件質(zhì)量等;其次講解了軟件缺陷管理,包括軟件缺陷產(chǎn)生的原因、分類、處理流程及常用的缺陷管理工具;接著講解了軟件測(cè)試的概念、目的、分類、軟件測(cè)試與軟件開發(fā)的關(guān)系、軟件測(cè)試的原則;最后講解了軟件測(cè)試的基本流程,并且使用摩拜單車App開鎖功能的測(cè)試讓讀者簡(jiǎn)單認(rèn)識(shí)了一下軟件測(cè)試的基本流程。本章的知識(shí)細(xì)碎且獨(dú)立,但卻是軟件測(cè)試入門的必備知識(shí),為后續(xù)章節(jié)更深入的學(xué)習(xí)軟件測(cè)試打下堅(jiān)實(shí)的基礎(chǔ)。第2章 黑盒測(cè)試 因果圖與決策表 正交實(shí)驗(yàn)設(shè)計(jì)法 等價(jià)類

38、劃分法 邊界值分析法2.1.1 等價(jià)類劃分法一個(gè)程序可以有多個(gè)輸入,等價(jià)類劃分就是將這些輸入數(shù)據(jù)按照輸入需求進(jìn)行分類,將它們劃分為若干個(gè)子集,這些子集即為等價(jià)類,在每個(gè)等價(jià)類中選擇有代表性的數(shù)據(jù)設(shè)計(jì)測(cè)試用例。2.1.1 等價(jià)類劃分法這種方法類似于學(xué)生站隊(duì),男生站左邊,女生站右邊,老師站中間,這樣就把師生群體劃分成了三個(gè)等價(jià)類。女生老師男生2.1.1 等價(jià)類劃分法有效等價(jià)類有效等價(jià)類就是有效值的集合,它們是符合程序要求、合理且有意義的輸入數(shù)據(jù)。無效等價(jià)類無效等價(jià)類就是無效值的集合,它們是不符合程序要求、不合理或無意義的輸入數(shù)據(jù)。2.1.1 等價(jià)類劃分法等價(jià)類劃分原則:(1)如果程序要求輸入值是一

39、個(gè)有限區(qū)間的值,則可以將輸入數(shù)據(jù)劃分為一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類,有效等價(jià)類為指定的取值區(qū)間,兩個(gè)無效等價(jià)類分別為有限區(qū)間兩邊的值。2.1.1 等價(jià)類劃分法等價(jià)類劃分原則:(2)如果程序要求輸入的值是一個(gè)“必須成立”的情況,則可以將輸入數(shù)據(jù)劃分為一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。2.1.1 等價(jià)類劃分法等價(jià)類劃分原則:(3)如果程序要求輸入數(shù)據(jù)是一組可能的值,或者要求輸入值必須符合某個(gè)條件,則可以將輸入數(shù)據(jù)劃分一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。2.1.1 等價(jià)類劃分法等價(jià)類劃分原則:(4)如果在某一個(gè)等價(jià)類中,每個(gè)輸入數(shù)據(jù)在程序中的處理方式都不相同,則應(yīng)將該等價(jià)類劃分成更小的等價(jià)類,并建立等價(jià)

40、表。2.1.1 等價(jià)類劃分法同一個(gè)等價(jià)類中的數(shù)據(jù)發(fā)現(xiàn)程序缺陷的能力是相同的,如果使用等價(jià)類中的其中一個(gè)數(shù)據(jù)不能捕獲缺陷,那么使用等價(jià)類中的其他數(shù)據(jù)也不能捕獲缺陷,同樣,如果等價(jià)類中的其中一個(gè)數(shù)據(jù)能夠捕獲缺陷,那么該等價(jià)類中的其他數(shù)據(jù)也能捕獲缺陷,即等價(jià)類中的所有輸入數(shù)據(jù)都是等效的。2.1.1 等價(jià)類劃分法2、設(shè)計(jì)測(cè)試用例 確定測(cè)試對(duì)象,保證非測(cè)試對(duì)象的正確性。 為每個(gè)等價(jià)類規(guī)定一個(gè)唯一編號(hào)。 設(shè)計(jì)有效等價(jià)類的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,直到測(cè)試用例覆蓋了所有的有效等價(jià)類。 設(shè)計(jì)無效等價(jià)類的測(cè)試用例,使其覆蓋所有的無效等價(jià)類。2.1.2 實(shí)例:三角形問題的等價(jià)類劃分三角形

41、問題是測(cè)試中廣泛使用的一個(gè)經(jīng)典案例,它要求輸入3個(gè)正數(shù)a、b、c作為三角形的三條邊,判斷這3個(gè)數(shù)構(gòu)成的是一般三角形、等邊三角形、等腰三角形,還是無法構(gòu)成三角形。2.1.2 實(shí)例:三角形問題的等價(jià)類劃分對(duì)該案例進(jìn)行分析,程序要求輸入3個(gè)數(shù),并且是正數(shù),在輸入3個(gè)正數(shù)的基礎(chǔ)上判斷這三個(gè)數(shù)能否構(gòu)成三角形,如果構(gòu)成三角形再判斷它構(gòu)成的三角形是一般三角形、等腰三角形還是等邊三角形,需要分步驟劃分等價(jià)類。三角形等價(jià)類劃分2.1.2 實(shí)例:三角形問題的等價(jià)類劃分(1)判斷是否輸入了3個(gè)數(shù),可以將輸入情況劃分成1個(gè)有效等價(jià)類,4個(gè)無效等價(jià)類: 有效等價(jià)類:輸入3個(gè)數(shù)。 無效等價(jià)類:輸入0個(gè)數(shù)。 無效等價(jià)類:只

42、輸入1個(gè)數(shù)。 無效等價(jià)類:只輸入2個(gè)數(shù)。 無效等價(jià)類:輸入超過3個(gè)數(shù)。 三角形等價(jià)類劃分2.1.2 實(shí)例:三角形問題的等價(jià)類劃分(2)在輸入3個(gè)數(shù)的基礎(chǔ)上,判斷三個(gè)數(shù)是否是正數(shù),可以將輸入情況劃分為1個(gè)有效等價(jià)類,3個(gè)無效等價(jià)類: 有效等價(jià)類:三個(gè)數(shù)都是正數(shù)。 無效等價(jià)類:有一個(gè)數(shù)小于等于0。 無效等價(jià)類:有兩個(gè)數(shù)小于等于0。 無效等價(jià)類:三個(gè)數(shù)都小于等于0。2.1.2 實(shí)例:三角形問題的等價(jià)類劃分(3)在輸入三個(gè)正數(shù)的基礎(chǔ)上,判斷三個(gè)數(shù)是否能構(gòu)成三角形,可以將輸入情況劃分為1個(gè)有效等價(jià)類和1個(gè)無效等價(jià)類: 有效等價(jià)類:任意兩個(gè)數(shù)之和大于第三個(gè)數(shù),a+bc、a+cb、b+ca。 無效等價(jià)類:其

43、中兩個(gè)數(shù)之和小于等于第三個(gè)數(shù)。2.1.2 實(shí)例:三角形問題的等價(jià)類劃分(4)在三個(gè)數(shù)構(gòu)成三角形的基礎(chǔ)上,判斷三個(gè)數(shù)是否能構(gòu)成等腰三角形,可以將輸入情況劃分成1個(gè)有效等價(jià)類,因?yàn)槭窃跇?gòu)成三角形的基礎(chǔ)進(jìn)行劃分,因此沒有無效等價(jià)類。 有效等價(jià)類:其中有兩個(gè)數(shù)相等,a=b|a=c|b=c。 無效等價(jià)類:三個(gè)數(shù)均不相等。2.1.2 實(shí)例:三角形問題的等價(jià)類劃分(5)在構(gòu)成等腰三角形的基礎(chǔ)上,判斷這三個(gè)數(shù)能否構(gòu)成等邊三角形,只有1個(gè)有效等價(jià)類: 有效等價(jià)類:三個(gè)數(shù)相等,a=b=c。2.1.2 實(shí)例:三角形問題的等價(jià)類劃分三角形輸入等價(jià)類表要求有效等價(jià)類編號(hào)無效等價(jià)類編號(hào)輸入3個(gè)數(shù)輸入3個(gè)數(shù)1輸入0個(gè)數(shù)2只

44、輸入1個(gè)數(shù)3只輸入2個(gè)數(shù)4多于3個(gè)數(shù)53個(gè)數(shù)是否都是正數(shù)3個(gè)數(shù)都是正數(shù)6有一個(gè)數(shù)小于等于07有兩個(gè)數(shù)小于等于083個(gè)數(shù)都小于等于093個(gè)數(shù)是否能構(gòu)成三角形任意2個(gè)數(shù)之和大于第3個(gè)數(shù)10其中2個(gè)數(shù)之和小于等于第3個(gè)數(shù)113個(gè)數(shù)是否能構(gòu)成等腰三角形其中2個(gè)數(shù)相等:a=b|a=c|b=c123個(gè)數(shù)是否能構(gòu)成等邊三角形構(gòu)成等邊三角形:a=b=c132.1.2 實(shí)例:三角形問題的等價(jià)類劃分覆蓋有效等價(jià)類的測(cè)試用例表測(cè)試用例輸入3個(gè)數(shù)覆蓋有效等價(jià)類的編號(hào)test11 2 31 6test23 4 51 6 10test36 6 81 6 10 12test46 6 61 6 10 12 132.1.2 實(shí)

45、例:三角形問題的等價(jià)類劃分覆蓋無效等價(jià)類的測(cè)試用例表測(cè)試用例輸入3個(gè)數(shù)覆蓋無效等價(jià)類的編號(hào)test5-1 -1 -19test6-1 -1 57test7-1 4 58test8輸入0個(gè)數(shù)據(jù)2test913test101 24test111 3 411test121 2 3 452.1.3 實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分余額寶的提現(xiàn)功能有兩種方式:快速到賬(2小時(shí)),每日最高提現(xiàn)額度為10000元;普通到賬,可提取金額為余額寶最大余額,但到賬時(shí)間會(huì)慢一些。2.1.3 實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分如果選擇快速到賬,則可將提現(xiàn)功能劃分為1個(gè)有效等價(jià)類與2個(gè)無效等價(jià)類: 有效等價(jià)類:0提現(xiàn)金額=100

46、00。 無效等價(jià)類:提現(xiàn)金額10000。2.1.3 實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分如果選擇普通到賬,則可將提現(xiàn)功能劃分為1個(gè)有效等價(jià)類與2個(gè)無效等價(jià)類: 有效等價(jià)類:0提現(xiàn)金額=余額。 無效等價(jià)類:提現(xiàn)金額余額。2.1.3 實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分余額寶提現(xiàn)功能的等價(jià)類劃分功能有效等價(jià)類編號(hào)無效等價(jià)類編號(hào)快速到賬0提現(xiàn)金額=100001提現(xiàn)金額100003普通到賬0提現(xiàn)金額=余額4提現(xiàn)金額余額62.1.3 實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分注 意快速到賬可以累積分次提?。嚎焖俚劫~的日提現(xiàn)金額為10000,表明在一天之內(nèi),只要提現(xiàn)金額沒有累積到10000,則可多次提取,據(jù)此,可以將快速到賬細(xì)分為第1

47、次提現(xiàn)和第n次提現(xiàn),第n次提現(xiàn)的最大金額為10000減去已經(jīng)提現(xiàn)的金額。2.1.3 實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分細(xì)分后的余額寶提現(xiàn)功能的等價(jià)類劃分功能有效等價(jià)類編號(hào)無效等價(jià)類編號(hào)快速到賬(第1次)0提現(xiàn)金額=100001提現(xiàn)金額100003快速到賬(第n次)0提現(xiàn)金額=10000-已提現(xiàn)金額7提現(xiàn)金額10000-已提現(xiàn)金額9普通到賬0提現(xiàn)金額=余額4提現(xiàn)金額余額62.1.3 實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分覆蓋有效等價(jià)類的測(cè)試用例測(cè)試用例功能金額覆蓋有效用等價(jià)類編號(hào)test1快速到賬(第1次)10001test2快速到賬(第n次,已提現(xiàn)2000)70007test3普通到賬4000042.1.3

48、實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分覆蓋無效等價(jià)類的測(cè)試用例測(cè)試用例功能金額覆蓋無效等價(jià)類編號(hào)test4快速到賬(第1次)-100002test5200003test6快速到賬(第n次,已提現(xiàn)2000)-20008test790009test8普通到賬-30005test96000062.2.1 邊界值分析法概述邊界值分析法是對(duì)軟件的輸入或輸出邊界進(jìn)行測(cè)試的一種方法,它通常作為等價(jià)類劃分法的一種補(bǔ)充測(cè)試。邊界值分析法2.2.1 邊界值分析法概述在等價(jià)類劃分法中,無論是輸入等價(jià)類還是輸出等價(jià)類,都會(huì)有多個(gè)邊界,而邊界值分析法就是在這些邊界附近尋找某些點(diǎn)作為測(cè)試數(shù)據(jù),而不是在等價(jià)類內(nèi)部選擇測(cè)試數(shù)據(jù)。2.2

49、.1 邊界值分析法概述邊界值的選取有兩種方式: 選取5個(gè)值:最小值、略大于最小值、正常值、略小于最大值、最大值。 選取7個(gè)值:略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、略大于最大值。2.2.1 邊界值分析法概述輸入條件規(guī)定取值范圍為1100,選取5個(gè)值和7個(gè)值的情況如下表:選取方案選取數(shù)據(jù)選取5個(gè)值11.15099.9100選取7個(gè)值0.911.15099.9100100.12.2.2 實(shí)例: 三角形問題的邊界值分析如果要求三角形的邊長(zhǎng)取值范圍為1100,則可以使用邊界值分析法對(duì)三角形邊界邊長(zhǎng)進(jìn)行測(cè)試,在設(shè)計(jì)測(cè)試用例時(shí),分別選取1、2、50、99、100五個(gè)值作為測(cè)試數(shù)

50、據(jù)。2.2.2 實(shí)例: 三角形問題的邊界值分析測(cè)試用例輸入3個(gè)數(shù)被測(cè)邊界預(yù)期輸出test150 50 11等腰三角形test250 50 2等腰三角形test350 50 50無等邊三角形test450 50 99100等腰三角形test550 50 100不構(gòu)成三角形三角形邊界值分析測(cè)試用例2.2.3 實(shí)例: 余額寶提現(xiàn)的邊界值分析假設(shè)余額寶中余額為50000,對(duì)邊界值進(jìn)行分析: 如果是第一次快速到賬提現(xiàn),則分別對(duì)0和10000兩個(gè)邊界值進(jìn)行測(cè)試,分別取值-1、0、1、5000、9999、10000、10001七個(gè)值作為測(cè)試數(shù)據(jù)。2.2.3 實(shí)例: 余額寶提現(xiàn)的邊界值分析 如果是第n次提現(xiàn)(

51、假設(shè)已提現(xiàn)2000),則分別對(duì)0和8000兩個(gè)邊界值進(jìn)行測(cè)試,分別取值-1、0、1、5000、7999、8000、8001七個(gè)值作為測(cè)試數(shù)據(jù)。 對(duì)于普通到賬提現(xiàn),則對(duì)0和50000兩個(gè)邊界值進(jìn)行測(cè)試,分別取-1、0、1、20000、49999、50000、50001七個(gè)值作為測(cè)試數(shù)據(jù)。2.2.3 實(shí)例: 余額寶提現(xiàn)的邊界值分析測(cè)試用例功能金額被測(cè)邊界預(yù)期輸出test1快速到賬(第1次)-10無法提現(xiàn)test20無法提現(xiàn)test311test45000無5000test59999100009999test61000010000test710001無法提現(xiàn)余額寶提現(xiàn)邊界值分析測(cè)試用例2.2.3 實(shí)

52、例: 余額寶提現(xiàn)的邊界值分析測(cè)試用例功能金額被測(cè)邊界預(yù)期輸出test8快速到賬(第n次)-10無法提現(xiàn)test90無法提現(xiàn)test1011test115000無5000test12799980007999test1380008000test148001無法提現(xiàn)2.2.3 實(shí)例: 余額寶提現(xiàn)的邊界值分析測(cè)試用例功能金額被測(cè)邊界預(yù)期輸出test15普通到賬-10無法提現(xiàn)test160無法提現(xiàn)test1711test1820000無20000test19499995000049999test205000050000test2150001無法提現(xiàn)2.3.1 因果圖設(shè)計(jì)法因果圖需要處理輸入之間的作用關(guān)系

53、,還要考慮輸出情況,因此它包含了復(fù)雜的邏輯關(guān)系,這些復(fù)雜的邏輯關(guān)系通常用圖示來展現(xiàn),這些圖示就是因果圖。2.3.1 因果圖設(shè)計(jì)法因果圖使用一些簡(jiǎn)單的邏輯符號(hào)和直線將程序的因(輸入)與果(輸出)連接起來,一般原因用ci表示,結(jié)果用ei表示,ci與ei可以取值“0”或“1”,其中“0”表示狀態(tài)不出現(xiàn),“1”表示狀態(tài)出現(xiàn)。2.3.1 因果圖設(shè)計(jì)法ci與ei之間有恒等、非()、或()、與()4種關(guān)系。2.3.1 因果圖設(shè)計(jì)法因果圖的4種關(guān)系,每種關(guān)系的具體含義: 恒等:在恒等關(guān)系中,要求程序有一個(gè)輸入和一個(gè)輸出,輸出與輸入保持一致。若c1為1,則e1也為1,若c1為0,則e1也為0。2.3.1 因果圖

54、設(shè)計(jì)法 非:非使用符號(hào)“”表示,在這種關(guān)系中,要求程序有一個(gè)輸入和一個(gè)輸出,輸出是輸入的取反。若c1為1,則e1為0,若c1為0,則e1為1。 或:或使用符號(hào)“”表示,或關(guān)系可以有任意個(gè)輸入,只要這些輸入中有一個(gè)為1,則輸出為1,否則輸出為0。 與:與使用符號(hào)“”表示,與關(guān)系也可以有任意個(gè)輸入,但只有這些輸入全部為1,輸出才能為1,否則輸出為0。2.3.1 因果圖設(shè)計(jì)法在軟件測(cè)試中,如果程序有多個(gè)輸入,那么除了輸入與輸出之間的作用關(guān)系之外,這些輸入之間往往也會(huì)存在某些依賴關(guān)系,某些輸入條件本身不能同時(shí)出現(xiàn),某一種輸入可能會(huì)影響其他輸入。例如,某一軟件用于統(tǒng)計(jì)體檢信息,在輸入個(gè)人信息時(shí),性別只能

55、輸入男或女,這兩種輸入不能同時(shí)存在,而且如果輸入性別為女,那么體檢項(xiàng)就會(huì)受到限制。2.3.1 因果圖設(shè)計(jì)法這些依賴關(guān)系在軟件測(cè)試中稱為“約束”,約束的類別可分為四種:E(Exclusive,異)、I(at least one,或)、O(one and only one,唯一)、R(Requires,要求),在因果圖中,用特定的符號(hào)表明這些約束關(guān)系。2.3.1 因果圖設(shè)計(jì)法2.3.1 因果圖設(shè)計(jì)法 E(異):a和b中最多只能有一個(gè)為1,即a和b不能同時(shí)為1。 I(或):a、b和c中至少有一個(gè)必須是1,即a、b、c不能同時(shí)為0。 O(唯一):a和b有且僅有一人為1。 R(要求):a和b必須保持一致

56、,即a為1時(shí),b也必須為1,a為0時(shí),b也必須為0。2.3.1 因果圖設(shè)計(jì)法除了輸入條件,輸出條件也會(huì)相互約束,輸出條件的約束只有一種M(Mask,強(qiáng)制),強(qiáng)制約束關(guān)系。2.3.1 因果圖設(shè)計(jì)法使用因果圖設(shè)計(jì)測(cè)試用例的步驟:(1)分析程序規(guī)格說明書描述內(nèi)容,確定程序的輸入與輸出,即確定“原因”和“結(jié)果”。(2)分析得出輸入與輸入之間、輸入與輸出之間的對(duì)應(yīng)關(guān)系,將這些輸入與輸出之間的關(guān)系使用因果圖表示出來。2.3.1 因果圖設(shè)計(jì)法使用因果圖設(shè)計(jì)測(cè)試用例的步驟:(3)由于語法與環(huán)境的限制,有些輸入與輸入之間、輸入與輸出之間的組合情況是不可能出現(xiàn)的,對(duì)于這種情況,使用符號(hào)標(biāo)記它們之間的限制或約束關(guān)系

57、。(4)將因果圖轉(zhuǎn)換為決策表。決策表將在下一小節(jié)學(xué)習(xí)。根據(jù)決策表設(shè)計(jì)測(cè)試用例。2.3.2 決策表決策表也稱為判定表,其實(shí)質(zhì)就是一種邏輯表。在程序設(shè)計(jì)發(fā)展初期,判定表就已經(jīng)被當(dāng)作程序開發(fā)的輔助工具了,幫助開發(fā)人員整理開發(fā)模式和流程,因?yàn)樗梢园褟?fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)的既具體又明確,利用決策表可以設(shè)計(jì)出完整的測(cè)試用例集合。2.3.2 決策表為了讓讀者明白什么是決策表,下面通過一個(gè)“圖書閱讀指南”來制作一個(gè)決策表,圖書閱讀指南指明了圖書閱讀過程中可能出現(xiàn)的狀況,以及針對(duì)各種情況給讀者的建議。在圖書閱讀過程中可能會(huì)出現(xiàn)3種情況: 是否疲倦。 是否對(duì)內(nèi)容感興趣。 對(duì)書中的內(nèi)容是否感到糊涂

58、。2.3.2 決策表如果回答是肯定的,則使用“Y”標(biāo)記;如果回答是否定的,則使用“N”標(biāo)記。那么這3種情況可以有23=8種組合,針對(duì)這8種組合。閱讀指南給讀者提供了4條建議: 回到本章開頭重讀。 繼續(xù)讀下去。 跳到下一章去讀。 停止閱讀并休息。2.3.2 決策表圖書閱讀指南決策表問題與建議12345678問題是否疲倦YYYYNNNN是否對(duì)內(nèi)容感興趣YYNNNYYN對(duì)書中內(nèi)容是否感到糊涂YNNYYYNN建議回到本章開頭重讀繼續(xù)讀下去跳到下一章去讀停止閱讀并休息2.3.2 決策表決策表通常由4個(gè)部分組成: 條件樁:列出問題的所有條件,除了某些問題對(duì)條件的先后次序有要求之外,通常決策表中所列條件的先

59、后次序都無關(guān)緊要。 條件項(xiàng):條件項(xiàng)就是條件樁的所有可能取值。 動(dòng)作樁:動(dòng)作樁就是問題可能采取的操作,這些操作一般沒有先后次序之分。 動(dòng)作項(xiàng):指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。2.3.2 決策表在決策表中,任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為一條規(guī)則,即決策表中的每一列就是一條規(guī)則,每一列都可以設(shè)計(jì)一個(gè)測(cè)試用例,根據(jù)決策表設(shè)計(jì)測(cè)試用例就不會(huì)有所遺漏。2.3.2 決策表在實(shí)際測(cè)試中,條件樁往往很多,而且每個(gè)條件樁都有真假兩個(gè)條件項(xiàng),有n個(gè)條件樁的決策表就會(huì)有2n條件規(guī)則,如果每條規(guī)則都設(shè)計(jì)一個(gè)測(cè)試用例,不僅工作量大,而且有些工作量可能是重復(fù)的無意義的。例如在“圖書閱讀指南”中

60、,第1、2條規(guī)則,第1條規(guī)則取值為:Y、Y、Y,執(zhí)行結(jié)果為“停止閱讀并休息”;第2條規(guī)則取值為:Y、Y、N,執(zhí)行結(jié)果也是為“停止閱讀并休息”;對(duì)于這兩條規(guī)則來說,前兩個(gè)問題的取值相同,執(zhí)行結(jié)果一樣。2.3.2 決策表這些不影響結(jié)果取值的問題稱為無關(guān)條件項(xiàng),用“-”表示。忽略無關(guān)條件項(xiàng),可以將兩條規(guī)則合并。2.3.2 決策表根據(jù)合并規(guī)則,可以將“圖書閱讀指南”決策表合并。問題與建議12345問題是否疲倦YYNNN是否對(duì)內(nèi)容感興趣Y-NYY對(duì)書中內(nèi)容是否感到糊涂-N-YN建議回到本章開頭重讀繼續(xù)讀下去跳到下一章去讀停止閱讀并休息2.3.3 實(shí)例:三角形決策表在測(cè)試用例中,三角形問題是一個(gè)永盛不衰的

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論