軟件測試因果圖測試_第1頁
軟件測試因果圖測試_第2頁
軟件測試因果圖測試_第3頁
軟件測試因果圖測試_第4頁
軟件測試因果圖測試_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件測試因果圖測試第一頁,共二十二頁,編輯于2023年,星期三3.6.1因果圖法的簡介因果圖法產(chǎn)生的背景:等價(jià)類劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合、輸入條件之間的相互制約關(guān)系。這樣雖然各種輸入條件可能出錯(cuò)的情況已經(jīng)測試到了,但多個(gè)輸入條件組合起來可能出錯(cuò)的情況卻被忽視了。如果在測試時(shí)必須考慮輸入條件的各種組合,則可能的組合數(shù)目將是天文數(shù)字,因此必須考慮采用一種適合于描述多種條件的組合、相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來進(jìn)行測試用例的設(shè)計(jì),這就需要利用因果圖(邏輯模型)。

第二頁,共二十二頁,編輯于2023年,星期三因果圖法的簡介(續(xù))因果圖法是基于這樣的一種思想:一些程序的功能可以用判定表(或稱決策表)的形式來表示,并根據(jù)輸入條件的組合情況規(guī)定相應(yīng)的操作。因果圖法的定義:是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測試用例的方法,它適合于檢查程序輸入條件的各種組合情況。采用因果圖法設(shè)計(jì)測試用例的步驟:(1)根據(jù)程序規(guī)格說明書描述,分析并確定因(輸入條件)和果(輸出結(jié)果或程序狀態(tài)的改變),畫出因果圖。(2)將得到的因果圖轉(zhuǎn)換為判定表。(3)為判定表中每一列所表示的情況設(shè)計(jì)一個(gè)測試用例。第三頁,共二十二頁,編輯于2023年,星期三因果圖法的簡介(續(xù))使用因果圖法的優(yōu)點(diǎn):(1)考慮到了輸入情況的各種組合以及各個(gè)輸入情況之間的相互制約關(guān)系。(2)能夠幫助測試人員按照一定的步驟,高效率的開發(fā)測試用例。(3)因果圖法是將自然語言規(guī)格說明轉(zhuǎn)化成形式語言規(guī)格說明的一種嚴(yán)格的方法,可以指出規(guī)格說明存在的不完整性和二義性。第四頁,共二十二頁,編輯于2023年,星期三3.6.2因果圖因果圖中用來表示4種因果關(guān)系的基本符號:c1e1恒等c1e1非~c1e1或c2c3∨c1e1與c2∧第五頁,共二十二頁,編輯于2023年,星期三因果圖(續(xù))因果圖中的4種基本關(guān)系在因果圖的基本符號中,圖中的左結(jié)點(diǎn)ci表示輸入狀態(tài)(或稱原因),右結(jié)點(diǎn)ei表示輸出狀態(tài)(或稱結(jié)果)。ci與ei取值0或1,0表示某狀態(tài)不出現(xiàn),1則表示某狀態(tài)出現(xiàn)。恒等:若c1是1,則e1也為1,否則e1為0非:若c1是1,則e1為0,否則e1為1或:若c1或c2或c3是1,則e1為1,否則e1為0與:若c1和c2都是1,則e1為1,否則e1為0第六頁,共二十二頁,編輯于2023年,星期三因果圖(續(xù))因果圖中的約束在實(shí)際問題中輸入狀態(tài)相互之間、輸出狀態(tài)相互之間可能存在某些依賴關(guān)系,稱為“約束”。對于輸入條件的約束有E、I、O、R四種約束,對于輸出條件的約束只有M約束。E約束(異):a和b中最多有一個(gè)可能為1,即a和b不能同時(shí)為1。I約束(或):a、b、c中至少有一個(gè)必須為1,即a、b、c不能同時(shí)為0。O約束(唯一):a和b必須有一個(gè)且僅有一個(gè)為1。R約束(要求):a是1時(shí),b必須是1,即a為1時(shí),b不能為0。M約束(強(qiáng)制):若結(jié)果a為1,則結(jié)果b強(qiáng)制為0。第七頁,共二十二頁,編輯于2023年,星期三因果圖(續(xù))ab異Eab或Icab唯一ORab要求Mab強(qiáng)制因果圖中用來表示約束關(guān)系的約束符號:第八頁,共二十二頁,編輯于2023年,星期三因果圖(續(xù))因果圖法最終生成的是決策表。利用因果圖生成測試用例的基本步驟如下:(1)分析軟件規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識符。(2)分析軟件規(guī)格說明中的語義,找出原因與結(jié)果之間、原因與原因之間對應(yīng)的關(guān)系,根據(jù)這些關(guān)系畫出因果圖。(3)由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。(4)把因果圖轉(zhuǎn)換為決策表。(5)根據(jù)決策表中的每一列設(shè)計(jì)測試用例。第九頁,共二十二頁,編輯于2023年,星期三3.6.3因果圖法測試舉例實(shí)例用因果圖法測試以下程序。

程序的規(guī)格說明要求:輸入的第一個(gè)字符必須是#或*,第二個(gè)字符必須是一個(gè)數(shù)字,此情況下進(jìn)行文件的修改;如果第一個(gè)字符不是#或*,則給出信息N,如果第二個(gè)字符不是數(shù)字,則給出信息M。解題步驟:(1)分析程序的規(guī)格說明,列出原因和結(jié)果。(2)找出原因與結(jié)果之間的因果關(guān)系、原因與原因之間的約束關(guān)系,畫出因果圖。(3)將因果圖轉(zhuǎn)換成決策表。(4)根據(jù)(3)中的決策表,設(shè)計(jì)測試用例的輸入數(shù)據(jù)和預(yù)期輸出。第十頁,共二十二頁,編輯于2023年,星期三因果圖法測試舉例(續(xù))(1)分析程序規(guī)格說明中的原因和結(jié)果:(2)畫出因果圖(編號為10的中間結(jié)點(diǎn)是導(dǎo)出結(jié)果的進(jìn)一步原因):原因結(jié)果c1:第一個(gè)字符是#e1:給出信息Nc2:第一個(gè)字符是*e2:修改文件c3:第二個(gè)字符是一個(gè)數(shù)字e3:給出信息Mc1c2c3e110e2e3~∨E~∧第十一頁,共二十二頁,編輯于2023年,星期三因果圖法測試舉例(續(xù))(3)將因果圖轉(zhuǎn)換成如下所示的決策表:12345678條件:C1C2C310111110101110010111010100100000動(dòng)作:e1e2e3不可能√√√√√√√√√測試用例#3#A*6*BA1GT規(guī)則選項(xiàng)第十二頁,共二十二頁,編輯于2023年,星期三因果圖法測試舉例(續(xù))(4)根據(jù)決策表中的每一列設(shè)計(jì)測試用例:測試用例編號輸入數(shù)據(jù)預(yù)期輸出1#3修改文件2#A給出信息M3*6修改文件4*B給出信息M5A1給出信息N6GT給出信息N和信息M第十三頁,共二十二頁,編輯于2023年,星期三有一個(gè)處理單價(jià)為1元5角錢的盒裝飲料的自動(dòng)售貨機(jī)軟件。若投入1元5角硬幣,按下“可樂”、“雪碧”或“紅茶”按鈕,相應(yīng)的飲料就送出來。若投入的是兩元硬幣,在送出飲料的同時(shí)退還5角硬幣。第十四頁,共二十二頁,編輯于2023年,星期三原因:①投入1元5角硬幣;②投入2元硬幣;③按“可樂”按鈕;④按“雪碧”按鈕;⑤按“紅茶”按鈕。中間狀態(tài):①已投幣;②已按鈕。結(jié)果:①退還5角硬幣;②送出“可樂”飲料;③送出“雪碧”飲料;④送出“紅茶”飲料。第十五頁,共二十二頁,編輯于2023年,星期三因果圖第十六頁,共二十二頁,編輯于2023年,星期三決策表第十七頁,共二十二頁,編輯于2023年,星期三習(xí)題1、使用因果圖法為三角形問題設(shè)計(jì)測試用例。2、某軟件的一個(gè)模塊的需求規(guī)格說明書中描述:(1)年薪制員工:嚴(yán)重過失,扣年終風(fēng)險(xiǎn)金的4%;過失,扣年終風(fēng)險(xiǎn)金的2%。(2)非年薪制員工:嚴(yán)重過失,扣當(dāng)月薪資的8%;過失,扣當(dāng)月薪資的4%。請繪制出因果圖和判定表,并給出相應(yīng)的測試用例。第十八頁,共二十二頁,編輯于2023年,星期三3.8錯(cuò)誤推測法錯(cuò)誤推測法的概念:基于經(jīng)驗(yàn)和直覺推測程序中所有可能存在的各種錯(cuò)誤,從而有針對性的設(shè)計(jì)測試用例的方法。錯(cuò)誤推測方法的基本思想:列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)它們選擇測試用例。例如:在單元測試時(shí)曾列出的許多在模塊中常見的錯(cuò)誤、以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤等,這些就是經(jīng)驗(yàn)的總結(jié)。還有,輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況、輸入表格為空格或輸入表格只有一行等。這些都是容易發(fā)生錯(cuò)誤的情況,可選擇這些情況下的例子作為測試用例。第十九頁,共二十二頁,編輯于2023年,星期三3.9測試方法的選擇通常,在確定測試方法時(shí),應(yīng)遵循以下原則:根據(jù)程序的重要性和一旦發(fā)生故障將造成的損失來確定測試等級和測試重點(diǎn)。認(rèn)真選擇測試策略,以便能盡可能少的使用測試用例,發(fā)現(xiàn)盡可能多的程序錯(cuò)誤。因?yàn)橐淮瓮暾能浖y試過后,如果程序中遺留的錯(cuò)誤過多并且嚴(yán)重,則表明該次測試是不足的,而測試不足則意味著讓用戶承擔(dān)隱藏錯(cuò)誤帶來的危險(xiǎn),但測試過度又會帶來資源的浪費(fèi)。因此測試需要找到一個(gè)平衡點(diǎn)。第二十頁,共二十二頁,編輯于2023年,星期三測試方法的選擇(續(xù))通常在確定測試策略時(shí),有以下5條參考原則:(1)在任何情況下都必須采用邊界值分析法。這種方法設(shè)計(jì)出的測試用例發(fā)現(xiàn)程序錯(cuò)誤的能力最強(qiáng)。(2)必要時(shí)采用等價(jià)類劃分法補(bǔ)充測試用例。(3)采用錯(cuò)誤推斷法再追加測試用例。(4)對照程序邏輯,檢查已設(shè)計(jì)出的測試用例的邏輯覆蓋程度。如果沒有達(dá)到要求的覆蓋標(biāo)準(zhǔn),則應(yīng)當(dāng)再補(bǔ)充更多的測試用例。(5)如果程序的功能說明中含有輸入條件的組合情況,則應(yīng)一開始就選用因果圖法。第二十一頁,共二十二頁,編輯于2023年,星期三習(xí)題2、有一個(gè)處理單價(jià)為5角錢的飲料的自動(dòng)售貨機(jī),相應(yīng)規(guī)格說明如下:若投入5角錢或1元錢的硬幣,按下〖橙汁〗或〖啤酒〗的按鈕,則相應(yīng)的飲料就送出來。(每次只投入一個(gè)硬幣,只按下一種飲料的按鈕)如投入5角的硬幣,按下按鈕后

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論