本書比較全面地介紹了軟件測(cè)試方法,首先介紹了測(cè)試技術(shù)的發(fā)展歷史和現(xiàn)狀;然后,作為測(cè)試的基礎(chǔ),介紹了白盒測(cè)試、黑盒測(cè)試及測(cè)試覆蓋率等幾個(gè)重要概念,并充分分析了業(yè)界在這幾個(gè)概念方面的研究成果;之后從全流程測(cè)試的角度詳細(xì)介紹了面向?qū)ο蟮臏y(cè)試技術(shù)。
信息技術(shù)業(yè)已成為國(guó)家經(jīng)濟(jì)發(fā)展的支柱產(chǎn)業(yè)之一,作為其重要組成部分的軟件產(chǎn)業(yè)取得了長(zhǎng)足的發(fā)展,并且越來(lái)越廣泛地應(yīng)用于國(guó)民經(jīng)濟(jì)和國(guó)防建設(shè)的各個(gè)領(lǐng)域。然而,在實(shí)際應(yīng)用中,由于計(jì)算機(jī)軟件缺陷而造成計(jì)算機(jī)系統(tǒng)故障并導(dǎo)致嚴(yán)重后果的事例屢見(jiàn)不鮮。因此,如何保證軟件產(chǎn)品的質(zhì)量就成了必須解決的一個(gè)問(wèn)題,而對(duì)軟件進(jìn)行有效的測(cè)試就是解決軟件質(zhì)量問(wèn)題的方法之一。
軟件測(cè)試是軟件質(zhì)量保證的關(guān)鍵步驟。軟件測(cè)試研究的結(jié)果表明:軟件中存在的問(wèn)題發(fā)現(xiàn)越早,其軟件開(kāi)發(fā)費(fèi)用就越低;在編碼后修改軟件缺陷的成本是編碼前的10倍,在產(chǎn)品交付后修改軟件缺陷的成本是交付前的10倍;軟件質(zhì)量越高,軟件發(fā)布后的維護(hù)費(fèi)用越低。另?yè)?jù)對(duì)國(guó)際著名IT企業(yè)的統(tǒng)計(jì),它們的軟件測(cè)試費(fèi)用占整個(gè)軟件工程所有研發(fā)費(fèi)用的50%.以上。
中國(guó)軟件企業(yè)在軟件測(cè)試方面與國(guó)際水準(zhǔn)相比仍存在較大差距。首先,在認(rèn)識(shí)上重開(kāi)發(fā)、輕測(cè)試,忽略了如何通過(guò)流程改進(jìn)和軟件測(cè)試來(lái)保證產(chǎn)品或系統(tǒng)的質(zhì)量,也沒(méi)有認(rèn)識(shí)到軟件項(xiàng)目的如期完成不僅取決于系統(tǒng)設(shè)計(jì)水平和代碼實(shí)現(xiàn)能力,而且還取決于設(shè)計(jì)、代碼、文檔等各方面的質(zhì)量。其次,在管理上隨意、簡(jiǎn)單,沒(méi)有建立規(guī)范、有效的軟件測(cè)試管理體系。另外,缺少自動(dòng)化工具的支持,大多數(shù)企業(yè)在軟件測(cè)試時(shí)并沒(méi)有采用軟件測(cè)試管理系統(tǒng)。所以對(duì)軟件企業(yè)來(lái)說(shuō),不僅要提高對(duì)軟件測(cè)試的認(rèn)識(shí),同時(shí)要建立獨(dú)立的軟件測(cè)試組織,采用先進(jìn)的測(cè)試技術(shù),充分運(yùn)用測(cè)試工具,不斷改善軟件開(kāi)發(fā)流程,建立完善的軟件質(zhì)量保障的管理體系。只有這樣,才有可能達(dá)到軟件開(kāi)發(fā)的預(yù)期目標(biāo),降低軟件開(kāi)發(fā)的成本和風(fēng)險(xiǎn),提高軟件開(kāi)發(fā)的效率和生產(chǎn)力,確保及時(shí)地發(fā)布高質(zhì)量的軟件產(chǎn)品。
我們將多年來(lái)所積累的軟件測(cè)試經(jīng)驗(yàn)與技術(shù)實(shí)踐整理成書,與大家分享,希望成為軟件測(cè)試的實(shí)際應(yīng)用參考書。同時(shí),也將作者在大學(xué)軟件學(xué)院的軟件測(cè)試專業(yè)課、在全國(guó)性軟件測(cè)試和質(zhì)量保證高級(jí)培訓(xùn)班及其他培訓(xùn)班等的授課經(jīng)驗(yàn)與體會(huì),融入本書之中。
本書參考教學(xué)時(shí)數(shù)為40~50學(xué)時(shí),全書共分為7章:第1章討論了軟件測(cè)試的一些基本概念;第2章介紹了軟件開(kāi)發(fā)過(guò)程及特征;第3章介紹了軟件測(cè)試的基礎(chǔ)知識(shí);第4章詳細(xì)描述了面向?qū)ο鬁y(cè)試技術(shù);第5章討論了目前較為流行的Web系統(tǒng)測(cè)試技術(shù);第6章介紹軟件測(cè)試的組織與管理;第7章通過(guò)一個(gè)實(shí)例,給出了完整的與軟件測(cè)試相關(guān)的文檔。本書最后附有軟件測(cè)試術(shù)語(yǔ)。第1章和第3章由撫順職業(yè)技術(shù)學(xué)院的王愛(ài)平老師編寫,第2章和附錄A由撫順職業(yè)技術(shù)學(xué)院的劉鳳玲老師編寫,第4章和第5章由青島職業(yè)技術(shù)學(xué)院的徐占鵬老師編寫,第6章和第7章由沈陽(yáng)師范大學(xué)職業(yè)技術(shù)學(xué)院的李天輝老師編寫。撫順職業(yè)技術(shù)學(xué)院的張海偉老師參與了本書的編寫及校對(duì)工作。
本書在編寫過(guò)程中,參閱了很多國(guó)內(nèi)外同行的著作和文章,汲取了該領(lǐng)域最新的研究成果。在此,對(duì)這些成果的作者表示深深的感謝!
由于水平和時(shí)間的限制,書中不可避免地會(huì)出現(xiàn)一些錯(cuò)誤,請(qǐng)廣大讀者不吝賜教。
第1章 軟件測(cè)試概述
1.1 軟件錯(cuò)誤與缺陷
1.1.1 著名的軟件錯(cuò)誤案例
1.1.2 軟件缺陷是什么
1.2 什么是軟件測(cè)試
1.2.1 軟件測(cè)試定義
1.2.2 軟件測(cè)試的特性
1.2.3 測(cè)試的目標(biāo)
1.2.4 軟件測(cè)試的原則
1.3 軟件質(zhì)量保證
1.3.1 軟件質(zhì)量的定義
1.3.2 軟件質(zhì)量特性
1.3.3 軟件質(zhì)量管理
1.3.4 軟件測(cè)試管理
1.4 軟件測(cè)試過(guò)程
1.4.1 測(cè)試計(jì)劃
1.4.2 單元測(cè)試
1.4.3 集成測(cè)試
1.4.4 系統(tǒng)測(cè)試
1.4.5 驗(yàn)收測(cè)試
1.4.6 測(cè)試總結(jié)與報(bào)告
習(xí)題
第2章 軟件開(kāi)發(fā)過(guò)程
2.1 軟件及其特征
2.1.1 軟件定義
2.1.2 軟件的特征
2.2 軟件生命周期
2.3 軟件開(kāi)發(fā)模型
2.3.1 瀑布模型
2.3.2 快速原型模型
2.3.3 螺旋模型
2.3.4 V模型
2.3.5 噴泉模型
2.3.6 各種模型的比較
習(xí)題
第3章 測(cè)試技術(shù)基礎(chǔ)
3.1 代碼檢查
3.1.1 代碼會(huì)審
3.1.2 走查
3.2 黑盒測(cè)試
3.2.1 等價(jià)類劃分
3.2.2 邊界值分析
3.2.3 錯(cuò)誤推測(cè)法
3.2.4 因果圖法
3.2.5 判定表分析法
3.3 白盒測(cè)試
3.3.1 邏輯覆蓋測(cè)試
3.3.2 基本路徑測(cè)試
3.4 測(cè)試用例設(shè)計(jì)
3.4.1 測(cè)試用例的概念
3.4.2 設(shè)計(jì)測(cè)試用例
3.4.3 測(cè)試用例的評(píng)審
習(xí)題
第4章 面向?qū)ο鬁y(cè)試技術(shù)
4.1 面向?qū)ο鬁y(cè)試概述
4.1.1 傳統(tǒng)開(kāi)發(fā)方法存在的問(wèn)題
4.1.2 面向?qū)ο蠹夹g(shù)
4.1.3 什么是面向?qū)ο鬁y(cè)試
4.1.4 面向?qū)ο鬁y(cè)試模型
4.2 面向?qū)ο蠓治龅臏y(cè)試
4.2.1 對(duì)類和對(duì)象范圍的測(cè)試
4.2.2 對(duì)結(jié)構(gòu)范圍的測(cè)試
4.2.3 對(duì)主題范圍的測(cè)試
4.2.4 對(duì)定義的屬性和實(shí)例關(guān)聯(lián)的測(cè)試
4.2.5 對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試
4.3 面向?qū)ο笤O(shè)計(jì)的測(cè)試
4.3.1 確定測(cè)試的問(wèn)題域
4.3.2 人機(jī)交互部件設(shè)計(jì)的測(cè)試
4.3.3 對(duì)任務(wù)管理部件設(shè)計(jì)的測(cè)試
4.3.4 對(duì)數(shù)據(jù)管理部件設(shè)計(jì)的測(cè)試
4.4 面向?qū)ο缶幊痰臏y(cè)試
4.4.1 數(shù)據(jù)成員是否滿足數(shù)據(jù)封裝的要求
4.4.2 類是否實(shí)現(xiàn)了要求的功能
4.5 面向?qū)ο蟮膯卧獪y(cè)試
4.5.1 單元測(cè)試的內(nèi)容
4.5.2 單元測(cè)試開(kāi)始時(shí)間
4.5.3 單元測(cè)試的人員
4.5.4 單元測(cè)試的方法
4.5.5 方法的測(cè)試
4.5.6 構(gòu)建類測(cè)試用例
4.5.7 測(cè)試程度
4.6 面向?qū)ο蟮募蓽y(cè)試
4.7 面向?qū)ο蟮南到y(tǒng)測(cè)試
4.8 面向?qū)ο蟮钠渌麥y(cè)試
4.8.1 基于故障的測(cè)試
4.8.2 基于腳本的測(cè)試
4.8.3 面向?qū)ο箢惖碾S機(jī)測(cè)試
4.8.4 類層次的分割測(cè)試
習(xí)題
第5章 Web系統(tǒng)測(cè)試技術(shù)
5.1 Web測(cè)試概述
5.1.1 Web的特點(diǎn)
5.1.2 基于Web的測(cè)試
5.2 Web可用性測(cè)試
5.2.1 鏈接測(cè)試
5.2.2 站點(diǎn)地圖/導(dǎo)航測(cè)試
5.2.3 圖形測(cè)試
5.2.4 表單測(cè)試
5.2.5 內(nèi)容測(cè)試
5.2.6 整體界面測(cè)試
5.2.7 Cookies測(cè)試
5.2.8 應(yīng)用程序特定的功能測(cè)試
5.3 性能測(cè)試
5.3.1 性能測(cè)試常用術(shù)語(yǔ)
5.3.2 Web性能測(cè)試的目標(biāo)和種類
5.3.3 性能測(cè)試步驟
5.4 負(fù)載測(cè)試
5.4.1 負(fù)載測(cè)試概述
5.4.2 負(fù)載測(cè)試的步驟
5.5 壓力測(cè)試
5.5.1 壓力測(cè)試概述
5.5.2 壓力測(cè)試的步驟
5.6 兼容性測(cè)試
5.6.1 兼容性測(cè)試概述
5.6.2 常用術(shù)語(yǔ)
5.6.3 標(biāo)準(zhǔn)和規(guī)范
5.6.4 數(shù)據(jù)共享兼容性
5.6.5 兼容性測(cè)試的過(guò)程
5.7 安全測(cè)試
5.7.1 Web應(yīng)用系統(tǒng)的安全性測(cè)試區(qū)域
5.7.2 常見(jiàn)的web應(yīng)用安全漏洞
5.7.3 安全測(cè)試過(guò)程
5.7.4 安全測(cè)試應(yīng)注意的問(wèn)題
5.8 手機(jī)軟件測(cè)試簡(jiǎn)介
5.8.1 手機(jī)軟件的特點(diǎn)
5.8.2 手機(jī)軟件測(cè)試的流程及內(nèi)容
5.8.3 手機(jī)軟件測(cè)試用例的設(shè)計(jì)
習(xí)題
第6章 軟件測(cè)試的組織與管理
6.1 軟件測(cè)試計(jì)劃
6.1.1 確定測(cè)試需求
6.1.2 評(píng)估風(fēng)險(xiǎn)和確定測(cè)試優(yōu)先級(jí)
6.1.3 測(cè)試策略
6.1.4 確定測(cè)試資源
6.1.5 制訂時(shí)間表
6.1.6 制訂測(cè)試計(jì)劃
6.1.7 審核測(cè)試計(jì)劃
6.2 軟件測(cè)試的組織和管理
6.2.1 測(cè)試的過(guò)程及組織
6.2.2 測(cè)試人員的組織
6.2.3 軟件測(cè)試文件的組織
6.3 軟件測(cè)試的設(shè)計(jì)
6.3.1 測(cè)試設(shè)計(jì)的原則
6.3.2 工作量分析
6.3.3 確定并制訂測(cè)試用例
6.3.4 確立并結(jié)構(gòu)化測(cè)試過(guò)程
6.3.5 復(fù)審并評(píng)估測(cè)試覆蓋
6.4 軟件測(cè)試的執(zhí)行
6.4.1 執(zhí)行測(cè)試過(guò)程
6.4.2 測(cè)試執(zhí)行策略
6.5 軟件測(cè)試的總結(jié)與報(bào)告
習(xí)題
第7章 軟件測(cè)試實(shí)例
7.1 項(xiàng)目背景
7.2 測(cè)試計(jì)劃的制訂
7.2.1 項(xiàng)目簡(jiǎn)介
7.2.2 測(cè)試參考文檔和測(cè)試提交文檔
7.2.3 系統(tǒng)風(fēng)險(xiǎn)、優(yōu)先級(jí)
7.2.4 測(cè)試內(nèi)容與策略
7.2.5 測(cè)試資源
7.2.6 測(cè)試時(shí)間表
7.2.7 測(cè)試問(wèn)題卡制定
7.2.8 附錄:項(xiàng)目任務(wù)
7.3 測(cè)試執(zhí)行
7.3.1 設(shè)置測(cè)試環(huán)境
7.3.2 按照測(cè)試用例執(zhí)行測(cè)試任務(wù)
7.3.3 評(píng)估測(cè)試的執(zhí)行
7.3.4 核實(shí)測(cè)試結(jié)果
7.3.5 測(cè)試執(zhí)行的策略
7.4 測(cè)試總結(jié)與報(bào)告
7.4.1 測(cè)試總結(jié)報(bào)告
7.4.2 附錄
附錄A 軟件測(cè)試術(shù)語(yǔ)
參考文獻(xiàn)