實(shí)驗(yàn)二動(dòng)態(tài)分析測(cè)試_第1頁(yè)
實(shí)驗(yàn)二動(dòng)態(tài)分析測(cè)試_第2頁(yè)
實(shí)驗(yàn)二動(dòng)態(tài)分析測(cè)試_第3頁(yè)
實(shí)驗(yàn)二動(dòng)態(tài)分析測(cè)試_第4頁(yè)
實(shí)驗(yàn)二動(dòng)態(tài)分析測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟 件 學(xué) 院上 機(jī) 實(shí) 驗(yàn) 報(bào) 告課程名稱(chēng): 軟件測(cè)試與評(píng)估 實(shí)驗(yàn)項(xiàng)目: 實(shí)驗(yàn)二基于規(guī)格說(shuō)明的測(cè)試技術(shù) 實(shí) 驗(yàn) 室: 耘慧416 姓 名: 學(xué) 號(hào): 專(zhuān)業(yè)班級(jí): 軟件13-7 實(shí)驗(yàn)時(shí)間: 2016/4/7 實(shí)驗(yàn)成績(jī)?cè)u(píng)閱教師一、 實(shí)驗(yàn)?zāi)康募耙?.掌握基于規(guī)格說(shuō)明的測(cè)試技術(shù)(即動(dòng)態(tài)測(cè)試技術(shù));2.能夠運(yùn)用其進(jìn)行測(cè)試用例的設(shè)計(jì)。二、 實(shí)驗(yàn)性質(zhì)設(shè)計(jì)性三、 實(shí)驗(yàn)學(xué)時(shí)2學(xué)時(shí)四、 實(shí)驗(yàn)環(huán)境1.實(shí)驗(yàn)環(huán)境:主流PC機(jī)一套,要求安裝windows操作系統(tǒng)、OFFICE工具2.知識(shí)準(zhǔn)備:(1)軟件基于規(guī)格說(shuō)明的測(cè)試技術(shù);(2)劃分測(cè)試用例的原理和方法的同時(shí),運(yùn)用其設(shè)計(jì)測(cè)試用例。5、 實(shí)驗(yàn)內(nèi)容及步驟1.對(duì)問(wèn)題進(jìn)行

2、分析,選用基于規(guī)格說(shuō)明的測(cè)試技術(shù)中適合的方法為NextDate函數(shù)問(wèn)題設(shè)計(jì)測(cè)試用例:NextDate函數(shù)NextDate函數(shù)說(shuō)明另一種復(fù)雜的關(guān)系,即輸入變量之間邏輯關(guān)系的復(fù)雜性。NextDate函數(shù)包含三個(gè)變量month、day和year,函數(shù)的輸出為輸入日期后一天的日期。要求輸入變量month、day和year均為整數(shù)值,并且滿足下列條件:條件1 1month 12條件2 1day 31條件3 1912year 2050結(jié)論:在NextDate函數(shù)中有兩種復(fù)雜性的輸入來(lái)源,一是輸入域的復(fù)雜性,二是確定閏年的規(guī)則并要增加“額外天”。2.以覆蓋測(cè)試技術(shù)中的判定覆蓋為例來(lái)進(jìn)行三角形問(wèn)題的測(cè)試用例的

3、設(shè)計(jì):如果輸入值a、b、c不滿足條件1、條件2和條件3 ,程序給出“邊的取值超出允許范圍”的信息。如果輸入值a、b、c 滿足條件1、條件2和條件3,則輸出下列四種情況之一:(1)如果不滿足條件4、條件5和條件6中的一個(gè),則程序輸出為“非三角形”;(2)如果三條邊相等,則程序輸出為“等邊三角形”;(3)如果恰好有兩條邊相等,則程序輸出為“等腰三角形”;(4)如果三條邊都不相等,則程序輸出為“一般三角形”。五、實(shí)驗(yàn)要求及步驟1.對(duì)于NextDate函數(shù)問(wèn)題進(jìn)行分析:(1)選用基于規(guī)格說(shuō)明的測(cè)試技術(shù)中適合的方法為其設(shè)計(jì)測(cè)試用例;(2)選定等價(jià)類(lèi)、邊界值、等價(jià)類(lèi)邊界值結(jié)合法、因果圖/決策表法其中之一設(shè)

4、計(jì)具體測(cè)試用例,給出預(yù)定輸入和輸出,以及實(shí)際輸出結(jié)果;可供選擇的設(shè)計(jì)方法包括:等價(jià)類(lèi)測(cè)試等價(jià)類(lèi)測(cè)試方法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分,然后從每一部分中選取少數(shù)有代表性的數(shù)據(jù)作為測(cè)試用例。使用等價(jià)類(lèi)劃分方法設(shè)計(jì)測(cè)試用例要經(jīng)歷劃分等價(jià)類(lèi)(列出等價(jià)類(lèi)表)和選取測(cè)試用例兩步。等價(jià)類(lèi)的劃分有兩種不同的情況:有效等價(jià)類(lèi):是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。無(wú)效等價(jià)類(lèi):是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是不合理的,無(wú)意義的輸入數(shù)據(jù)構(gòu)成的集合。在設(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)的設(shè)計(jì)。用等價(jià)類(lèi)劃分法設(shè)計(jì)測(cè)試用例步驟:a形成等價(jià)類(lèi)表,每一等價(jià)類(lèi)規(guī)定一

5、個(gè)唯一的編號(hào);b設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類(lèi),重復(fù)這一步驟,直到所有有效等價(jià)類(lèi)均被測(cè)試用例所覆蓋;c設(shè)計(jì)一個(gè)新測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類(lèi),重復(fù)這一步驟直到所有無(wú)效等價(jià)類(lèi)均被覆蓋。邊界值分析邊界值分析是考慮邊界條件而選取測(cè)試用例的一種功能測(cè)試方法。邊界值分析關(guān)注輸入空間的邊界,以標(biāo)識(shí)測(cè)試用例,因?yàn)殄e(cuò)誤更可能出現(xiàn)在輸入變量的極值附近。邊界值分析的基本思想是:利用輸入變量的最小值(min)、略大于最小值(min+)、正常值(nom)、略小于最大值(max-)和最大值(max)來(lái)設(shè)計(jì)測(cè)試用例。使用在最小值、略高于最小值、正常值、略低于最大值和最大值處取輸入變量值

6、。在邊界值分析法中獲取測(cè)試用例的方法是:a每次保留程序中一個(gè)變量,讓其余的變量取正常值,被保留的變量依次取min、min+、nom、max-和max作為有效邊界值;依次取min-和max+作為無(wú)效邊界值。b對(duì)程序中的每個(gè)變量重復(fù)1) 。決策表的測(cè)試決策表(也稱(chēng)判定表)適合描述分析和表達(dá)針對(duì)不同邏輯條件的組合取值執(zhí)行不同操作的情況。決策表分為4部分,如下圖所示:其中:a條件樁:列出問(wèn)題的所有條件b條件項(xiàng):針對(duì)條件樁給出的條件列出所有可能的取值c動(dòng)作樁:列出問(wèn)題規(guī)定的可能采取的操作d動(dòng)作項(xiàng):指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作使用決策表標(biāo)識(shí)測(cè)試用例,則決策表中的條件就是規(guī)格說(shuō)明書(shū)中的輸入條件,

7、動(dòng)作就是輸出結(jié)果,而規(guī)則就是貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列,一條規(guī)則要對(duì)應(yīng)設(shè)計(jì)一個(gè)測(cè)試用例。因果圖法因果圖法最終生成的是決策表。利用因果圖生成測(cè)試用例的基本步驟如下:a分析軟件規(guī)格說(shuō)明中哪些是原因(即輸入條件或輸入條件的等價(jià)類(lèi)),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。b分析軟件規(guī)格說(shuō)明中的語(yǔ)義,找出原因與結(jié)果之間、原因與原因之間對(duì)應(yīng)的關(guān)系,根據(jù)這些關(guān)系畫(huà)出因果圖。c由于語(yǔ)法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號(hào)表明約束或限制條件。d把因果圖轉(zhuǎn)換為決策表。e根據(jù)決策表中的每一列設(shè)計(jì)測(cè)試用例。(3)比較這些方法

8、之間的優(yōu)缺點(diǎn)。NextDate函數(shù)的決策表測(cè)試用例設(shè)計(jì)1.問(wèn)題分析:為了獲得下一個(gè)日期,NextDate函數(shù)執(zhí)行如下操作:如果輸入日期不是當(dāng)月最后一天,則把day變量的值加1;如果輸入日期是111月份中某月的最后一天,則把day變量的值復(fù)位為1,month變量的值加1;如果輸入日期是12月的最后一天,則day變量和month變量的值都復(fù)位為1,year變量的值加1。關(guān)于最后一天的判斷:如果是有31天的月份(1,3,5,7,8,10,12),day變量值為31;如果是有30天的月份(4,6,9,11),day變量值為30;如果是有29天的月份(閏年的2月),day變量值為29;如果是有28天的月

9、份(非閏年的2月),day變量值為28。2.根據(jù)所執(zhí)行的操作,可列出NextDate函數(shù)的動(dòng)作樁:a1: 不可能;a2: day加1;a3: day復(fù)位;a4: month加1;a5: month復(fù)位;a6: year加1考慮到?jīng)Q策表的規(guī)模,條件使用month、day、year變量的等價(jià)類(lèi),在以下等價(jià)類(lèi)集合上建立決策表:對(duì)于month變量的取值M1: mouth: mouth有30天;M2: mouth:mouth有31天,12月除外;M3: mouth:mouth有12月;M4: mouth:mouth是2月;對(duì)于day變量的取值D1:day:1day27;D2: day:day=28;D3

10、: day:day=29;D4: day:day=30;D5: day:day=31;對(duì)于year變量的取值Y1:year:year是閏年;Y2: year:year不是閏年month變量的有效等價(jià)類(lèi):M1: month=4,6,9,11 M2: month=1,3,5,7,8,10M3: month=12 M4: month=2day變量的有效等價(jià)類(lèi):D1: 1day27 D2:day=28 D3:day=29 D4:day=30 D5: day=31year變量的有效等價(jià)類(lèi):Y1: year是閏年 Y2: year不是閏年3.考慮各種有效的輸入情況,程序中可能采取的操作有以下六種:a1:

11、不可能a2: 日增1 a3: 日期復(fù)位a4: 月增1 a5: 月復(fù)位a6: 年增14. 繪制決策表:5. 設(shè)計(jì)測(cè)試用例:6、 實(shí)驗(yàn)總結(jié) 通過(guò)本次實(shí)驗(yàn),我完成了動(dòng)態(tài)測(cè)試技術(shù),并且使用決策表法和覆蓋法分別測(cè)試了Nextday程序和三角形程序,通過(guò)親自上機(jī)測(cè)試,解決了程序中存在的一些bug,更加深刻的體會(huì)到測(cè)試的重要性。附錄 源程序清單1、 Nextday/date11.cpp#include<iostream>using namespace std;class Dateint day;int month;int year;public:int Year();int Month();in

12、t Day(int day1,int month1,int year1);int Date:Year()return year;int Date:Month()return month;int Date:Day(int day1,int month1,int year1)if(month1=1|month1=3|month1=5|month1=7|month1=8|month1=10|month1=12)if(day1<31)day1+;day=day1;month = month1;else if(day1=31)day1 = 1;month1+;month = month1;mont

13、h1-;else cout<<"error1"<<endl;return 0;day = day1;if(month1=4|month1=6|month1=9|month1=11)if(day1<30)day1+;/day = day1;month = month1;else if(day1=30)day1 = 1;month1 +;month = month1;month1-;elsecout<<"error2"<<endl;return 0;day = day1;/day = day1;if(mo

14、nth>12)month = 1;/day =1;year1+;year = year1;if(year>2050)/1912cout<<"超出范圍"<<endl;return 0;if(month1=2)if(year1%4=0&&year1%100!=0|year1%400=0)if(day1<29)day1+;/day = day1;month = month1;else if(day1=29)month1+;day1 = 1;month = month1;elsecout<<"error

15、3"<<endl;return 0;day = day1;elseif(day1<28)day1+;/day = day1;month = month1;else if(day1=28)month1+;day1 = 1;/day = day1;month = month1;elsecout<<"error4"<<endl;return 0;day = day1;return day;int main()Date DATE;Date *p =&DATE;int a = 0,b = 0,c = 0;while(true

16、)cout<<"請(qǐng)輸入日期:(依次輸入年月日)(按0退出)"<<endl;cin>>a;if(a=0)break;cout<<"年"<<endl;cin>>b;cout<<"月"<<endl;cin>>c;cout<<"日"<<endl;if(a>=1912&&a<=2050&&b>=1&&b<=12&&c>=1&&c<=31)/DATE->Day(a,b,c);int dd = p->Day(c,b,a);if(dd)/DATE->Year();cout<<DATE->year<<"年"<<DATE->month<<"月"<

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論