版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件測試軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試在軟件生存期中橫跨兩個階段,通常在編寫好每一個模塊之后就做必要的測試。編碼和單元測試屬于軟件生存期中的同一個階段。在結(jié)束這個階段后對軟件系統(tǒng)還要進行各種綜合測試,這是軟件生存期的另一個獨立階段,即測試階段。1.軟件測試的概念所謂軟件測試,是指在軟件投入運行之前,對軟件需求規(guī)格說明、設(shè)計規(guī)格說明和編碼的最終復(fù)審。軟件測試是軟件開發(fā)過程的重要組成部分,是用來確認一個系統(tǒng)的品質(zhì)或性能是否符合用戶提出要求的標(biāo)準(zhǔn),是軟件質(zhì)量保證的關(guān)鍵過程。1983年國際電子電氣工程師協(xié)會提出的軟件工程標(biāo)準(zhǔn)術(shù)語中給軟件測試概述所下的定義:使用人工或自動手段來運行或測試某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。定義包含了兩個方面的含義:是否滿足規(guī)定的需求。是否有差別。這一定義明確地提出了軟件測試以檢驗軟件是否滿足需求為目標(biāo),指出測試時需要明確給定預(yù)期結(jié)果,然后將它們與實際結(jié)果進行比較,這是測試的基礎(chǔ)之一。確定預(yù)期輸出是測試用例必不可少的一部分。2.軟件測試的目的軟件測試的目的決定了如何去組織測試。如果測試的目的是為了盡可能多地找出錯誤,那么測試則應(yīng)該直接針對軟件比較復(fù)雜的部分或是以前出錯比較多的位置。如果測試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評價,那么測試就應(yīng)該直接針對在實際應(yīng)用中會經(jīng)常用到的商業(yè)假設(shè)。軟件測試的目的如下:為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。為了證明程序有錯,而不是證明程序沒有錯誤。由上可見,軟件測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。一個好的測試用例在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試在于它發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤。另外,通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當(dāng)前所采用軟件過程的缺陷,以便改進。同時,這種分析也能幫助我們設(shè)計出有針對性的檢測方法,改善測試的有效性。沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。3.軟件測試的類型軟件測試是一種活動,在該活動中,一個系統(tǒng)或系統(tǒng)的組成部分在特定條件下被運行,結(jié)果被觀察或記錄,并對該系統(tǒng)或組成部分的某些方面進行評估。軟件的測試活動的基本類型有如下幾種:(1)操作測試(2)全范圍測試(3)性能測試(4)回歸測試(5)超載測試(6)基于需求的測試(7)用戶文檔測試(8)界面測試(9)非法測試(10)驗收測試2.1.2
測試與軟件開發(fā)
各個階段的關(guān)系在軟件測試方面,V模型是廣為人知的模型,盡管在實際應(yīng)用中,猶如瀑布模型一般,它存在著許多弊端,但是V模型非常明確地劃分了軟件測試過程的不同級別,并明確地闡述了軟件測試階段和開發(fā)過程各階段的對應(yīng)關(guān)系。2.1.2
測試與軟件開發(fā)
各個階段的關(guān)系2.1.3
軟件測試應(yīng)遵循的原則(1)盡早并不斷地進行測試(2)嚴(yán)格按照測試計劃來測試(3)程序員或程序設(shè)計機構(gòu)不應(yīng)測試自己設(shè)計的程序(4)要有確定詳盡的輸入和輸出數(shù)據(jù)(5)要有不合理的輸入數(shù)據(jù)(6)保留全部測試用例,并作為軟件的組成部分(7)充分注意測試中的集群現(xiàn)象(8)注意遵守“經(jīng)濟性”原則2.2.1
靜態(tài)測試法靜態(tài)測試實際上是確認在給定的外部環(huán)境中軟件的邏輯正確性,它應(yīng)該包括需求規(guī)格說明和程序等的確認。靜態(tài)測試可以用于對各種軟件文檔進行測試,是軟件開發(fā)中十分有效的質(zhì)量控制方法之一。在軟件開發(fā)過程的早期階段,由于可運行的代碼尚未產(chǎn)生,不可能進行動態(tài)測試,而這些階段中間產(chǎn)品的質(zhì)量直接關(guān)系到軟件開發(fā)的成敗與開銷的大小。因此,在這些階段,靜態(tài)測試的作用尤為重要。靜態(tài)測試的基本特征是,在對軟件進行分析、檢查和測試時,不實際運行被測試的程序。靜態(tài)測試一般不在計算機上實際執(zhí)行程序,可以通過人工分析或計算機輔助分析以及程序正確性證明來確認軟件的正確性。1.靜態(tài)測試法的層次按照進行靜態(tài)測試的正式程度及其在軟件生產(chǎn)質(zhì)量管理和質(zhì)量控制中的作用,靜態(tài)測試可分為如下4個層次:(1)工程測試(2)正式測試(3)審核測試(4)檢查性測試2.靜態(tài)測試法的具體方法(1)人工測試方法(2)計算機輔助靜態(tài)分析(3)程序正確性證明(4)結(jié)構(gòu)化走通(5)Fagan檢查3.靜態(tài)測試法的內(nèi)容針對不同的軟件中間產(chǎn)品,靜態(tài)測試的內(nèi)容也不盡相同。對不同的文檔進行靜態(tài)測試的內(nèi)容可以體現(xiàn)在對特定文檔的測試對照條例中。下面以軟件開發(fā)過程中的幾個有代表性的主要文檔和代碼,列舉靜態(tài)測試的對照條例,以說明靜態(tài)測試的內(nèi)容。(1)需求定義的測試對需求定義的測試著重于測試用戶需求描述及其解釋是否完整、準(zhǔn)確。對需求定義進行靜態(tài)測試的條例主要包括:兼容性、完備性、一致性、正確性、可行性、易修改性、健壯性、易追溯性、易理解性及易測試性、可驗證性。(2)設(shè)計文檔的靜態(tài)測試對設(shè)計文檔的靜態(tài)測試著重于分析設(shè)計是否與需求規(guī)格說明一致,所采用的算法是否適用于待解問題;在程序設(shè)計中,對程序的劃分是否與待解問題相適應(yīng),需求是否都被滿足等。設(shè)計文檔的測試內(nèi)容包括:完備性、一致性、正確性、可行性、易修改性、模塊性、可預(yù)測性、健壯性、結(jié)構(gòu)化、易追溯性、易理解性和可驗證性/易測試性。(3)源代碼的靜態(tài)測試對源代碼的靜態(tài)測試著重于分析實現(xiàn)是否正確、完備。針對源代碼的靜態(tài)測試包括:完備性、一致性、正確性、易修改性、可預(yù)測性、健壯性、結(jié)構(gòu)化、易追溯性、易理解性及可驗證性。2.2.2
白盒測試法白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,屬于動態(tài)測試法之一,它知道產(chǎn)品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品的內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進行;按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作,而不考慮它的功能。白盒測試也是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯結(jié)構(gòu)著手,得出測試數(shù)據(jù)。白盒測試是一種透明的測試技術(shù),它是以程序的內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ)來設(shè)計測試用例的。其原則如下:保證程序中每一個獨立的路徑至少執(zhí)行一次。保證所有判定的每一個分支至少執(zhí)行一次。保證每個判定表達式中每個條件的所有可能結(jié)果至少出現(xiàn)一次。保證每一循環(huán)在邊界條件和一般條件都至少各執(zhí)行一次。驗證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。典型的白盒測試技術(shù)主要有邏輯覆蓋、基本路徑、循環(huán)覆蓋等幾種。2.2.3
黑盒測試法黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,屬于動態(tài)測試法之一。它是在已知產(chǎn)品所應(yīng)具有的功能上,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看做一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因果圖、錯誤推測等,主要用于軟件確認測試。黑盒測試的測試用例設(shè)計方法有以下幾種:2.3軟件測試步驟2.3.1
單元測試單元測試又稱模塊測試,著重對軟件設(shè)計的最小單元——軟件構(gòu)件或模塊進行驗證。單元測試根據(jù)設(shè)計描述,對重要的控制路徑進行測試,以發(fā)現(xiàn)構(gòu)件或模塊內(nèi)部的錯誤。單元測試通常采用白盒測試,并且多個構(gòu)件或模塊可以并行進行測試。2.3.2
集成測試在單元測試的基礎(chǔ)上,將所有模塊組裝為系統(tǒng)所進行的測試稱為集成測試。集成測試將模塊按照設(shè)計要求組裝起來同時進行測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。1.集成測試的目的實踐證明,單個模塊都能正常工作,但經(jīng)過組裝后就不一定仍能正常工作,這是因為:單元測試使用的驅(qū)動模塊和樁模塊,與它們所代替的模塊并不完全等效,因為單元測試有不徹底、不嚴(yán)格的情況。各個模塊組裝起來,穿越模塊接口的數(shù)據(jù)可能會丟失。一個模塊的功能可能會對另一個模塊的功能產(chǎn)生不利的影響。各個模塊的功能組合起來可能達不到預(yù)期要求的功能。單個模塊可以接受的誤差,組裝起來可能累積和放大到不能接受的程度。全局?jǐn)?shù)據(jù)可能會出現(xiàn)問題。因此,必須要進行集成測試,以便發(fā)現(xiàn)模塊組裝中可能出現(xiàn)的問題,最終構(gòu)成一個符合要求的軟件系統(tǒng)。2.3.3
確認測試在集成測試之后,軟件已經(jīng)裝配完成,接口錯誤也已經(jīng)發(fā)現(xiàn)并糾正,這時可以開始對軟件進行最后的測試,即確認測試。確認測試主要檢查軟件功能與用戶的需求是否一致。在軟件需求規(guī)格說明的確認標(biāo)準(zhǔn)中定義了用戶對軟件的合理需求,其中包含的信息是確認測試的基礎(chǔ)和根據(jù)。1.確認測試的范圍確認測試必須有用戶積極參與,或者以用戶為主進行。用戶應(yīng)該參加設(shè)計測試方案,使用用戶接口輸入測試數(shù)據(jù)并且分析評價測試的輸出結(jié)果。為了使用戶能夠積極主動地參與確認測試,特別是為了使用戶能有效地使用這個系統(tǒng),通常在驗收之前由開發(fā)部門對用戶進行培訓(xùn)。確認測試一般使用黑盒測試法。應(yīng)該仔細設(shè)計測試計劃和測試過程,測試計劃包括要進行的測試的種類和進度安排,測試過程規(guī)定用來檢驗軟件是否與需求一致的測試方案。通過測試來保證軟件能滿足所有功能要求,能達到每個性能要求,文檔資料是準(zhǔn)確而完整的。此外,還應(yīng)該保證軟件能滿足其他預(yù)定的要求。確認測試有兩種可能的結(jié)果:功能和性能與用戶要求一致,軟件是可以接受的。功能或性能與用戶的要求有差距。在這個階段發(fā)現(xiàn)的問題往往和需求分析階段的差錯有關(guān),涉及的面通常比較廣,因此解決起來也比較困難。為了解決確認測試過程中發(fā)現(xiàn)的軟件缺陷或錯誤的策略,通常需要和用戶充分協(xié)商。2.軟件配置的評審在確認測試過程中還有一項重要工作,對軟件配置進行評審。軟件配置評審也稱軟件審計,是確認過程的一項重要活動。軟件配置評審的目的是保證軟件配置的所有成分都齊全,各方面的質(zhì)量都符合要求,具有維護階段必需的細節(jié),而且已經(jīng)編排好分類目錄。軟件配置主要包括計算機程序、針對開發(fā)者和用戶的各類文檔、包含在程序內(nèi)部或程序外部的數(shù)據(jù),2.3.4
系統(tǒng)測試系統(tǒng)測試是軟件測試在更大范圍內(nèi)進行的測試,是驗收工作的主要部分,所以也稱為驗收測試。系統(tǒng)測試除被測程序外,還可能包括系統(tǒng)需要的其他軟件和硬件。系統(tǒng)測試是檢查已確認測試合格的軟件安裝到系統(tǒng)環(huán)境之后,能否與系統(tǒng)的其他配置協(xié)調(diào)運行,并且檢查是否滿足需求規(guī)格說明文檔闡述的功能要求、性能要求、文檔要求,以及其他預(yù)定的要求,如可移植性、可兼容性和可維護性等。系統(tǒng)測試一般采用黑盒測試法,它要求仔細設(shè)計測試計劃和測試過程。系統(tǒng)測試發(fā)現(xiàn)的問題往往和需求分析的差錯有關(guān),通常涉及的面比較廣,解決起來也比較困難。系統(tǒng)測試一般應(yīng)由用戶單位組織實施。軟件開發(fā)單位應(yīng)該提供良好的系統(tǒng)測試條件,負責(zé)回答和解決測試中可能發(fā)現(xiàn)的一些質(zhì)量問題。系統(tǒng)測試時應(yīng)按同步或異步方式并行執(zhí)行測試用例,在同一時刻也應(yīng)運行幾個使用事件跟蹤系統(tǒng),所有這些測試都將出現(xiàn)在所分割的子集中。2.3.5
人工測試人工測試是在以一些人工的模擬技術(shù)和一些類似動態(tài)分析所使用的方法對程序進行分析和測試,它不要求在計算機上實際執(zhí)行被測程序。經(jīng)驗表明,使用人工測試方法能夠有效地發(fā)現(xiàn)30%~70%的邏輯設(shè)計和編碼錯誤。人工測試包括以下三個方面:1.桌前檢查2.代碼評審3.走查2.4軟件測試自動化
自動化涉及不同層面的問題,有學(xué)術(shù)研究層面的原理和理論研究,商業(yè)產(chǎn)品層面的自動測試工具產(chǎn)品的開發(fā),應(yīng)用層面的自動測試引入、管理、開發(fā)和實施等。從應(yīng)用的角度,主要關(guān)心如何有效地將自動測試工具引入軟件組織,并進行有效管理、開發(fā)和實施的問題2.4.2
軟件測試自動化的過程測試自動化的過程是指進行測試自動化所涉及的一切活動。測試應(yīng)該首先從測試目標(biāo)的建立開始,然后建立測試的策略。當(dāng)然,測試的策略必須要滿足測試目標(biāo)的要求。對于每個項目,由于項目的類型以及側(cè)重點不一樣,基本上每個項目都有自己的一套測試策略。在管理方面,應(yīng)該由項目管理人員制定出一個測試計劃,其中包括估計完成所有測試活動所需的時間,測試活動的進度安排以及組織中可供使用的資源的分配,對整個測試過程進行有效的監(jiān)控以及控制。另外,如果條件允許,最好能夠在每個環(huán)節(jié)上都配有一套應(yīng)對緊急事件的方案,這樣會降低風(fēng)險。這個計劃應(yīng)早于項目開始實施,并且貫穿整個項目。測試事例準(zhǔn)確地針對被測試系統(tǒng)各項功能的開發(fā)。每個測試事例將貫穿五個不同的開發(fā)活動,包括:標(biāo)識測試條件、設(shè)計測試事例、建立測試事例、執(zhí)行測試事例以及將測試結(jié)果與期望結(jié)果比較,另外還有一些可以增加的后續(xù)自動處理工作。2.4.2
軟件測試自動化的過程2.4.3
軟件測試自動化的優(yōu)缺點自動軟件測試還有很多優(yōu)點:(1)對程序的回歸測試更方便(2)運行更多更頻繁的測試(3)可以執(zhí)行一些手工測試?yán)щy或不可能進行的測試(4)更好地利用資源(5)測試具有一致性和可重復(fù)性(6)可以讓產(chǎn)品更快地面向市場(7)增加軟件信任度自動測試存在的問題:(1)對測試自動化抱有過高的期望(2)缺乏測試實踐經(jīng)驗(3)期望自動測試工具能取代手工測試(4)期望自動測試發(fā)現(xiàn)新故障(5)安全性錯覺(6)測試自動化不能提高有效性(7)自動測試的維護性問題(8)測試自動化可能會制約軟件開發(fā)(9)組織問題(10)工具本身沒有想象力2.4.4
自動化測試工具1.靜態(tài)分析工具2.動態(tài)測試工具3.測試數(shù)據(jù)生成器4.文件比較器5.集成化測試工具6.功能測試工具7.測試管理工具2.5軟件的糾錯測試的目的是發(fā)現(xiàn)錯誤,糾錯就是確定錯誤在程序中的確切位置和性質(zhì),并改正它。糾錯是一個具有很強技巧性的工作,更是一個相當(dāng)艱苦的過程。究其原因,除了開發(fā)人員心理方面的因素之外,還因為隱藏在程序中的錯誤具有這樣特殊的性質(zhì):在實際軟件測試過程中,對于每個錯誤都要經(jīng)過測試、確認、修復(fù)和驗證等管理過程。糾錯是軟件測試的重要環(huán)節(jié)。2.5.1
軟件糾錯與測試的區(qū)別一個成功的測試是發(fā)現(xiàn)了錯誤的測試,而糾錯是在進行一次成功的測試之后立即開始的。糾錯的過程是一個非常費腦力的過程,因為錯誤可能出現(xiàn)在程序的任何一條語句中,而通過測試知道的僅僅是錯誤存在的一些跡象,就
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管片吊裝施工方案(3篇)
- 兒童火災(zāi)應(yīng)急預(yù)案(3篇)
- 槽鋼隔層施工方案(3篇)
- 2025年長白朝鮮族自治縣融媒體中心招聘急需緊缺專業(yè)技術(shù)人員備考題庫及參考答案詳解1套
- 湖北省直屬機關(guān)醫(yī)院湖北省康復(fù)醫(yī)院2026年度招聘備考題庫附答案詳解
- 2025年東臺市消防救援綜合保障中心公開招聘人員備考題庫及完整答案詳解一套
- 2026年華能瀾滄江水電股份有限公司招聘正式員工備考題庫及1套完整答案詳解
- 2025年漣源市市直醫(yī)療衛(wèi)生機構(gòu)公開招聘專業(yè)技術(shù)人員69人備考題庫及一套完整答案詳解
- 2025年墊江縣新民鎮(zhèn)樹仁小學(xué)校招聘備考題庫及完整答案詳解1套
- 陜西能源職業(yè)技術(shù)學(xué)院2026年教師公開招聘備考題庫及一套參考答案詳解
- 大慶一中、六十九中初四上學(xué)期期末質(zhì)量檢測物理試題
- 建材有限公司砂石卸車作業(yè)安全風(fēng)險分級管控清單
- 小學(xué)生一、二、三年級家庭獎罰制度表
- 中石化華北分公司鉆井定額使用說明
- 礦山壓力與巖層控制智慧樹知到答案章節(jié)測試2023年湖南科技大學(xué)
- 機加工車間主任年終總結(jié)3篇
- WB/T 1119-2022數(shù)字化倉庫評估規(guī)范
- GB/T 5125-1985有色金屬沖杯試驗方法
- GB/T 4937.3-2012半導(dǎo)體器件機械和氣候試驗方法第3部分:外部目檢
- 我國尾管懸掛器研制(for cnpc)
- 第3章樁基工程課件
評論
0/150
提交評論