出版時(shí)間:2005-12 出版社:高等教育 作者:趙瑞蓮 編 頁數(shù):216
前言
從計(jì)算機(jī)技術(shù)與各項(xiàng)科學(xué)技術(shù)比較來看,計(jì)算機(jī)技術(shù)無疑是當(dāng)代發(fā)展最為迅猛的科學(xué)技術(shù)之一。無論是文化領(lǐng)域、科技領(lǐng)域、金融領(lǐng)域還是軍事領(lǐng)域,計(jì)算機(jī)技術(shù)的應(yīng)用非常普遍,計(jì)算機(jī)技術(shù)已滲透到生產(chǎn)、生活的各個(gè)方面。隨著對計(jì)算機(jī)需求和依賴的與日俱增,計(jì)算機(jī)系統(tǒng)的規(guī)模和復(fù)雜性急劇增加,其軟件開發(fā)成本以及由于軟件故障而造成的經(jīng)濟(jì)損失也不斷增加,軟件質(zhì)量問題已成為人們共同關(guān)注的焦點(diǎn)。軟件開發(fā)商要想最大限度地占有市場,必須把軟件質(zhì)量作為企業(yè)始終追求的重要目標(biāo)之一,這樣才能在激烈的競爭中不被淘汰出局。用戶為了保證自己業(yè)務(wù)的順利完成,當(dāng)然也希望選用優(yōu)質(zhì)的軟件。在一些關(guān)鍵應(yīng)用中,如民航訂票系統(tǒng)、銀行結(jié)算系統(tǒng)、證券交易系統(tǒng)、自動飛行控制軟件、軍事防御和核電站安全控制系統(tǒng)等,都對軟件質(zhì)量提出了更高的要求。使用質(zhì)量欠佳的軟件,很可能造成災(zāi)難性的后果,如美國愛國者導(dǎo)彈防御系統(tǒng)、歐洲阿麗亞娜五型火箭發(fā)射失敗問題、美國航空總署火星探測器墜毀災(zāi)難、千年蟲問題、Intel芯片浮點(diǎn)除法軟件故障等,都是因使用質(zhì)量欠佳的軟件而造成的。因此,許多科學(xué)家在展望21世紀(jì)計(jì)算機(jī)科學(xué)發(fā)展方向和策略時(shí),都把軟件質(zhì)量放在優(yōu)先于提高軟件功能和性能的地位。軟件測試是對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟,是為了發(fā)現(xiàn)故障而執(zhí)行程序的過程。隨著軟件系統(tǒng)規(guī)模和復(fù)雜性的增加,進(jìn)行專業(yè)化、高效軟件測試的要求越來越高,軟件測試職業(yè)的價(jià)值越發(fā)顯著,軟件評測中心如雨后春筍般迅猛發(fā)展起來??梢灶A(yù)測,在未來3-5年內(nèi),軟件測試技術(shù)將作為一門新興產(chǎn)業(yè)而快速發(fā)展起來。十分遺憾的是,在國內(nèi)大量的出版物中,有關(guān)軟件測試技術(shù)的書籍少之又少。近年來,我們在軟件測試技術(shù)方面開展了一些調(diào)查、研究、分析和實(shí)踐活動,對在軟件測試當(dāng)中可能遇到的一些關(guān)鍵問題進(jìn)行了理論探討并積累了一些寶貴的資料。在此基礎(chǔ)上,著手編寫本書,旨在介紹軟件測試的基本概念、常用方法和技術(shù),為普及我國的軟件測試技術(shù)盡自己一份綿薄之力。同時(shí)希望讀者能夠以此為起點(diǎn),學(xué)會如何選擇有效的測試方法,學(xué)會如何迅速地找出軟件中存在的故障,學(xué)會如何清楚地報(bào)告發(fā)現(xiàn)的軟件問題,掌握軟件測試的基本技術(shù)并能應(yīng)用到具體實(shí)踐中。在本書的編寫過程中,王雪蓮?fù)瑢W(xué)做了部分翻譯和輔助工作,科學(xué)院計(jì)算所閔應(yīng)驊研究員在百忙中抽出時(shí)間審閱了全書,在此一并表示衷心的感謝。
內(nèi)容概要
《軟件測試》是教育部新世紀(jì)高職高專教育人才培養(yǎng)模式和教學(xué)內(nèi)容體系改革與建設(shè)項(xiàng)目成果,是組織有關(guān)教育部高職高專教育專業(yè)教學(xué)改革試點(diǎn)院校編寫的。主要內(nèi)容包括緒論、軟件測試實(shí)質(zhì)、軟件測試策略、黑盒測試、白盒測試、集成測試與系統(tǒng)測試,驗(yàn)證測試和確認(rèn)測試,測試計(jì)劃與測試文檔、面向?qū)ο蟮能浖y試?!盾浖y試》適合于高等職業(yè)學(xué)校、高等??茖W(xué)校、成人高校、示范性軟件職業(yè)技術(shù)學(xué)院、本科院校及其舉辦的二級職業(yè)技術(shù)學(xué)院、繼續(xù)教育學(xué)院以及民辦高校使用,也可供計(jì)算機(jī)專業(yè)人員和愛好者參考使用。
書籍目錄
第1章 緒論1.1 計(jì)算機(jī)系統(tǒng)中軟件的可靠性問題1.2 軟件測試與軟件可靠性1.3 軟件測試的發(fā)展歷史、現(xiàn)狀和展望小結(jié)第1章習(xí)題第2章 軟件測試的實(shí)質(zhì)2.1 軟件測試的基本概念2.1.1 軟件測試的目的2.1.2 軟件測試涉及的關(guān)鍵問題2.1.3 軟件測試與軟件質(zhì)量保證2.2 軟件故障2.2.1 故障定義2.2.2 軟件故障分類2.2.3 軟件故障的修復(fù)費(fèi)用2.3 測試的復(fù)雜性與經(jīng)濟(jì)性2.4 測試的充分性問題2.5 測試原則2.6 停止測試的標(biāo)準(zhǔn)2.6.1 五類常用的停止測試標(biāo)準(zhǔn)2.6.2 第四類停止測試標(biāo)準(zhǔn)小結(jié)第2章習(xí)題第3章 軟件測試策略3.1 軟件開發(fā)模型3.2 軟件測試過程3.2.1 單元測試3.2.2 集成測試3.2.3 確認(rèn)測試3.2.4 系統(tǒng)測試3.2.5 驗(yàn)收測試3.3 黑盒測試與白盒測試3.3.1 黑盒測試3.3.2 白盒測試3.3.3 黑盒測試與白盒測試的比較3.4 靜態(tài)測試與動態(tài)測試3.5 驗(yàn)證測試與確認(rèn)測試小結(jié)第3章習(xí)題第4章 黑盒測試4.1 3個(gè)被測程序4.1.1 三角形問題4.1.2 NcxtDate函數(shù)4.1.3 雇傭金問題4.2 等價(jià)類劃分測試4.2.1 等價(jià)類劃分4.2.2 常見的等價(jià)類劃分測試形式4.2.3 等價(jià)類劃分測試舉例4.2.4 等價(jià)類劃分測試的指導(dǎo)方針4.3 邊界值分析4.3.1 邊界條件4.3.2 次邊界條件4.3.3 邊界值分析測試4.3.4 健壯性測試4.3.5 邊界值分析舉例4.3.6 邊界值分析的局限性4.4 決策表測試4.4.1 決策表4.4.2 決策表在黑盒測試中的應(yīng)用4.4.3 決策表測試的指導(dǎo)方針4.5 其他黑盒測試方法4.5.1 因果圖4.5.2 特殊值測試4.5.3 故障猜測法4.6 黑盒測試效率小結(jié)第4章習(xí)題第5章 白盒測試5.1 程序控制流圖5.2 邏輯覆蓋5.3 路徑分析5.3.1 程序路徑表示5.3.2 程序中路徑數(shù)的計(jì)算5.3.3 Z路徑覆蓋5.3.4 獨(dú)立路徑測試5.4 數(shù)據(jù)流測試5.4.]數(shù)據(jù)流分析5.4.2 定義/使用測試5.5 符號測試5.6 域測試策略5.7 程序變異5.7.1 程序強(qiáng)變異5.7.2 程序弱變異5.8 程序插裝小結(jié)第5章習(xí)題第6章 集成測試與系統(tǒng)測試6.1 集成測試6.1.1 增式集成測試與非增式集成測試6.1.2 自頂向下集成測試與自底向上集成測試6.2 系統(tǒng)測試6.2.1 性能測試6.2.2 強(qiáng)度測試6.2.3 安全性測試6.2.4 恢復(fù)測試6.2.5 安裝測試6.2.6 可靠性測試6.2.7 配置測試6.2.8 可用性測試6.2.9 兼容性測試6.2.10 文檔資料測試6.2.11 網(wǎng)站測試小結(jié)第6章習(xí)題第7章 驗(yàn)證測試和確認(rèn)測試7.1 驗(yàn)證的基本方法7.1.1 軟件審查7.1.2 走查7.1.3 伙伴檢查7.1.4 建議7.2 驗(yàn)證活動7.2.1 審查單7.2.2 需求驗(yàn)證7.2.3 功能設(shè)計(jì)驗(yàn)證7.2.4 詳細(xì)設(shè)計(jì)驗(yàn)證7.2.5 代碼驗(yàn)證7.3 通用代碼審查單7.4 確認(rèn)測試7.4.1 確認(rèn)任務(wù)7.4.2 確認(rèn)測試策略7.4.3 確認(rèn)測試活動7.4.4 累進(jìn)測試和回歸測試7.4.5 測試執(zhí)行小結(jié)第7章習(xí)題第8章 測試計(jì)劃與測試文檔8.1 測試計(jì)劃8.2 軟件測試文檔8.3 主測試計(jì)劃8.4 驗(yàn)證測試計(jì)劃8.4.1 制定驗(yàn)證測試計(jì)劃8.4.2 驗(yàn)證執(zhí)行8.5 確認(rèn)測試計(jì)劃8.5.1 制定確認(rèn)測試計(jì)劃8.5.2 測試結(jié)構(gòu)設(shè)計(jì)8.5.3 詳細(xì)測試設(shè)計(jì)8.5.4 測試執(zhí)行和事故報(bào)告8.6 測試評估8.7 用戶手冊8.8 IEEE/ANSI測試文檔概述8.9 軟件生存周期各階段的測試任務(wù)與可交付的文檔8.9.1 需求階段8.9.2 功能設(shè)計(jì)階段8.9.3 詳細(xì)設(shè)計(jì)階段8.9.4 編碼階段8.9.5 測試階段8.9.6 運(yùn)行/維護(hù)階段小結(jié)第8章習(xí)題第9章 面向?qū)ο蟮能浖y試9.1 面向?qū)ο蟮母拍?.1.1 對象、9.1.2 消息9.1.3 接口9.1.4 類9.1.5 繼承9.1.6 動態(tài)綁定9.2 面向?qū)ο蟮臏y試與傳統(tǒng)軟件測試的區(qū)別9.3 面向?qū)ο蟮能浖y試9.4 類測試9.5 面向?qū)ο蟮募蓽y試小結(jié)第9章習(xí)題第10章 軟件測試自動化和測試工具10.1 測試與測試自動化10.2 測試工具10.2.1 白盒測試工具10.2.2 黑盒測試工具10.2.3 測試設(shè)計(jì)和開發(fā)工具10.2.4 測試執(zhí)行和評估工具10.2.5 測試管理工具,10.2.6 測試工具的選擇10.3 常用測試工具簡介10.3.1 ParasoftC++Tast測試工具簡介10.3.2 白盒工具——NuMegaDecPartner Studio10.3.3 黑盒測試工具——QACenter10.3.4 數(shù)據(jù)庫測試工具10.3.5 測試管理工具——TestDirector10.4 測試自動化和測試工具的好處10.5 測試自動化和測試工具存在的問題小結(jié)第10章習(xí)題第11章 軟件質(zhì)量保證11.1 軟件質(zhì)量保證11.2 軟件測試管理技術(shù)11.3 測試的組織方式11.4 能力成熟度模型CMM11.4.1 CMM的等級11.4.2 CMM等級311.5 ISO9000標(biāo)準(zhǔn)小結(jié)第11章習(xí)題第12章 軟件測試職業(yè)指導(dǎo)12.1 軟件測試職位12.2 優(yōu)秀軟件測試工程師應(yīng)具備的素質(zhì)12.3 軟件測試信息資源12.3.1 正規(guī)培訓(xùn)12.3.2 因特網(wǎng)12.3.3 專業(yè)組織小結(jié)第12章習(xí)題附錄 軟件工程的測試標(biāo)準(zhǔn)參考文獻(xiàn)參考網(wǎng)站
章節(jié)摘錄
插圖:對軟件系統(tǒng)中可能出現(xiàn)的故障進(jìn)行分類,有利于軟件可靠性分析工作的進(jìn)行。故障一般可分為:硬件故障、軟件故障、操作故障和環(huán)境故障。硬件故障是由物理性能的惡化造成的;軟件故障是由設(shè)計(jì)階段的人為因素造成的;操作故障是指操作人員和維護(hù)人員的錯(cuò)誤;環(huán)境故障則包括.電源、外界干擾、地震、火災(zāi)、病毒等各種外界因素引起的故障。故障可以形式化地定義為軟件在其執(zhí)行期間的表現(xiàn)偏離了事先規(guī)定的行為要求。如果規(guī)格說明書錯(cuò)了,盡管軟件的實(shí)現(xiàn)與規(guī)格說明的要求相符,但它與用戶的要求不吻合,從用戶立場上來看,這也是對事先規(guī)定行為的偏離,它將直接影響到用戶的使用。因此,只要用戶有抱怨,就可以說,軟件出現(xiàn)了故障。實(shí)際上,對于軟件來講,不論采用什么樣的技術(shù)和方法,軟件中都會有故障存在。采用新的編程語言、先進(jìn)的開發(fā)方式、完善的開發(fā)過程,可以減少故障的引入,但是不可能完全杜絕軟件中故障的存在,這些軟件故障需要靠測試來發(fā)現(xiàn),軟件中的故障密度也需要靠測試來估計(jì)。軟件測試是對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的終審,是軟件質(zhì)量保證的關(guān)鍵步驟。如果給軟件測試下定義,可以這樣講:軟件測試是為了發(fā)現(xiàn)故障而執(zhí)行程序的過程?;蛘哒f,軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批測試用例,并利用這些測試用例去執(zhí)行程序,以發(fā)現(xiàn)軟件故障的過程,其根本目的是以盡可能少的時(shí)間和人力發(fā)現(xiàn)并改正軟件中潛在的各種故障及缺陷。實(shí)際上,測試工作一直對準(zhǔn)軟件中隱含的各種故障,所有的測試方法和手段都是以找出軟件中隱含的故障為目的的。軟件中隱藏的故障數(shù)目,直接決定軟件的可靠性。如果不能將軟件中隱含的故障及時(shí)排除,一旦暴露出來就會給使用者和維護(hù)者帶來不同程度的嚴(yán)重后果。所以,軟件測試必須在軟件投入生產(chǎn)運(yùn)行之前進(jìn)行,以盡可能多地發(fā)現(xiàn)軟件中存在的故障,提高軟件可靠性。軟件可靠性模型利用軟件測試所提供的有關(guān)軟件系統(tǒng)的故障數(shù)據(jù),估算軟件的可靠性,對軟件將來的故障行為進(jìn)行預(yù)測,以協(xié)助開發(fā)人員監(jiān)督軟件開發(fā)過程,輔助軟件過程管理,如過程評估、風(fēng)險(xiǎn)分析、項(xiàng)目估計(jì)與決策等。因此,軟件測試是保證軟件質(zhì)量,提高軟件可靠性的主要手段。
編輯推薦
《軟件測試》由高等教育出版社出版。
圖書封面
評論、評分、閱讀與下載