軟件測(cè)試PPT完整全套教學(xué)課件_第1頁
軟件測(cè)試PPT完整全套教學(xué)課件_第2頁
軟件測(cè)試PPT完整全套教學(xué)課件_第3頁
軟件測(cè)試PPT完整全套教學(xué)課件_第4頁
軟件測(cè)試PPT完整全套教學(xué)課件_第5頁
已閱讀5頁,還剩637頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章軟件測(cè)試基礎(chǔ)·軟件測(cè)試模型·

軟件測(cè)試原則·軟件測(cè)試基本流程·軟件概述·軟件缺陷管理·軟件測(cè)試概述第1章軟件測(cè)試基礎(chǔ)第2章黑盒測(cè)試第3章白盒測(cè)試第4章性能測(cè)試第5章安全測(cè)試第6章自動(dòng)化測(cè)試第7章移動(dòng)App測(cè)試第8章在線考試系統(tǒng)(上)第9章在線考試系統(tǒng)(下)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)代軟件開發(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.2軟件開發(fā)模型4、螺旋模型螺旋模型包含四個(gè)象限:●制定計(jì)劃:確定軟件目標(biāo),制定實(shí)施方案,列出項(xiàng)目開發(fā)的限制條件?!耧L(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、敏捷模型敏捷模型的特點(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、ScrumScrumMaster(產(chǎn)品負(fù)責(zé)人)全面負(fù)責(zé)產(chǎn)品的開發(fā)過程。ScrumMaster把團(tuán)隊(duì)劃分成不同的小組,把整個(gè)項(xiàng)目劃分成細(xì)小的可交付成果的子項(xiàng)目,分別由不同的小組完成,并對(duì)各小組的工作劃分優(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),并且能可靠運(yùn)行?!駶M足用戶需求:軟件產(chǎn)品的需求是由用戶產(chǎn)生的,軟件最終的目的就是滿足用戶需求,解決用戶的實(shí)際問題。●滿足用戶隱式需求:軟件如果滿足用戶隱式需求,即潛在的可能需要在將來開發(fā)的功能。將會(huì)極大的提升用戶滿意度,這就意味著軟件質(zhì)量更高。1.1.3軟件質(zhì)量概述軟件質(zhì)量模型多學(xué)一招:紙杯測(cè)試●測(cè)試項(xiàng)目:紙杯?!裥枨鬁y(cè)試:查看紙杯說明書是否完整?!窠缑鏈y(cè)試:觀察紙杯外觀,表面是否光滑、手感是否舒適?!窆δ軠y(cè)試:用紙杯裝水,觀察是否漏水?!癜踩珳y(cè)試:紙杯是否有毒或細(xì)菌。多學(xué)一招:紙杯測(cè)試●易用性測(cè)試:用紙杯盛放開水是否燙手、紙杯是否易滑、是否方便飲用?!窦嫒菪詼y(cè)試:用紙杯分別盛放水、酒精、飲料、汽油等,觀察是否有滲漏現(xiàn)象。●可靠性測(cè)試:從不同高度摔下來,觀察紙杯的損壞程度?!窨梢浦残詼y(cè)試:將紙杯放在溫度、濕度等不同的環(huán)境中,查看紙杯是否還能正常使用。多學(xué)一招:紙杯測(cè)試●可維護(hù)性:將紙杯揉捏變形,看其是否能恢復(fù)?!駢毫y(cè)試:用一根針扎在紙杯上不斷增加力量,記錄多大壓強(qiáng)時(shí)能穿透紙杯?!衿跍y(cè)試:用紙杯分別盛放水、汽油放置24小時(shí),觀察其滲漏情況(時(shí)間和程度)?!竦錅y(cè)試:紙杯(加包裝)從高處落下,查看達(dá)到破損的高度。多學(xué)一招:紙杯測(cè)試●震動(dòng)測(cè)試:紙杯(加包裝)六面震動(dòng),評(píng)估它是否能應(yīng)對(duì)惡劣的公路/鐵路/航空運(yùn)輸?shù)??!駵y(cè)試數(shù)據(jù):編寫具體測(cè)試數(shù)據(jù)(略),其中可能會(huì)用到場(chǎng)景法、等價(jià)類劃分法、邊界值分析法等測(cè)試方法?!衿谕敵觯浩谕敵鲂枰殚唶?guó)際標(biāo)準(zhǔn)及用戶的使用需求。多學(xué)一招:紙杯測(cè)試●用戶文檔:使用手冊(cè)是否對(duì)紙杯的用法、使用條件、限制條件等有詳細(xì)描述?!裾f明書測(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)架階段設(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)?!穹峙洌簻y(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軟件缺陷的處理流程●復(fù)測(cè):開發(fā)人員修改好缺陷之后,測(cè)試人員重新進(jìn)行測(cè)試(復(fù)測(cè)),檢測(cè)缺陷是否確實(shí)已經(jīng)修改。如果未被正確修改,則重新提交缺陷?!耜P(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)?!袢毕菀兄噩F(xiàn)步驟。●一個(gè)缺陷生成一份報(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ì)量管理、缺陷管理、文檔管理、組織管理和事務(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è)是用戶在購(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è)試階段分類●單元測(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è)試?!窦蓽y(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è)試的分類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è)試人員具有一定的編程能力,而且要熟悉各種腳本語言。但是在軟件公司里,黑盒測(cè)試與白盒測(cè)試并不是界限分明的,在測(cè)試一款軟件時(shí)往往是黑盒測(cè)試與白盒測(cè)試相結(jié)合對(duì)軟件進(jìn)行完整全面的測(cè)試。1.3.3軟件測(cè)試的分類3、按照軟件質(zhì)量特性分類●功能測(cè)試:測(cè)試軟件的功能是否滿足客戶的需求,包括準(zhǔn)確性、易用性、適合性、互操作性等?!裥阅軠y(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è)試代碼或流程寫成腳本,執(zhí)行腳本完成整個(gè)測(cè)試工作。1.3.3軟件測(cè)試的分類5、按照測(cè)試項(xiàng)目分類●界面類測(cè)試:驗(yàn)證軟件界面是否符合客戶需求?!癜踩詼y(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è)試過程是可控的?!瘭聹y(cè)試:軟件上線之后進(jìn)行的版本測(cè)試。由用戶在使用過程中發(fā)現(xiàn)錯(cuò)誤與問題并進(jìn)行記錄,然后反饋給開發(fā)人員進(jìn)行修復(fù)。1.3.3軟件測(cè)試的分類6、其他分類●回歸測(cè)試:對(duì)修改后的程序重新進(jìn)行測(cè)試確認(rèn)原有的缺陷已經(jīng)消除并且沒有引入新的缺陷,這個(gè)重新測(cè)試的過程就叫作回歸測(cè)試?!耠S機(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ì)劃?!窀乓O(shè)計(jì)與詳細(xì)設(shè)計(jì)階段:制定單元測(cè)試計(jì)劃和集成測(cè)試計(jì)劃?!窬幋a階段:開發(fā)相應(yīng)的測(cè)試代碼和測(cè)試腳本?!駵y(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è)試范圍不僅包括程序,還包括需求分析、軟件設(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)行的相互分離的編碼和測(cè)試,保證了測(cè)試效果。增加了探索測(cè)試,可以幫助測(cè)試人員發(fā)現(xiàn)計(jì)劃之外的軟件錯(cuò)誤。缺點(diǎn):頻繁的集成會(huì)增加測(cè)試成本;探索測(cè)試對(duì)測(cè)試人員要求更高。1.5軟件測(cè)試原則●測(cè)試應(yīng)基于客戶需求?!駵y(cè)試要盡早進(jìn)行。●窮盡測(cè)試是不可能的?!褡裱璆oodEnough原則?!駵y(cè)試缺陷要符合“二八”定理?!癖苊馊毕菝庖摺y(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)行測(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è)試原則遵循GoodEnough原則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)某些模塊比其他模塊具有更多的缺陷,則要投入更多的人力、精力重點(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è)計(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)境,包括軟硬件環(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í)。注意1.6.1軟件測(cè)試流程(2)制定測(cè)試計(jì)劃測(cè)試計(jì)劃一般要做好以下工作安排?!翊_定測(cè)試范圍:明確哪些對(duì)象是需要測(cè)試的,哪些對(duì)象不是需要測(cè)試的?!裰贫y(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è)試工作之間預(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è)試用例(TestCase)指的是一套詳細(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è)試人員要密切跟蹤測(cè)試過程,記錄缺陷、形成報(bào)告等,這一階段是測(cè)試人員最重要的工作階段。1.6.1軟件測(cè)試流程(5)編寫測(cè)試報(bào)告一份完整的測(cè)試報(bào)告必須要包含以下幾個(gè)要點(diǎn)?!褚裕簻y(cè)試報(bào)告編寫目的、報(bào)告中出現(xiàn)的專業(yè)術(shù)語解釋及參考資料等。●測(cè)試概要:介紹項(xiàng)目背景、測(cè)試時(shí)間、測(cè)試地點(diǎn)及測(cè)試人員等信息?!駵y(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)生的原因給出規(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è)試范圍?!駵y(cè)試項(xiàng)目通過基本的冒煙測(cè)試,界面上的功能均已經(jīng)實(shí)現(xiàn),符合設(shè)計(jì)規(guī)定的功能?!癖粶y(cè)試項(xiàng)目的代碼符合軟件編碼規(guī)范并已通過評(píng)審。●開發(fā)人員提交了測(cè)試申請(qǐng)并提供了相應(yīng)的文檔資料。多學(xué)一招:測(cè)試的準(zhǔn)入準(zhǔn)出●測(cè)試項(xiàng)目滿足客戶需求?!袼袦y(cè)試用例都已經(jīng)通過評(píng)審并成功執(zhí)行?!駵y(cè)試覆蓋率已經(jīng)達(dá)到要求?!袼邪l(fā)現(xiàn)的缺陷都記錄在缺陷管理系統(tǒng)?!褚欢?jí)錯(cuò)誤修復(fù)率達(dá)到100%。●三四級(jí)錯(cuò)誤修復(fù)率達(dá)到了95%?!袼羞z留問題都已經(jīng)有解決方案?!駵y(cè)試項(xiàng)目的功能、性能、安全性等都滿足要求?!裢瓿上到y(tǒng)測(cè)試總結(jié)報(bào)告。測(cè)試準(zhǔn)出標(biāo)準(zhǔn)如下:多學(xué)一招:測(cè)試的準(zhǔn)入準(zhǔn)出測(cè)試中需要暫停的情況包括以下幾種?!駵y(cè)試人員進(jìn)行冒煙測(cè)試時(shí)發(fā)現(xiàn)重大缺陷,導(dǎo)致測(cè)試無法正常進(jìn)行,需要暫停并返回開發(fā)?!駵y(cè)試人員進(jìn)行冒煙測(cè)試時(shí)發(fā)現(xiàn)bug過多可以申請(qǐng)暫停測(cè)試,返回開發(fā)?!駵y(cè)試項(xiàng)目需要更新調(diào)整而暫停,測(cè)試工作也要相應(yīng)暫停?!袢绻麥y(cè)試人員有其他優(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)容:●掃描二維碼開鎖?!褫斎胲囕v編號(hào)開鎖。●調(diào)取手機(jī)手電筒。1.6.2摩拜單車App開鎖用車功能測(cè)試流程(2)制定測(cè)試計(jì)劃軟件版本摩拜單車App8.10.0版本模塊開鎖用車負(fù)責(zé)人測(cè)試組長(zhǎng)測(cè)試人員測(cè)試員1、測(cè)試員2測(cè)試時(shí)間2019.3.1~2019.3.3測(cè)試用例001~012回歸測(cè)試2019.4.10~2019.4.131.6.2摩拜單車App開鎖用車功能測(cè)試流程(2)設(shè)計(jì)測(cè)試用例●白天:掃碼開鎖?!癜滋欤菏謩?dòng)輸入車輛編號(hào)開鎖?!裢砩希簰叽a+手電筒開鎖?!裢砩希菏謩?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)行的訂單,也沒有未支付的訂單白天手動(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開鎖有未支付的訂單晚上掃碼無法開啟手電筒,提示支付未支付訂單才能解鎖

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í),無法啟動(dòng)手電筒,導(dǎo)致掃碼不成功而無法完成開鎖功能。1.6.2摩拜單車App開鎖用車功能測(cè)試流程附件(可附圖)附圖1(鏈接)缺陷類型功能類型缺陷缺陷嚴(yán)重程度嚴(yán)重缺陷優(yōu)先級(jí)立即解決測(cè)試環(huán)境手機(jī)信息:華為honorAAL-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è)試管理工具中編寫。在測(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à)類劃分法·邊界值分析法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)如果程序要求輸入值是一個(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à)表。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)?!裨O(shè)計(jì)有效等價(jià)類的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,直到測(cè)試用例覆蓋了所有的有效等價(jià)類。●設(shè)計(jì)無效等價(jià)類的測(cè)試用例,使其覆蓋所有的無效等價(jià)類。2.1.2實(shí)例:三角形問題的等價(jià)類劃分三角形問題是測(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ù)?!駸o效等價(jià)類:輸入0個(gè)數(shù)?!駸o效等價(jià)類:只輸入1個(gè)數(shù)。●無效等價(jià)類:只輸入2個(gè)數(shù)?!駸o效等價(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ù)?!駸o效等價(jià)類:有一個(gè)數(shù)小于等于0?!駸o效等價(jià)類:有兩個(gè)數(shù)小于等于0?!駸o效等價(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+b>c、a+c>b、b+c>a?!駸o效等價(jià)類:其中兩個(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à)類?!裼行У葍r(jià)類:其中有兩個(gè)數(shù)相等,a=b|a=c|b=c?!駸o效等價(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只輸入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=c12

3個(gè)數(shù)是否能構(gòu)成等邊三角形構(gòu)成等邊三角形:a=b=c13

2.1.2實(shí)例:三角形問題的等價(jià)類劃分覆蓋有效等價(jià)類的測(cè)試用例表測(cè)試用例輸入3個(gè)數(shù)覆蓋有效等價(jià)類的編號(hào)test112316test23451610test3668161012test4666161012132.1.2實(shí)例:三角形問題的等價(jià)類劃分覆蓋無效等價(jià)類的測(cè)試用例表測(cè)試用例輸入3個(gè)數(shù)覆蓋無效等價(jià)類的編號(hào)test5-1-1-19test6-1-157test7-1458test8輸入0個(gè)數(shù)據(jù)2test913test10124test1113411test12123452.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)金額<=10000。●無效等價(jià)類:提現(xiàn)金額<=0?!駸o效等價(jià)類:提現(xiàn)金額>10000。2.1.3實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分如果選擇普通到賬,則可將提現(xiàn)功能劃分為1個(gè)有效等價(jià)類與2個(gè)無效等價(jià)類:●有效等價(jià)類:0<提現(xiàn)金額<=余額?!駸o效等價(jià)類:提現(xiàn)金額<=0。●無效等價(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)金額<=02提現(xiàn)金額>100003普通到賬0<提現(xiàn)金額<=余額4提現(xiàn)金額<=05提現(xiàn)金額>余額62.1.3實(shí)例:余額寶提現(xiàn)的等價(jià)類劃分注意快速到賬可以累積分次提?。嚎焖俚劫~的日提現(xiàn)金額為10000,表明在一天之內(nèi),只要提現(xiàn)金額沒有累積到10000,則可多次提取,據(jù)此,可以將快速到賬細(xì)分為第1次提現(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)金額<=02提現(xiàn)金額>100003快速到賬(第n次)0<提現(xiàn)金額<=10000-已提現(xiàn)金額7提現(xiàn)金額<=08提現(xiàn)金額>10000-已提現(xiàn)金額9普通到賬0<提現(xiàn)金額<=余額4提現(xiàn)金額<=05提現(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實(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.1邊界值分析法概述邊界值的選取有兩種方式:●選取5個(gè)值:最小值、略大于最小值、正常值、略小于最大值、最大值。●選取7個(gè)值:略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、略大于最大值。2.2.1邊界值分析法概述輸入條件規(guī)定取值范圍為1~100,選取5個(gè)值和7個(gè)值的情況如下表:選取方案選取數(shù)據(jù)選取5個(gè)值11.15099.9100選取7個(gè)值0.911.15099.9100100.12.2.2實(shí)例:

三角形問題的邊界值分析如果要求三角形的邊長(zhǎng)取值范圍為1~100,則可以使用邊界值分析法對(duì)三角形邊界邊長(zhǎng)進(jìn)行測(cè)試,在設(shè)計(jì)測(cè)試用例時(shí),分別選取1、2、50、99、100五個(gè)值作為測(cè)試數(shù)據(jù)。2.2.2實(shí)例:

三角形問題的邊界值分析測(cè)試用例輸入3個(gè)數(shù)被測(cè)邊界預(yù)期輸出test1505011等腰三角形test250502等腰三角形test3505050無等邊三角形test4505099100等腰三角形test55050100不構(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)(假設(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í)例:

余額寶提現(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)系,還要考慮輸出情況,因此它包含了復(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因果圖設(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í),性別只能輸入男或女,這兩種輸入不能同時(shí)存在,而且如果輸入性別為女,那么體檢項(xiàng)就會(huì)受到限制。2.3.1因果圖設(shè)計(jì)法這些依賴關(guān)系在軟件測(cè)試中稱為“約束”,約束的類別可分為四種:E(Exclusive,異)、I(atleastone,或)、O(oneandonlyone,唯一)、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?!?/p>

O(唯一):a和b有且僅有一人為1?!?/p>

R(要求):a和b必須保持一致,即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)系。(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)容是否感到糊涂。2.3.2決策表如果回答是肯定的,則使用“Y”標(biāo)記;如果回答是否定的,則使用“N”標(biāo)記。那么這3種情況可以有23=8種組合,針對(duì)這8種組合。閱讀指南給讀者提供了4條建議:●回到本章開頭重讀。●繼續(xù)讀下去?!裉较乱徽氯プx?!裢V归喿x并休息。2.3.2決策表圖書閱讀指南決策表問題與建議12345678問題是否疲倦YYYYNNNN是否對(duì)內(nèi)容感興趣YYNNNYYN對(duì)書中內(nèi)容是否感到糊涂YNNYYYNN建議回到本章開頭重讀

繼續(xù)讀下去

跳到下一章去讀

√停止閱讀并休息√√√√

2.3.2決策表決策表通常由4個(gè)部分組成:●條件樁:列出問題的所有條件,除了某些問題對(duì)條件的先后次序有要求之外,通常決策表中所列條件的先后次序都無關(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ù)的無意義的。例如在“圖書閱讀指南”中,第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è)永盛不衰的經(jīng)典案例,這里我們繼續(xù)使用三角形講解決策表的構(gòu)建與測(cè)試用例的設(shè)計(jì)。三角形的三邊是否能構(gòu)成三角形,如果能構(gòu)成三角形,那么是構(gòu)成一般三角形、等腰三角形還是等邊三角形。2.3.3實(shí)例:三角形決策表據(jù)此分析,三角形問題有4個(gè)原因:原因●是否構(gòu)成三角形●a=b?●b=c?●c=a?結(jié)果●不構(gòu)成三角形●一般三角形●等腰三角形●等邊三角形●不符合邏輯2.3.3實(shí)例:三角形決策表三角形決策表原因與結(jié)果12345678910111213141516原因c1YYYYYYYYNNNNNNNNc2YNYNNYYNYNYYNYNNc3YNNYNYNYYYNYNNYNc4YNNNYNYYYYYNYNNN結(jié)果e1

√√√√√√√√e2

e3

√√√

e4√

e5

√√√

2.3.3實(shí)例:三角形決策表根據(jù)合并規(guī)則,將三角形決策表進(jìn)行簡(jiǎn)化原因與結(jié)果123456789原因c1YYYYYYYYNc2YNYNNYYN-c3YNNYNYNY-c4YNNNYNYY-結(jié)果e1

√e2

e3

√√√

e4√

e5

√√√

2.3.3實(shí)例:三角形決策表三角形測(cè)試用例測(cè)試用例abc預(yù)期結(jié)果test1333等邊三角形test2345一般三角形test3334等腰三角形test4433等腰三角形test5343等腰三角形test6???不符合邏輯test7???不符合邏輯test8???不符合邏輯test9123不構(gòu)成三角形2.3.4實(shí)例:工資發(fā)放決策表某公司的薪資管理制度如下:?jiǎn)T工工資分為年薪制與月薪制兩種,員工的錯(cuò)誤定位包括普通錯(cuò)誤與嚴(yán)重錯(cuò)誤兩種,如果是年薪制的員工,犯普通錯(cuò)誤扣款2%,犯嚴(yán)重錯(cuò)誤扣款4%;如果是月薪制的員工,犯普通錯(cuò)誤扣款4%,犯嚴(yán)重錯(cuò)誤扣款8%。該公司編寫了一款軟件用于員工工資計(jì)算發(fā)放,現(xiàn)在要對(duì)該軟件進(jìn)行測(cè)試。2.3.4實(shí)例:工資發(fā)放決策表對(duì)公司員工工資管理進(jìn)行分析,可得出員工工資由4個(gè)因素決定:年薪、月薪、普通錯(cuò)誤、嚴(yán)重錯(cuò)誤。其中,年薪與月薪不可能同時(shí)并存,但普通錯(cuò)誤與嚴(yán)重錯(cuò)誤可以并存。員工最終扣款結(jié)果有7種:未扣款、扣款2%、扣款4%、扣款6%(2%+4%)、扣款4%、扣款8%、扣款12%(4%+8%)。2.3.4實(shí)例:工資發(fā)放決策表員工工資原因與結(jié)果原因結(jié)果年薪c1未扣款e1月薪c2扣款2%e2扣款4%e3普通錯(cuò)誤c3扣款6%e4扣款4%e5嚴(yán)重錯(cuò)誤c4

扣款8%e6扣款12%e72.3.4實(shí)例:工資發(fā)放決策表有4個(gè)原因,每個(gè)原因有“Y”和“N”兩個(gè)取值,理論上可以組成24=16種規(guī)則,但是c1與c2不能同時(shí)并存,因此有23=8種規(guī)則。原因與結(jié)果12345678原因c1YYYY

c2

YYYYc3NYNYNYNYc4NNYYNNYY結(jié)果e1√

e2

e3

e4

e5

e6

e7

√2.3.4實(shí)例:工資發(fā)放決策表員工工資測(cè)試用例測(cè)試用例薪資制度薪資錯(cuò)誤程度扣款test1年薪制200000無0test2250000普通5000test3300000嚴(yán)重12000test4350000普通+嚴(yán)重21000test5月薪制8000無0test610000普通400test715000嚴(yán)重1200test88000普通+嚴(yán)重9602.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述正交實(shí)驗(yàn)設(shè)計(jì)法(Orthogonalexperimentaldesign)是指從大量的實(shí)驗(yàn)點(diǎn)中挑選出適量的、有代表性的點(diǎn),依據(jù)Glois理論導(dǎo)出“正交表”,從而合理的安排實(shí)驗(yàn)的一種實(shí)驗(yàn)設(shè)計(jì)方法。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述正交實(shí)驗(yàn)設(shè)計(jì)法包含三個(gè)關(guān)鍵因素,具體如下所示?!裰笜?biāo):判斷實(shí)驗(yàn)結(jié)果優(yōu)劣的標(biāo)準(zhǔn)?!褚蜃樱阂蜃右卜Q為因素,是指所有影響實(shí)驗(yàn)指標(biāo)的條件?!褚蜃拥臓顟B(tài):因子的狀態(tài)也叫因子的水平,它指的是因子變量的取值。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述利用正交實(shí)驗(yàn)法設(shè)計(jì)測(cè)試用例的步驟:1、提取因子,構(gòu)造因子狀態(tài)表2、加權(quán)篩選,簡(jiǎn)化因子狀態(tài)表3、構(gòu)建正交表,設(shè)計(jì)測(cè)試用例2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述分析軟件的規(guī)格需求說明得到影響軟件功能的因子,確定因子可以有哪些取值,即確定因子的狀態(tài)。例如,某一軟件的運(yùn)行受到操作系統(tǒng)和數(shù)據(jù)庫的影響,因此影響其運(yùn)行是否成功的因子有操作系統(tǒng)和數(shù)據(jù)庫兩個(gè),而操作系統(tǒng)有Windows、Linux、Mac三個(gè)取值,數(shù)據(jù)庫有MySQL、MongDB、Oracle三個(gè)取值,因此操作系統(tǒng)的因子狀態(tài)為3,數(shù)據(jù)庫因子狀態(tài)為3。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述因子-狀態(tài)表因子因子的狀態(tài)操作系統(tǒng)WindowsLinuxMac數(shù)據(jù)庫MySQLMongoDBOracle2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述在實(shí)際軟件測(cè)試中,軟件的因子及因子的狀態(tài)會(huì)有很多,每個(gè)因子及其狀態(tài)對(duì)軟件的作用也大不相同,如果把這些因子及狀態(tài)都劃分到因子-狀態(tài)表中,最后生成的測(cè)試用例會(huì)相當(dāng)龐大,從而影響軟件測(cè)試的效率。因此需要根據(jù)因子及狀態(tài)的重要程度進(jìn)行加權(quán)篩選,選出重要的因子與狀態(tài),簡(jiǎn)化因子-狀態(tài)表。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述在實(shí)際軟件測(cè)試中,軟件的因子及因子的狀態(tài)會(huì)有很多,每個(gè)因子及其狀態(tài)對(duì)軟件的作用也大不相同,如果把這些因子及狀態(tài)都劃分到因子-狀態(tài)表中,最后生成的測(cè)試用例會(huì)相當(dāng)龐大,從而影響軟件測(cè)試的效率。因此需要根據(jù)因子及狀態(tài)的重要程度進(jìn)行加權(quán)篩選,選出重要的因子與狀態(tài),簡(jiǎn)化因子-狀態(tài)表。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述加權(quán)篩選就是根據(jù)因子或狀態(tài)的重要程度、出現(xiàn)頻率等因素計(jì)算因子和狀態(tài)的權(quán)值,權(quán)值越大,表明因子或狀態(tài)越重要,而權(quán)值越小,表明因子或狀態(tài)的重要性越小。加權(quán)篩選之后,可以去掉一部分權(quán)值較小的因子或狀態(tài),使得最后生成的的測(cè)試用例集縮減到允許的范圍。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述正交表的表示形式為L(zhǎng)n(tc)來表示?!?/p>

L表示正交表?!?/p>

n為正交表的行數(shù),正交表的每一行可以設(shè)計(jì)一個(gè)測(cè)試用例,因此行數(shù)n也表示可以設(shè)計(jì)的測(cè)試用例的數(shù)目?!?/p>

c表示正交實(shí)驗(yàn)的因子數(shù)目,即正交表的列數(shù),因此正交表是一個(gè)n行c列的表。●

t稱為水平數(shù),表示每個(gè)因子能夠取得的最大值,即因子有多少個(gè)狀態(tài)。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述例如L4(23)是最簡(jiǎn)單的正交表,它表示該實(shí)驗(yàn)有3個(gè)因子,每個(gè)因子有兩個(gè)狀態(tài),可以做4次實(shí)驗(yàn),如果用0和1表示每個(gè)因子的兩種狀態(tài),則該正交表就是一個(gè)4行3列的表。

行列12311112100301040012.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述在實(shí)際軟件測(cè)試中,大多數(shù)情況下,軟件有多個(gè)因子,每個(gè)因子的狀態(tài)數(shù)目都不相同,即各列的水平數(shù)不等,這樣的正交表稱為混合正交表,如L8(24×41),這個(gè)正交表表示有4個(gè)因子有2種狀態(tài),有1個(gè)因子有4種狀態(tài)。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述混合正交表往往難以確定測(cè)試用例的數(shù)目,即n的值,這種情況下,讀者可以登錄正交表的一些權(quán)威網(wǎng)站,查詢n值,下面為讀者提供一個(gè)正交表查詢網(wǎng)站:https:///techsup/technote/ts723_Designs.txt。在這里,可以查詢到不同因子數(shù)、不同水平數(shù)的正交表的n值2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述正交表最大的特點(diǎn)是取點(diǎn)均勻分散、齊整可比,每一列中每種數(shù)字出現(xiàn)的次數(shù)都相等,即每種狀態(tài)的取值次數(shù)相等。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述以L4(23)正交表為例:每一列都是取兩個(gè)0和兩個(gè)1;在表2-22中,第1~4列中,0和1的取值個(gè)數(shù)都是4,在第5列中,0、1、2、3的取值個(gè)數(shù)均為2。此外,任意兩列組成的對(duì)數(shù)出現(xiàn)的次數(shù)相等。第1~2列共組成4對(duì)數(shù)據(jù):(1,1)、(1、0)、(0、1)、(0,0),這4對(duì)數(shù)據(jù)各出現(xiàn)一次,其他任意兩列也如此。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述在正交表中,每個(gè)因子的每個(gè)水平與另一個(gè)因子的各水平都“交互”一次,這就是正交性,它保證了實(shí)驗(yàn)點(diǎn)均勻分散在因子與水平的組合之中,因此具有很強(qiáng)的代表性。正交表2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述對(duì)于受多因子多水平影響的軟件,正交實(shí)驗(yàn)法可以高效適量的生成測(cè)試用例,減少測(cè)試工作量,并且利用正交實(shí)驗(yàn)法得到的測(cè)試用例具有一定的覆蓋度,檢錯(cuò)率可達(dá)50%以上。2.4.1正交實(shí)驗(yàn)設(shè)計(jì)法概述正交實(shí)驗(yàn)法雖然好用,但在選擇正交表時(shí)要注意先要確定實(shí)驗(yàn)因子、狀態(tài)及它們之間的交互作用,選擇合適的正交表,同時(shí)還要考慮實(shí)驗(yàn)的精度要求、費(fèi)用、時(shí)長(zhǎng)等因素。注意2.4.2實(shí)例:微信Web頁面運(yùn)行環(huán)境正交實(shí)驗(yàn)設(shè)計(jì)微信是一款手機(jī)App軟件,但它也有web版微信可以登錄,如果要測(cè)試微信web頁面運(yùn)行環(huán)境,需要考慮多種因素,在眾多的因素中,我們可以選出幾個(gè)影響比較大的因素,如服務(wù)器、操作系統(tǒng),插件和瀏覽器。2.4.2實(shí)例:微信Web頁面運(yùn)行環(huán)境正交實(shí)驗(yàn)設(shè)計(jì)對(duì)于選取出的4個(gè)影響因素,每個(gè)因素又有不同的取值,同樣,在每個(gè)因素的多個(gè)值中,可以選出幾個(gè)比較重要的值。●服務(wù)器:IIS、Apache、Jetty。●操作系統(tǒng):Windows7、Windows10、Linux?!癫寮簾o、小程序、微信插件。●瀏覽器:IE11、Chrome、FireFox。2.4.2實(shí)例:微信Web頁面運(yùn)行環(huán)境正交實(shí)驗(yàn)設(shè)計(jì)微信web版運(yùn)行環(huán)境正交實(shí)驗(yàn)中有4個(gè)因子:服務(wù)器、操作系統(tǒng)、插件、瀏覽器,每個(gè)因子又有3個(gè)水平,因此該正交表是一個(gè)4因子3水平正交表。

列12341000020121302124102251110612017201182102922202.4.2實(shí)例:微信Web頁面運(yùn)行環(huán)境正交實(shí)驗(yàn)設(shè)計(jì)將因子、狀態(tài)映射到正交表,可生成具體的測(cè)試用例

列服務(wù)器操作系統(tǒng)插件瀏覽器1IISWindows7無IE112IISWindows10微信插件Chrome3IISLinux小程序FireFox4ApacheWindows7微信插件FireFox5ApacheWindows7小程序IE116ApacheLinux無Chrome7JettyWindows7小程序Chrome8JettyWindows7無FireFox9JettyLinux微信插件IE112.5本章小結(jié)本章主要講解了黑盒測(cè)試常用的技術(shù)方法,包括等價(jià)類劃分法、邊界值分析法、因果圖與決策表法、正交實(shí)驗(yàn)設(shè)計(jì)法,讀者要掌握每種測(cè)試方法的原理與測(cè)試用例的設(shè)計(jì)方法,這對(duì)后續(xù)章節(jié)學(xué)習(xí)實(shí)際軟件項(xiàng)目測(cè)試會(huì)很有幫助。第3章白盒測(cè)試·邏輯覆蓋法·插樁法3.1

溫馨提示

  • 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)論