《高等學(xué)校計算機(jī)科學(xué)與技術(shù)項目驅(qū)動案例實踐規(guī)劃教材:軟件測試技術(shù)案例教程》采用“項目驅(qū)動”的教學(xué)模式,通過完整的項日案例,系統(tǒng)地介紹軟件測試的原理、方法和技術(shù)。全書圍繞軟件測試的整體流程,詳細(xì)論述了軟件測試基本原理、軟件測試計劃與策略、黑盒測試技術(shù)、白盒測試技術(shù)、單元測試技術(shù)、集成測試技術(shù)、系統(tǒng)測試技術(shù)、驗收測試技術(shù)和軟件測試管理等內(nèi)容。《高等學(xué)校計算機(jī)科學(xué)與技術(shù)項目驅(qū)動案例實踐規(guī)劃教材:軟件測試技術(shù)案例教程》注重理論與實踐相結(jié)合,內(nèi)容詳盡,提供了大量實例,突出應(yīng)用能力的培養(yǎng),將一個實際項目的知識點分解在各章作為案例講解,是一本實用性突出的教材。本書可作為普通高等院校計算機(jī)專業(yè)本、?粕浖䴗y試課程的教材,也可供軟件測試人員參考使用。
21世紀(jì),什么技術(shù)將影響人類的生活?什么產(chǎn)業(yè)將決定國家的發(fā)展?信息技術(shù)與信息產(chǎn)業(yè)是首選的答案。大專院校學(xué)生是企業(yè)和政府的后備軍,國家教育部門計劃在大專院校中普及政府和企業(yè)信息技術(shù)與軟件工程教育。經(jīng)過多所院校的實踐,信息技術(shù)與軟件工程教育受到同學(xué)們的普遍歡迎,取得了很好的教學(xué)效果。然而也存在一些不容忽視的共性問題,其中突出的是教材問題。
從近兩年信息技術(shù)與軟件工程教育研究來看,許多任課教師提出目前教材不合適。具體體現(xiàn)在:第一,來自信息技術(shù)與軟件工程專業(yè)的術(shù)語很多,對于沒有這些知識背景的同學(xué)學(xué)習(xí)起來具有一定難度;第二,書中案例比較匱乏,與企業(yè)的實際情況相差太遠(yuǎn),致使案例可參考性差;第三,缺乏具體的課程實踐指導(dǎo)和真實項目。因此,針對大專院校信息技術(shù)與軟件工程課程教學(xué)特點與需求,編寫適用的教材已是刻不容緩。
本書就是針對以上問題編寫的,它圍繞一個完整的項目來組織和設(shè)計學(xué)習(xí)軟件測試及管理的方法。作者希望推廣一種最有效的學(xué)習(xí)與培訓(xùn)的捷徑,即Project-Driven Training,也就是用項目實踐來帶動理論的學(xué)習(xí)(或者叫做“做中學(xué)”) ;诖,作者圍繞一個艾斯醫(yī)藥商務(wù)系統(tǒng)項目案例來貫穿軟件測試及管理各個模塊的理論講解,內(nèi)容包括軟件測試概述、軟件測試計劃與策略、黑盒測試技術(shù)、白盒測試技術(shù)、單元測試技術(shù)、集成測試技術(shù)、系統(tǒng)測試技術(shù)、驗收測試技術(shù)和軟件測試管理等。通過項目實踐,可以對技術(shù)應(yīng)用有明確的目的性(為什么學(xué)),對技術(shù)原理更好地融會貫通(學(xué)什么),也可以更好地檢驗學(xué)習(xí)效果(學(xué)得怎樣).
本書具有如下特色。
(1) 重項目實踐。作者多年項目開發(fā)經(jīng)驗的體會是“IT是做出來的,不是想出來的”,理論雖然重要,但一定要為實踐服務(wù)。以項目為主線,帶動理論的學(xué)習(xí)是最好、最快、最有效的方法。本書的特色是提供了一個完整的真實項目案例。通過此書,作者希望讀者對軟件測試流程及管理有個整體了解,減少對軟件測試的盲目感和神秘感,能夠根據(jù)本書的體系循序漸進(jìn)地動手測試真實的軟件項目。
(2) 重理論要點。本書是以項目實踐為主線的,著重介紹軟件測試及管理技術(shù)理論中最重要、最精華的部分,以及它們之間的融會貫通;而不是面面俱到,沒有重點和特色。讀者首先通過項目案例把握整體概貌,再深入局部細(xì)節(jié),系統(tǒng)學(xué)習(xí)理論;然后不斷優(yōu)化和擴(kuò)展細(xì)節(jié),完善整體框架和改進(jìn)項目。既有整體框架,又有重點理論和技術(shù)。一書在手,思路清晰,項目無憂!
為了便于教學(xué),本教材配有教學(xué)課件,可從清華大學(xué)出版社的網(wǎng)站下載。
鑒于編者的水平有限,書中難免有不足之處,敬請廣大讀者批評指正。
作 者2011年10月
第1章 軟件測試概述
1.1 軟件、軟件危機(jī)與軟件工程
1.2 軟件質(zhì)量與質(zhì)量模型
1.2.1 軟件質(zhì)量
1.2.2 質(zhì)量模型
1.3 軟件測試的重要性
1.3.1 軟件所帶來的悲劇
1.3.2 其他一些例子
1.4 軟件缺陷與軟件故障
1.4.1 軟件缺陷的定義
1.4.2 軟件缺陷產(chǎn)生的原因
1.4.3 軟件缺陷的組成
1.4.4 軟件缺陷的修復(fù)費用
1.5 軟件測試定義
1.5.1 軟件測試的概念
1.5.2 軟件測試的目的
1.5.3 軟件測試的原則
1.5.4 軟件測試與質(zhì)量保證
1.6 軟件測試模型
1.6.1 軟件測試瀑布模型
1.6.2 軟件測試V模型
1.7 軟件測試用例
1.7.1 測試用例的基本概念
1.7.2 軟件測試用例的作用
1.7.3 測試用例的設(shè)計及原則
1.7.4 測試用例設(shè)計實例
1.8 軟件測試人員應(yīng)具備的素質(zhì)
本章總結(jié)
思考題
第2章 艾斯醫(yī)藥商務(wù)系統(tǒng)項目案例概述
2.1 項目需求分析
2.2 系統(tǒng)結(jié)構(gòu)分析
2.3 案例測試需求
第3章 軟件測試計劃與策略
3.1 軟件測試計劃
3.2 軟件測試策略
3.3 軟件測試過程
3.4 軟件測試與軟件開發(fā)過程
3.5 軟件自動化測試介紹
3.6 項目案例
本章總結(jié)
思考題
第4章 黑盒測試
4.1 黑盒測試的概念
4.2 等價類測試
4.3 邊界值分析法
4.4 決策表
4.5 因果圖
4.6 錯誤推測法
4.7 項目案例
本章總結(jié)
思考題
第5章 白盒測試
5.1 白盒測試的概念
5.2 測試覆蓋率
5.3 白盒測試工具
5.4 項目案例
本章總結(jié)
思考題
第6章 單元測試
6.1 單元測試的概念
6.2 單元測試環(huán)境建立
6.3 插樁程序設(shè)計
6.4 類測試
6.5 單元測試框架xunit
6.6 項目案例
本章總結(jié)
思考題
第7章 集成測試
7.1 集成測試的概念
7.2 集成測試方法
7.3 項目案例
本章總結(jié)
思考題
第8章 系統(tǒng)測試
8.1 系統(tǒng)測試的概念
8.2 功能測試
8.3 性能測試
8.4 壓力測試
8.5 容量測試
8.6 安全性測試
8.7 用戶界面測試
8.8 安裝/卸載測試
8.9 文檔測試
8.10 回歸測試
8.11 項目案例
本章總結(jié)
思考題
第9章 驗收測試
9.1 驗收測試的概念
9.2 驗收測試的主要內(nèi)容
9.3 alpha測試
9.4 beta測試
9.5 項目案例
本章總結(jié)
思考題
第10章 軟件測試管理
10.1 測試團(tuán)隊的組織和管理
10.2 測試用例的組織和管理
10.3 軟件bug管理
10.4 項目案例
本章總結(jié)
思考題
致謝