




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件測(cè)試的基本知識(shí)摘要:本文介紹了軟件測(cè)試的基本定義、重要性和目的,闡述了軟件測(cè)試技術(shù)的方法和軟件測(cè)試的一般過程,分析了目前常見的軟件測(cè)試模型。關(guān)鍵詞:軟件測(cè)試 軟件測(cè)試的目的 軟件測(cè)試的方法 軟件測(cè)試過程 常見的軟件測(cè)試模型abstract: this article describes the basic definition of software testing, importance and purpose, describes the methods of software testing technology and the general process of software
2、 testing, analysises the current common software testing model.keywords: software testing the purpose of software testing the method of software testing the process of software testing common software testing model1 引言隨著計(jì)算機(jī)硬件的迅猛發(fā)展,計(jì)算機(jī)的應(yīng)用范圍迅速擴(kuò)大,計(jì)算機(jī)的軟件開發(fā)數(shù)量也急劇增長(zhǎng),計(jì)算機(jī)系統(tǒng)應(yīng)用也越來越廣泛。軟件需求的急速增長(zhǎng)使得軟件開發(fā)中的矛盾也越來越突出,
3、軟件危機(jī)也隨之越發(fā)嚴(yán)重。軟件工程應(yīng)運(yùn)而生,軟件測(cè)試的作用顯得越來越重要。那么什么是軟件測(cè)試呢,1993 年ieee 給出了軟件測(cè)試的定義: “將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的過程, 即將工程化應(yīng)用于軟件中”。目前,國(guó)際上已對(duì)軟件測(cè)試形成一個(gè)共識(shí): 軟件測(cè)試就是在軟件投入使用前,對(duì)軟件的需求分析、設(shè)計(jì)規(guī)格說明和系統(tǒng)編碼的最終復(fù)審。由此可見,軟件測(cè)試的對(duì)象不僅僅是程序,需求規(guī)格說明、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、源程序等都是軟件測(cè)試的對(duì)象。2 軟件測(cè)試的目的如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。如果測(cè)試目的是為
4、了給最終用戶提供具有一定可信度的質(zhì)量評(píng)價(jià),那么測(cè)試就應(yīng)該直接針對(duì)在實(shí)際應(yīng)用中會(huì)經(jīng)常用到的商業(yè)假設(shè)。grenford j. myers在the art of software testing一書中有以下觀點(diǎn): 軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程; 測(cè)試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)誤; 一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤; 一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。當(dāng)然,測(cè)試并不僅僅是為了要找出錯(cuò)誤。通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。
5、還有就是沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。3 軟件測(cè)試的方法從不同的角度出發(fā),我們有很多種軟件測(cè)試的方法。從是否需要執(zhí)行被測(cè)軟件的角度,將軟件測(cè)試分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。從測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度,將軟件測(cè)試分為黑盒測(cè)試、白盒測(cè)試和灰盒測(cè)試。31靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試靜態(tài)測(cè)試是指被測(cè)試程序不在機(jī)器上運(yùn)行,而是采用人工檢測(cè)和計(jì)算機(jī)輔助靜態(tài)分析的手段對(duì)程序進(jìn)行檢測(cè),主要方法包括人工測(cè)試和計(jì)算機(jī)輔助靜態(tài)分析。相對(duì)動(dòng)態(tài)測(cè)試,靜態(tài)測(cè)試可以更早地進(jìn)行。靜態(tài)分析的查錯(cuò)和分析功能是其他方法所不能替代的,靜態(tài)分析能發(fā)現(xiàn)文檔中問題。目前,靜態(tài)測(cè)試已被當(dāng)做一種自動(dòng)
6、化的、主要的代碼校驗(yàn)方法。但靜態(tài)測(cè)試不能檢測(cè)程序的實(shí)際執(zhí)行情況,無法得到程序的執(zhí)行結(jié)果。動(dòng)態(tài)測(cè)試是實(shí)際運(yùn)行被測(cè)程序,輸入相應(yīng)的測(cè)試用例,判定執(zhí)行結(jié)果是否符合要求,從而檢驗(yàn)程序的正確性、可靠性和有效性。一般意義上的測(cè)試主要是指動(dòng)態(tài)測(cè)試。為了使測(cè)試發(fā)現(xiàn)更多的錯(cuò)誤,需要運(yùn)用一些有效的方法:一種是黑盒測(cè)試,即測(cè)試產(chǎn)品的功能;一種是白盒測(cè)試,即測(cè)試產(chǎn)品內(nèi)部結(jié)構(gòu)及處理過程。動(dòng)態(tài)測(cè)試是一種經(jīng)常運(yùn)用的測(cè)試方法,無論在單元測(cè)試、集成測(cè)試中,還是在系統(tǒng)測(cè)試、驗(yàn)收測(cè)試中,都是一種有效的測(cè)試方法。但動(dòng)態(tài)測(cè)試不能發(fā)現(xiàn)文檔問題,必須等待程序代碼完成后進(jìn)行,發(fā)現(xiàn)問題相對(duì)遲得多,一旦發(fā)現(xiàn)問題,必須重新設(shè)計(jì)、重新編碼,必然增大
7、不良質(zhì)量的成本。32 黑盒測(cè)試、白盒測(cè)試和灰盒測(cè)試黑盒測(cè)試,也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。黑盒測(cè)試是在已知產(chǎn)品所應(yīng)具有的功能,通過測(cè)試來檢測(cè)每個(gè)功能是否都能正常使用。測(cè)試時(shí),在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息的完整性?!昂诤小狈ㄖ塾诔绦蛲獠拷Y(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試?!昂诤小狈ㄊ歉F舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無窮多個(gè),人們不僅要測(cè)試所有
8、合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試。白盒測(cè)試,也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。白盒測(cè)試是已知產(chǎn)品內(nèi)部工作過程,通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,主要用于軟件驗(yàn)證?!鞍缀小狈ㄈ媪私獬绦騼?nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試?!鞍缀小狈?是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字。但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤,因?yàn)楦F舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序?;液袦y(cè)試,確實(shí)是介于黑盒測(cè)試和白盒測(cè)試之間的,灰盒測(cè)試關(guān)注輸出對(duì)于輸入的正確性,同
9、時(shí)也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不象白盒那樣詳細(xì)、完整,只是通過一些表征性的現(xiàn)象、事件、標(biāo)志來判斷內(nèi)部的運(yùn)行狀態(tài)。有時(shí)候輸出是正確的,但內(nèi)部其實(shí)已經(jīng)錯(cuò)誤了,這種情況非常多,如果每次都通過白盒測(cè)試來操作,效率 會(huì)很低,因此需要采取這樣的一種灰盒的方法?;液袦y(cè)試結(jié)合了白盒測(cè)試盒黑盒測(cè)試的要素。它考慮了用戶端、特定的系統(tǒng)知識(shí)和操作環(huán)境。它在系統(tǒng)組件的協(xié)同性環(huán)境中評(píng)價(jià)應(yīng)用軟件的設(shè)計(jì)。4 軟件測(cè)試過程一個(gè)大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)構(gòu)成, 每個(gè)子系統(tǒng)又由若干個(gè)模塊構(gòu)成。軟件測(cè)試過程如下:4.1 單元測(cè)試又稱模塊測(cè)試。它是針對(duì)軟件設(shè)計(jì)的最小單位-程序模塊, 進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部
10、可能存在的各種差錯(cuò)。單元測(cè)試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例。多模塊可以平行的獨(dú)立進(jìn)行單元測(cè)試。42 組裝測(cè)試又稱集成測(cè)試。通常, 在單元測(cè)試的基礎(chǔ)上, 需要將所有模塊按照設(shè)計(jì)要求組裝成為系統(tǒng)。這時(shí)需要考慮的問題是: 在把各個(gè)模塊連接起來時(shí), 穿越模塊接口的數(shù)據(jù)是否會(huì)丟失; 一個(gè)模塊的功能是否會(huì)對(duì)另一個(gè)模塊的功能產(chǎn)生不利的影響; 各個(gè)子功能組合起來, 能否達(dá)到預(yù)期要求的父功能; 全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題; 單個(gè)模塊的誤差累積起來, 是否會(huì)放大, 從而達(dá)到不能接受的程度。43 確認(rèn)測(cè)試又稱有效性測(cè)試。它的任務(wù)是驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。首先要進(jìn)行有效性測(cè)試以及軟件配置
11、復(fù)審, 然后進(jìn)行驗(yàn)收測(cè)試和安裝測(cè)試, 在通過了專家鑒定之后, 才能成為可交付的軟件。44 系統(tǒng)測(cè)試是將通過確認(rèn)測(cè)試的軟件, 作為整個(gè)基于計(jì)算機(jī)系統(tǒng)的一個(gè)元素, 與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起, 在實(shí)際運(yùn)行( 使用) 環(huán)境下, 對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的在于通過與系統(tǒng)的需求定義作比較, 發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。5 軟件測(cè)試的模型在20 世紀(jì)80 年代后期paul rook 提出了著名的軟件測(cè)試的v 模型, 旨在改進(jìn)軟件開發(fā)的效率和效果。v 模型反映出了測(cè)試活動(dòng)與分析設(shè)計(jì)活動(dòng)的關(guān)系。v 模型指出, 單元和集成測(cè)
12、試應(yīng)檢測(cè)程序的執(zhí)行是否滿足軟件設(shè)計(jì)的要求; 系統(tǒng)測(cè)試應(yīng)檢測(cè)系統(tǒng)功能、性能的質(zhì)量特性是否達(dá)到系統(tǒng)要求的指標(biāo); 驗(yàn)收測(cè)試確定軟件的實(shí)現(xiàn)是否滿足用戶需要或合同的要求。但v 模型存在一定的局限性, 它僅僅把測(cè)試作為在編碼之后的一個(gè)階段, 是針對(duì)程序進(jìn)行的尋找錯(cuò)誤的活動(dòng), 而忽視了測(cè)試活動(dòng)對(duì)需求分析、系統(tǒng)設(shè)計(jì)等活動(dòng)的驗(yàn)證和確認(rèn)的功能。 evolutif 公司針對(duì)v 模型的缺陷, 相對(duì)于v 模型, 提出了w模型的概念。w模型增加了軟件各開發(fā)階段中應(yīng)同步進(jìn)行的驗(yàn)證和確認(rèn)活動(dòng)。w模型由兩個(gè)v 字型模型組成, 分別代表測(cè)試與開發(fā)過程。針對(duì)v模型的缺陷,我們提出b模型的概念。在b 模型中, 軟件開發(fā)過程中各個(gè)階段的可交付產(chǎn)品都要進(jìn)行測(cè)試,以便盡可能地使各階段產(chǎn)生的錯(cuò)誤在該階段得到發(fā)現(xiàn)和解決,防止在后期階段放置太多的問題。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙方有土地合同范本
- 2025年咖啡連鎖經(jīng)營(yíng)項(xiàng)目合作計(jì)劃書
- 原木買賣合同范例
- 養(yǎng)殖合同范本雞
- 公司酒水銷售合同范本
- 員工餐廳服務(wù)合同范本
- 啟用新合同范例說明
- 住房裝修貸款有合同范本
- 咨詢公司外包業(yè)務(wù)合同范例
- 鹵肉店轉(zhuǎn)讓合同范本
- 新版現(xiàn)代西班牙語學(xué)生用書第一冊(cè)課后習(xí)題答案
- 科技成果查新檢索基本情況表
- 新媒體藝術(shù)設(shè)計(jì)交互融合元宇宙
- 家長(zhǎng)會(huì)課件:七年級(jí)家長(zhǎng)會(huì)優(yōu)質(zhì)課件
- 《AutoCAD 中文版實(shí)例教程(AutoCAD 2020) (微課版)(第 2 版)》課件 馬連志 第1、2章 AutoCAD 2020 中文版入門、繪圖設(shè)置
- 小學(xué)一年級(jí)硬筆書法入門班教學(xué)課件
- 社會(huì)工作-心理學(xué)視角下的校園欺凌認(rèn)知與對(duì)策研究論文
- 面神經(jīng)炎臨床路徑
- 月光奏鳴曲全面版
- 2022年湖北省中小學(xué)教師高級(jí)職稱專業(yè)水平能力測(cè)試模擬題
- 數(shù)控車床操作培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論