付費(fèi)下載
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、測(cè)試用例永聯(lián)”正式更名為“中程因業(yè)務(wù)需要,“”,歡迎大家瀏覽新“中程信息產(chǎn)業(yè)培訓(xùn)網(wǎng)”永聯(lián)高級(jí)技術(shù)培訓(xùn)中心()測(cè)試用例(Test Case)是為某個(gè)特殊目標(biāo)而編制的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測(cè)試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。測(cè)試用例(Test Case)目前沒(méi)有經(jīng)典的定義。比較通常的說(shuō)法是:指對(duì)一項(xiàng)特定的產(chǎn)品進(jìn)試任務(wù)的描述,體現(xiàn)測(cè)試方案、方法、技術(shù)和策略。內(nèi)容包括測(cè)試目標(biāo)、測(cè)試環(huán)境、輸入數(shù)據(jù)、測(cè)試步驟、預(yù)期結(jié)果、測(cè)試文檔。等,并形成不同類別的,測(cè)試用例是不同的。不同于諸如系統(tǒng)、工具、控制、,管理的用戶需求更加不,變化更大、更快。筆者主要從事企業(yè)管理的測(cè)試。因此的做法是把測(cè)
2、試數(shù)據(jù)和測(cè)試從測(cè)試用例中劃分出來(lái)。測(cè)試用例更趨于是針對(duì)產(chǎn)品的功能、業(yè)務(wù)規(guī)則和業(yè)務(wù)處理所設(shè)計(jì)的測(cè)試方案。對(duì)的每個(gè)特定功能或運(yùn)行操作路徑的測(cè)試了一個(gè)個(gè)測(cè)試用例。隨著中國(guó)業(yè)的日益壯大和逐步成熟,測(cè)試也在不斷發(fā)展。從最初的由編程測(cè)試到公司組建獨(dú)立專職測(cè)試部門(mén)。測(cè)試工作也從簡(jiǎn)單測(cè)試演變?yōu)榘ǎ壕幹茰y(cè)試計(jì)劃、編寫(xiě)測(cè)試用例、準(zhǔn)備測(cè)試數(shù)據(jù)、編寫(xiě)測(cè)試、實(shí)施測(cè)試、測(cè)試評(píng)估等多項(xiàng)內(nèi)容的正規(guī)測(cè)試。測(cè)試方式則由單純手工測(cè)試發(fā)展為手工、自動(dòng)兼之,并有向第專業(yè)測(cè)試公司發(fā)展的趨勢(shì)。要使最終用戶對(duì)感到滿意,最有力的舉措就是對(duì)最終用戶的期望加以明確闡述,以便對(duì)這些期望進(jìn)行核實(shí)并確認(rèn)其有效性。測(cè)試用例反映了要核實(shí)的需求。然而,核實(shí)
3、這些需求可能通過(guò)不同的方式并由不同的測(cè)試員來(lái)實(shí)施。例如,執(zhí)行以便驗(yàn)證它的功能和性能,這項(xiàng)操作可能由某個(gè)測(cè)試員采用自動(dòng)測(cè)試技術(shù)來(lái)實(shí)現(xiàn);計(jì)算機(jī)系統(tǒng)的關(guān)機(jī)步驟可通過(guò)手工測(cè)試和觀察來(lái)完成;不過(guò),市場(chǎng)占有率和銷(xiāo)售數(shù)據(jù)(以及產(chǎn)品需求),只能通過(guò)評(píng)測(cè)產(chǎn)品和競(jìng)爭(zhēng)銷(xiāo)售數(shù)據(jù)來(lái)完成。既然可能無(wú)法(或不必負(fù)責(zé))核實(shí)所有的需求,那么是否能為測(cè)試挑選最適合或最關(guān)鍵的需求則關(guān)系到項(xiàng)目的成敗。選中要核實(shí)的需求將是對(duì)成本、風(fēng)險(xiǎn)和對(duì)該需求進(jìn)行核實(shí)的必要性這三者權(quán)衡考慮的結(jié)果。確定測(cè)試用例之所以很重要,原因有以下幾方面。測(cè)試用例了設(shè)計(jì)和制定測(cè)試過(guò)程的基礎(chǔ)。測(cè)試的“深度”與測(cè)試用例的數(shù)量成比例。由于每個(gè)測(cè)試用例反映不同的場(chǎng)景、條件或
4、經(jīng)由產(chǎn)品的事件流,因而,隨著測(cè)試用例數(shù)量的增加,您對(duì)產(chǎn)品質(zhì)量和測(cè)試流程也就越有信心。判斷測(cè)試是否完全的一個(gè)主要評(píng)測(cè)方法是基于需求的覆蓋,而這又是以確定、實(shí)施和/或執(zhí)行的測(cè)試用例的數(shù)量為依據(jù)的。類似下面這樣的說(shuō)明:“95 % 的關(guān)鍵測(cè)試用例已得以執(zhí)行和驗(yàn)證”,遠(yuǎn)比“已完成 95 % 的測(cè)試”更有意義。測(cè)試工作量與測(cè)試用例的數(shù)量成比例。根據(jù)全面且細(xì)化的測(cè)試用例,可以更準(zhǔn)確地估計(jì)測(cè)試周期各連續(xù)階段的時(shí)間安排。測(cè)試設(shè)計(jì)和開(kāi)發(fā)的類型以及所需的資源主要都受控于測(cè)試用例。測(cè)試用例通常根據(jù)它們所關(guān)聯(lián)關(guān)系的測(cè)試類型或測(cè)試需求來(lái)分類,而且將隨類型和需求進(jìn)行相應(yīng)地改變。最佳方案是為每個(gè)測(cè)試需求至少編制兩個(gè)測(cè)試用例:
5、一個(gè)測(cè)試用例用于證明該需求已經(jīng)滿足,通常稱作正面測(cè)試用例;另一個(gè)測(cè)試用例反映某個(gè)無(wú)法接受、反?;蛞馔獾臈l件或數(shù)據(jù),用于論證只有在所需條件下才能夠滿足該需求,這個(gè)測(cè)試用例稱作測(cè)試用例。一、測(cè)試用例是測(cè)試的測(cè)試的重要性是毋庸置疑的。但如何以最少的人力、資源投入,在最短的時(shí)間內(nèi)完成測(cè)試,發(fā)現(xiàn)系統(tǒng)的缺陷,保證的優(yōu)良品質(zhì),則是公司探索和追求的目標(biāo)。每個(gè)產(chǎn)品或開(kāi)發(fā)項(xiàng)目都需要有一套優(yōu)秀的測(cè)試方案和測(cè)試方法。影響測(cè)試的很多,例如本身的復(fù)雜程度、開(kāi)發(fā)(包括分析、設(shè)計(jì)、編程和測(cè)試的)的素質(zhì)、測(cè)試方法和技術(shù)的運(yùn)用等等。因?yàn)橛行┦强陀^存在的,無(wú)法避免。有些則是波動(dòng)的、不穩(wěn)定的,例如開(kāi)發(fā)隊(duì)伍是的,有經(jīng)驗(yàn)的走了,新人不斷
6、補(bǔ)充進(jìn)來(lái);一個(gè)具體的人工作也受情緒等影響,等等。如何保障測(cè)試質(zhì)量的穩(wěn)定?有了測(cè)試用例,無(wú)論是測(cè)試,參照測(cè)試用例實(shí)施,都能保障測(cè)試的質(zhì)量??梢园讶藶榈臏y(cè)試用例考慮不周全,隨著測(cè)試的進(jìn)行和的影響減少到最小。即便最初版本更新,也將日趨完善。因此測(cè)試用例的設(shè)計(jì)和編制是測(cè)試活動(dòng)中最重要的。測(cè)試用例是測(cè)試工作的指導(dǎo),是測(cè)試的必須遵守的準(zhǔn)則。更是測(cè)試質(zhì)量穩(wěn)定的根本保障。二、編制測(cè)試用例著重介紹一些編制測(cè)試用例的具體做法。1、測(cè)試用例文檔編寫(xiě)測(cè)試用例文檔應(yīng)有文檔模板,須符合的規(guī)范要求。測(cè)試用例文檔將受制于測(cè)試用例管理的約束。產(chǎn)品或開(kāi)發(fā)項(xiàng)目的測(cè)試用例一般以該產(chǎn)品的模塊或子系統(tǒng)為,形成一個(gè)測(cè)試用例文檔,但并不是。
7、測(cè)試用例文檔由簡(jiǎn)介和測(cè)試用例兩部分組成。簡(jiǎn)介部分編制了測(cè)試目的、測(cè)試范圍、定義術(shù)語(yǔ)、參考文檔、概述等。測(cè)試用例部分逐一列示各測(cè)試用例。每個(gè)具體測(cè)試用例都將包括下列詳細(xì)信息:用例、用例名稱、測(cè)試等級(jí)、準(zhǔn)則、驗(yàn)證步驟、期望結(jié)果(含判斷標(biāo)準(zhǔn))、出口準(zhǔn)則、注釋等。以上內(nèi)容涵蓋了測(cè)試 用例的基本元素:測(cè)試索引,測(cè)試環(huán)境,測(cè)試輸入,測(cè)試操作,預(yù)期結(jié)果,評(píng)價(jià)標(biāo)準(zhǔn)。2、測(cè)試用例的設(shè)置早期的測(cè)試用例是按功能設(shè)置用例。后來(lái)引進(jìn)了路徑分析法,按路徑設(shè)置用例。目前演變?yōu)榘垂δ?、路徑混合模式設(shè)置用例。按功能測(cè)試是最簡(jiǎn)捷的,按用例規(guī)約遍歷測(cè)試每能。對(duì)于復(fù)雜操作的程序模塊,其各功能的實(shí)施是相互影響、緊密相關(guān)、環(huán)環(huán)相扣的,可
8、以演變出數(shù)量繁多的變化。沒(méi)有嚴(yán)密的邏輯分析,產(chǎn)生遺漏是在所難免。路徑分析是一個(gè)很好的方法,其最大的優(yōu)點(diǎn)是在于可以避免漏測(cè)試。但路徑分析法也有局限性。在一個(gè)非常簡(jiǎn)單字典模塊就存在十余條路徑。一個(gè)復(fù)雜的模塊會(huì)有幾十到上百條路徑是為奇的。筆者以為這是路徑分析比較合適的使用規(guī)模。若一個(gè)子系統(tǒng)有十余個(gè)或的模塊,這些模塊相互有關(guān)聯(lián)。再采用路徑分析法,其路徑數(shù)量成幾何級(jí)增長(zhǎng),達(dá) 5 位數(shù)或,就無(wú)法使用了。那么子系統(tǒng)模塊間的測(cè)試路徑或測(cè)試用例還是要靠傳統(tǒng)方法來(lái)解決。這是按功能、路徑混合模式設(shè)置用例的由來(lái)。3、設(shè)計(jì)測(cè)試用例測(cè)試用例可以分為基本事件、備選事件和異常事件。設(shè)計(jì)基本事件的用例,應(yīng)該參照用例規(guī)約(或設(shè)計(jì)
9、規(guī)格說(shuō)明書(shū)),根據(jù)關(guān)聯(lián)的功能、操作按路徑分析法設(shè)計(jì)測(cè)試用例。而對(duì)孤立的功能則直接按功能設(shè)計(jì)測(cè)試用例?;臼录臏y(cè)試用例應(yīng)包含所有需要實(shí)現(xiàn)的需求功能,覆蓋率達(dá) 100%。設(shè)計(jì)備選事件和異常事件的用例,則要復(fù)雜和得多。例如,字典的代碼是唯一的,不允許重復(fù)。測(cè)試需要驗(yàn)證:字典新增程序中已存在有關(guān)字典代碼的約束,若出現(xiàn)代碼重復(fù)必須報(bào)錯(cuò),并且報(bào)錯(cuò)文字正確。往往在設(shè)計(jì)編碼階段形成的文檔對(duì)備選事件和異常事件分析描述不夠詳盡。而測(cè)試本身則要求驗(yàn)證全部非基本事件,并同時(shí)盡量發(fā)現(xiàn)其中的缺陷??梢圆捎脺y(cè)試常用的基本方法:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法、邏輯覆蓋法等設(shè)計(jì)測(cè)試用例。視的不同性質(zhì)采用不同
10、的方法。如何靈活運(yùn)用各種基本方法來(lái)設(shè)計(jì)完整的測(cè)試用例,并最終實(shí)現(xiàn)隱藏的缺陷,全憑測(cè)試設(shè)計(jì)的豐富經(jīng)驗(yàn)和精心設(shè)計(jì)。三、測(cè)試用例在測(cè)試中的作用1、指導(dǎo)測(cè)試的實(shí)施測(cè)試用例主要適用于集成測(cè)試、系統(tǒng)測(cè)試和回歸測(cè)試。在實(shí)施測(cè)試時(shí)測(cè)試用例作為測(cè)試的標(biāo)準(zhǔn),測(cè)試 施測(cè)試。并對(duì)測(cè)試情況一定要按照測(cè)試用例嚴(yán)格按用例項(xiàng)目和測(cè)試步驟逐一實(shí)在測(cè)試用例管理中,以便自動(dòng)生成文檔。根據(jù)測(cè)試用例的測(cè)試等級(jí),集成測(cè)試應(yīng)測(cè)試那些用例,系統(tǒng)測(cè)試和回歸測(cè)試又該測(cè)試那些用例,在設(shè)計(jì)測(cè)試用例時(shí)都已作明確規(guī)定,實(shí)施測(cè)試時(shí)測(cè)試意作變動(dòng)。不能隨2、規(guī)劃測(cè)試數(shù)據(jù)的準(zhǔn)備在的實(shí)踐中測(cè)試數(shù)據(jù)是與測(cè)試用例分離的。按照測(cè)試用例配套準(zhǔn)備一組或若干組測(cè)試原始數(shù)據(jù),
11、以及標(biāo)準(zhǔn)。尤其象測(cè)試報(bào)表之類數(shù)據(jù)集的正確性,按照測(cè)試用例規(guī)劃準(zhǔn)備測(cè)試數(shù)據(jù)是十分必須的。除正常數(shù)據(jù)之外,還必須根據(jù)測(cè)試用例設(shè)計(jì)大量邊緣數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)。3、編寫(xiě)測(cè)試的設(shè)計(jì)規(guī)格說(shuō)明書(shū)為提高測(cè)試效率,測(cè)試已大力發(fā)展自動(dòng)測(cè)試。自動(dòng)測(cè)試的中心任務(wù)是編寫(xiě)測(cè)試。如果說(shuō)工程中編程必須有設(shè)計(jì)規(guī)格說(shuō)明書(shū),那么測(cè)試的設(shè)計(jì)規(guī)格說(shuō)明書(shū)就是測(cè)試用例。4、評(píng)估的度量基準(zhǔn)完成測(cè)試實(shí)施后需要對(duì)進(jìn)行評(píng)估,并且編制測(cè)試。判斷測(cè)試是否完成、衡量測(cè)試質(zhì)量需要一些量化的結(jié)果。例:測(cè)試覆蓋率是多少、測(cè)試合格率是多少、重要測(cè)試是多少,等等。以前統(tǒng)計(jì)基準(zhǔn)是模塊或功能點(diǎn),顯得過(guò)于粗糙。采用測(cè)試用例作度量基準(zhǔn)更加準(zhǔn)確、有效。5、分析缺陷的標(biāo)準(zhǔn)通過(guò)收
12、集缺陷,對(duì)比測(cè)試用例和缺陷數(shù)據(jù)庫(kù),分析確證是漏測(cè)還是缺陷復(fù)現(xiàn)。漏測(cè)反映了測(cè)試用例的不完善,應(yīng)立即補(bǔ)充相應(yīng)測(cè)試用例,最終達(dá)到逐步完善質(zhì)量。而已有相應(yīng)測(cè)試用例,則反映實(shí)施測(cè)試或變更處理存在問(wèn)題。四、相關(guān)問(wèn)題1、測(cè)試用例的評(píng)審測(cè)試用例是測(cè)試的準(zhǔn)則,但它并不是一經(jīng)編制完成就成為準(zhǔn)則。測(cè)試用例在設(shè)計(jì)編制過(guò)程中要組織同級(jí)互查。完成編制后應(yīng)組織評(píng)審,需獲得通過(guò)才可以使用。評(píng)審可由項(xiàng)目、測(cè)試、編程、分析設(shè)計(jì)等有關(guān)組成,也可邀請(qǐng)客戶代表參加。2、測(cè)試用例的修改更新測(cè)試用例在形成文檔后也還需要不斷完善。主要來(lái)自面的緣故:第一、在測(cè)試過(guò)程中發(fā)現(xiàn)設(shè)計(jì)測(cè)試用例時(shí)考慮不周,需饋的缺陷,而缺陷又是因測(cè)試用例存在;第二、在造
13、成;第三、交付使用后反自身的新增功能以及版本的更新,測(cè)試用例也必須配套修改更新。一般小的修改完善可在原測(cè)試用例文檔上修改,但文檔要有更改本升級(jí)更新,測(cè)試用例一般也應(yīng)隨之編制升級(jí)更新版本。的版3、測(cè)試用例的管理運(yùn)用測(cè)試用例還需配備測(cè)試用例管理。它的主要功能有三個(gè):第一、能將測(cè)試用例文檔的關(guān)鍵內(nèi)容,如、名稱等等自動(dòng)導(dǎo)入管理數(shù)據(jù)庫(kù),形成與測(cè)試用例文檔完全對(duì)應(yīng)的實(shí)現(xiàn)自動(dòng)生成;第二、可供測(cè)試實(shí)施時(shí)及時(shí)輸入測(cè)試情況;第三、最終文檔,包含各測(cè)試度量值,測(cè)試覆蓋表和測(cè)試通過(guò)或不通過(guò)的測(cè)試用例列表。有了管理,測(cè)試無(wú)論是編寫(xiě)的測(cè)試工作日志、還是出測(cè)試,都會(huì)變得輕而易舉。五、測(cè)試用例的設(shè)計(jì)(一)白盒技術(shù)白盒測(cè)試是結(jié)
14、構(gòu)測(cè)試,所以被測(cè)對(duì)象基本上是源程序,以程序的設(shè)計(jì)測(cè)試用例。1、邏輯覆蓋邏輯為基礎(chǔ)程序的邏輯覆蓋程度,當(dāng)程序中有循環(huán)時(shí),覆蓋每條路徑是不可能的,要設(shè)計(jì)使覆蓋程度較高的或覆蓋最有代表性的路徑的測(cè)試用例。下面根據(jù)圖 7-1 所示的程序,分別(1)語(yǔ)句覆蓋。幾種常用的覆蓋技術(shù)。為了個(gè)提高發(fā)現(xiàn)錯(cuò)誤的可能性,在測(cè)試時(shí)應(yīng)該執(zhí)行到程序中的每一個(gè)語(yǔ)句。語(yǔ)句覆蓋是指設(shè)計(jì)足夠的測(cè)試用例,使被測(cè)試程序中每個(gè)語(yǔ)句至少執(zhí)行一次。如圖 7-1 是一個(gè)被測(cè)試程序流程圖:判定覆蓋。判定覆蓋指設(shè)計(jì)足夠的測(cè)試用例,使得被測(cè)程序中每個(gè)判定表達(dá)式至少獲得一次 “真”值和“假”值,從而使程序的每一個(gè)分支至少都通過(guò)一次,因此判定覆蓋也稱分
15、支覆蓋。條件覆蓋。條件覆蓋是指設(shè)計(jì)足夠的測(cè)試用例,使得判定表達(dá)式中每個(gè)條件的各種可能的值至少出現(xiàn)一次。判定/條件測(cè)試。該覆蓋標(biāo)準(zhǔn)指設(shè)計(jì)足夠的測(cè)試用例,使得判定表達(dá)式的每個(gè)條件的所有可能取值至少出現(xiàn)一次,并使每個(gè)判定表達(dá)式所有可能的結(jié)果也至少出現(xiàn)一次。條件組合覆蓋。條件組合覆蓋是比較強(qiáng)的覆蓋標(biāo)準(zhǔn),它是指設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定表達(dá)式中條件的各種可能的值的組合都至少出現(xiàn)一次。路徑覆蓋。路徑覆蓋是指設(shè)計(jì)足夠的測(cè)試用例,覆蓋被測(cè)程序中所有可能的路徑。在實(shí)際的邏輯覆蓋測(cè)試中,一般以條件組合覆蓋為主設(shè)計(jì)測(cè)試用例,然后再補(bǔ)充部分用例,以達(dá)到路徑覆蓋測(cè)試標(biāo)準(zhǔn)。循環(huán)覆蓋基本路徑測(cè)試(二)黑盒技術(shù)1.等價(jià)
16、類劃分 (1)劃分等價(jià)類。如果某個(gè)輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)。則可確定一個(gè)合理的等價(jià)類 (輸入值或數(shù)在此范圍內(nèi))和兩個(gè)不合理等價(jià)類(輸入值或個(gè)數(shù)小于這個(gè)范圍的最小值或大于這個(gè)范圍的最大值)。如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序?qū)Σ煌妮斎胫底霾煌奶幚恚瑒t每個(gè)允許輸入值是一個(gè)合理等價(jià)類,此處還有一個(gè)不合理等價(jià)類(任何一個(gè)不允許的輸入值)。如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,可確定一個(gè)合理等價(jià)類(符合規(guī)則)和若干個(gè)不合理等價(jià)類(從各種不同角度規(guī)則)。如果已劃分的等價(jià)類中各元素在程序中的處理方式不同,則應(yīng)將此等價(jià)類進(jìn)一步劃分為更小的等價(jià)類。(2)確定測(cè)試用例。為每一個(gè)等價(jià)類。設(shè)計(jì)一個(gè)測(cè)試用例,
17、使其盡可能多地覆蓋尚未被覆蓋過(guò)的合理等價(jià)類。重復(fù)這步,直到所有合理等價(jià)類被測(cè)試用例覆蓋。設(shè)計(jì)一個(gè)測(cè)試用例,使其只覆蓋一個(gè)不合理等價(jià)類。2.邊界值分析使用邊界值分析方法設(shè)計(jì)測(cè)試用例時(shí)一般與等價(jià)類劃分結(jié)合起來(lái)。但它不是從一個(gè)等價(jià)類中任選一個(gè)例子作為代表,而是將測(cè)試邊界情況作為重點(diǎn)目標(biāo),選取正好等于、剛剛大于或剛剛小于邊界值的測(cè)試數(shù)據(jù)。(1)如果輸入條件規(guī)定了值的范圍,可以選擇正好等于邊界值的數(shù)據(jù)作為合理的測(cè)試用例,同時(shí)還要選擇剛好越過(guò)邊界值的數(shù)據(jù)作為不合理的測(cè)試用例。如輸入值的范圍是1,100,可取 0,1,100,101 等值作為測(cè)試數(shù)據(jù)。(2)如果輸入條件了輸入數(shù)據(jù)的個(gè)數(shù),則按最大個(gè)數(shù)、最小個(gè)
18、數(shù)、比最小個(gè)數(shù)少 1、比最大個(gè)數(shù)多 1 等情況分別設(shè)計(jì)測(cè)試用例。如,一個(gè)輸入文件可包括1-255 個(gè),則分別設(shè)計(jì)有 1 個(gè)、255 個(gè),以及 0 個(gè)的輸入文件的測(cè)試用例。(3)對(duì)每個(gè)輸出條件分別按照以上原則(1)或(2)確定輸出值的邊界情況。如,一個(gè)學(xué)生成績(jī)管理系統(tǒng)規(guī)定,只能查詢 95-98 級(jí)大學(xué)生的各科成績(jī),可以設(shè)計(jì)測(cè)試用例,使得查詢范圍內(nèi)的某一屆或四屆學(xué)生的學(xué)生成績(jī),還需設(shè)計(jì)查詢 94 級(jí)、99 級(jí)學(xué)生成績(jī)的測(cè)試用例(不合理輸出等價(jià)類)。由于輸出值的邊界不與輸入值的邊界相對(duì)應(yīng),所以要檢查輸出值的邊界不一定可能,要產(chǎn)生超出輸出值之外的結(jié)果也不一定能做到,但必要時(shí)還需試一試。 (4)如果程序
19、的規(guī)格說(shuō)明給出的輸入或輸出域是個(gè)有序集合(如順序文件、線形表、鏈表等),則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。3.錯(cuò)誤推測(cè)在測(cè)試程序時(shí),人們可能根據(jù)經(jīng)驗(yàn)或推測(cè)程序中可能存在的各種錯(cuò)誤,從而有針對(duì)性地編寫(xiě)檢查這些錯(cuò)誤的測(cè)試用例,這就是錯(cuò)誤推測(cè)法。因果圖等價(jià)類劃分和邊界值方法分析方法都只是孤立地考慮各個(gè)輸入數(shù)據(jù)的測(cè)試功能,而沒(méi)有考慮多個(gè)輸入數(shù)據(jù)的組合引起的錯(cuò)誤。綜合策略每種方法都能設(shè)計(jì)出一組有用例子,用這組例子容易發(fā)現(xiàn)某種類型的錯(cuò)誤,但可能不易發(fā)現(xiàn)另一類型的錯(cuò)誤。因此在實(shí)際測(cè)試中,聯(lián)合使用各種測(cè)試方法,形成綜合策略,通常先用黑盒法設(shè)計(jì)基本的測(cè)試用例,再用白盒法補(bǔ)充一些必要的測(cè)試用例。
20、六、測(cè)試用例設(shè)計(jì)的誤區(qū)(來(lái)源:關(guān)河測(cè)試網(wǎng))能發(fā)現(xiàn)到目前為止沒(méi)有發(fā)現(xiàn)的缺陷的用例是好的用例;首先要,其實(shí)這句話是十分有道理的,但我發(fā)現(xiàn)很多人都曲解了這句話的原意,一心要設(shè)計(jì)出發(fā)現(xiàn)“難于發(fā)現(xiàn)的缺陷”而陷入盲目的片面中去,忘記了測(cè)試的目的所在,這是十分可怕的。我傾向于將測(cè)試用例當(dāng)作一個(gè)集合來(lái)認(rèn)識(shí),對(duì)它的試本身是一種“V&V”的活動(dòng),測(cè)試 需評(píng)價(jià)也只能對(duì)測(cè)試用例的集合來(lái)進(jìn)要保證以下兩點(diǎn):程序做了它應(yīng)該做的事情 程序沒(méi)有做它不該做的事情因此,作為測(cè)試實(shí)施依據(jù)的測(cè)試用例,必須要能完整覆蓋測(cè)試需求,而不應(yīng)該針對(duì)單個(gè)的測(cè)試用例去評(píng)判好壞。測(cè)試用例應(yīng)該詳細(xì)試;所有的操作信息,使一個(gè)沒(méi)有接觸過(guò)系統(tǒng)的也能進(jìn)不知道國(guó)
21、內(nèi)有沒(méi)有公司真正做到這點(diǎn),或者說(shuō),不知道有國(guó)內(nèi)沒(méi)有公司能夠?qū)⒚總€(gè)測(cè)試用例都寫(xiě)得如此詳細(xì)。在測(cè)試經(jīng)歷中,對(duì)測(cè)試用例描述的詳細(xì)和復(fù)雜程度 也曾有過(guò)很多的彷徨。寫(xiě)得太簡(jiǎn)單吧,除了自己沒(méi)人能夠執(zhí)行,寫(xiě)得太詳細(xì)吧,消耗在測(cè)試用例(別忘了,測(cè)試用例是動(dòng)態(tài)的,一旦測(cè)試環(huán)境、需求、設(shè)計(jì)、實(shí) 現(xiàn)發(fā)生了變化,測(cè)試用例都需要相應(yīng)發(fā)生變化)上的時(shí)間實(shí)在是太驚人,在目前國(guó)內(nèi)大部分公司的測(cè)試資源都的情況下,恐怕很難實(shí)現(xiàn)。但,甚至是測(cè)試工程師本身,我偏偏就能遇到 一些這樣的老總或者是項(xiàng)目全然不顧實(shí)際的資源情況,一定要寫(xiě)出“沒(méi)有接觸過(guò)系統(tǒng)的的用例。也能進(jìn)試”在這個(gè)問(wèn)題之前,可以先考慮一下測(cè)試的目的。測(cè)試的目的是盡可能發(fā)現(xiàn)程序
22、中存在的缺陷,測(cè)試活動(dòng)本身也可以被看作是一個(gè) Project,也需要在 給定的資源條件下盡可能達(dá)成目標(biāo),根據(jù)我個(gè)人的經(jīng)驗(yàn),大部分的國(guó)內(nèi)公司在測(cè)試方面配備的資源都是夠的,因此須在測(cè)試計(jì)劃階段明確測(cè)試的目標(biāo),一切圍繞測(cè)試的目標(biāo)進(jìn)行。除了資源上的約束外,測(cè)試用例的詳細(xì)程度也需要根據(jù)需要確定。如果測(cè)試用例 的執(zhí)行者、測(cè)試用例設(shè)計(jì)者、測(cè)試活動(dòng)相關(guān)人對(duì)系統(tǒng)了解都很深刻,那測(cè)試用例就沒(méi)有必要太詳細(xì)了,文檔的作用本來(lái)就在于溝通,只要能達(dá)到溝通的目的就 OK。在我擔(dān)任測(cè)試經(jīng)理的項(xiàng)目中,在測(cè)試計(jì)劃階段,一般給予測(cè)試設(shè)計(jì) 30% - 40%左右的時(shí)間,測(cè)試設(shè)計(jì)工程師能夠根據(jù)項(xiàng)目的需要自行確定用例的詳細(xì)程度,在測(cè)試用
23、例的評(píng)審階段由參與評(píng)審的相關(guān)人對(duì)其把關(guān)。測(cè)試用例設(shè)計(jì)是一勞永逸的事情;這句話擺在這里,沒(méi)有一個(gè)人會(huì)認(rèn)可,但在實(shí)際情況中,卻經(jīng)常能發(fā)現(xiàn)這種想法的。我曾經(jīng)參與過(guò)一個(gè)項(xiàng)目,需求和設(shè)計(jì)已經(jīng)變更了多次,但測(cè)試用例 卻沒(méi)有任何修改。導(dǎo)致的直接結(jié)果是新加入的測(cè)試工程師在執(zhí)試用例時(shí)不知所措,間接的是測(cè)試用例成了廢紙一堆,開(kāi)發(fā)不屑一顧。在多次被無(wú)效的缺陷打擾 后,對(duì)測(cè)試這個(gè)例子可能有些,但測(cè)試用例與需求和設(shè)計(jì)不同步的情況在實(shí)際開(kāi)發(fā)過(guò)程中確是屢見(jiàn)不鮮的,測(cè)試用例文檔是“活的”文檔,這一點(diǎn)應(yīng)該被測(cè)試工程師牢記。測(cè)試用例不應(yīng)該包含實(shí)際的數(shù)據(jù);測(cè)試用例是“一組輸入、執(zhí)行條件、預(yù)期結(jié)果”、地應(yīng)該包括清晰的輸入數(shù)據(jù)和預(yù)期輸
24、出,沒(méi)有測(cè)試數(shù)據(jù)的用例最多只具有指導(dǎo)性的意義,不具有可執(zhí)行性。當(dāng)然,測(cè)試用例中包含輸入數(shù)據(jù)會(huì)帶來(lái)、與測(cè)試環(huán)境同步之類,關(guān)于這一點(diǎn),Effective Software Test一書(shū)中提供了詳細(xì)的測(cè)試用例、測(cè)試數(shù)據(jù)的方法,可以參考。測(cè)試用例中不需要明顯的驗(yàn)證;我見(jiàn)過(guò)很多測(cè)試工程師編寫(xiě)的測(cè)試用例中,“預(yù)期輸出”僅描述為程序的可見(jiàn)行 為,其實(shí),“預(yù)期結(jié)果”的含義并不只是程序的可見(jiàn)行為。例如,對(duì)一個(gè)訂貨系統(tǒng),輸入訂貨數(shù)據(jù),點(diǎn)擊“確定”按鈕后,系統(tǒng)提示“訂貨成功”,這樣是不是一個(gè)完整的用例呢?是不是系統(tǒng)輸出的“訂貨成功”就應(yīng)該作為唯一的驗(yàn)證呢?顯然不是。訂貨是否成功還需要查看相應(yīng)的數(shù)據(jù)是否更新,因此,在
25、這樣的:在數(shù)據(jù)庫(kù)中執(zhí)行查詢語(yǔ)一個(gè)用例中,還應(yīng)該包含對(duì)的顯式的驗(yàn)證句進(jìn)行查詢,看查詢結(jié)果是否與預(yù)期的一致。七、從用例中生成測(cè)試用例用于功能性測(cè)試的測(cè)試用例來(lái)源于測(cè)試目標(biāo)的用例。應(yīng)該為每個(gè)用例場(chǎng)景編制測(cè)試用例。用例場(chǎng)景要通過(guò)描述流經(jīng)用例的路徑來(lái)確定,這個(gè)流經(jīng)過(guò)程要從用例開(kāi)始到結(jié)束遍歷其中所有基本流和備選流。例如,下圖中經(jīng)過(guò)用例的每條不同路徑都反映了基本流和備選流,都用箭頭來(lái)表示?;玖饔弥焙诰€來(lái)表示,是經(jīng)過(guò)用例的最簡(jiǎn)單的路徑。每個(gè)備選流自基本流開(kāi)始,之后,備選流會(huì)在某個(gè)特定條件下執(zhí)行。備選流可能會(huì)重新加入基本流中(備選流 1 和 3),還可能 于另一個(gè)備選流(備選流 2),或者終止用例而不再重新加
26、入某個(gè)流(備選流 2 和 4)。用例的事件流示例遵循上圖中每個(gè)經(jīng)過(guò)用例的可能路徑,可以確定不同的用例場(chǎng)景。從基本流開(kāi)始,再將基本流和備選流結(jié)合起來(lái),可以確定以下用例場(chǎng)景:注:為方便起見(jiàn),場(chǎng)景 5、6 和 8 只描述了備選流 3 指示的循環(huán)執(zhí)行一次的情況。生成每個(gè)場(chǎng)景的測(cè)試用例是通過(guò)確定某個(gè)特定條件來(lái)完成的,這個(gè)特定條件將導(dǎo)致特定用例場(chǎng)景的執(zhí)行。例如,假定上圖描述的用例對(duì)備選流 3 規(guī)定如下:“如果在上述步驟 2輸入提款金額中輸入的量超出當(dāng)前帳戶余額,則出現(xiàn)此事件流。系統(tǒng)將顯示一則警告消息,之后重新加入基本流,再次執(zhí)行上述步驟2輸入提款金額,此時(shí)客戶可以輸入新的提款金額?!睋?jù)此,可以開(kāi)始確定需要
27、用來(lái)執(zhí)行備選流 3 的測(cè)試用例:場(chǎng)景 1基本流場(chǎng)景 2基本流備選流場(chǎng)景基本流備選流備選流場(chǎng)景基本流備選流場(chǎng)景基本流備選流備選流場(chǎng)景基本流備選流備選流 1備選流 2場(chǎng)景 7基本流備選流 4場(chǎng)景 8基本流備選流 3備選流 4注:由于沒(méi)有提供其他信息,以上顯示的測(cè)試用例都非常簡(jiǎn)單。測(cè)試用例很少如此簡(jiǎn)單。測(cè)試用例ID場(chǎng)景條件預(yù)期結(jié)果TC x場(chǎng)景 4步驟 2 - 提款金額 帳戶余額在步驟 2處重新加入基本流TC y場(chǎng)景 4步驟 2 - 提款金額 帳戶余額不執(zhí)行備選流 3,執(zhí)行基本流TC z場(chǎng)景 4步驟 2 - 提款金額 = 帳戶余額不執(zhí)行備選流 3,執(zhí)行基本流下面是一個(gè)由用例生成測(cè)試用例的更符合實(shí)際情況
28、的示例。示例:一臺(tái) ATM 機(jī)器的主角和用例。下表包含了上圖中提款用例的基本流和某些備用流:本用例的開(kāi)端是 ATM 處于準(zhǔn)備就緒狀態(tài)。準(zhǔn)備提款 - 客戶將ATM 機(jī)的讀卡機(jī)。驗(yàn)證- ATM 機(jī)從的中帳戶代碼,并檢查它是否屬于可以接收的輸入 PIN - ATM 要求客戶輸入 PIN 碼(4 位)驗(yàn)證帳戶代碼和 PIN - 驗(yàn)證帳戶代碼和 PIN 以確定該帳戶是否有效以及所輸入的 PIN 對(duì)該帳戶來(lái)說(shuō)是否正確。對(duì)于此事件流,帳戶是有效的而且 PIN 對(duì)此帳戶來(lái)說(shuō)正確無(wú)誤。ATM 選項(xiàng) - ATM 顯示在本機(jī)上可用的各種選項(xiàng)。在此事件流中,客戶通常選擇“提款”。輸入金額 - 要從 ATM 中提取的金
29、額。對(duì)于此事件流,客戶需選擇預(yù)設(shè)的金額(10、20、50或 100)。- ATM 通過(guò)將卡 ID、PIN、金額以及帳戶信息作為一筆交易發(fā)送給系統(tǒng)來(lái)啟動(dòng)驗(yàn)證過(guò)程。對(duì)于此事件流,系統(tǒng)處于聯(lián)機(jī)狀態(tài),而且對(duì)請(qǐng)求給予答復(fù),批準(zhǔn)完成提款過(guò)程,并且據(jù)此更新帳戶余額。出鈔 - 提供現(xiàn)金。返回-被返還。收據(jù) - 打印收據(jù)并提供給客戶。ATM 還相應(yīng)地更新內(nèi)部。用例結(jié)束時(shí) ATM 又回到準(zhǔn)備就緒狀態(tài)。備選流 1 -無(wú)效在基本流步驟 2 中 - 驗(yàn)證,如果卡是無(wú)效的,則卡被退回,同時(shí)會(huì)通知相關(guān)消息。備選流 2 - ATM 內(nèi)沒(méi)有現(xiàn)金在基本流步驟 5 中 - ATM 選項(xiàng),如果 ATM 內(nèi)沒(méi)有現(xiàn)金,則“提款”選項(xiàng)將無(wú)
30、法使用。備選流 3 - ATM 內(nèi)現(xiàn)金在基本流步驟 6 中- 輸入金額,如果 ATM 機(jī)內(nèi)金額少于請(qǐng)求提取的金額,則將顯示一則適當(dāng)?shù)南ⅲ⑶以诓襟E 6 - 輸入金額處重新加入基本流。備選流 4 - PIN 有誤在基本流步驟 4 中- 驗(yàn)證帳戶和 PIN,客戶有三次機(jī)會(huì)輸入 PIN。如果 PIN 輸入有誤,ATM 將顯示適當(dāng)?shù)南ⅲ蝗绻€存在輸入機(jī)會(huì),則此事件流在步驟 3 - 輸入 PIN 處重新加入基本流。如果最后一次嘗試輸入的 PIN 碼仍然錯(cuò)誤,則該卡將被 ATM機(jī)保留,同時(shí) ATM 返回到準(zhǔn)備就緒狀態(tài),本用例終止。備選流 5 -帳戶不存在在基本流步驟 4 中 - 驗(yàn)證帳戶和 PIN,如
31、果 系統(tǒng)返回的代碼表明找不到該帳戶或 從該帳戶中提款,則 ATM 顯示適當(dāng)?shù)南⒉⑶以诓襟E 9 - 返回 處重新加入基本流。備選流 6 -帳面金額不足在基本流步驟 7 - 中, 系統(tǒng)返回代碼表明帳戶余額少于在基本流步驟 6 - 輸入金額內(nèi)輸入的金額,則 ATM 顯示適當(dāng)?shù)南⒉⑶以诓襟E 6 - 輸入金額處重新加入基本流。備選流 7 -達(dá)到 最大的提款金額在基本流步驟 7 - 中, 系統(tǒng)返回的代碼表明包括本提款請(qǐng)求在內(nèi),客戶已經(jīng)或?qū)⒊^(guò)在 24 小時(shí)內(nèi)允許提取的最多金額,則 ATM 顯示適當(dāng)?shù)南⒉⒃诓襟E 6 - 輸入金額上重新加入基本流。備選流 x -錯(cuò)誤如果在基本流步驟 10 - 收據(jù)中,
32、無(wú)法更新,則 ATM 進(jìn)入 “安全模式”,在此模式下所有功能都將暫停使用。同時(shí)向銀行系統(tǒng)發(fā)送一條適當(dāng)?shù)木瘓?bào)信息表明 ATM 已經(jīng)暫停工作??梢詮倪@個(gè)用例生成下列場(chǎng)景注:為方便起見(jiàn),備選流 3 和入上表。6(場(chǎng)景 3 和 7)內(nèi)的循環(huán)以及循環(huán)組合未納對(duì)于這 7 個(gè)場(chǎng)景中的每一個(gè)場(chǎng)景都需要確定測(cè)試用例??梢圆捎镁仃嚮驔Q策表來(lái)確定和管理測(cè)試用例。下面顯示了一種通用格式,其中各行代表各個(gè)測(cè)試用例,而各列則代表測(cè)試用例的信息。本示例中,對(duì)于每個(gè)測(cè)試用例,存在一個(gè)測(cè)試用場(chǎng)景 1 - 成功的提款基本流場(chǎng)景 2 - ATM 內(nèi)沒(méi)有現(xiàn)金基本流備選流 2場(chǎng)景 3 - ATM 內(nèi)現(xiàn)金基本流備選流 3場(chǎng)景 4 - P
33、IN 有誤(還有輸入機(jī)會(huì))基本流備選流 4場(chǎng)景 5 - PIN 有誤(不再有輸入機(jī)會(huì))基本流備選流 4場(chǎng)景 6 - 帳戶不存在/帳戶類型有誤基本流備選流 5場(chǎng)景 7 - 帳戶余額不足基本流備選流 6備選流 y -退出客戶可隨時(shí)決定終止交易(退出)。交易終止,隨之退出。備選流 z -“”ATM 包含大量的傳感器,用以各種功能,如電源檢測(cè)器、不同的門(mén)和出處的測(cè)壓器以及動(dòng)作檢測(cè)器等。在任一時(shí)刻,如果某個(gè)傳感器被激活,則警報(bào)信號(hào)將發(fā)送給而且 ATM 進(jìn)入“安全模式”,在此模式下所有功能都暫停使用,直到采取適當(dāng)?shù)闹貑?重新初始化的措施。在第一次迭代中,根據(jù)迭代計(jì)劃,需要核實(shí)提款用例已經(jīng)正確地實(shí)施。此時(shí)尚
34、未實(shí)施整個(gè)用例,只實(shí)施了下面的事件流:基本流 - 提取預(yù)設(shè)金額(10、20、50、100 美元)備選流 2 - ATM 內(nèi)沒(méi)有現(xiàn)金備選流 3 - ATM 內(nèi)現(xiàn)金備選流 4 - PIN 有誤備選流 5 - 帳戶不存在/帳戶類型有誤備選流 6 - 帳面金額例 ID、條件(或說(shuō)明)、測(cè)試用例中涉及的所有數(shù)據(jù)元素(作為輸入或已經(jīng)存在于數(shù)據(jù)庫(kù)中)以及預(yù)期結(jié)果。通過(guò)從確定執(zhí)行用例場(chǎng)景所需的數(shù)據(jù)元素入手構(gòu)建矩陣。然后,對(duì)于每個(gè)場(chǎng)景,至少要確定包含執(zhí)行場(chǎng)景所需的適當(dāng)條件的測(cè)試用例。例如,在下面的矩陣中, V(有效)用于表明這個(gè)條件必須是 VALID(有效的)才可執(zhí)行基本流,而 I(無(wú)效)用于表明這種條件下將激
35、活所需備選流。下表中使用的“n/a”(不適用)表明這個(gè)條件不適用于測(cè)試用例。TC(測(cè)試用例) ID號(hào)場(chǎng)景/條件PIN帳號(hào)輸入的金額(或選擇的金額)帳面金額ATM內(nèi)的金額預(yù)期結(jié)果CW1.場(chǎng)景 1 -成功的提款VVVVV成功的提款。CW2.場(chǎng)景 2 - ATM 內(nèi)沒(méi)有現(xiàn)金VVVVII提款選項(xiàng)不可用,用例結(jié)束CW3.場(chǎng)景 3 - ATM 內(nèi)現(xiàn)金VVVV警告消 息,返回基本流步驟 6 - 輸入金額CW4.場(chǎng)景 4 - PIN 有誤(還有不止一次輸入機(jī)會(huì))IIIVn/aVV警告消 息,返回基本流步驟 4,輸入 PINCW5.場(chǎng)景 4 - PIN 有誤(還有一次輸入機(jī)會(huì))Vn/aVV警告消 息,返回基本流
36、步驟 4,輸入 PINCW6.場(chǎng)景 4 - PIN 有誤Vn/aVV警告消 息,卡予在上面的矩陣中,六個(gè)測(cè)試用例執(zhí)行了四個(gè)場(chǎng)景。對(duì)于基本流,上述測(cè)試用例CW1 稱為正面測(cè)試用例。它一直沿著用例的基本流路徑執(zhí)行,未發(fā)生任何偏差。基本流的全面測(cè)試必須包括測(cè)試用例,以確保只有在符合條件的情況下才執(zhí)測(cè)試用例由 CW2 至 6 表示(陰影單元格表明這種條件下行基本流。這些需要執(zhí)行備選流)。雖然 CW2 至 6 對(duì)于基本流而言都是測(cè)試用例,但它們相對(duì)于備選流 2 至 4 而言是正面測(cè)試用例。而且對(duì)于這些備選流中的每一個(gè)而言,至少存在一個(gè)測(cè)試用例(CW1 - 基本流)。測(cè)試用例是不充分的,場(chǎng)景 4 正是這每
37、個(gè)場(chǎng)景只具有一個(gè)正面測(cè)試用例和樣的一個(gè)示例。要全面地測(cè)試場(chǎng)景 4 - PIN 有誤,至少需要三個(gè)正面測(cè)試用例(以激活場(chǎng)景 4):輸入了錯(cuò)誤的 PIN,但仍存在輸入機(jī)會(huì),此備選流重新加入基本流中的步驟 3 - 輸入 PIN。輸入了錯(cuò)誤的 PIN,而且不再有輸入機(jī)會(huì),則此備選流將保留終止用例。最后一次輸入時(shí)輸入了“正確”的 PIN。備選流在步驟 5 - 輸入金額處重新加入基本流。并注:在上面的矩陣中,無(wú)需為條件(數(shù)據(jù))輸入任何實(shí)際的值。以這種方式創(chuàng)建測(cè)試用例矩陣的一個(gè)優(yōu)點(diǎn)在于容易看到測(cè)試的是什么條件。由于只需要查看 V和 I(或此處采用的陰影單元格),這種方式還易于判斷是否已經(jīng)確定了充足的測(cè)試用例
38、。從上表中可發(fā)現(xiàn)存在幾個(gè)條件不具備陰影單元格,這表明測(cè)試用例還不完全,如場(chǎng)景 6 - 不存在的帳戶/帳戶類型有誤和場(chǎng)景 7 - 帳戶余額缺少測(cè)試用例。就一旦確定了所有的測(cè)試用例,則應(yīng)對(duì)這些用例進(jìn)行復(fù)審和驗(yàn)證以確保其準(zhǔn)確且適度,并取消多余或等效的測(cè)試用例。測(cè)試用例一經(jīng)認(rèn)可,就可以確定實(shí)際數(shù)據(jù)值(在測(cè)試用例實(shí)施矩陣中)并且設(shè)定測(cè)試數(shù)據(jù)TC(測(cè)試用例) ID號(hào)場(chǎng)景/條件PIN帳號(hào)輸入的金額(或選擇的金額)帳面金額ATM內(nèi)的金額預(yù)期結(jié)果CW1.場(chǎng)景 1 -4987809 -50.00500.002,000成功的提(不再有 輸入機(jī)會(huì))保留,用例結(jié)束以上測(cè)試用例只是在本次迭代中需要用來(lái)驗(yàn)證提款用例的一部分
39、測(cè)試用例。需要的其他測(cè)試用例包括:場(chǎng)景 6 -場(chǎng)景 6 -場(chǎng)景 7 -帳戶不存在/帳戶類型有誤:未找到帳戶或帳戶不可用帳戶不存在/帳戶類型有誤:從該帳戶中提款帳戶余額:請(qǐng)求的金額超出帳面金額在將來(lái)的迭代中,當(dāng)實(shí)施其他事件流時(shí),在下列情況下將需要測(cè)試用例:無(wú)效卡(所持卡為掛失卡、卡、非承兌發(fā)卡、損壞等)無(wú)法讀卡(讀卡機(jī)堵塞、脫機(jī)或出現(xiàn)故障)帳戶已消戶、凍結(jié)或由于其他方面原因而無(wú)法使用ATM 內(nèi)的現(xiàn)金中只是一種幣值或不能提供所請(qǐng)求的金額(與 CW3不同,在 CW3,而不是所有幣值都)無(wú)法聯(lián)系系統(tǒng)以獲得認(rèn)可網(wǎng)絡(luò)離線或交易過(guò)程中斷電成功的提款498款。帳戶余額被更新為 450.00CW2.場(chǎng)景 2 -
40、 ATM 內(nèi)沒(méi)有現(xiàn)金4987809 -498100.00500.000.00提款選項(xiàng)不可用,用例結(jié)束CW3.場(chǎng)景 3 - ATM 內(nèi)現(xiàn)金4987809 -498100.00500.0070.00警告消 息,返回基本流步驟 6 - 輸入金額CW4.場(chǎng)景 4 - PIN 有誤(還有不止一次輸入機(jī)會(huì))4978809 -498n/a500.002,000警告消 息,返回基本流步驟 4,輸入 PINCW5.場(chǎng)景 4 - PIN 有誤(還有一次輸入機(jī)會(huì))4978809 -498n/a500.002,000警告消 息,返回基本流步驟 4,輸入 PINCW6.場(chǎng)景 4 - PIN 有誤(不再有 輸入機(jī)會(huì))49
41、78809 -498n/a500.002,000警告消 息,卡予保留,用例結(jié)束在確定功能性測(cè)試用例時(shí),確保滿足下列條件:已經(jīng)為每個(gè)用例場(chǎng)景確定了充足的正面和測(cè)試用例。測(cè)試用例可以處理用例所實(shí)施的所有業(yè)務(wù)規(guī)則,確保對(duì)于業(yè)務(wù)規(guī)則,無(wú)論是在、外部還是在邊界條件/值上都存在測(cè)試用例。測(cè)試用例可以處理所有事件或動(dòng)作排序(如在設(shè)計(jì)模型的序列圖中確定的內(nèi)容),還應(yīng)能處理用戶界面對(duì)象狀態(tài)或條件。測(cè)試用例可以處理為用例所指定的任何特殊需求,如最佳/性能,有時(shí)這些特殊需求會(huì)與用例執(zhí)行過(guò)程中的最小/最大負(fù)載或數(shù)據(jù)容量組合在一起。八、從補(bǔ)充規(guī)約中生成測(cè)試用例并不是所有的測(cè)試目標(biāo)需求都將在用例中有所反映。非功能性需求(
42、如性能、安全性和控制)以及配置要求等將會(huì)說(shuō)明測(cè)試目標(biāo)的其他行為或特征。補(bǔ)充規(guī)約是為其他行為生成測(cè)試用例的主要來(lái)源。關(guān)于如何生成這些其他測(cè)試用例的指南說(shuō)明如下:為性能測(cè)試生成測(cè)試用例為安全性/控制測(cè)試生成測(cè)試用例為配置測(cè)試生成測(cè)試用例為安裝測(cè)試生成測(cè)試用例為其他非功能性測(cè)試生成測(cè)試用例為性能測(cè)試生成測(cè)試用例性能測(cè)試用例的主要輸入是補(bǔ)充規(guī)約,補(bǔ)充規(guī)約中包含了非功能性需求(請(qǐng)參見(jiàn)工件:補(bǔ)充規(guī)約)。為性能測(cè)試生成測(cè)試用例時(shí),請(qǐng)使用下列指南:對(duì)于補(bǔ)充規(guī)約內(nèi)闡明性能標(biāo)準(zhǔn)的各條說(shuō)明都應(yīng)確保至少要確定一個(gè)測(cè)試用例。性能標(biāo)準(zhǔn)通常表示為時(shí)間/事務(wù)、事務(wù)量/用戶或百分?jǐn)?shù)的形式。對(duì)每個(gè)關(guān)鍵用例,都應(yīng)確保至少要確定一個(gè)
43、測(cè)試用例。關(guān)鍵用例是在上述說(shuō)明中和/或在工作量分析文檔中確定的、必須采用性能評(píng)測(cè)方法來(lái)評(píng)估的用例(請(qǐng)參見(jiàn)工件:工作量分析文檔)。與功能性測(cè)試的測(cè)試用例類似,通常對(duì)于每個(gè)用例/需求都會(huì)存在不止一個(gè)測(cè)試用例。常見(jiàn)的情況是:存在一個(gè)低于性能閾值的測(cè)試用例、一個(gè)處于閾值上的測(cè)試用例,還有一個(gè)測(cè)試用例高于閾值。除了以上性能標(biāo)準(zhǔn)以外,確保已確定影響響應(yīng)時(shí)間的特定條件,包括:數(shù)據(jù)庫(kù)的大小 - 存在多少個(gè)?工作量 - 同時(shí)執(zhí)行操作的最終用戶的數(shù)量和類型,以及要同時(shí)執(zhí)行的事務(wù)的數(shù)量和類型環(huán)境特征(硬件、網(wǎng)件以及配置)將用于性能測(cè)試的測(cè)試用例在類似于功能測(cè)試所使用的矩陣中。以下是各種性能測(cè)試的一些示例:對(duì)于負(fù)載測(cè)
44、試:對(duì)于強(qiáng)度測(cè)試:TC(測(cè)試用例)ID號(hào)工作量條件預(yù)期結(jié)果SCW1.2(1,000 個(gè)同時(shí)運(yùn)行的 ATM)數(shù)據(jù)庫(kù)鎖定 - 2 個(gè)ATM 請(qǐng)求同一帳戶ATM 請(qǐng)求排成隊(duì)列SCW2.2(1,000 個(gè)同時(shí)運(yùn)行的 ATM)無(wú)法實(shí)現(xiàn)系統(tǒng)的通信交易排成隊(duì)列或超時(shí)TC(測(cè)試用例)ID號(hào)工作量條件預(yù)期結(jié)果PCW1.1(單個(gè) ATM)完成提款交易全部交易(不依賴于主角的時(shí)間)在 20 秒之內(nèi)完成PCW2.2(1,000 個(gè)同時(shí)運(yùn)行的 ATM)完成提款交易全部交易(不依賴于主角的時(shí)間)在 30 秒之內(nèi)完成PCW3.3(10.000 個(gè)同時(shí)運(yùn)行的 ATM)完成提款交易全部交易(不依賴于主角的時(shí)間)在 50 秒之內(nèi)
45、完成為安全性/控制測(cè)試生成測(cè)試用例主角和用例一同說(shuō)明系統(tǒng)外部用戶與系統(tǒng)所執(zhí)行的動(dòng)作之間的交互,以便為特定主角生成。復(fù)雜系統(tǒng)包含許多主角,所以編制測(cè)試用例時(shí)必須確保只有指定執(zhí)行用例的主角可以進(jìn)行此操作,這一點(diǎn)非常關(guān)鍵。在基于主角類型的用例事件流存在差別時(shí),尤其如此。例如,在 ATM 用例中,如果主角“客戶”的卡和帳戶有的屬于擁有這個(gè)(和帳戶),或是企圖使用該 ATMATM 機(jī)的支持的,有的是競(jìng)爭(zhēng)的,則將對(duì)該主角“不客戶”執(zhí)行不同的用例事件流。對(duì)于功能性測(cè)試用例,請(qǐng)同樣遵循上面列舉的指南。關(guān)于安全性和控制測(cè)試用例的示例:為配置測(cè)試生成測(cè)試用例在典型的分布式系統(tǒng)中,允許存在許多種受支持的硬件和試目標(biāo)
46、在不同的配置情況下(如不同的操作系統(tǒng)、瀏覽器或組合。為了核實(shí)測(cè)CPU 的速度)能否正常工作或執(zhí)行,應(yīng)該對(duì)此進(jìn)試。此外,測(cè)試還應(yīng)涵蓋構(gòu)件的組合,以便檢測(cè)在不同構(gòu)件的交互中產(chǎn)生的缺陷。例如,確保由應(yīng)用程序安裝的 DDL 版本不會(huì)與另一個(gè)應(yīng)用程序需要的相同 DDL 的版本發(fā)生。TC(測(cè)試用例)ID號(hào)條件卡(V 表明卡有效)讀卡機(jī)(V 表明讀卡機(jī)工作正常)的網(wǎng)絡(luò)預(yù)期結(jié)果ACW1.在網(wǎng)絡(luò)之內(nèi)VVV所有用例都可用ACW2.網(wǎng)絡(luò)之外VVI只有提款用例可用ACW3.無(wú)法讀卡IVV警告消息,卡被退出ACW4.因,卡已掛失IVV警告消息,卡予保留ACW5.卡已過(guò)期IVV警告消息,卡予保留SCW3.2(1,000
47、個(gè)同時(shí)運(yùn)行的 ATM)在交易過(guò)程中,系統(tǒng)通信被終止顯示警告消息采用下列指南來(lái)生成用于配置測(cè)試的測(cè)試用例:確保對(duì)每個(gè)關(guān)鍵配置,應(yīng)至少存在一個(gè)測(cè)試用例可用于對(duì)其進(jìn)行確定。這是通過(guò)確定測(cè)試目標(biāo)的環(huán)境所要求的硬件和配置以及確定這些配置的優(yōu)先級(jí)來(lái)完成的。應(yīng)確保最先測(cè)試最常見(jiàn)的配置,包括:支持o網(wǎng)絡(luò)連接 - 局域網(wǎng)和廣域網(wǎng)服務(wù)器配置 - 服務(wù)器驅(qū)動(dòng)程序、服務(wù)器硬件臺(tái)式機(jī)和/或服務(wù)器上安裝的其他o 所有已安裝的版本確保對(duì)于每個(gè)可能有問(wèn)題的配置至少存在一個(gè)測(cè)試用例。這些配置可能包括:o 具有最低性能的硬件。o 歷史上存在兼容性問(wèn)題的共駐內(nèi)存的。o 通過(guò)最慢的 LAN/WAN 連接服務(wù)器的客戶機(jī)。(緩慢的 CP
48、U 速度、最小的內(nèi)存或分辨率,磁盤(pán)空間不o 資源足等等)為安裝測(cè)試生成測(cè)試用例安裝測(cè)試需要核實(shí)測(cè)試目標(biāo)可以在所有可能的安裝情況下安裝。安裝情況可以指首次安裝測(cè)試目標(biāo),或是在裝有較早版本的機(jī)器上安裝測(cè)試目標(biāo)的某個(gè)較新的版本或工作版本。安裝測(cè)試還應(yīng)確保在遇到異常情況時(shí)(如磁盤(pán)空間目標(biāo)的執(zhí)行情況仍可接受。),測(cè)試測(cè)試用例應(yīng)包含以下各種的安裝情況:分發(fā)介質(zhì),例如磁盤(pán)、CD-ROM 或文件服務(wù)器。首次安裝。完全安裝。 自定義安裝。升級(jí)安裝??蛻魴C(jī)服務(wù)器的安裝程序具備一組特定的測(cè)試用例。不同于基于主機(jī)的系統(tǒng),服務(wù)器和客戶機(jī)上的安裝程序是有所不同的。因而,安裝測(cè)試應(yīng)執(zhí)行試目標(biāo)的所有構(gòu)件的安裝,包括客戶機(jī)、中
49、間層以及服務(wù)器,這一點(diǎn)測(cè)。為其他非功能性測(cè)試生成測(cè)試用例理論上,應(yīng)找到所有必需的輸入來(lái)生成測(cè)試用例模型、設(shè)計(jì)模型以及補(bǔ)充規(guī)約工件的測(cè)試用例。不過(guò),如果此時(shí)您需要補(bǔ)充已有的輸入,那也為奇。示例如下:操作測(cè)試(用以檢驗(yàn)在某次故障發(fā)生后以及在下一次故障發(fā)生前“較長(zhǎng)時(shí)間”內(nèi)的運(yùn)行情況)的測(cè)試用例。對(duì)性能瓶頸、系統(tǒng)容量或測(cè)試目標(biāo)的強(qiáng)度承受能力的測(cè)試用例。大多數(shù)情況下,您可以通過(guò)先前所確定的測(cè)試用例生成的某些測(cè)試用例來(lái)構(gòu)建其變體或聚合關(guān)系體,借此來(lái)查找測(cè)試用例。九、為單元測(cè)試生成測(cè)試用例單元測(cè)試要求既測(cè)試單元的結(jié)構(gòu)同時(shí)還要測(cè)試其行為特征。測(cè)試結(jié)構(gòu)要求了解實(shí)施單元的方式,基于這種了解的測(cè)試被稱為白盒測(cè)試。對(duì)
50、單元行為特征的測(cè)試側(cè)重于從外部可觀察的單元行為,而不需要了解或考慮其實(shí)施方式。基于這種方法的測(cè)試稱為黑盒測(cè)試。基于這兩種方法所生成的測(cè)試用例的說(shuō)明如下。白盒測(cè)試?yán)碚撋希瑧?yīng)通過(guò)代碼測(cè)試每一條可能的路徑。在所有這些非常簡(jiǎn)單的單元內(nèi)實(shí)現(xiàn)這樣的目標(biāo)是不切實(shí)際或幾乎是不可能的。作為最基本的測(cè)試,應(yīng)將每個(gè)決定到?jīng)Q定路徑(DD 路徑)測(cè)試至少一次,這樣可確保將所有語(yǔ)句至少執(zhí)行一次。決定通常是指 if 語(yǔ)句,而 DD 路徑是兩個(gè)決定之間的路徑。要達(dá)到這種程度的測(cè)試覆蓋,建議您在選擇測(cè)試數(shù)據(jù)時(shí)應(yīng)使每個(gè)決定都可以用每種可能的方法來(lái)評(píng)估。為達(dá)到上述目標(biāo),測(cè)試用例應(yīng)確保:表達(dá)式的求值結(jié)果為 true 和 false。例如,表達(dá)式 (a4)每個(gè)的求值結(jié)果為 true/false 的四種組合每一個(gè)無(wú)限循環(huán)至少要執(zhí)行零次、一次和一次以上。可使用代碼覆蓋工具來(lái)確定白盒測(cè)試未測(cè)試到的代碼。在進(jìn)行白盒測(cè)試的同時(shí)應(yīng)進(jìn)行可靠性測(cè)試。示例:假設(shè)您對(duì)類 Set ofegers 中的 member 函數(shù)執(zhí)行結(jié)構(gòu)測(cè)試。該測(cè)試在二進(jìn)制搜索的幫助下,將檢查該集合是否包含了某個(gè)指定的整數(shù)。成員 (member) 函數(shù)以及相應(yīng)的流
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年活性食品包裝設(shè)計(jì)報(bào)告及未來(lái)十年包裝創(chuàng)新報(bào)告
- 克拉瑪依轉(zhuǎn)學(xué)制度
- 保安公司內(nèi)部培訓(xùn)制度
- 企業(yè)三審三校制度
- 鄉(xiāng)值班室制度
- 中科軟請(qǐng)假制度
- 專利對(duì)價(jià)制度
- 機(jī)動(dòng)車(chē)排污檢測(cè)培訓(xùn)課件
- 2026中國(guó)酒石酸唑吡坦原料藥行業(yè)前景動(dòng)態(tài)與供需趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030抗心血管藥物行業(yè)運(yùn)營(yíng)狀況分析及未來(lái)銷(xiāo)售規(guī)模預(yù)測(cè)研究報(bào)告(-版)
- 四川省南充市2024-2025學(xué)年部編版七年級(jí)上學(xué)期期末歷史試題
- 國(guó)有企業(yè)三位一體推進(jìn)內(nèi)控風(fēng)控合規(guī)建設(shè)的問(wèn)題和分析
- 急診預(yù)檢分診課件教學(xué)
- 2025年高二數(shù)學(xué)建模試題及答案
- 儲(chǔ)能集裝箱知識(shí)培訓(xùn)總結(jié)課件
- 幼兒園中班語(yǔ)言《雪房子》課件
- 房地產(chǎn)項(xiàng)目開(kāi)發(fā)管理方案
- 堆垛車(chē)安全培訓(xùn)課件
- 貝林妥單抗護(hù)理要點(diǎn)
- 衛(wèi)生院關(guān)于成立消除艾滋病、梅毒、乙肝母嬰傳播領(lǐng)導(dǎo)小組及職責(zé)分工的通知
- 廣東省執(zhí)信中學(xué)、廣州二中、廣州六中、廣雅中學(xué)四校2025年高三物理第一學(xué)期期末學(xué)業(yè)水平測(cè)試試題
評(píng)論
0/150
提交評(píng)論