版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件測試等價(jià)類劃分邊界值劃分軟件測試等價(jià)類劃分邊界值劃分1等價(jià)類劃分
1.等價(jià)類劃分等價(jià)類劃分法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例。使用等價(jià)類劃分法設(shè)計(jì)測試用例時(shí),要同時(shí)考慮有效等價(jià)類和無效等價(jià)類。有效等價(jià)類對于程序的規(guī)格說明來說,是合理的、有意義的輸入數(shù)據(jù)所構(gòu)成的集合;無效等價(jià)類對于程序的規(guī)格說明來說,是不合理的、沒有意義的輸入數(shù)據(jù)所構(gòu)成的集合;2等價(jià)類劃分1.等價(jià)類劃分有效等價(jià)類2等價(jià)類劃分假定一臺ATM機(jī)允許提取增量為50元,總金額從100~2000(包含2000元)不等的金額,請等價(jià)類方法進(jìn)行測試。有效等價(jià)類編號無效等價(jià)類編號整數(shù)1浮點(diǎn)數(shù)4在100到2000之間2小于1005大于20006能被50整除3不能被50整除71.劃分等價(jià)類,如下表所示。例1:3等價(jià)類劃分假定一臺ATM機(jī)允許提取增量為50元,等價(jià)類劃分例12.設(shè)計(jì)測試用例,如下表所示。用例編號輸入數(shù)據(jù)預(yù)期結(jié)果覆蓋的等價(jià)類1100提取成功1、2、32100.5提示:輸入無效4350提示:輸入無效542050提示:輸入無效65101提示:輸入無效74等價(jià)類劃分例12.設(shè)計(jì)測試用例,如下表所示。用例編號輸入數(shù)據(jù)等價(jià)類劃分假定一臺ATM機(jī)允許提取增量為50元,總金額從100~2000(包含2000元)不等的金額,請等價(jià)類方法進(jìn)行測試。例1:
volunteer??5等價(jià)類劃分假定一臺ATM機(jī)允許提取增量為50元,等價(jià)類劃分例2:6等價(jià)類劃分例2:6等價(jià)類劃分例2:
volunteer??7等價(jià)類劃分例2:volunteer??7軟件測試等價(jià)類劃分邊界值劃分練習(xí):有函數(shù)f(x,y,x),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。Step1:等價(jià)類劃分:一個(gè)有效等價(jià)類,2個(gè)無效等價(jià)類volunteer??等價(jià)類劃分:“大學(xué)管理系統(tǒng)”(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;小于空余空間一點(diǎn)/大于滿空間一點(diǎn)(2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)和比最大個(gè)數(shù)多1個(gè)、比最小個(gè)數(shù)少1個(gè)的數(shù)作為測試數(shù)據(jù)。計(jì)算機(jī)數(shù)值運(yùn)算的范圍當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;為什么使用邊界值分析法?在實(shí)際的測試用例設(shè)計(jì)中,需要將基本的軟件設(shè)計(jì)要求和程序定義的要求結(jié)合起來,即結(jié)合基本邊界值條件和內(nèi)部邊界值條件來設(shè)計(jì)有效的測試用例當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;怎樣用邊界值分析法設(shè)計(jì)測試用例?volunteer??分析:學(xué)生的成績隱含的條件是:0≤x≤100最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長、空/滿等情況下對應(yīng)于(i)和(b)。在100到2000之間等價(jià)類劃分例2:8軟件測試等價(jià)類劃分邊界值劃分等價(jià)類劃分例2:8等價(jià)類劃分例2:9等價(jià)類劃分例2:9等價(jià)類劃分10等價(jià)類劃分10等價(jià)類劃分11等價(jià)類劃分11等價(jià)類劃分12等價(jià)類劃分12等價(jià)類劃分13等價(jià)類劃分13等價(jià)類劃分(4)14等價(jià)類劃分(4)14等價(jià)類劃分:“大學(xué)管理系統(tǒng)”實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)生成績”15等價(jià)類劃分:“大學(xué)管理系統(tǒng)”實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)等價(jià)類劃分:“大學(xué)管理系統(tǒng)”劃分等價(jià)類為每一個(gè)有效等價(jià)類和無效等價(jià)類規(guī)定一個(gè)唯一的編號設(shè)計(jì)一個(gè)測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類,重復(fù)這一步直到所有有效等價(jià)類均被測試用例所覆蓋設(shè)計(jì)一個(gè)測試用例,使其只覆蓋一個(gè)無效等價(jià)類,重復(fù)這一步,直到所有無效等價(jià)類均被覆蓋使用下面的表格有利于確定測試用例16等價(jià)類劃分:“大學(xué)管理系統(tǒng)”劃分等價(jià)類16等價(jià)類劃分:“大學(xué)管理系統(tǒng)”
volunteer??17等價(jià)類劃分:“大學(xué)管理系統(tǒng)”volunteer??17等價(jià)類劃分:“大學(xué)管理系統(tǒng)”分析:學(xué)生的成績隱含的條件是:0≤x≤100Step1:等價(jià)類劃分:一個(gè)有效等價(jià)類,2個(gè)無效等價(jià)類Step2:確定編號,形成等價(jià)類表Step3~Step輸入條件有效等價(jià)類無效等價(jià)類編號0~100分√1.>100分√2.<0分√3.輸入條件有效等價(jià)類無效等價(jià)類編號55√1.120√2.-9√3.18等價(jià)類劃分:“大學(xué)管理系統(tǒng)”分析:學(xué)生的成績隱含的條件是:0在三角形問題描述中,除了要求邊長是整數(shù)外,沒有給出其它的限制條件。有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。為每一個(gè)有效等價(jià)類和無效等價(jià)類規(guī)定一個(gè)唯一的編號如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試數(shù)據(jù)。確定邊界值應(yīng)遵循以下幾條原則:day超出[1…31]分析:學(xué)生的成績隱含的條件是:0≤x≤100練習(xí):有函數(shù)f(x,y,x),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。因此,對于有n個(gè)變量的函數(shù)采用健壯性測試需要6n+1個(gè)測試用例。例:測試計(jì)算平方根的函數(shù)健壯性測試是作為邊界值分析的一個(gè)簡單的擴(kuò)充,它除了對變量的5個(gè)邊界值分析取值外,還需要增加一個(gè)略大于最大值(max+)以及略小于最小值(min-)的取值,檢查超過極限值時(shí)系統(tǒng)的情況。實(shí)例2NextDate函數(shù)的邊界值分析測試用例Step2:確定編號,形成等價(jià)類表在NextDate函數(shù)中,隱含規(guī)定了變量mouth和變量day的取值范圍為1≤mouth≤12和1≤day≤31,并設(shè)定變量year的取值范圍為1912≤year≤2050。有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。volunteer??volunteer??(5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和最后一個(gè)元素作為測試用例。給出等價(jià)類、邊界值方案?等價(jià)類劃分:“大學(xué)管理系統(tǒng)”
volunteer??
尚未解決的問題19在三角形問題描述中,除了要求邊長是整數(shù)外,沒有給出其它的限制等價(jià)類劃分:“大學(xué)管理系統(tǒng)”實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)生成績”20等價(jià)類劃分:“大學(xué)管理系統(tǒng)”實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)邊界值分析邊界值分析法的定義:邊界值分析法就是對輸入或輸出的邊界值進(jìn)行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價(jià)類劃分法的補(bǔ)充,這種情況下,其測試用例來自等價(jià)類的邊界。21邊界值分析邊界值分析法的定義:21邊界值分析22邊界值分析22邊界值分析邊界值分析關(guān)注的是輸入空間的邊界。確定邊界值應(yīng)遵循以下幾條原則:如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)少一、比最大個(gè)數(shù)多一的數(shù)作為測試數(shù)據(jù)。如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測試數(shù)據(jù)。如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試數(shù)據(jù)。分析規(guī)格說明,找出其他可能的邊界條件。23邊界值分析邊界值分析關(guān)注的是輸入空間的邊界。確定邊界值應(yīng)遵循邊界值分析
volunteer??例:有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。24邊界值分析volunteer??例:有一個(gè)小程邊界值分析例:有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。(1)各變量分別取略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值和略大于最大值,所以A、B、C分別取值為:-1、0、1、5000、9998、9999、10000。(2)設(shè)計(jì)測試用例,見教材上表2-8。25邊界值分析例:有一個(gè)小程序,能夠求出三個(gè)在0到99邊界值分析為什么使用邊界值分析法?無數(shù)的測試實(shí)踐表明,大量的故障往往發(fā)生在輸入定義域或輸出值域的邊界上,而不是在其內(nèi)部。因此,針對各種邊界情況設(shè)計(jì)測試用例,通常會(huì)取得很好的測試效果。怎樣用邊界值分析法設(shè)計(jì)測試用例?(1)首先確定邊界情況。通常輸入或輸出等價(jià)類的邊界就是應(yīng)該著重測試的邊界情況。(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。26邊界值分析為什么使用邊界值分析法?26邊界值分析
volunteer??
常見的邊界值有哪些?27邊界值分析volunteer??常見的邊界值有哪些?2邊界值分析對16-bit的整數(shù)而言32767和-32768是邊界屏幕上光標(biāo)在最左上、最右下位置報(bào)表的第一行和最后一行數(shù)組元素的第一個(gè)和最后一個(gè)循環(huán)的第0次、第1次和倒數(shù)第2次、最后一次28邊界值分析對16-bit的整數(shù)而言32767和-32當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。則采用邊界值分析法設(shè)計(jì)的測試用例是:前面例1中的程序F的健壯性測試如下圖所示:——因此,邊界值分析法利用輸入變量的最小值(min)、略大于最小值(min+)、輸入值域內(nèi)的任意值(nom)、略小于最大值(max-)和最大值(max)來設(shè)計(jì)測試用例。例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。對應(yīng)于(ii)和(a)。Step1:等價(jià)類劃分:一個(gè)有效等價(jià)類,2個(gè)無效等價(jià)類計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值運(yùn)算都有一定的范圍限制。對于程序的規(guī)格說明來說,是不合理的、沒有意義的輸入數(shù)據(jù)所構(gòu)成的集合;因此,對于有n個(gè)變量的函數(shù)采用健壯性測試需要6n+1個(gè)測試用例。分析:學(xué)生的成績隱含的條件是:0≤x≤100使用下面的表格有利于確定測試用例邊界值分析法是基于可靠性理論中稱為“單故障”的假設(shè),即有兩個(gè)或兩個(gè)以上故障同時(shí)出現(xiàn)而導(dǎo)致軟件失效的情況很少,也就是說,軟件失效基本上是由單故障引起的。則采用邊界值分析法設(shè)計(jì)的測試用例是:起始-1個(gè)字符/結(jié)束+1個(gè)字符volunteer??則采用邊界值分析法設(shè)計(jì)的測試用例是:(5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和最后一個(gè)元素作為測試用例。{<2000,6,1>,<2000,6,2>,<2000,6,30>,<2000,6,31>,<2000,1,15>,<2000,2,15>,<2000,11,15>,<2000,12,15>,<1900,6,15>,<1901,6,15>,<2099,6,15>,<2100,6,15>,<2000,6,15>}則采用邊界值分析法設(shè)計(jì)的測試用例是:輸入0個(gè)和256個(gè)字符作為無效等價(jià)類,這幾個(gè)數(shù)值都屬于邊界條件值。前面例1中的程序F的健壯性測試如下圖所示:volunteer??等價(jià)類劃分:“大學(xué)管理系統(tǒng)”健壯性測試是作為邊界值分析的一個(gè)簡單的擴(kuò)充,它除了對變量的5個(gè)邊界值分析取值外,還需要增加一個(gè)略大于最大值(max+)以及略小于最小值(min-)的取值,檢查超過極限值時(shí)系統(tǒng)的情況。當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。通常邊界值分析法是作為對等價(jià)類劃分法的補(bǔ)充,這種情況下,其測試用例來自等價(jià)類的邊界。有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。則采用邊界值分析法設(shè)計(jì)的測試用例是:——規(guī)格說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;報(bào)表的第一行和最后一行等價(jià)類劃分:“大學(xué)管理系統(tǒng)”練習(xí):有函數(shù)f(x,y,x),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。輸入-10,輸出0和錯(cuò)誤提示?!敵觯簩?shí)數(shù)(5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和最后一個(gè)元素作為測試用例。volunteer??假設(shè)一個(gè)文本輸入?yún)^(qū)域允許輸入1個(gè)到255個(gè)字符,輸入1個(gè)和255個(gè)字符作為有效等價(jià)類;因此,對于有n個(gè)變量的函數(shù)采用健壯性測試需要6n+1個(gè)測試用例。屏幕上光標(biāo)在最左上、最右下位置邊界值分析
volunteer??
等價(jià)類分析與邊界值的區(qū)別?請舉例說明29當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于邊界值分析邊界值分析使用與等價(jià)類劃分法相同的劃分,只是邊界值分析假定錯(cuò)誤更多地存在于劃分的邊界上,因此在等價(jià)類的邊界上以及兩側(cè)的情況設(shè)計(jì)測試用例。例:測試計(jì)算平方根的函數(shù)
——輸入:實(shí)數(shù)
——輸出:實(shí)數(shù)——規(guī)格說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;庫函數(shù)Print-Line可以用來輸出錯(cuò)誤信息。30邊界值分析邊界值分析使用與等價(jià)類劃分法相同的劃分,只是邊界值邊界值分析例:測試計(jì)算平方根的函數(shù)
——輸入:實(shí)數(shù)
——輸出:實(shí)數(shù)——規(guī)格說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;庫函數(shù)Print-Line可以用來輸出錯(cuò)誤信息。
volunteer??
給出等價(jià)類、邊界值方案?31邊界值分析例:測試計(jì)算平方根的函數(shù)volunteer??邊界值分析等價(jià)類劃分:可以考慮作出如下劃分:輸入(i)<0和(ii)>=0輸出(a)>=0和(b)Error測試用例有兩個(gè):輸入4,輸出2。對應(yīng)于(ii)和(a)。輸入-10,輸出0和錯(cuò)誤提示。對應(yīng)于(i)和(b)。邊界值分析:劃分(ii)的邊界為0和最大正實(shí)數(shù);劃分(i)的邊界為最小負(fù)實(shí)數(shù)和0。由此得到以下測試用例:輸入{最小負(fù)實(shí)數(shù)}輸入{絕對值很小的負(fù)數(shù)}輸入0輸入{絕對值很小的正數(shù)}輸入{最大正實(shí)數(shù)}32邊界值分析等價(jià)類劃分:32邊界值分析通常情況下,軟件測試所包含的邊界檢驗(yàn)有幾種類型:數(shù)字、字符、位置、質(zhì)量、大小、速度、方位、尺寸、空間等相應(yīng)地,以上類型的邊界值應(yīng)該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長、空/滿等情況下33邊界值分析通常情況下,軟件測試所包含的邊界檢驗(yàn)有幾種類型:邊界值分析項(xiàng)邊界值測試用例的設(shè)計(jì)思路字符起始-1個(gè)字符/結(jié)束+1個(gè)字符假設(shè)一個(gè)文本輸入?yún)^(qū)域允許輸入1個(gè)到255個(gè)字符,輸入1個(gè)和255個(gè)字符作為有效等價(jià)類;輸入0個(gè)和256個(gè)字符作為無效等價(jià)類,這幾個(gè)數(shù)值都屬于邊界條件值。數(shù)值最小值-1/最大值+1假設(shè)某軟件的數(shù)據(jù)輸入域要求輸入5位的數(shù)據(jù)值,可以使用10000作為最小值、99999作為最大值;然后使用剛好小于5位和大于5位的數(shù)值來作為邊界條件。空間小于空余空間一點(diǎn)/大于滿空間一點(diǎn)例如在用U盤存儲(chǔ)數(shù)據(jù)時(shí),使用比剩余磁盤空間大一點(diǎn)(幾KB)的文件作為邊界條件。34邊界值分析項(xiàng)邊界值測試用例的設(shè)計(jì)思路字符起始-1個(gè)字符/結(jié)束邊界值分析在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)而需要考慮的因素,可以從軟件的規(guī)格說明或常識中得到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。然而,在測試用例設(shè)計(jì)過程中,某些邊界值條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時(shí)確實(shí)屬于檢驗(yàn)范疇內(nèi)的邊界條件,稱為內(nèi)部邊界值條件或子邊界值條件。內(nèi)部邊界值條件主要有下面幾種:數(shù)值的邊界值檢驗(yàn)字符的邊界值檢驗(yàn)小結(jié):在實(shí)際的測試用例設(shè)計(jì)中,需要將基本的軟件設(shè)計(jì)要求和程序定義的要求結(jié)合起來,即結(jié)合基本邊界值條件和內(nèi)部邊界值條件來設(shè)計(jì)有效的測試用例35邊界值分析在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)而邊界值分析計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值運(yùn)算都有一定的范圍限制。項(xiàng)范圍或值位(bit)0或1字節(jié)(byte)0~255字(word)0~65535(單字)或0~4294967295(雙字)千(K)1024兆(M)1048576吉(G)1073741824計(jì)算機(jī)數(shù)值運(yùn)算的范圍36邊界值分析計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值邊界值分析在計(jì)算機(jī)軟件中,字符也是很重要的表示元素,其中ASCII和Unicode是常見的編碼方式。下表中列出了一些常用字符對應(yīng)的ASCII碼值。字符ASCII碼值字符ASCII碼值空(null)0A65空格(space)32a97斜杠(/)47Z90048z122冒號(:)58單引號(‘)96@6437邊界值分析在計(jì)算機(jī)軟件中,字符也是很重要的表示元素,其中AS邊界值分析(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界值以及剛剛超過這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。(2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)和比最大個(gè)數(shù)多1個(gè)、比最小個(gè)數(shù)少1個(gè)的數(shù)作為測試數(shù)據(jù)。(3)根據(jù)程序規(guī)格說明的每個(gè)輸出條件,使用原則(1)。(4)根據(jù)程序規(guī)格說明的每個(gè)輸出條件,使用原則(2)。(5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和最后一個(gè)元素作為測試用例。(6)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。(7)分析程序規(guī)格說明,找出其它可能的邊界條件。
測試用例設(shè)計(jì)原則38邊界值分析(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這邊界值分析采用邊界值分析測試的基本思想是:故障往往出現(xiàn)在輸入變量的邊界值附近?!虼?,邊界值分析法利用輸入變量的最小值(min)、略大于最小值(min+)、輸入值域內(nèi)的任意值(nom)、略小于最大值(max-)和最大值(max)來設(shè)計(jì)測試用例。邊界值分析法是基于可靠性理論中稱為“單故障”的假設(shè),即有兩個(gè)或兩個(gè)以上故障同時(shí)出現(xiàn)而導(dǎo)致軟件失效的情況很少,也就是說,軟件失效基本上是由單故障引起的?!虼耍谶吔缰捣治龇ㄖ蝎@取測試用例的方法是:(1)每次保留程序中一個(gè)變量,讓其余的變量取正常值,被保留的變量依次取min、min+、nom、max-和max。(2)對程序中的每個(gè)變量重復(fù)(1)。39邊界值分析采用邊界值分析測試的基本思想是:故障往往出現(xiàn)在輸入邊界值分析例:有兩個(gè)輸入變量x1(a≤x1≤b)和x2(c≤x2≤d)的程序F的邊界值分析:
volunteer??40邊界值分析例:有兩個(gè)輸入變量x1(a≤x1≤b)和x2(c≤邊界值分析例1:有兩個(gè)輸入變量x1(a≤x1≤b)和x2(c≤x2≤d)的程序F的邊界值分析測試用例如下:
{<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2nom>,<x1nom,x2max>,<x1nom,x2max->,<x1min,x2nom>,<x1min+,x2nom>,<x1max,x2nom>,<x1max-,x2nom>}x1x2abcd41邊界值分析例1:有兩個(gè)輸入變量x1(a≤x1≤b)和x2(c邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:
volunteer??42邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12]邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}43邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12]有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。volunteer??為什么使用邊界值分析法?在此,我們將三角形每邊邊長的取范圍值設(shè)值為[1,100]。volunteer??前面例1中的程序F的健壯性測試如下圖所示:當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;常見的邊界值有哪些?(7)分析程序規(guī)格說明,找出其它可能的邊界條件。volunteer??輸入-10,輸出0和錯(cuò)誤提示。volunteer??day超出[1…31]確定邊界值應(yīng)遵循以下幾條原則:當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;volunteer??(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界值以及剛剛超過這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。下表中列出了一些常用字符對應(yīng)的ASCII碼值。volunteer??推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。則采用邊界值分析法設(shè)計(jì)的測試用例是:等價(jià)類劃分:“大學(xué)管理系統(tǒng)”邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。44有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。練習(xí):有函數(shù)f(x,y,x),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。請寫出該函數(shù)采用邊界值分析法設(shè)計(jì)的測試用例。
volunteer??45邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12]邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。練習(xí):有函數(shù)f(x,y,x),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。請寫出該函數(shù)采用邊界值分析法設(shè)計(jì)的測試用例。{<2000,6,1>,<2000,6,2>,<2000,6,30>,<2000,6,31>,<2000,1,15>,<2000,2,15>,<2000,11,15>,<2000,12,15>,<1900,6,15>,<1901,6,15>,<2099,6,15>,<2100,6,15>,<2000,6,15>}46邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12]邊界值分析健壯性測試是作為邊界值分析的一個(gè)簡單的擴(kuò)充,它除了對變量的5個(gè)邊界值分析取值外,還需要增加一個(gè)略大于最大值(max+)以及略小于最小值(min-)的取值,檢查超過極限值時(shí)系統(tǒng)的情況。因此,對于有n個(gè)變量的函數(shù)采用健壯性測試需要6n+1個(gè)測試用例。前面例1中的程序F的健壯性測試如下圖所示:x1x2abcd
健壯性測試47邊界值分析健壯性測試是作為邊界值分析的一個(gè)簡單的擴(kuò)充,它除了邊界值分析實(shí)例1三角形問題的邊界值分析測試用例在三角形問題描述中,除了要求邊長是整數(shù)外,沒有給出其它的限制條件。在此,我們將三角形每邊邊長的取范圍值設(shè)值為[1,100]。說明:如果程序規(guī)格說明中沒有顯式地給出邊界值,則可以在設(shè)計(jì)測試用例前先設(shè)定取值的下限值和上限值。
volunteer??48邊界值分析實(shí)例1三角形問題的邊界值分析測試用例volu邊界值分析測試用例abc預(yù)期輸出Test1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等邊三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形49邊界值分析測試用例abc預(yù)期輸出Test160601等腰三邊界值分析實(shí)例2NextDate函數(shù)的邊界值分析測試用例在NextDate函數(shù)中,隱含規(guī)定了變量mouth和變量day的取值范圍為1≤mouth≤12和1≤day≤31,并設(shè)定變量year的取值范圍為1912≤year≤2050。
volunteer??50邊界值分析實(shí)例2NextDate函數(shù)的邊界值分析測試用例邊界值分析測試用例mouthdayyear預(yù)期輸出Test1Test2Test3Test4Test5Test6Test766666661515151515151519111912191319752049205020511911.6.161912.6.161913.6.161975.6.162049.6.162050.6.162051.6.16Test8Test9Test10Test11Test12Test13666666-112303132200120012001200120012001day超出[1…31]2001.6.22001.6.32001.7.1輸入日期超界day超出[1…31]Test14Test15Test16Test17Test18Test19-112111213151515151515200120012001200120012001Mouth超出[1…12]2001.1.162001.2.162001.11.162001.12.16Mouth超出[1…12]51邊界值分析測試用例mouthdayyear預(yù)期輸出Test實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)生成績”邊界值分析:“大學(xué)管理系統(tǒng)”52實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)生成績”邊界值分析:“大學(xué)管邊界值分析:“大學(xué)管理系統(tǒng)”
volunteer??53邊界值分析:“大學(xué)管理系統(tǒng)”volunteer??53邊界值分析:“大學(xué)管理系統(tǒng)”54邊界值分析:“大學(xué)管理系統(tǒng)”54END55END55對于程序的規(guī)格說明來說,是不合理的、沒有意義的輸入數(shù)據(jù)所構(gòu)成的集合;則采用邊界值分析法設(shè)計(jì)的測試用例是:為每一個(gè)有效等價(jià)類和無效等價(jià)類規(guī)定一個(gè)唯一的編號分析:學(xué)生的成績隱含的條件是:0≤x≤100例1:有兩個(gè)輸入變量x1(a≤x1≤b)和x2(c≤x2≤d)的程序F的邊界值分析測試用例如下:(7)分析程序規(guī)格說明,找出其它可能的邊界條件。volunteer??有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。(4)根據(jù)程序規(guī)格說明的每個(gè)輸出條件,使用原則(2)。對16-bit的整數(shù)而言32767和-32768是邊界volunteer??volunteer??等價(jià)類劃分:“大學(xué)管理系統(tǒng)”(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。在三角形問題描述中,除了要求邊長是整數(shù)外,沒有給出其它的限制條件。volunteer??例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。則采用邊界值分析法設(shè)計(jì)的測試用例是:說明:如果程序規(guī)格說明中沒有顯式地給出邊界值,則可以在設(shè)計(jì)測試用例前先設(shè)定取值的下限值和上限值。謝謝觀看!對于程序的規(guī)格說明來說,是不合理的、沒有意義的輸入數(shù)據(jù)所構(gòu)成56軟件測試等價(jià)類劃分邊界值劃分軟件測試等價(jià)類劃分邊界值劃分57等價(jià)類劃分
1.等價(jià)類劃分等價(jià)類劃分法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例。使用等價(jià)類劃分法設(shè)計(jì)測試用例時(shí),要同時(shí)考慮有效等價(jià)類和無效等價(jià)類。有效等價(jià)類對于程序的規(guī)格說明來說,是合理的、有意義的輸入數(shù)據(jù)所構(gòu)成的集合;無效等價(jià)類對于程序的規(guī)格說明來說,是不合理的、沒有意義的輸入數(shù)據(jù)所構(gòu)成的集合;58等價(jià)類劃分1.等價(jià)類劃分有效等價(jià)類2等價(jià)類劃分假定一臺ATM機(jī)允許提取增量為50元,總金額從100~2000(包含2000元)不等的金額,請等價(jià)類方法進(jìn)行測試。有效等價(jià)類編號無效等價(jià)類編號整數(shù)1浮點(diǎn)數(shù)4在100到2000之間2小于1005大于20006能被50整除3不能被50整除71.劃分等價(jià)類,如下表所示。例1:59等價(jià)類劃分假定一臺ATM機(jī)允許提取增量為50元,等價(jià)類劃分例12.設(shè)計(jì)測試用例,如下表所示。用例編號輸入數(shù)據(jù)預(yù)期結(jié)果覆蓋的等價(jià)類1100提取成功1、2、32100.5提示:輸入無效4350提示:輸入無效542050提示:輸入無效65101提示:輸入無效760等價(jià)類劃分例12.設(shè)計(jì)測試用例,如下表所示。用例編號輸入數(shù)據(jù)等價(jià)類劃分假定一臺ATM機(jī)允許提取增量為50元,總金額從100~2000(包含2000元)不等的金額,請等價(jià)類方法進(jìn)行測試。例1:
volunteer??61等價(jià)類劃分假定一臺ATM機(jī)允許提取增量為50元,等價(jià)類劃分例2:62等價(jià)類劃分例2:6等價(jià)類劃分例2:
volunteer??63等價(jià)類劃分例2:volunteer??7軟件測試等價(jià)類劃分邊界值劃分練習(xí):有函數(shù)f(x,y,x),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。Step1:等價(jià)類劃分:一個(gè)有效等價(jià)類,2個(gè)無效等價(jià)類volunteer??等價(jià)類劃分:“大學(xué)管理系統(tǒng)”(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;小于空余空間一點(diǎn)/大于滿空間一點(diǎn)(2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)和比最大個(gè)數(shù)多1個(gè)、比最小個(gè)數(shù)少1個(gè)的數(shù)作為測試數(shù)據(jù)。計(jì)算機(jī)數(shù)值運(yùn)算的范圍當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;為什么使用邊界值分析法?在實(shí)際的測試用例設(shè)計(jì)中,需要將基本的軟件設(shè)計(jì)要求和程序定義的要求結(jié)合起來,即結(jié)合基本邊界值條件和內(nèi)部邊界值條件來設(shè)計(jì)有效的測試用例當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;怎樣用邊界值分析法設(shè)計(jì)測試用例?volunteer??分析:學(xué)生的成績隱含的條件是:0≤x≤100最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長、空/滿等情況下對應(yīng)于(i)和(b)。在100到2000之間等價(jià)類劃分例2:64軟件測試等價(jià)類劃分邊界值劃分等價(jià)類劃分例2:8等價(jià)類劃分例2:65等價(jià)類劃分例2:9等價(jià)類劃分66等價(jià)類劃分10等價(jià)類劃分67等價(jià)類劃分11等價(jià)類劃分68等價(jià)類劃分12等價(jià)類劃分69等價(jià)類劃分13等價(jià)類劃分(4)70等價(jià)類劃分(4)14等價(jià)類劃分:“大學(xué)管理系統(tǒng)”實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)生成績”71等價(jià)類劃分:“大學(xué)管理系統(tǒng)”實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)等價(jià)類劃分:“大學(xué)管理系統(tǒng)”劃分等價(jià)類為每一個(gè)有效等價(jià)類和無效等價(jià)類規(guī)定一個(gè)唯一的編號設(shè)計(jì)一個(gè)測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類,重復(fù)這一步直到所有有效等價(jià)類均被測試用例所覆蓋設(shè)計(jì)一個(gè)測試用例,使其只覆蓋一個(gè)無效等價(jià)類,重復(fù)這一步,直到所有無效等價(jià)類均被覆蓋使用下面的表格有利于確定測試用例72等價(jià)類劃分:“大學(xué)管理系統(tǒng)”劃分等價(jià)類16等價(jià)類劃分:“大學(xué)管理系統(tǒng)”
volunteer??73等價(jià)類劃分:“大學(xué)管理系統(tǒng)”volunteer??17等價(jià)類劃分:“大學(xué)管理系統(tǒng)”分析:學(xué)生的成績隱含的條件是:0≤x≤100Step1:等價(jià)類劃分:一個(gè)有效等價(jià)類,2個(gè)無效等價(jià)類Step2:確定編號,形成等價(jià)類表Step3~Step輸入條件有效等價(jià)類無效等價(jià)類編號0~100分√1.>100分√2.<0分√3.輸入條件有效等價(jià)類無效等價(jià)類編號55√1.120√2.-9√3.74等價(jià)類劃分:“大學(xué)管理系統(tǒng)”分析:學(xué)生的成績隱含的條件是:0在三角形問題描述中,除了要求邊長是整數(shù)外,沒有給出其它的限制條件。有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。為每一個(gè)有效等價(jià)類和無效等價(jià)類規(guī)定一個(gè)唯一的編號如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試數(shù)據(jù)。確定邊界值應(yīng)遵循以下幾條原則:day超出[1…31]分析:學(xué)生的成績隱含的條件是:0≤x≤100練習(xí):有函數(shù)f(x,y,x),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。因此,對于有n個(gè)變量的函數(shù)采用健壯性測試需要6n+1個(gè)測試用例。例:測試計(jì)算平方根的函數(shù)健壯性測試是作為邊界值分析的一個(gè)簡單的擴(kuò)充,它除了對變量的5個(gè)邊界值分析取值外,還需要增加一個(gè)略大于最大值(max+)以及略小于最小值(min-)的取值,檢查超過極限值時(shí)系統(tǒng)的情況。實(shí)例2NextDate函數(shù)的邊界值分析測試用例Step2:確定編號,形成等價(jià)類表在NextDate函數(shù)中,隱含規(guī)定了變量mouth和變量day的取值范圍為1≤mouth≤12和1≤day≤31,并設(shè)定變量year的取值范圍為1912≤year≤2050。有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。volunteer??volunteer??(5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和最后一個(gè)元素作為測試用例。給出等價(jià)類、邊界值方案?等價(jià)類劃分:“大學(xué)管理系統(tǒng)”
volunteer??
尚未解決的問題75在三角形問題描述中,除了要求邊長是整數(shù)外,沒有給出其它的限制等價(jià)類劃分:“大學(xué)管理系統(tǒng)”實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)生成績”76等價(jià)類劃分:“大學(xué)管理系統(tǒng)”實(shí)例:“大學(xué)學(xué)籍管理系統(tǒng)-維護(hù)學(xué)邊界值分析邊界值分析法的定義:邊界值分析法就是對輸入或輸出的邊界值進(jìn)行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價(jià)類劃分法的補(bǔ)充,這種情況下,其測試用例來自等價(jià)類的邊界。77邊界值分析邊界值分析法的定義:21邊界值分析78邊界值分析22邊界值分析邊界值分析關(guān)注的是輸入空間的邊界。確定邊界值應(yīng)遵循以下幾條原則:如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)少一、比最大個(gè)數(shù)多一的數(shù)作為測試數(shù)據(jù)。如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測試數(shù)據(jù)。如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試數(shù)據(jù)。分析規(guī)格說明,找出其他可能的邊界條件。79邊界值分析邊界值分析關(guān)注的是輸入空間的邊界。確定邊界值應(yīng)遵循邊界值分析
volunteer??例:有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。80邊界值分析volunteer??例:有一個(gè)小程邊界值分析例:有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。(1)各變量分別取略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值和略大于最大值,所以A、B、C分別取值為:-1、0、1、5000、9998、9999、10000。(2)設(shè)計(jì)測試用例,見教材上表2-8。81邊界值分析例:有一個(gè)小程序,能夠求出三個(gè)在0到99邊界值分析為什么使用邊界值分析法?無數(shù)的測試實(shí)踐表明,大量的故障往往發(fā)生在輸入定義域或輸出值域的邊界上,而不是在其內(nèi)部。因此,針對各種邊界情況設(shè)計(jì)測試用例,通常會(huì)取得很好的測試效果。怎樣用邊界值分析法設(shè)計(jì)測試用例?(1)首先確定邊界情況。通常輸入或輸出等價(jià)類的邊界就是應(yīng)該著重測試的邊界情況。(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。82邊界值分析為什么使用邊界值分析法?26邊界值分析
volunteer??
常見的邊界值有哪些?83邊界值分析volunteer??常見的邊界值有哪些?2邊界值分析對16-bit的整數(shù)而言32767和-32768是邊界屏幕上光標(biāo)在最左上、最右下位置報(bào)表的第一行和最后一行數(shù)組元素的第一個(gè)和最后一個(gè)循環(huán)的第0次、第1次和倒數(shù)第2次、最后一次84邊界值分析對16-bit的整數(shù)而言32767和-32當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。則采用邊界值分析法設(shè)計(jì)的測試用例是:前面例1中的程序F的健壯性測試如下圖所示:——因此,邊界值分析法利用輸入變量的最小值(min)、略大于最小值(min+)、輸入值域內(nèi)的任意值(nom)、略小于最大值(max-)和最大值(max)來設(shè)計(jì)測試用例。例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。對應(yīng)于(ii)和(a)。Step1:等價(jià)類劃分:一個(gè)有效等價(jià)類,2個(gè)無效等價(jià)類計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值運(yùn)算都有一定的范圍限制。對于程序的規(guī)格說明來說,是不合理的、沒有意義的輸入數(shù)據(jù)所構(gòu)成的集合;因此,對于有n個(gè)變量的函數(shù)采用健壯性測試需要6n+1個(gè)測試用例。分析:學(xué)生的成績隱含的條件是:0≤x≤100使用下面的表格有利于確定測試用例邊界值分析法是基于可靠性理論中稱為“單故障”的假設(shè),即有兩個(gè)或兩個(gè)以上故障同時(shí)出現(xiàn)而導(dǎo)致軟件失效的情況很少,也就是說,軟件失效基本上是由單故障引起的。則采用邊界值分析法設(shè)計(jì)的測試用例是:起始-1個(gè)字符/結(jié)束+1個(gè)字符volunteer??則采用邊界值分析法設(shè)計(jì)的測試用例是:(5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和最后一個(gè)元素作為測試用例。{<2000,6,1>,<2000,6,2>,<2000,6,30>,<2000,6,31>,<2000,1,15>,<2000,2,15>,<2000,11,15>,<2000,12,15>,<1900,6,15>,<1901,6,15>,<2099,6,15>,<2100,6,15>,<2000,6,15>}則采用邊界值分析法設(shè)計(jì)的測試用例是:輸入0個(gè)和256個(gè)字符作為無效等價(jià)類,這幾個(gè)數(shù)值都屬于邊界條件值。前面例1中的程序F的健壯性測試如下圖所示:volunteer??等價(jià)類劃分:“大學(xué)管理系統(tǒng)”健壯性測試是作為邊界值分析的一個(gè)簡單的擴(kuò)充,它除了對變量的5個(gè)邊界值分析取值外,還需要增加一個(gè)略大于最大值(max+)以及略小于最小值(min-)的取值,檢查超過極限值時(shí)系統(tǒng)的情況。當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。通常邊界值分析法是作為對等價(jià)類劃分法的補(bǔ)充,這種情況下,其測試用例來自等價(jià)類的邊界。有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。則采用邊界值分析法設(shè)計(jì)的測試用例是:——規(guī)格說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;報(bào)表的第一行和最后一行等價(jià)類劃分:“大學(xué)管理系統(tǒng)”練習(xí):有函數(shù)f(x,y,x),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。輸入-10,輸出0和錯(cuò)誤提示。——輸出:實(shí)數(shù)(5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和最后一個(gè)元素作為測試用例。volunteer??假設(shè)一個(gè)文本輸入?yún)^(qū)域允許輸入1個(gè)到255個(gè)字符,輸入1個(gè)和255個(gè)字符作為有效等價(jià)類;因此,對于有n個(gè)變量的函數(shù)采用健壯性測試需要6n+1個(gè)測試用例。屏幕上光標(biāo)在最左上、最右下位置邊界值分析
volunteer??
等價(jià)類分析與邊界值的區(qū)別?請舉例說明85當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于邊界值分析邊界值分析使用與等價(jià)類劃分法相同的劃分,只是邊界值分析假定錯(cuò)誤更多地存在于劃分的邊界上,因此在等價(jià)類的邊界上以及兩側(cè)的情況設(shè)計(jì)測試用例。例:測試計(jì)算平方根的函數(shù)
——輸入:實(shí)數(shù)
——輸出:實(shí)數(shù)——規(guī)格說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;庫函數(shù)Print-Line可以用來輸出錯(cuò)誤信息。86邊界值分析邊界值分析使用與等價(jià)類劃分法相同的劃分,只是邊界值邊界值分析例:測試計(jì)算平方根的函數(shù)
——輸入:實(shí)數(shù)
——輸出:實(shí)數(shù)——規(guī)格說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;庫函數(shù)Print-Line可以用來輸出錯(cuò)誤信息。
volunteer??
給出等價(jià)類、邊界值方案?87邊界值分析例:測試計(jì)算平方根的函數(shù)volunteer??邊界值分析等價(jià)類劃分:可以考慮作出如下劃分:輸入(i)<0和(ii)>=0輸出(a)>=0和(b)Error測試用例有兩個(gè):輸入4,輸出2。對應(yīng)于(ii)和(a)。輸入-10,輸出0和錯(cuò)誤提示。對應(yīng)于(i)和(b)。邊界值分析:劃分(ii)的邊界為0和最大正實(shí)數(shù);劃分(i)的邊界為最小負(fù)實(shí)數(shù)和0。由此得到以下測試用例:輸入{最小負(fù)實(shí)數(shù)}輸入{絕對值很小的負(fù)數(shù)}輸入0輸入{絕對值很小的正數(shù)}輸入{最大正實(shí)數(shù)}88邊界值分析等價(jià)類劃分:32邊界值分析通常情況下,軟件測試所包含的邊界檢驗(yàn)有幾種類型:數(shù)字、字符、位置、質(zhì)量、大小、速度、方位、尺寸、空間等相應(yīng)地,以上類型的邊界值應(yīng)該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長、空/滿等情況下89邊界值分析通常情況下,軟件測試所包含的邊界檢驗(yàn)有幾種類型:邊界值分析項(xiàng)邊界值測試用例的設(shè)計(jì)思路字符起始-1個(gè)字符/結(jié)束+1個(gè)字符假設(shè)一個(gè)文本輸入?yún)^(qū)域允許輸入1個(gè)到255個(gè)字符,輸入1個(gè)和255個(gè)字符作為有效等價(jià)類;輸入0個(gè)和256個(gè)字符作為無效等價(jià)類,這幾個(gè)數(shù)值都屬于邊界條件值。數(shù)值最小值-1/最大值+1假設(shè)某軟件的數(shù)據(jù)輸入域要求輸入5位的數(shù)據(jù)值,可以使用10000作為最小值、99999作為最大值;然后使用剛好小于5位和大于5位的數(shù)值來作為邊界條件??臻g小于空余空間一點(diǎn)/大于滿空間一點(diǎn)例如在用U盤存儲(chǔ)數(shù)據(jù)時(shí),使用比剩余磁盤空間大一點(diǎn)(幾KB)的文件作為邊界條件。90邊界值分析項(xiàng)邊界值測試用例的設(shè)計(jì)思路字符起始-1個(gè)字符/結(jié)束邊界值分析在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)而需要考慮的因素,可以從軟件的規(guī)格說明或常識中得到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。然而,在測試用例設(shè)計(jì)過程中,某些邊界值條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時(shí)確實(shí)屬于檢驗(yàn)范疇內(nèi)的邊界條件,稱為內(nèi)部邊界值條件或子邊界值條件。內(nèi)部邊界值條件主要有下面幾種:數(shù)值的邊界值檢驗(yàn)字符的邊界值檢驗(yàn)小結(jié):在實(shí)際的測試用例設(shè)計(jì)中,需要將基本的軟件設(shè)計(jì)要求和程序定義的要求結(jié)合起來,即結(jié)合基本邊界值條件和內(nèi)部邊界值條件來設(shè)計(jì)有效的測試用例91邊界值分析在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)而邊界值分析計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值運(yùn)算都有一定的范圍限制。項(xiàng)范圍或值位(bit)0或1字節(jié)(byte)0~255字(word)0~65535(單字)或0~4294967295(雙字)千(K)1024兆(M)1048576吉(G)1073741824計(jì)算機(jī)數(shù)值運(yùn)算的范圍92邊界值分析計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值邊界值分析在計(jì)算機(jī)軟件中,字符也是很重要的表示元素,其中ASCII和Unicode是常見的編碼方式。下表中列出了一些常用字符對應(yīng)的ASCII碼值。字符ASCII碼值字符ASCII碼值空(null)0A65空格(space)32a97斜杠(/)47Z90048z122冒號(:)58單引號(‘)96@6493邊界值分析在計(jì)算機(jī)軟件中,字符也是很重要的表示元素,其中AS邊界值分析(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界值以及剛剛超過這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。(2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)和比最大個(gè)數(shù)多1個(gè)、比最小個(gè)數(shù)少1個(gè)的數(shù)作為測試數(shù)據(jù)。(3)根據(jù)程序規(guī)格說明的每個(gè)輸出條件,使用原則(1)。(4)根據(jù)程序規(guī)格說明的每個(gè)輸出條件,使用原則(2)。(5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和最后一個(gè)元素作為測試用例。(6)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。(7)分析程序規(guī)格說明,找出其它可能的邊界條件。
測試用例設(shè)計(jì)原則94邊界值分析(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這邊界值分析采用邊界值分析測試的基本思想是:故障往往出現(xiàn)在輸入變量的邊界值附近?!虼?,邊界值分析法利用輸入變量的最小值(min)、略大于最小值(min+)、輸入值域內(nèi)的任意值(nom)、略小于最大值(max-)和最大值(max)來設(shè)計(jì)測試用例。邊界值分析法是基于可靠性理論中稱為“單故障”的假設(shè),即有兩個(gè)或兩個(gè)以上故障同時(shí)出現(xiàn)而導(dǎo)致軟件失效的情況很少,也就是說,軟件失效基本上是由單故障引起的?!虼耍谶吔缰捣治龇ㄖ蝎@取測試用例的方法是:(1)每次保留程序中一個(gè)變量,讓其余的變量取正常值,被保留的變量依次取min、min+、nom、max-和max。(2)對程序中的每個(gè)變量重復(fù)(1)。95邊界值分析采用邊界值分析測試的基本思想是:故障往往出現(xiàn)在輸入邊界值分析例:有兩個(gè)輸入變量x1(a≤x1≤b)和x2(c≤x2≤d)的程序F的邊界值分析:
volunteer??96邊界值分析例:有兩個(gè)輸入變量x1(a≤x1≤b)和x2(c≤邊界值分析例1:有兩個(gè)輸入變量x1(a≤x1≤b)和x2(c≤x2≤d)的程序F的邊界值分析測試用例如下:
{<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2nom>,<x1nom,x2max>,<x1nom,x2max->,<x1min,x2nom>,<x1min+,x2nom>,<x1max,x2nom>,<x1max-,x2nom>}x1x2abcd97邊界值分析例1:有兩個(gè)輸入變量x1(a≤x1≤b)和x2(c邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:
volunteer??98邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12]邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}99邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12]有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計(jì)測試用例。volunteer??為什么使用邊界值分析法?在此,我們將三角形每邊邊長的取范圍值設(shè)值為[1,100]。volunteer??前面例1中的程序F的健壯性測試如下圖所示:當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;常見的邊界值有哪些?(7)分析程序規(guī)格說明,找出其它可能的邊界條件。volunteer??輸入-10,輸出0和錯(cuò)誤提示。volunteer??day超出[1…31]確定邊界值應(yīng)遵循以下幾條原則:當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;volunteer??(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界值以及剛剛超過這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。下表中列出了一些常用字符對應(yīng)的ASCII碼值。volunteer??推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。則采用邊界值分析法設(shè)計(jì)的測試用例是:等價(jià)類劃分:“大學(xué)管理系統(tǒng)”邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。100有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。練習(xí):有函數(shù)f(x,y,x),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。請寫出該函數(shù)采用邊界值分析法設(shè)計(jì)的測試用例。
volunteer??101邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12]邊界值分析例2:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[1,31]。則采用邊界值分析法設(shè)計(jì)的測試用例是:{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}推論:對于一個(gè)含有n個(gè)變量的程序,采用邊界值分析法測試程序會(huì)產(chǎn)生4n+1個(gè)測試用例。練習(xí):有函數(shù)f(x,y,x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外墻保溫細(xì)節(jié)施工方案
- 變電站一次設(shè)備
- 廣東省惠州市博羅縣2024-2025學(xué)年八年級上學(xué)期期末教學(xué)質(zhì)量階段性診斷英語試題(原卷版)
- 二零二五年房地產(chǎn)企業(yè)勞動(dòng)合同及售后服務(wù)協(xié)議2篇
- 課標(biāo)版高考語文二輪復(fù)習(xí)題一論述類文本閱讀課件
- 2024年浙江宇翔職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2024年泉州工藝美術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 2024年阜新市礦務(wù)局精神病醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年江門職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 二零二五年物流倉儲(chǔ)項(xiàng)目保證擔(dān)保協(xié)議3篇
- 教師培訓(xùn)的教師專業(yè)知識與技能
- 人工智能在體育訓(xùn)練與競技分析中的應(yīng)用
- 2024版幼兒園哲學(xué)思考與人生觀主題班會(huì)課件
- 2023年拓展加盟經(jīng)理年終總結(jié)及下一年計(jì)劃
- 比賽對陣表模板
- 混凝土技術(shù)規(guī)格書
- 醫(yī)美藥品基本管理制度范本
- 吳茱萸熱奄包
- 思想道德與法治2023版教學(xué)設(shè)計(jì)第六章 學(xué)習(xí)法治思想 提升法治素養(yǎng)
- 霍尼韋爾1900 Honeywell條碼掃描槍設(shè)置
- 公司年度工作總結(jié)會(huì)議議程
評論
0/150
提交評論