版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目一設(shè)計(jì)測試用例測試分段函數(shù)程序1.1問題情境1.2問題分析1.3任務(wù)設(shè)計(jì)與實(shí)施1.4知識總結(jié)1.5應(yīng)用實(shí)踐
有一個程序,用來計(jì)算某個分段函數(shù)y
=
f(x)的值,要求設(shè)計(jì)一組測試用例來測試該程序是否存在某些缺陷或是錯誤。具體函數(shù)功能如下:1.1問題情境
該函數(shù)是一個具有四個段的分段函數(shù),假設(shè)為實(shí)數(shù)域的函數(shù)。根據(jù)以往對程序進(jìn)行驗(yàn)證的經(jīng)驗(yàn),分別在每個分段中取出一組或是兩組數(shù)據(jù)進(jìn)行測試。如果正確,即可保證程序在該分段上是正確的。1.2問題分析
步驟1:分析問題,設(shè)計(jì)測試用例。
根據(jù)以上分析,在分段函數(shù)的每個分段區(qū)間設(shè)計(jì)一組測試用例即可,因?yàn)檫@些測試用例對測試該段函數(shù)的正確性有著等價的作用。針對上述分段函數(shù)設(shè)計(jì)如表1-1所示的測試用例。1.3任務(wù)設(shè)計(jì)與實(shí)施表1-1分段函數(shù)的測試用例在該測試用例中,包含兩部分內(nèi)容,第一部分是輸入,即程序要求輸入的值;第二部分是根據(jù)輸入將會得到的預(yù)期的輸出結(jié)果。
步驟2:根據(jù)步驟1設(shè)計(jì)出的測試用例測試程序。
在此處不提供該分段函數(shù)的程序,讀者可自己編寫一個程序,然后執(zhí)行步驟2。
將程序按照上面設(shè)計(jì)的每個輸入執(zhí)行一遍,如果執(zhí)行結(jié)果和預(yù)期結(jié)果一致,表明程序正確。如果不一致,證明程序存在缺陷或是錯誤。同時記錄測試數(shù)據(jù)及結(jié)果。步驟3:寫出測試報告。
測試報告模板見附錄C,讀者可自行完成。
小結(jié):該分段函數(shù)程序測試用例的設(shè)計(jì)思想就是軟件測試中一種最基本也是最常用的方法——等價類劃分法。
1.4.1黑盒測試方法——等價類劃分法
1.黑盒測試方法的概念
黑盒測試的基本觀點(diǎn)是:任何程序都可以看做是從輸入定義域映射到輸出值域的函數(shù)過程,被測程序被認(rèn)為是一個打不開的黑盒子,黑盒中的內(nèi)容(實(shí)現(xiàn)過程)完全不知道,只明確要做到什么。作為軟件功能的測試手段,黑盒測試是重要的測試方法。黑盒測試中,根據(jù)規(guī)格說明,主要依靠的是被測程序輸入和輸出之間的關(guān)系或程序的功能設(shè)計(jì)測試用例,并不涉及程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性。1.4知識總結(jié)很明顯,如果內(nèi)部特性本身有問題或規(guī)格說明書的規(guī)定有誤,用黑盒測試方法是發(fā)現(xiàn)不了的。黑盒測試方法著重測試軟件的功能需求,是在程序接口上進(jìn)行的測試,主要是為了發(fā)現(xiàn)以下錯誤:
(1)是否有不正確的功能,是否有遺漏的功能。
(2)在接口上,是否能夠正確地接收輸入數(shù)據(jù)并產(chǎn)生正確的輸出結(jié)果。
(3)是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息訪問錯誤。
(4)性能上是否能夠滿足要求。
(5)是否有程序初始化和終止方面的錯誤。黑盒測試有以下兩個顯著的特點(diǎn):
(1)黑盒測試不考慮軟件的具體實(shí)現(xiàn)過程,當(dāng)軟件實(shí)現(xiàn)的過程發(fā)生變化時,測試用例仍然可以使用。
(2)黑盒測試用例的設(shè)計(jì)可以和軟件實(shí)現(xiàn)同時進(jìn)行,這樣能夠壓縮總的開發(fā)時間。
黑盒測試能夠找到大多數(shù)其他測試方法無法發(fā)現(xiàn)的錯誤,對于一些外購軟件、參數(shù)化軟件包以及某些自動生成的軟件,由于無法得到源程序,在一些情況下只能選擇黑盒測試。
黑盒測試有兩種基本方法,即通過測試和失敗測試。
在進(jìn)行通過測試時,實(shí)際上是確認(rèn)軟件能做什么,而不會去考驗(yàn)其能力如何。軟件測試人員只是運(yùn)用最簡單、最直觀的測試案例進(jìn)行測試。在設(shè)計(jì)和執(zhí)行測試案例時,總是先要進(jìn)行通過測試,驗(yàn)證軟件的基本功能是否都已實(shí)現(xiàn)。
在確信了軟件正確運(yùn)行之后,就可以采取各種手段通過搞垮軟件來找出缺陷。純粹為了破壞軟件而設(shè)計(jì)和執(zhí)行的測試案例,被稱為失敗測試或迫使出錯測試。
黑盒測試的具體技術(shù)方法主要包括等價類劃分法、邊界值分析法、因果圖法、決策表法等。這些方法都是比較實(shí)用的,在設(shè)計(jì)具體的測試方案時需要針對開發(fā)項(xiàng)目的特點(diǎn)選擇適當(dāng)?shù)脑O(shè)計(jì)方案。
2.等價類劃分法的概念
等價類劃分法是黑盒測試用例設(shè)計(jì)中一種常用的設(shè)計(jì)方法,它將不能窮舉的測試過程進(jìn)行合理分類,從而保證設(shè)計(jì)出來的測試用例具有完整性和代表性。
等價類劃分法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例。所謂等價類,是指輸入域的某個子集合,所有等價類的并集就是整個輸入域。在等價類中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的,它們具有等價特性。因此,測試某個等價類的代表值就等價于對這一類中其他值的測試。也就是說,如果某一類中的一個例子發(fā)現(xiàn)了錯誤,這一等價類中的其他例子也能發(fā)現(xiàn)同樣的錯誤;反之,如果某一類中的一個例子沒有發(fā)現(xiàn)錯誤,則這一類中的其他例子也不會查出錯誤。
軟件不能只接收合理有效的數(shù)據(jù),也要具有處理異常數(shù)據(jù)的功能,這樣的測試才能確保軟件具有更高的可靠性。因此,在劃分等價類的過程中,不但要考慮有效等價類的劃分,同時也要考慮無效等價類的劃分。
使用等價類劃分法設(shè)計(jì)測試用例,首先必須在分析需求規(guī)格說明的基礎(chǔ)上劃分等價類,然后列出等價類表。
例1
設(shè)計(jì)測試用例,實(shí)現(xiàn)一個對所有實(shí)數(shù)進(jìn)行開平方運(yùn)算(y
=
sqrt(x))的程序的測試。
由于開平方運(yùn)算只對非負(fù)實(shí)數(shù)有效,這時需要將所有的實(shí)數(shù)(輸入域x)進(jìn)行劃分,可以分成正實(shí)數(shù)、0和負(fù)實(shí)數(shù)。假設(shè)我們選定
+1.44代表正實(shí)數(shù),-2.5代表負(fù)實(shí)數(shù),則為該程序設(shè)計(jì)的測試用例的輸入為
+1.44、0和
-2.5。
3.等價類的劃分原則
等價類是輸入域的某個子集合,而所有等價類的并集就是整個輸入域。因此,等價類對于測試有兩個重要的意義:
完備性:整個輸入域提供一種形式的完備性。
無冗余性:若互不相交則可保證一種形式的無冗余性。
劃分等價類需要先從程序的規(guī)格說明書中找出各個輸入條件,再把每個輸入條件劃分成兩個或多個等價類,形成若干個互不相交的子集。
采用等價類劃分法設(shè)計(jì)測試用例通常分兩步進(jìn)行:
(1)確定等價類,列出等價類表。
(2)確定測試用例。劃分等價類可分為兩種情況:
(1)有效等價類是指對軟件規(guī)格說明而言,由有意義的、合理的輸入數(shù)據(jù)所組成的集合。利用有效等價類,能夠檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明中預(yù)先規(guī)定的功能和性能。
(2)無效等價類是指對軟件規(guī)格說明而言,由無意義的、不合理的輸入數(shù)據(jù)所構(gòu)成的集合。利用無效等價類,可以鑒別程序異常處理的情況,檢查被測對象的功能和性能的實(shí)現(xiàn)是否有不符合規(guī)格說明要求的地方。進(jìn)行等價類劃分的依據(jù)有以下幾種:
(1)按照區(qū)間劃分。在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,可以確定一個有效等價類和兩個無效等價類。
例2
程序輸入條件為小于100大于10的整數(shù)x,則有效等價類為10<x<100,兩個無效等價類為x≤10和x≥100。
例3
程序輸入x取值于一個固定的枚舉類型{1,3,7,15},且程序中對這4個數(shù)值分別進(jìn)行了處理,則有效等價類為x
=
1、x
=
3、x
=
7、x
=
15,無效等價類為x
≠
1,3,7,15的值的集合。
(2)按照數(shù)值劃分。在規(guī)定了一組輸入數(shù)據(jù)(假設(shè)包括n個輸入值),并且程序要對每一個輸入值分別進(jìn)行處理的情況下,可確定n個有效等價類(每個值確定一個有效等價類)和一個無效等價類(所有不允許的輸入值的集合)。
(3)按照數(shù)值集合劃分。在輸入條件規(guī)定了輸入值的集合或規(guī)定了“必須如何”的條件下,可以確定一個有效等價類和一個無效等價類(該集合有效值之外)。
例4
程序輸入條件為取值為奇數(shù)的整數(shù)x,則有效等價類為x的值為奇數(shù)的整數(shù),無效等價類為x的值不為奇數(shù)的整數(shù)。
例5
程序輸入條件為以字符“a”開頭、長度為8的字符串,并且字符串不包含“a”~“z”之外的其他字符,則有效等價類為滿足了上述所有條件的字符串,無效等價類為不以“a”開頭的字符串、長度不為8的字符串和包含了“a”~“z”之外的其他字符的字符串。
(4)細(xì)分等價類。在確定劃分的等價類中各元素在程序中的處理方式不同的情況下,則應(yīng)將該等價類進(jìn)一步劃分為更小的等價類,并建立等價類表。
(5)按照限制條件或規(guī)則劃分。在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則或限制條件的情況下,可確定一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。
4.等價類劃分法的測試用例設(shè)計(jì)
在設(shè)計(jì)測試用例時,應(yīng)同時考慮有效等價類和無效等價類測試用例的設(shè)計(jì)。根據(jù)已列出的等價類表可確定測試用例,具體過程如下:
(1)首先為等價類表中的每一個等價類分別規(guī)定一個唯一的編號。
(2)設(shè)計(jì)一個新的測試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價類。重復(fù)這個步驟,直到所有的有效等價類均被測試用例所覆蓋。
(3)設(shè)計(jì)一個新的測試用例,使它僅覆蓋一個尚未覆蓋的無效等價類。重復(fù)這一步驟,直到所有的無效等價類均被測試用例所覆蓋。
5.常見等價類劃分測試形式
針對是否對無效數(shù)據(jù)進(jìn)行測試,可以將等價類測試分為標(biāo)準(zhǔn)等價類測試和健壯等價類測試。
(1)標(biāo)準(zhǔn)等價類測試不考慮無效數(shù)據(jù)值,測試用例使用每個等價類中的一個值。
(2)健壯等價類測試主要的出發(fā)點(diǎn)是考慮無效等價類。對有效輸入,測試用例從每個有效等價類中取一個值;對無效輸入,一個測試用例有一個無效值,其他值均取有效值。健壯等價類測試存在兩個問題:需要花費(fèi)精力定義無效測試用例的期望輸出;對強(qiáng)類型的語言沒有必要考慮無效的輸入。1.4.2使用測試用例的原因
作為軟件質(zhì)量控制特定的概念和技能,測試用例的設(shè)計(jì)成為唯一被廣泛認(rèn)可的東西。在軟件項(xiàng)目測試過程中,最值得考慮的、最重要的當(dāng)屬測試用例的設(shè)計(jì)以及創(chuàng)建有效的測試用例。但是,仍然有不少的測試團(tuán)隊(duì)和測試人員認(rèn)為沒有必要編寫和設(shè)計(jì)測試用例,尤其是當(dāng)敏捷編程開始盛行后,很多人更是認(rèn)為編寫和設(shè)計(jì)測試用例是浪費(fèi)時間。為什么要編寫測試用例?測試用例至少有兩個用途或目的:
(1)如果顧客有要求的話,測試用例會是交付給顧客的產(chǎn)品中的一部分。測試用例在這里起到了提高軟件可信度的作用。
(2)測試用例只作為內(nèi)部使用,目的是提高測試效率。在代碼尚未完成時,我們基于設(shè)計(jì)編寫測試用例,一旦代碼準(zhǔn)備好了,我們就可以很快地測試產(chǎn)品。測試永遠(yuǎn)也無法保證發(fā)現(xiàn)所有的錯誤。測試用例的設(shè)計(jì)如此重要,正是因?yàn)橥暾臏y試是不可能的,任何項(xiàng)目的測試都是不完整的。因此,在有限的時間和資源下,很顯然我們需要通過設(shè)計(jì)測試用例,讓測試盡可能地完善。
按照等價類劃分法為保險公司人壽保險費(fèi)計(jì)算程序設(shè)計(jì)等價類,假設(shè)保費(fèi)為1萬元。設(shè)計(jì)測試用例。
某保險公司人壽保險的保費(fèi)計(jì)算方式為:保費(fèi)
=
投保額
×
保險費(fèi)率。其中,保險費(fèi)率根據(jù)點(diǎn)數(shù)的不同而有所不同。例如10點(diǎn)以上的保險費(fèi)率為0.6%,10點(diǎn)及以下的保險費(fèi)率為0.1%;而點(diǎn)數(shù)又是由投保人的年齡、性別、婚姻狀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 常州市溧陽中學(xué)高三地理一輪復(fù)習(xí)第一章人口學(xué)案
- 4.法院對目標(biāo)公司型對賭協(xié)議效力的認(rèn)定現(xiàn)狀
- 2025年大學(xué)(護(hù)理學(xué))基礎(chǔ)護(hù)理學(xué)綜合測試卷及解析
- 2025年中職(新能源汽車技術(shù))純電動汽車檢修試題及答案
- 2025年中職(旅游服務(wù)與管理)導(dǎo)游詞講解技巧測試題及答案
- 2025年中職護(hù)理(急救護(hù)理技能)試題及答案
- 2025年中職電子電器應(yīng)用與維修(電器檢修)試題及答案
- 2025年中職(航海捕撈)漁具使用實(shí)操測試試題及答案
- 2025年中職建筑工程類(鋼筋綁扎工藝)試題及答案
- 2025年高職木業(yè)產(chǎn)品設(shè)計(jì)與制造(木質(zhì)產(chǎn)品研發(fā))試題及答案
- vte的預(yù)防及護(hù)理課件
- 2024年四川省現(xiàn)代種業(yè)發(fā)展集團(tuán)種芯農(nóng)業(yè)有限公司招聘筆試參考題庫附帶答案詳解
- 油煙清洗報告【范本模板】
- JC-T 424-2005 耐酸耐溫磚行業(yè)標(biāo)準(zhǔn)
- 懷念戰(zhàn)友混聲四部合唱簡譜
- 三級斜齒輪減速器
- 實(shí)驗(yàn)針灸學(xué)-實(shí)驗(yàn)針灸學(xué)研究程序與方法
- 倉庫工作人員職責(zé)培訓(xùn)課件
- 中廣核研究院熱室設(shè)施建設(shè)項(xiàng)目 環(huán)境影響報告書(建造階段)
- 新教科版四上科學(xué)2.2《呼吸與健康生活》優(yōu)質(zhì)課件
- 無線AP測試模板
評論
0/150
提交評論