軟件工程SW-軟件測試_第1頁
軟件工程SW-軟件測試_第2頁
軟件工程SW-軟件測試_第3頁
軟件工程SW-軟件測試_第4頁
軟件工程SW-軟件測試_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件測試第一頁,共五十六頁。1課程內(nèi)容測試目的和策略測試方法測試技術(shù)測試工具測試過程第二頁,共五十六頁。2測試目的和策略第三頁,共五十六頁。3什么是軟件測試狹義的定義:測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;軟件測試是根據(jù)程序開發(fā)階段的規(guī)格說明及程序內(nèi)部結(jié)構(gòu)而精心設計的一批測試用例(輸入數(shù)據(jù)及其預期結(jié)果的集合),并利用這些測試用例去運行程序,以發(fā)現(xiàn)錯誤的過程;一個好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。第四頁,共五十六頁。4廣義的軟件測試概念指軟件生命周期中所有的檢查、評審和確認工作,其中包括對分析、設計階段,以及完成開發(fā)后的維護階段的各類文檔和代碼的審查和確認。測試通常包括確認(validation)和驗證(verification)兩種方式。第五頁,共五十六頁。5驗證和確認驗證(Verification):在軟件生存期各個階段,驗證是指檢測各個階段結(jié)束時的工作產(chǎn)品是否滿足對上一階段的結(jié)束后的工作產(chǎn)品所定義的規(guī)格的驗證過程。需求設計編碼測試驗證第六頁,共五十六頁。6驗證和確認確認(Validation):在軟件生命周期各個階段,確認是指檢測各個階段結(jié)束時的工作產(chǎn)品是否滿足在軟件生命周期初期在系統(tǒng)需求文檔中描述的各項軟件規(guī)格的確認過程。需求設計編碼測試確認第七頁,共五十六頁。7確認和驗證的比較驗證是檢測每一階段形成的工作產(chǎn)品是否與前一階段定義的規(guī)格相一致確認是檢測每一階段的工作產(chǎn)品是否與最初定義的軟件需求規(guī)格相一致軟件測試既可用于驗證,又可用于確認需求設計編碼測試驗證確認第八頁,共五十六頁。8什么是缺陷?缺陷:最終產(chǎn)品同用戶的期望不一致缺陷的分類錯誤遺漏超出需求的部分缺陷(未觸發(fā))Vs.故障(應首先解決)第九頁,共五十六頁。9測試的職責驗證在整個軟件開發(fā)周期中,各個階段的軟件質(zhì)量是否合格。驗證最終交付給用戶的系統(tǒng)是否滿足用戶的需要,是否符合需求。通過樣本測試數(shù)據(jù),檢查系統(tǒng)在運行過程中的情況。第十頁,共五十六頁。10測試Vs質(zhì)量保證軟件測試并不是質(zhì)量保證的唯一手段,事后的檢驗是高價的。應盡量在開發(fā)期間減少錯誤,通過軟件過程來建立軟件質(zhì)量。迄今為止,軟件質(zhì)量仍然主要靠軟件測試來驗證和確認,而且由于測試工作特別耗費資源,在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。在極端的情況下,例如在關系到人的生命安全的軟件中(如飛機控制或核反應監(jiān)控等軟件),測試費用可能相當軟件生命周期所有其它階段費用總和的三到五倍。據(jù)美國工業(yè)界的統(tǒng)計,對商品化的程序來說,測試在時間和費用兩方面的花費都要占整個軟件開發(fā)周期總開銷的50%左右。第十一頁,共五十六頁。11測試的商業(yè)意義降低風險(風險:就是不希望發(fā)生的事情的可能性)測試計劃中必須標明商業(yè)上的風險。測試人員職責:評估商業(yè)上的風險如實的向管理層匯報項目情況第十二頁,共五十六頁。12對待可能產(chǎn)生的風險的策略我們無法消除風險,但是我們可以降低在風險發(fā)生時的損失。降低系統(tǒng)風險的最有效的辦法就是對其進行有針對性的測試。第十三頁,共五十六頁。13系統(tǒng)風險列舉如果某部分產(chǎn)生了錯誤會導致的結(jié)果?未被驗證的數(shù)據(jù)交換如果被接受如果文件的完整性被破壞系統(tǒng)是否能被安全恢復(完全恢復成備份時的狀態(tài))是否能暫停系統(tǒng)的運行進行維護工作時,系統(tǒng)性能是否會下降到不能接受的水平。系統(tǒng)的安全性是否有保證第十四頁,共五十六頁。14系統(tǒng)風險列舉(繼續(xù)……)系統(tǒng)的操作流程是否符合用戶的組織策略和長遠規(guī)劃系統(tǒng)是否可靠,穩(wěn)定系統(tǒng)是否易于使用系統(tǒng)是否便于維護是否易于與其它系統(tǒng)相連第十五頁,共五十六頁。15測試工作量太少的測試是不負責任,過多的測試是一種罪過。100%的測試是不可能的,不同的用戶采用的測試策略是不同的。Good-enough原則商業(yè)目標系統(tǒng)的質(zhì)量等級第十六頁,共五十六頁。16測試策略在測試策略中必須標明可能存在的風險,這樣在測試后的系統(tǒng)中可以有效的降低被標明的風險發(fā)生的可能性。測試要素:需要被標明的風險也是我們測試的重點。測試階段:在整個開發(fā)生命周期中,測試工作介入的時期。第十七頁,共五十六頁。17測試效果的好壞是組織級的問題有效的測試最好由一個獨立的團隊來實施。便于確定工作目標便于人員的培養(yǎng)與升遷利于團隊建設對質(zhì)量的忠誠度高利于新技術(shù),新方法的產(chǎn)生和推廣工作職責明確第十八頁,共五十六頁。18測試方法第十九頁,共五十六頁。19測試方法黑盒測試白盒測試靜態(tài)測試動態(tài)測試第二十頁,共五十六頁。20需求說明產(chǎn)生被測程序測試結(jié)果輸出比較測試用例黑盒測試黑盒測試是從用戶觀點出發(fā)的測試,它又稱功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明書或用戶手冊的測試。它所依據(jù)的是程序的外部特性。第二十一頁,共五十六頁。21黑盒測試方法是在程序接口上進行測試,主要是為了發(fā)現(xiàn)以下錯誤:是否有不正確或遺漏了的功能?在接口上,輸入能否正確地接受?能否輸出正確的結(jié)果?是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤?性能上是否能夠滿足要求?是否有初始化或終止性錯誤?黑盒測試第二十二頁,共五十六頁。22用黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的輸出。但這是不可能的。黑盒測試第二十三頁,共五十六頁。23假設一個程序P有輸入量X和Y及輸出量Z。在字長為32位的計算機上運行。若X、Y取整數(shù),按黑盒方法進行窮舉測試:可能采用的測試數(shù)據(jù)組:232×232=264

如果測試一組數(shù)據(jù)需要1毫秒,一年工作365×24小時,完成所有測試需5億年。

黑盒測試第二十四頁,共五十六頁。24黑盒測試的設計方法等價類劃分邊界值分析錯誤推測法因果圖。。。第二十五頁,共五十六頁。25等價類劃分等價類劃分方法把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分,然后從每一部分中選取少數(shù)有代表性的數(shù)據(jù)做為測試用例使用這一方法設計測試用例要經(jīng)歷劃分等價類(列出等價類表)和選取測試用例兩步第二十六頁,共五十六頁。26劃分等價類

等價類是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。測試某等價類的代表值就等價于對這一類其它值的測試。

等價類劃分第二十七頁,共五十六頁。27等價類的劃分有兩種不同的情況:①有效等價類:是指對于程序的規(guī)格說明來說,是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。②無效等價類:是指對于程序的規(guī)格說明來說,是不合理的,無意義的輸入數(shù)據(jù)構(gòu)成的集合。在設計測試用例時,要同時考慮有效等價類和無效等價類的設計。等價類劃分第二十八頁,共五十六頁。28(1)如果輸入條件規(guī)定了取值范圍,或值的個數(shù),則可以確立一個有效等價類和兩個無效等價類。 等價類劃分的原則第二十九頁,共五十六頁。29(2)如果輸入條件規(guī)定了輸入值的集合,或者是規(guī)定了“必須如何”的條件,這時可確立一個有效等價類和一個無效等價類。例如,在Pascal語言中對變量標識符規(guī)定為“以字母打頭的……串”。那么所有以字母打頭的構(gòu)成有效等價類,而不在此集合內(nèi)(不以字母打頭)的歸于無效等價類。

等價類劃分的原則第三十頁,共五十六頁。30(3)如果輸入條件是一個布爾量,則可以確定一個有效等價類和一個無效等價類。(4)如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對每個輸入值分別進行處理。這時可為每一個輸入值確立一個有效等價類,此外針對這組值確立一個無效等價類,它是所有不允許的輸入值的集合。例如,在教師上崗方案中規(guī)定對教授、副教授、講師和助教分別計算分數(shù),做相應的處理。因此可以確定4個有效等價類為教授、副教授、講師和助教,一個無效等價類,它是所有不符合以上身分的人員的輸入值的集合。等價類劃分的原則第三十一頁,共五十六頁。31(5)如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可以確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。例如,Pascal語言規(guī)定“一個語句必須以分號‘;’結(jié)束”。這時,可以確定一個有效等價類“以‘;’結(jié)束”,若干個無效等價類“以‘:’結(jié)束”、“以‘,’結(jié)束”、“以‘’結(jié)束”、“以LF結(jié)束”等。等價類劃分的原則第三十二頁,共五十六頁。32數(shù)學含義A<=X<=BC<=Y<=D等價類劃分的原則第三十三頁,共五十六頁。33確立了等價類之后,建立等價類表,列出所有劃分出的等價類。確立等價類測試用例第三十四頁,共五十六頁。34再從劃分出的等價類中按以下原則選擇測試用例:為每一個等價類規(guī)定一個唯一編號;設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價類,重復這一步,直到所有的有效等價類都被覆蓋為止;設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步,直到所有的無效等價類都被覆蓋為止。確立等價類測試用例第三十五頁,共五十六頁。35

在某一PASCAL語言版本中規(guī)定:“標識符是由字母開頭,后跟字母或數(shù)字的任意組合構(gòu)成。有效字符數(shù)為8個,最大字符數(shù)為80個?!辈⑶乙?guī)定:“標識符必須先說明,再使用。”“在同一說明語句中,標識符至少必須有一個。”

等價類劃分舉例第三十六頁,共五十六頁。36建立輸入等價類表等價類劃分舉例第三十七頁,共五十六頁。37下面選取了9個測試用例,它們覆蓋了所有的等價類。①VARx,T1234567:REAL;BEGINx:=3.414;T1234567:=2.732;...…(1),(2),(4),(8),(9),(12),(14)②VAR:REAL;(3)③VARx,:REAL;(5)

等價類劃分舉例第三十八頁,共五十六頁。38④VART12345678REAL;(6)⑤VART12345......REAL;(7)多于80個字符⑥VART$:CHAR;(10)⑦VARGOTO:INTEGER;(11)⑧VAR2T:REAL;(13)⑨VARPAR:REAL;(15)BEGIN......PAP:=SIN(3.14*0.8)/6;等價類劃分舉例第三十九頁,共五十六頁。39邊界值分析邊界值分析也是一種黑盒測試方法,是對等價類劃分方法的補充。經(jīng)驗表明,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是在輸入范圍的內(nèi)部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。

第四十頁,共五十六頁。40比如,在做三角形計算時,要輸入三角形的三個邊長:A、B和C。我們應注意到這三個數(shù)值應當滿足:

A>0、B>0、C>0、A+B>C、A+C>B、B+C>A,才能構(gòu)成三角形。但如果把六個不等式中的任何一個大于號“>”錯寫成大于等于號“≥”,那就不能構(gòu)成三角形。問題恰出現(xiàn)在容易被疏忽的邊界附近。邊界值分析第四十一頁,共五十六頁。41這里所說的邊界是指,相當于輸入等價類和輸出等價類而言,稍高于其邊界值及稍低于其邊界值的一些特定情況。使用邊界值分析方法設計測試用例,首先應確定邊界情況。應當選取正好等于,剛剛大于,或剛剛小于邊界的值做為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。

邊界值分析第四十二頁,共五十六頁。42邊界值分析數(shù)學含義A<=X<=BC<=Y<=D第四十三頁,共五十六頁。43錯誤推測法人們也可以靠經(jīng)驗和直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的用例。錯誤推測法的基本想法是:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。第四十四頁,共五十六頁。44因果圖因果圖的適用范圍:如果在測試時必須考慮輸入條件的各種組合,可使用一種適合于描述對于多種條件的組合,相應產(chǎn)生多個動作的形式來設計測試用例。因果圖方法最終生成的就是判定表。它適合于檢查程序輸入條件的各種組合情況。第四十五頁,共五十六頁。45(1)分析軟件規(guī)格說明描述中,哪些是原因(即輸入條件或輸入條件的等價類),哪些是結(jié)果(即輸出條件),并給每個原因和結(jié)果賦予一個標識符。(2)分析軟件規(guī)格說明描述中的語義,找出原因與結(jié)果之間,原因與原因之間對應的是什么關系?根據(jù)這些關系,畫出因果圖。

因果圖基本步驟第四十六頁,共五十六頁。46(3)由于語法或環(huán)境限制,有些原因與原因之間,原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號標明約束或限制條件。(4)把因果圖轉(zhuǎn)換成判定表。(5)把判定表的每一列拿出來作為依據(jù),設計測試用例。因果圖基本步驟第四十七頁,共五十六頁。47用Ci表示原因,用Ei表示結(jié)果,各結(jié)點表示狀態(tài),可取值“0”或“1”?!?”表示某狀態(tài)不出現(xiàn),“1”表示某狀態(tài)出現(xiàn)。主要的原因和結(jié)果之間的關系有:因果圖基本符號第四十八頁,共五十六頁。48表示約束條件的符號:為了表示原因與原因之間,結(jié)果與結(jié)果之間可能存在的約束條件,在因果圖中可以附加一些表示約束條件的符號。因果圖基本符號第四十九頁,共五十六頁。49

例如,有一個處理單價為5角錢的飲料的自動售貨機軟件測試用例的設計。其規(guī)格說明如下:若投入5角錢或1元錢的硬幣,押下〖橙汁〗或〖啤酒〗的按鈕,則相應的飲料就送出來。若售貨機沒有零錢找,則一個顯示〖零錢找完〗的紅燈亮,這時在投入1元硬幣并押下按鈕后,飲料不送出來而且1元硬幣也退出來;若有零錢找,則顯示〖零錢找完〗的紅燈滅,在送出飲料的同時退還5角硬幣?!?/p>

因果圖舉例第五十頁,共五十六頁。50(1)分析這一段說明,列出原因和結(jié)果

原因:1.售貨機有零錢找2.投入1元硬幣3.投入5角硬幣4.押下橙汁按鈕5.押下啤酒按鈕建立中間結(jié)點,表示處理中間狀態(tài)

11.投入1元硬幣且押下飲料按鈕

12.押下〖橙汁〗或〖啤酒〗的按鈕

13.應當找5角零錢并且售貨機有零錢找

14.錢已付清因果圖舉例第五十一頁,共五十六頁。51結(jié)果:21.售貨機〖零錢找完〗燈亮22.退還1元硬幣23.退還5角硬幣24.送出橙汁飲料25.送出啤酒飲料

(2)畫出因果圖。所有原因結(jié)點列在左

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論