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

下載本文檔

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

文檔簡介

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

2、REF _Toc354260253 h 7HYPERLINK l _Toc3542602542軟件測試的根底理論 PAGEREF _Toc354260254 h 7HYPERLINK l _Toc3542602552.1軟件測試的定義 PAGEREF _Toc354260255 h 7HYPERLINK l _Toc3542602562.2軟件測試的描述 PAGEREF _Toc354260256 h 8HYPERLINK l _Toc3542602572.3軟件測試的目的 PAGEREF _Toc354260257 h 8HYPERLINK l _Toc3542602582.4軟件測試的原則

3、 PAGEREF _Toc354260258 h 8HYPERLINK l _Toc3542602593軟件測試的容 PAGEREF _Toc354260259 h 8HYPERLINK l _Toc3542602603.1驗證(verification) PAGEREF _Toc354260260 h 8HYPERLINK l _Toc3542602613.2確認(rèn)(validation) PAGEREF _Toc354260261 h 9HYPERLINK l _Toc3542602624軟件測試的分類 PAGEREF _Toc354260262 h 9HYPERLINK l _Toc354

4、2602634.1角度分類 PAGEREF _Toc354260263 h 9HYPERLINK l _Toc3542602644.2階段細分 PAGEREF _Toc354260264 h 9HYPERLINK l _Toc3542602655軟件測試流程 PAGEREF _Toc354260265 h10HYPERLINK l _Toc3542602665.1軟件測試活動 PAGEREF _Toc354260266 h 10HYPERLINK l _Toc3542602676軟件測試用例方法 PAGEREF _Toc354260267 h 10HYPERLINK l _Toc3542602

5、686.1測試用例設(shè)計的根本原則 PAGEREF _Toc354260268 h 10HYPERLINK l _Toc3542602696.2設(shè)計測試用例應(yīng)注意哪些問題 PAGEREF _Toc354260269 h 10HYPERLINK l _Toc3542602706.3測試用例的作用 PAGEREF _Toc354260270 h 11HYPERLINK l _Toc3542602716.4測試用例設(shè)計方法 PAGEREF _Toc354260271 h 11HYPERLINK l _Toc3542602726.4.1等價類劃分 PAGEREF _Toc354260272 h 11HY

6、PERLINK l _Toc3542602736.4.1.1劃分等價類 PAGEREF _Toc354260273 h 11HYPERLINK l _Toc3542602746.4.2邊界值 PAGEREF _Toc354260274 h 14HYPERLINK l _Toc3542602756.4.2.1定義 PAGEREF _Toc354260275 h14HYPERLINK l _Toc3542602766.4.2.2與等價劃分的區(qū)別 PAGEREF _Toc354260276 h 14HYPERLINK l _Toc3542602776.4.3錯誤推測法 PAGEREF _Toc354

7、260277 h 16HYPERLINK l _Toc3542602786.4.3.1定義 PAGEREF _Toc354260278 h 16HYPERLINK l _Toc3542602796.4.4因果圖 PAGEREF _Toc354260279 h 16HYPERLINK l _Toc3542602806.4.4.1定義 PAGEREF _Toc354260280 h 16HYPERLINK l _Toc3542602816.4.5判定表 PAGEREF _Toc354260281 h 18HYPERLINK l _Toc3542602826.5.5.1定義 PAGEREF _Toc

8、354260282 h 18HYPERLINK l _Toc3542602836.5.5.2判定表的建立步驟 PAGEREF _Toc354260283 h 18HYPERLINK l _Toc3542602847 軟件測試工具 PAGEREF _Toc354260284 h 18HYPERLINK l _Toc3542602857.1功能測試工具 PAGEREF _Toc354260285 h 18HYPERLINK l _Toc3542602867.2性能測試工具 PAGEREF _Toc354260286 h 18HYPERLINK l _Toc3542602877.3測試管理工具 PA

9、GEREF _Toc354260287 h 19HYPERLINK l _Toc3542602887.4其他測試工具 PAGEREF _Toc354260288 h 19HYPERLINK l _Toc3542602898參考文獻 PAGEREF _Toc354260289 h 19HYPERLINK l _Toc3542602909致 PAGEREF _Toc354260290 h 201軟件測試的開展史20世紀(jì)60年代軟件工程建立前,為說明程序正確而進展測試。1972年在北卡羅來納大學(xué)舉行了首屆軟件測試正式會議。1975年John Good Enough和Susan Gerhart在IEE

10、E上發(fā)表了“測試數(shù)據(jù)選擇的原理“的文章,軟件測試被確定為一種研究方向。1979年,Glenford Myers的“軟件測試藝術(shù)“,對測試做了定義:測試是為發(fā)現(xiàn)錯誤而執(zhí)行的一個程序或者系統(tǒng)的過程。20世紀(jì)80年代早期,“質(zhì)量的號角開場吹響。軟件測試定義發(fā)生了改變,測試不單純是一個發(fā)現(xiàn)錯誤的過程,而且包含軟件質(zhì)量評價的容。制定了各類標(biāo)準(zhǔn)。1983年,Bill Hetzel在“軟件測試完全指南“中指出:測試是以評價一個程序或者系統(tǒng)屬性為目標(biāo)的任何一種活動,測試是對軟件質(zhì)量的度量。20世紀(jì)90年代,測試工具盛行起來。1996年提出的測試能力成熟度TCMMTesting Capability Matur

11、ity Model、測試支持度TSMTestability Support Model、測試成熟度TMMTesting Maturity Model。到了2002年,Rick和Stefan在“系統(tǒng)的軟件測試“一書中對軟件測試做了進一步定義:測試是為了度量和提高被測軟件的質(zhì)量,對測試軟件進展工程設(shè)計、實施和維護的整個生命過程。2軟件測試的根底理論2.1軟件測試的定義軟件測試使用人工或者自動手段來運行或測試*個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果之間的差異。測試并不僅僅是為了找出錯誤.通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助工程管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中

12、的缺陷,以便及時改良;這種分析也能幫助測試人員設(shè)計出有針對性的測試方法,改善測試的效率和有效性;沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定軟件質(zhì)量的一種方法。2.2軟件測試的描述測試是軟件開發(fā)過程的重要組成局部, 是用來確認(rèn)一個程序的品質(zhì)或性能是否符合開發(fā)之前所提出的一些要求。軟件測試的目的, 第一是確認(rèn)軟件的質(zhì)量, 其一方面是確認(rèn)軟件做了你所期望的事情Do the right thing, 另一方面是確認(rèn)軟件以正確的方式來做了這個事件Do it right;第二是提供信息, 比方提供應(yīng)開發(fā)人員或程序經(jīng)理的反應(yīng)信息, 為風(fēng)險評估所準(zhǔn)備的信息;第三軟件測試不僅是在測試軟件產(chǎn)品的本身, 而且

13、還包括軟件開發(fā)的過程。如果一個軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題, 這說明此軟件開發(fā)過程很可能是有缺陷的。2.3軟件測試的目的測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;測試是確保最終用戶的產(chǎn)品符合用戶的需求;成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試;2.4軟件測試的原則盡早地進展軟件測試,并把軟件測試貫穿整個軟件生命周期軟件測試應(yīng)追溯測試應(yīng)由第三方來構(gòu)造窮舉測試時不可能,要遵循good-enough原則必須確定預(yù)期輸出結(jié)果必須徹底檢查每個測試結(jié)果充分注意測試中的群集現(xiàn)象其他值得注意到規(guī)律和經(jīng)歷3軟件測試的容3.1驗證(verification)驗證(verification)是保證軟件

14、正確地實現(xiàn)了一些特定功能的一系列活動, 即保證軟件做了你所期望的事情。(Do the right thing) 確定軟件生存周期中的一個給定階段的產(chǎn)品是否到達前階段確立的需求的過程;程序正確性的形式證明, 即采用形式理論證明程序符號設(shè)計規(guī)約規(guī)定的過程;評市、審查、測試、檢查、審計等各類活動, 或?qū)?些項處理、效勞或文件等是否和規(guī)定的需求相一致進展判斷和提出報告。3.2確認(rèn)(validation)確認(rèn)(validation)是一系列的活動和過程, 目的是想證實在一個給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個事件(Do it right)靜態(tài)確認(rèn), 不在計算機上實際執(zhí)行程序

15、, 通過人工或程序分析來證明軟件的正確性;動態(tài)確認(rèn), 通過執(zhí)行程序做分析, 測試程序的動態(tài)行為, 以證實軟件是否存在問題。4軟件測試的分類4.1角度分類從是否關(guān)心軟件部構(gòu)造和具體實現(xiàn)的角度劃分按測試分類白盒測試黑盒測試灰盒測試從是否執(zhí)行程序的角度靜態(tài)測試動態(tài)測試4.2階段細分從軟件開發(fā)的過程按階段劃分有單元測試集成測試確認(rèn)測試系統(tǒng)測試驗收測試回歸測試Alpha測試Beta測試5軟件測試流程5.1軟件測試活動制定測試方案測試設(shè)計開發(fā)實施軟件測試評 審版本發(fā)布新版本測試準(zhǔn)備階段未通過評審軟件測試活動包括:制定測試方案、測試設(shè)計開發(fā)和開發(fā)、執(zhí)行測試、評估測試6軟件測試用例方法6.1測試用例設(shè)計的根本

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

17、和測試數(shù)目來進展評估;可管理性,測試用例是測試人員在測試過程中的重要參考依據(jù),便于對測試工作進展有效的管理;6.4測試用例設(shè)計方法等價類劃分劃分等價類等價類是指*個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的,并合理地假定:測試*等價類的代表值就等于對這一類其它值的測試,因此,可以把全部輸入數(shù)據(jù)合理劃分為假設(shè)干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件就可以用少量代表性的測試數(shù)據(jù)取得較好的測試結(jié)果。等價類劃分可有兩種不同的情況:有效等價類和無效等價類。 1)有效等價類是指對于程序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價類可檢驗程序是

18、否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。 2)無效等價類與有效等價類的定義恰巧相反。無效等價類指對程序的規(guī)格說明是不合理的或無意義的輸入數(shù)據(jù)所構(gòu)成的集合。對于具體的問題,無效等價類至少應(yīng)有一個,也可能有多個。舉例說明:*程序規(guī)定:輸入三個整數(shù) a 、 b 、 c 分別作為三邊的邊長構(gòu)成三角形。通過程序判定所構(gòu)成的三角形的類型,當(dāng)此三角形為一般三角形、等腰三角形及等邊三角形時,分別作計算 。用等價類劃分方法為該程序進展測試用例設(shè)計。分析題目中給出和隱含的對輸入條件的要求: 1整數(shù) 2三個數(shù) 3非零數(shù) 4正數(shù) 5兩邊之和大于第三邊 6等腰 7等邊 如果 a 、 b 、 c 滿足條件 1 4 ,則輸出

19、以下四種情況之一: 1)如果不滿足條件5,則程序輸出為 非三角形 。 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ù)12131415161718三個數(shù)2 只給a只給一邊 只給b 只給c 只給ab只給一邊 只給b,c 只給ac給出三個以上19202122232425非零

20、數(shù)3 a為0一邊為零 b為0 c為0 a,b為0只給一邊 b,c為0 a,c為0三邊a,b,c均為026272829303132正數(shù)4 a0一邊0 b0 a0a0且b0二邊0 a0且c0 b0且c0三邊均0:a0且b0且ccb+caa+cb567 a+bca+b=cb+ca b+c=aa+cb a+c=b404142434445構(gòu)成等腰三角形a=bb=c 且兩邊之和大于第三邊a=c 8910構(gòu)成等邊三角形a=b=c11覆蓋有效等價類的測試用例: a b c覆蓋等價類 3 4 5 1-7 4 4 51-7,8 4 5 5 1-7,9 5 4 51-7,10 4 4 41-7,11 覆蓋無效等價類

21、的測試用例: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-5394523315403524325413452531142045263214330527142443402834145邊界值定義邊界值分析法就是對輸入或輸出的邊界值進展測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界與

22、等價劃分的區(qū)別邊界值分析不是從*等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測試情況。舉例說明:現(xiàn)有一個學(xué)生標(biāo)準(zhǔn)化考試批閱試卷,產(chǎn)生成績報告的程序。其規(guī)格說明如下:程序的輸入文件由一些有80個字符的記錄組成,如右圖所示,所有記錄分為3組:標(biāo)題:這一組只有一個記錄,其容為輸出成績報告的名字。 試卷各題標(biāo)準(zhǔn)答案記錄:每個記錄均在第80個字符處標(biāo)以數(shù)字2。該組的第一個記錄的第1至第3個字符為題目取值為1一999。第10至第59個字符給出第1至第50題的答案每個合法字符表示一個答案。該組的第2,第3個記錄相應(yīng)為第51至第10

23、0,第101至第150,題的答案。 每個學(xué)生的答卷描述:該組中每個記錄的第80個字符均為數(shù)字3。每個學(xué)生的答卷在假設(shè)干個記錄中給出。如甲的首記錄第1至第9字符給出學(xué)生及*,第10至第59字符列出的是甲所做的第1至第50題的答案。假設(shè)試題數(shù)超過50,則第2,第3紀(jì)錄分別給出他的第51至第100,第101至第150題的解答。然后是學(xué)生乙的答卷記錄。 學(xué)生人數(shù)不超過200,試題數(shù)不超過999。 程序的輸出有4個報告: a)按*排列的成績單,列出每個學(xué)生的成績、名次。 b)按學(xué)生成績排序的成績單。 c)平均分?jǐn)?shù)及標(biāo)準(zhǔn)偏差的報告。 d)試題分析報告。按試題號排序,列出各題學(xué)生答對的百分比。 解答:分別考

24、慮輸入條件和輸出條件,以及邊界條件。給出下表所示的輸入條件及相應(yīng)的測試用例。輸入條件測試用例輸入文件空輸入文件標(biāo)題沒有標(biāo)題標(biāo)題只有一個字符標(biāo)題有80個字符試題數(shù)試題數(shù)為1試題數(shù)為50試題數(shù)為51試題數(shù)為100試題數(shù)為0試題數(shù)含有非數(shù)字字符標(biāo)準(zhǔn)答案記錄沒有標(biāo)準(zhǔn)答案記錄,有標(biāo)題標(biāo)注答案記錄多于一個標(biāo)注答案記錄少一個學(xué)生人數(shù)0個學(xué)生1個學(xué)生200個學(xué)生201個學(xué)生學(xué)生答題*學(xué)生只有一個答復(fù)記錄,但有兩個標(biāo)準(zhǔn)答案記錄該學(xué)生是文件中的第一個學(xué)生該學(xué)生是文件中的最后一個學(xué)生記錄數(shù)出錯的學(xué)生學(xué)生答題*學(xué)生有兩個答復(fù)記錄,但只有一個標(biāo)準(zhǔn)答案記錄該學(xué)生是文件中的第一個學(xué)生記錄數(shù)出錯的學(xué)生該學(xué)生是文件中的最后一個

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

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

27、給出信息M。2)其對應(yīng)的因果圖如下:11為中間節(jié)點;考慮到原因1和原因2不可能同時為1,因此在因果圖上施加E約束。E123112221233)根據(jù)因果圖建立判定表。12345678條件愿意111110000動作結(jié)果21100110031010101011111100220000112110100023010101測試用例A3AMB5BNC2DYA8A“B4B!*6P; 表中8種情況的左面兩列情況中,原因和原因同時為1,這是不可能出現(xiàn)的,故應(yīng)排除這兩種情況。表的最下一欄給出了6種情況的測試用例,這是我們所需要的數(shù)據(jù)。 判定表定義判定表是分析和表達多邏輯條件下執(zhí)行不同操作的情況的工具判定表的建立步驟確定規(guī)則的個數(shù).假設(shè)有n個條件。每個條件有兩個取值0,1,故有2n種規(guī)則。列出所有的條件樁和動作樁。填入條件項。填入動作項。等到初始判定表。簡化.合并相似規(guī)則一樣動作。7 軟件測試工具7.1功能測試工具Mercury Interactive WinrunnerMercury Interactive QuickTest

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論