軟件測試畢業(yè)設(shè)計論文_第1頁
軟件測試畢業(yè)設(shè)計論文_第2頁
軟件測試畢業(yè)設(shè)計論文_第3頁
軟件測試畢業(yè)設(shè)計論文_第4頁
軟件測試畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 摘 要完成時間:2013年4月從軟件產(chǎn)業(yè)的發(fā)展初期到目前的大型軟件開發(fā)過程,軟件測試已成為其中一個不可分割的部分。隨著軟件規(guī)模的日益增大,軟件測試問題也日益突出,現(xiàn)代社會對軟件的依賴越來越強,高可信軟件測試有著廣泛的需求,基于缺陷模式的軟件測試技術(shù)作為高可信軟件的重要保證,可以大大降低軟件的缺陷密度,提高軟件的可信性。本文從測試的基本概念入手,深入剖析軟件測試相關(guān)理論關(guān)鍵詞:軟件測試; 軟件測試的分類; 軟件測試方法; 測試用例;測試工具; 目 錄1軟件測試的發(fā)展史72軟件測試的基礎(chǔ)理論72.1軟件測試的定義72.2軟件測試的描述82.3軟件測試的目的82.4軟件測試的原則83軟件測試的內(nèi)容

2、83.1驗證(verification)83.2確認(validation)94軟件測試的分類94.1角度分類94.2階段細分95軟件測試流程105.1軟件測試活動106軟件測試用例方法106.1測試用例設(shè)計的基本原則106.2設(shè)計測試用例應注意哪些問題106.3測試用例的作用116.4測試用例設(shè)計方法116.4.1等價類劃分116.4.1.1劃分等價類116.4.2邊界值146.4.2.1定義146.4.2.2與等價劃分的區(qū)別146.4.3錯誤推測法166.4.3.1定義166.4.4因果圖166.4.4.1定義166.4.5判定表186.5.5.1定義186.5.5.2判定表的建立步驟18

3、7 軟件測試工具187.1功能測試工具187.2性能測試工具187.3測試管理工具197.4其他測試工具198參考文獻199致 謝201軟件測試的發(fā)展史l 20世紀60年代(軟件工程建立前),為表明程序正確而進行測試。l 1972年在北卡羅來納大學舉行了首屆軟件測試正式會議。l 1975年John Good Enough和Susan Gerhart在IEEE上發(fā)表了測試數(shù)據(jù)選擇的原理的文章,軟件測試被確定為一種研究方向。l 1979年,Glenford Myers的軟件測試藝術(shù),對測試做了定義:測試是為發(fā)現(xiàn)錯誤而執(zhí)行的一個程序或者系統(tǒng)的過程。l 20世紀80年代早期,“質(zhì)量”的號角開始吹響。軟

4、件測試定義發(fā)生了改變,測試不單純是一個發(fā)現(xiàn)錯誤的過程,而且包含軟件質(zhì)量評價的內(nèi)容。制定了各類標準。l 1983年,Bill Hetzel在軟件測試完全指南中指出:測試是以評價一個程序或者系統(tǒng)屬性為目標的任何一種活動,測試是對軟件質(zhì)量的度量。l 20世紀90年代,測試工具盛行起來。l 1996年提出的測試能力成熟度TCMM(Testing Capability Maturity Model)、測試支持度TSM(Testability Support Model)、測試成熟度TMM(Testing Maturity Model)。l 到了2002年,Rick和Stefan在系統(tǒng)的軟件測試一書中對軟

5、件測試做了進一步定義:測試是為了度量和提高被測軟件的質(zhì)量,對測試軟件進行工程設(shè)計、實施和維護的整個生命過程。2軟件測試的基礎(chǔ)理論2.1軟件測試的定義軟件測試使用人工或者自動手段來運行或測試某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預期結(jié)果與實際結(jié)果之間的差別。l 測試并不僅僅是為了找出錯誤.通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項目管理者發(fā)現(xiàn)當前軟件開發(fā)過程中的缺陷,以便及時改進;l 這種分析也能幫助測試人員設(shè)計出有針對性的測試方法,改善測試的效率和有效性;l 沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定軟件質(zhì)量的一種方法。2.2軟件測試的描述測試是軟件開發(fā)過程的重

6、要組成部分, 是用來確認一個程序的品質(zhì)或性能是否符合開發(fā)之前所提出的一些要求。軟件測試的目的, 第一是確認軟件的質(zhì)量, 其一方面是確認軟件做了你所期望的事情(Do the right thing), 另一方面是確認軟件以正確的方式來做了這個事件(Do it right);第二是提供信息, 比如提供給開發(fā)人員或程序經(jīng)理的反饋信息, 為風險評估所準備的信息;第三軟件測試不僅是在測試軟件產(chǎn)品的本身, 而且還包括軟件開發(fā)的過程。如果一個軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題, 這說明此軟件開發(fā)過程很可能是有缺陷的。2.3軟件測試的目的l 測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;l 測試是確保最終用戶的

7、產(chǎn)品符合用戶的需求;l 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試;2.4軟件測試的原則l 盡早地進行軟件測試,并把軟件測試貫穿整個軟件生命周期l 軟件測試應追溯l 測試應由第三方來構(gòu)造l 窮舉測試時不可能,要遵循good-enough原則l 必須確定預期輸出結(jié)果l 必須徹底檢查每個測試結(jié)果l 充分注意測試中的群集現(xiàn)象l 其他值得注意到規(guī)律和經(jīng)驗3軟件測試的內(nèi)容3.1驗證(verification)驗證(verification)是保證軟件正確地實現(xiàn)了一些特定功能的一系列活動, 即保證軟件做了你所期望的事情。(Do the right thing) l 確定軟件生存周期中的一個給定階段的產(chǎn)

8、品是否達到前階段確立的需求的過程;l 程序正確性的形式證明, 即采用形式理論證明程序符號設(shè)計規(guī)約規(guī)定的過程;l 評市、審查、測試、檢查、審計等各類活動, 或?qū)δ承╉椞幚?、服務或文件等是否和?guī)定的需求相一致進行判斷和提出報告。3.2確認(validation)確認(validation)是一系列的活動和過程, 目的是想證實在一個給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個事件(Do it right)l 靜態(tài)確認, 不在計算機上實際執(zhí)行程序, 通過人工或程序分析來證明軟件的正確性;l 動態(tài)確認, 通過執(zhí)行程序做分析, 測試程序的動態(tài)行為, 以證實軟件是否存在問題。 4軟件測

9、試的分類4.1角度分類Ø 從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實現(xiàn)的角度劃分(按測試分類)l 白盒測試l 黑盒測試l 灰盒測試Ø 從是否執(zhí)行程序的角度l 靜態(tài)測試l 動態(tài)測試4.2階段細分Ø 從軟件開發(fā)的過程按階段劃分有l(wèi) 單元測試l 集成測試l 確認測試l 系統(tǒng)測試l 驗收測試l 回歸測試l Alpha測試l Beta測試5軟件測試流程5.1軟件測試活動制定測試計劃測試設(shè)計開發(fā)實施軟件測試評 審版本發(fā)布新版本測試準備階段未通過評審軟件測試活動包括:制定測試計劃、測試設(shè)計開發(fā)和開發(fā)、執(zhí)行測試、評估測試6軟件測試用例方法6.1測試用例設(shè)計的基本原則l 用成熟測試用例設(shè)計方法

10、來指導設(shè)計;l 測試用例的正確性;l 測試用例的代表性;l 測試結(jié)果的可判定性;l 測試結(jié)果的可再現(xiàn)性;l 足夠詳細、準確和清晰的步驟;6.2設(shè)計測試用例應注意哪些問題l 不要把測試用例設(shè)計等同于測試輸入數(shù)據(jù)的設(shè)計;l 不要強調(diào)測試用例設(shè)計得越詳細越好;l 不要追求測試用例設(shè)計“一步到位”;l 不要將多個測試用例混在一個用例中;l 不要讓沒有測試經(jīng)驗的人員設(shè)計測試用例;6.3測試用例的作用l 有效性:有效地節(jié)省時間和資源,提高測試效率;l 避免測試的盲目性,使得軟件測試的實施重點突出、目的明確;l 可維護性,降低工作強度,縮短項目周期;l 可復用性,使得測試過程事半功倍;l 可評估性:程序代碼

11、質(zhì)量的量化標準應該用測試用例的通過率和測試數(shù)目來進行評估;l 可管理性,測試用例是測試人員在測試過程中的重要參考依據(jù),便于對測試工作進行有效的管理;6.4測試用例設(shè)計方法6.4.1等價類劃分6.4.1.1劃分等價類等價類是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的,并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試,因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件就可以用少量代表性的測試數(shù)據(jù)取得較好的測試結(jié)果。等價類劃分可有兩種不同的情況:有效等價類和無效等價類。  1)有效等價類 &#

12、160;是指對于程序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。  2)無效等價類  與有效等價類的定義恰巧相反。無效等價類指對程序的規(guī)格說明是不合理的或無意義的輸入數(shù)據(jù)所構(gòu)成的集合。對于具體的問題,無效等價類至少應有一個,也可能有多個。舉例說明:某程序規(guī)定:"輸入三個整數(shù) a 、 b 、 c 分別作為三邊的邊長構(gòu)成三角形。通過程序判定所構(gòu)成的三角形的類型,當此三角形為一般三角形、等腰三角形及等邊三角形時,分別作計算 "。用等價類劃分方法為該程序進行測試用例設(shè)計。分析題目中

13、給出和隱含的對輸入條件的要求:   (1)整數(shù)    (2)三個數(shù)    (3)非零數(shù)   (4)正數(shù)     (5)兩邊之和大于第三邊     (6)等腰     (7)等邊    如果 a 、 b 、 c 滿足條件( 1 ) ( 4 ),則輸出下列四種情況之一:   1)如果不滿足條件(5),則程序輸出為 " 非三角形 " 。

14、0;  2)如果三條邊相等即滿足條件(7),則程序輸出為 " 等邊三角形 " 。   3)如果只有兩條邊相等、即滿足條件(6),則程序輸出為 " 等腰三角形 " 。   4)如果三條邊都不相等,則程序輸出為 " 一般三角形 " 。    列出等價類表并編號輸入條件輸入三個整數(shù)有效等價類型號碼無效等價類號碼整數(shù)1 a為非整數(shù)一邊為 b為非整數(shù)非整數(shù) c為非整數(shù)兩邊為 a,b為非整數(shù)非整數(shù) b,c為非整數(shù) a,c為非整數(shù)三邊a,b,c均為非整數(shù)1213141516171

15、8三個數(shù)2 只給a只給一邊 只給b 只給c 只給ab只給一邊 只給b,c 只給ac給出三個以上19202122232425非零數(shù)3 a為0一邊為零 b為0 c為0 a,b為0只給一邊 b,c為0 a,c為0三邊a,b,c均為026272829303132正數(shù)4 a<0一邊<0 b<0 a<0 a<0且b<0二邊<0 a<0且c<0 b<0且c<0三邊均<0:a<0且b<0且c<033343536373839輸出條件構(gòu)成一般三角形a+b>cb+c>aa+c>b567 a+b<ca+b

16、=cb+c<a b+c=aa+c<b a+c=b404142434445構(gòu)成等腰三角形a=bb=c 且兩邊之和大于第三邊a=c 8910構(gòu)成等邊三角形a=b=c11覆蓋有效等價類的測試用例:    a      b      c         覆蓋等價類號碼    3      4&#

17、160;     5         (1)-(7)    4      4      5         (1)-(7),(8)    4      5  &

18、#160;   5          (1)-(7),(9)        5      4      5         (1)-(7),(10)    4    &#

19、160; 4      4         (1)-(7),(11)  覆蓋無效等價類的測試用例:abc覆蓋等價類號碼abc覆蓋等價類號碼2.545120052934.55133003034.55.514040313.54.55150003234.55.516-345333.544.5173-45344.54.55.51834-535319-3-4536420-34-5375213-4-5383422-3-4-539452331540352432

20、54134525311420452632143305271424434028341456.4.2邊界值6.4.2.1定義邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界6.4.2.2與等價劃分的區(qū)別l 邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。l 邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測試情況。舉例說明:現(xiàn)有一個學生標準化考試批閱試卷,產(chǎn)生成績報告的程序。其規(guī)格說明如下:程序的輸入文件由一些有80個字符的記錄組成,如右圖所示,所有記錄分為

21、3組:標題:這一組只有一個記錄,其內(nèi)容為輸出成績報告的名字。  試卷各題標準答案記錄:每個記錄均在第80個字符處標以數(shù)字"2"。該組的第一個記錄的第1至第3個字符為題目編號(取值為1一999)。第10至第59個字符給出第1至第50題的答案(每個合法字符表示一個答案)。該組的第2,第3個記錄相應為第51至第100,第101至第150,題的答案。  每個學生的答卷描述:該組中每個記錄的第80個字符均為數(shù)字"3"。每個學生的答卷在若干個記錄中給出。如甲的首記錄第1至第9字符給出學生姓名及學號,第10至第59字符列出的是甲所做的第1至第50題

22、的答案。若試題數(shù)超過50,則第2,第3紀錄分別給出他的第51至第100,第101至第150題的解答。然后是學生乙的答卷記錄。  學生人數(shù)不超過200,試題數(shù)不超過999。   程序的輸出有4個報告:    a)按學號排列的成績單,列出每個學生的成績、名次。    b)按學生成績排序的成績單。    c)平均分數(shù)及標準偏差的報告。    d)試題分析報告。按試題號排序,列出各題學生答對的百分比。   解答:分別考慮輸入條件和輸出條件,以及邊界條件。

23、給出下表所示的輸入條件及相應的測試用例。輸入條件測試用例輸入文件空輸入文件標題沒有標題標題只有一個字符標題有80個字符試題數(shù)試題數(shù)為1試題數(shù)為50試題數(shù)為51試題數(shù)為100試題數(shù)為0試題數(shù)含有非數(shù)字字符標準答案記錄沒有標準答案記錄,有標題標注答案記錄多于一個標注答案記錄少一個學生人數(shù)0個學生1個學生200個學生201個學生學生答題某學生只有一個回答記錄,但有兩個標準答案記錄該學生是文件中的第一個學生該學生是文件中的最后一個學生(記錄數(shù)出錯的學生)學生答題某學生有兩個回答記錄,但只有一個標準答案記錄該學生是文件中的第一個學生(記錄數(shù)出錯的學生)該學生是文件中的最后一個學生學生成績所有學生的成績都

24、相等每個學生的成績都不相等部分學生的成績相同(檢查是否能按成績正確排名次)有個學生0分有個學生100分輸出條件及相應的測試用例表。輸出條件測試用例輸出報告a、b有個學生的學號最小(檢查按序號是否正常)有個學生的學號最大(檢查按序號排序是否正確)適當?shù)膶W生人數(shù),使產(chǎn)生的報告剛好滿一頁(檢查打印頁數(shù))學生人數(shù)比剛才多出1人(檢查打印換頁)輸出報告c平均成績100平均成績0標準偏差為最大值(有一半的0分,其他100分)標準偏差為0(所欲成績相等)輸出報告d所有學生都答對了第一題所有學生都答錯了第一題所有學生都答對了最后一題所有學生都答錯了最后一題選擇適當?shù)脑囶}數(shù),是第四個報告剛好打滿一頁試題數(shù)比剛才

25、多1,使報告打滿一頁后,剛好剩下一題未打6.4.3錯誤推測法6.4.3.1定義基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設(shè)計測試用例的方法。6.4.4因果圖6.4.4.1定義是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況。舉例說明:某軟件規(guī)格說明書包含這樣的要求:第一列字符必須是A或B,第二列字符必須是一個數(shù)字,在此情況下進行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。解答:1) 根據(jù)題意,原因和結(jié)果如下:     

26、0; 原因:          1第一列字符是A;          2第一列字符是B;          3第二列字符是一數(shù)字。       結(jié)果:         

27、21修改文件;          22 給出信息L;          23給出信息M。2) 其對應的因果圖如下:11為中間節(jié)點;考慮到原因1和原因2不可能同時為1,因此在因果圖上施加E約束。E123112221233)根據(jù)因果圖建立判定表。12345678條件(愿意)111110000動作(結(jié)果)21100110031010101011111100220000112110100023010101測試用例A

28、3AMB5BNC2DYA8A?B4B!X6P;   表中8種情況的左面兩列情況中,原因和原因同時為1,這是不可能出現(xiàn)的,故應排除這兩種情況。表的最下一欄給出了6種情況的測試用例,這是我們所需要的數(shù)據(jù)。 6.4.5判定表6.5.5.1定義判定表是分析和表達多邏輯條件下執(zhí)行不同操作的情況的工具6.5.5.2判定表的建立步驟l 確定規(guī)則的個數(shù).假如有n個條件。每個條件有兩個取值(0,1),故有2n種規(guī)則。l 列出所有的條件樁和動作樁。l 填入條件項。l 填入動作項。等到初始判定表。l 簡化.合并相似規(guī)則(相同動作)。7 軟件測試工具7.1功能測試工具Mercury Interactive WinrunnerMercury Interactive QuickTest Pr

溫馨提示

  • 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

提交評論