軟件測(cè)試從入門到精通

出版時(shí)間:2010-7  出版社:電子工業(yè)  作者:王軼辰  頁數(shù):286  
Tag標(biāo)簽:無  

前言

  筆者從事軟件測(cè)試已近十年,從跟著導(dǎo)師編測(cè)試程序的研究生,到完成了關(guān)于軟件測(cè)試研究論文的博士,再到目前成為一個(gè)軟件測(cè)評(píng)中心的技術(shù)負(fù)責(zé)人,基本上走過了入門、摸索、提高的路程。在軟件測(cè)試領(lǐng)域摸爬滾打了這些年以后,總想把自己的一些感觸和領(lǐng)悟?qū)懗鰜?,希望能夠?qū)ο胍尤脒@個(gè)行業(yè)或者已經(jīng)在這個(gè)行業(yè)中的人們有些作用?!  皬娜腴T到精通”,這個(gè)思路很好,因?yàn)槲覀兌际沁@樣走過來的(雖然路很長(zhǎng),我們還在途中)。但是這樣的主題寫起來并不容易,因?yàn)樽哌^這個(gè)歷程的人很少還能夠記得自己入門時(shí)的情景了。  我在試圖重新構(gòu)建從入門到精通的這段路程時(shí),使用了以下的方法:  1.從我們測(cè)評(píng)中心的檔案庫中找到了我為不同階段做過的軟件測(cè)試項(xiàng)目所編寫的全部測(cè)試文檔,以現(xiàn)在的眼光去重新審視?! ?.對(duì)測(cè)評(píng)中心內(nèi)不同職稱的測(cè)試人員進(jìn)行訪談,將結(jié)果用思維導(dǎo)圖的形式表示出來,并進(jìn)行分析?! ?.參考了一些市面上常用的測(cè)試教科書。經(jīng)過一番探討,我整理出測(cè)試歷程的三個(gè)階段:入門期、提高期、精通期?! ∪腴T期  從入門期的思維導(dǎo)圖中我們可以看出,一個(gè)不懂軟件測(cè)試的人所想到的內(nèi)容幾乎能夠涵蓋軟件測(cè)試的方方面面。

內(nèi)容概要

隨著軟件應(yīng)用越來越廣泛,如何提高軟件的質(zhì)量和可靠性成為軟件工作者必須應(yīng)對(duì)的挑戰(zhàn)。而軟件本身具有“看不見摸不著”的特點(diǎn),使對(duì)軟件的驗(yàn)證和測(cè)試與對(duì)其他產(chǎn)品的驗(yàn)證和測(cè)試大相徑庭。本書從軟件測(cè)試的基本概念講起,循序漸進(jìn)地為讀者講解軟件生命周期各個(gè)測(cè)試階段應(yīng)該完成的任務(wù)和采用的方法。書中涉及的項(xiàng)目實(shí)例多為作者及所在團(tuán)隊(duì)參與的課題,具有很強(qiáng)的指導(dǎo)和借鑒意義。希望讀者能夠從這本書中獲取足夠的軟件測(cè)試知識(shí),成為合格的軟件測(cè)試工作者。    本書適合軟件測(cè)試的初學(xué)者與具有一定測(cè)試經(jīng)驗(yàn)的人員使用。

書籍目錄

第1篇 入門篇  第1章 軟件測(cè)試的基本概念 1    1.1 軟件測(cè)試的定義 1      1.1.1 軟件測(cè)試定義的發(fā)展 1      1.1.2 對(duì)軟件測(cè)試的正確認(rèn)識(shí) 2      1.1.3 軟件測(cè)試概念的深入理解 9      1.1.4 軟件測(cè)試定義的再討論 13    1.2 軟件測(cè)試的概念模型 14      1.2.1 測(cè)試目標(biāo) 14      1.2.2 測(cè)試對(duì)象 20      1.2.3 測(cè)試依據(jù) 21      1.2.4 缺陷定義 21      1.2.5 測(cè)試解決方案 24      1.2.6 測(cè)試結(jié)果 25    1.3 軟件測(cè)試的分類 25      1.3.1 測(cè)試目標(biāo)的實(shí)例化 25      1.3.2 測(cè)試對(duì)象的實(shí)例化 26      1.3.3 測(cè)試依據(jù)的實(shí)例化 26      1.3.4 測(cè)試方案的實(shí)例化 26  第2章 軟件測(cè)試的基本方法 28    2.1 審查技術(shù)概論 29    2.2 代碼審查技術(shù) 30      2.2.1 幾個(gè)基本概念 30      2.2.2 代碼審查的依據(jù) 31      2.2.3 代碼審查的要求 32      2.2.4 代碼審查的結(jié)果 33      2.2.5 代碼審查的文檔 36      2.2.6 代碼審查的策略 38    2.3 文檔審查技術(shù) 41      2.3.1 目的與內(nèi)容 41      2.3.2 文檔審查的流程 43      2.3.3 文檔審查的策略 44    2.4 自動(dòng)化靜態(tài)測(cè)試技術(shù) 47      2.4.1 基于模式(規(guī)則)的靜態(tài)代碼分析 47      2.4.2 程序的靜態(tài)結(jié)構(gòu)分析 49      2.4.3 代碼度量計(jì)算 51      2.4.4 自動(dòng)化靜態(tài)測(cè)試技術(shù)的使用策略 52      2.4.5 使用自動(dòng)化工具進(jìn)行靜態(tài)測(cè)試 53    2.5 白盒測(cè)試技術(shù) 54      2.5.1 邏輯覆蓋測(cè)試 54      2.5.2 基本路徑測(cè)試 57      2.5.3 循環(huán)結(jié)構(gòu)測(cè)試 59      2.5.4 程序插樁測(cè)試 60      2.5.5 白盒測(cè)試方法的綜合使用策略 60    2.6 黑盒測(cè)試技術(shù) 61      2.6.1 功能分解法 61      2.6.2 等價(jià)類劃分法 61      2.6.3 邊界值分析法 62      2.6.4 因果圖方法 62      2.6.5 隨機(jī)測(cè)試方法 66      2.6.6 猜錯(cuò)法 66      2.6.7 黑盒測(cè)試方法的綜合使用策略 66  第3章 軟件測(cè)試的框架表示 67    3.1 測(cè)試框架的概念 67      3.2 測(cè)試框架的表述 69      3.2.1 原則層 69      3.2.2 結(jié)構(gòu)層 70      3.2.3 細(xì)節(jié)層 70    3.3 測(cè)試框架的特征與優(yōu)勢(shì) 70    3.4 測(cè)試框架的質(zhì)量 71    3.5 基于測(cè)試框架的軟件測(cè)試 72      3.5.1 基于測(cè)試框架的軟件測(cè)試過程 72      3.5.2 測(cè)試框架的擴(kuò)展 73      3.5.3 測(cè)試框架的實(shí)例化 74    3.6 測(cè)試框架的設(shè)計(jì) 74      3.6.1 設(shè)計(jì)原則 74      3.6.2 測(cè)試框架的設(shè)計(jì)方法 75第2篇 提高篇  第4章 軟件測(cè)試過程 77    4.1 軟件的生命周期模型 77      4.1.1 瀑布模型 77      4.1.2 V模型 78      4.1.3 螺旋模型 79      4.1.4 統(tǒng)一的軟件開發(fā)過程 80    4.2 軟件開發(fā)與軟件測(cè)試 84      4.2.1 軟件測(cè)試的生存周期模型 84      4.2.2 軟件測(cè)試的分級(jí) 84      4.2.3 全生命周期測(cè)試的基本原則 85    4.3 軟件測(cè)試過程模型 86      4.3.1 測(cè)試策劃 86      4.3.2 測(cè)試設(shè)計(jì)與實(shí)現(xiàn) 90      4.3.3 測(cè)試執(zhí)行 93      4.3.4 測(cè)試總結(jié) 94  第5章 軟件單元測(cè)試及實(shí)踐 96    5.1 基本概念 96    5.2 單元測(cè)試的目標(biāo) 96      5.2.1 單元測(cè)試的要求 96      5.2.2 單元測(cè)試的內(nèi)容 96    5.3 單元測(cè)試的策略 98      5.3.1 靜態(tài)與動(dòng)態(tài)結(jié)合的測(cè)試 98      5.3.2 單元測(cè)試中的覆蓋率 98      5.3.3 單元測(cè)試的自動(dòng)化意義 100      5.3.4 單元測(cè)試與項(xiàng)目開發(fā) 100      5.3.5 單元測(cè)試中的功能測(cè)試 101      5.3.6 嵌入式軟件單元測(cè)試 101    5.4 單元測(cè)試的過程 104      5.4.1 單元測(cè)試的計(jì)劃 104      5.4.2 單元測(cè)試的設(shè)計(jì) 106      5.4.3 單元測(cè)試的執(zhí)行 107      5.4.4 單元測(cè)試的結(jié)果分析 107    5.5 單元測(cè)試環(huán)境 108      5.5.1 單元測(cè)試自動(dòng)化 108      5.5.2 單元測(cè)試工具概論 109    5.6 單元測(cè)試的實(shí)踐 109      5.6.1 一段實(shí)例代碼 110      5.6.2 單元測(cè)試策劃 113      5.6.3 單元測(cè)試設(shè)計(jì) 115      5.6.4 單元測(cè)試報(bào)告 118  第6章 軟件集成測(cè)試及實(shí)踐 119    6.1 集成測(cè)試的要求與內(nèi)容 119      6.1.1 集成測(cè)試的要求 119      6.1.2 集成測(cè)試的內(nèi)容 119    6.2 集成測(cè)試的策略 121      6.2.1 基于分解的集成策略 121      6.2.2 分層式集成測(cè)試 123      6.2.3 集成的McCabe基本路徑 124      6.2.4 調(diào)用流的集成 125    6.3 集成測(cè)試的過程 127      6.3.1 集成測(cè)試的計(jì)劃 127      6.3.2 集成測(cè)試的設(shè)計(jì) 128      6.3.3 集成測(cè)試的執(zhí)行 130      6.3.4 集成測(cè)試的結(jié)果分析 130    6.4 集成測(cè)試的實(shí)踐 131  第7章 軟件系統(tǒng)測(cè)試及實(shí)踐 134    7.1 系統(tǒng)測(cè)試的基本概念 134    7.2 系統(tǒng)測(cè)試的要求 135    7.3 系統(tǒng)測(cè)試的策略 135      7.3.1 功能測(cè)試 135      7.3.2 性能測(cè)試 136      7.3.3 接口測(cè)試 136      7.3.4 人機(jī)交互界面測(cè)試 136      7.3.5 強(qiáng)度測(cè)試 137      7.3.6 安全性測(cè)試 138      7.3.7 余量測(cè)試 139      7.3.8 恢復(fù)性測(cè)試 139      7.3.9 安裝性測(cè)試 140      7.3.10 邊界測(cè)試 140      7.3.11 敏感性測(cè)試 140      7.3.12 互操作性測(cè)試 140      7.3.13 容量測(cè)試 141      7.3.14 數(shù)據(jù)處理測(cè)試 141      7.3.15 可靠性測(cè)試 141    7.4 系統(tǒng)測(cè)試的過程 141      7.4.1 系統(tǒng)測(cè)試的策劃 141      7.4.2 系統(tǒng)測(cè)試的設(shè)計(jì) 144      7.4.3 系統(tǒng)測(cè)試的執(zhí)行 145    7.5 系統(tǒng)測(cè)試環(huán)境 147    7.6 系統(tǒng)測(cè)試的實(shí)踐 148      7.6.1 一個(gè)需求實(shí)例的介紹 148      7.6.2 系統(tǒng)測(cè)試需求的分析 148      7.6.3 系統(tǒng)測(cè)試設(shè)計(jì) 149  第8章 軟件驗(yàn)收測(cè)試 152    8.1 驗(yàn)收測(cè)試的基本概念 152    8.2 驗(yàn)收測(cè)試的內(nèi)容 152    8.3 驗(yàn)收測(cè)試的策略 153      8.3.1 驗(yàn)收測(cè)試的類型 153      8.3.2 驗(yàn)收測(cè)試的進(jìn)入條件 153      8.3.3 網(wǎng)絡(luò)軟件的驗(yàn)收測(cè)試 153      8.3.4 軟件驗(yàn)收測(cè)試的充分性 154      8.3.5 驗(yàn)收測(cè)試的執(zhí)行 154    8.4 軟件驗(yàn)收的過程 154      8.4.1 軟件驗(yàn)收申請(qǐng) 154      8.4.2 制定軟件驗(yàn)收計(jì)劃 155      8.4.3 成立軟件驗(yàn)收組織 155      8.4.4 軟件驗(yàn)收測(cè)試和配置審核 156      8.4.5 軟件驗(yàn)收評(píng)審 157      8.4.6 軟件驗(yàn)收?qǐng)?bào)告 158      8.4.7 軟件產(chǎn)品交付 158  第9章 軟件測(cè)試管理 159    9.1 測(cè)試項(xiàng)目管理概述 159      9.1.1 測(cè)試項(xiàng)目概述 159      9.1.2 測(cè)試項(xiàng)目管理 160      9.1.3 測(cè)試項(xiàng)目管理的三維模型 162    9.2 軟件測(cè)試的全過程管理 163      9.2.1 測(cè)試計(jì)劃管理 163      9.2.2 測(cè)試設(shè)計(jì)與分析管理 170      9.2.3 測(cè)試執(zhí)行過程管理 173      9.2.4 測(cè)試結(jié)果的管理 173    9.3 軟件測(cè)試的全方位管理 174      9.3.1 軟件缺陷的管理 174      9.3.2 回歸測(cè)試的管理 176      9.3.3 測(cè)試文檔的管理 176      9.3.4 測(cè)試評(píng)審的管理 177      9.3.5 測(cè)試的配置管理 181      9.3.6 測(cè)試質(zhì)量的管理 182    9.4 測(cè)試人員的管理 184      9.4.1 測(cè)試人員的基本素質(zhì) 184      9.4.2 測(cè)試小組的管理 185      9.4.3 測(cè)試組織的管理 187第3篇 精通篇  第10章 軟件測(cè)試的抽象模型及數(shù)學(xué)描述 191    10.1 測(cè)試目標(biāo) 191    10.2 測(cè)試對(duì)象 191      10.2.1 基本概念 191      10.2.2 數(shù)學(xué)描述① 192    10.3 測(cè)試依據(jù) 194      10.3.1 基本概念 194      10.3.2 數(shù)學(xué)描述 195    10.4 缺陷定義 195      10.4.1 基本概念 195      10.4.2 數(shù)學(xué)描述 196    10.5 測(cè)試解決方案 197      10.5.1 基本概念 197      10.5.2 數(shù)學(xué)描述 198    10.6 測(cè)試結(jié)果 202      10.6.1 基本概念 202      10.6.2 數(shù)學(xué)描述 202    10.7 書中數(shù)學(xué)符號(hào)的說明 203  第11章 基于需求的軟件測(cè)試 204    11.1 軟件測(cè)試過程概述 204    11.2 測(cè)試環(huán)境 205    11.3 基于需求的測(cè)試用例的選擇 205      11.3.1 正常范圍測(cè)試用例 205      11.3.2 健壯測(cè)試用例 205    11.4 基于需求的測(cè)試方法 206      11.4.1 基于需求的硬件/軟件綜合測(cè)試 206      11.4.2 基于需求的軟件綜合測(cè)試 206      11.4.3 基于需求的低級(jí)測(cè)試 207    11.5 測(cè)試覆蓋分析 207      11.5.1 基于需求的測(cè)試覆蓋分析 208      11.5.2 結(jié)構(gòu)覆蓋分析 208      11.5.3 結(jié)構(gòu)覆蓋分析方法 208    11.6 MC/DC覆蓋率 208      11.6.1 對(duì)C/DC和MC/DC的描述 208      11.6.2 C/DC和MC/DC之間的差異 209  第12章 嵌入式軟件的仿真測(cè)試框架 212    12.1 仿真測(cè)試框架的提出 212      12.1.1 嵌入式軟件的特點(diǎn) 212      12.1.2 嵌入式軟件的測(cè)試 213      12.1.3 解決方案的抽象 214      12.1.4 仿真測(cè)試框架 214    12.2 仿真測(cè)試框架的測(cè)試域原則 215    12.3 仿真測(cè)試框架的基本原理 215      12.3.1 仿真測(cè)試框架的基本原理 215      12.3.2 仿真測(cè)試原理 216      12.3.3 模型驅(qū)動(dòng)測(cè)試的原理 221    12.4 仿真測(cè)試框架的使用原則 226    12.5 測(cè)試框架體系結(jié)構(gòu)描述 226    12.6 仿真測(cè)試框架的體系結(jié)構(gòu) 227      12.6.1 測(cè)試組件視圖 227      12.6.2 測(cè)試過程視圖 228      12.6.3 測(cè)試組織管理視圖 230      12.6.4 測(cè)試工具視圖 231      12.6.5 測(cè)試文檔視圖 232    12.7 仿真測(cè)試框架的細(xì)節(jié)層 234    12.8 仿真測(cè)試框架的文檔體系 234  第13章 典型工程應(yīng)用 238    13.1 項(xiàng)目背景 238    13.2 仿真測(cè)試框架的實(shí)例化 238    13.3 基于仿真測(cè)試框架的測(cè)試 239      13.3.1 需求分析 239      13.3.2 測(cè)試設(shè)計(jì) 243      13.3.3 測(cè)試執(zhí)行 248      13.3.4 測(cè)試分析 248附錄A 軟件測(cè)試常用術(shù)語 250附錄B 系統(tǒng)測(cè)試需求規(guī)格說明模板 270附錄C 系統(tǒng)測(cè)試計(jì)劃模板 273附錄D 系統(tǒng)測(cè)試說明 279附錄E 系統(tǒng)測(cè)試報(bào)告模板 282參考文獻(xiàn) 287

章節(jié)摘錄

  (2)過平地開始規(guī)則檢查會(huì)耽誤編碼的時(shí)間  很多軟件開人員抱怨過早地開始測(cè)試會(huì)占用他們寶貴的開發(fā)時(shí)間,因此對(duì)于早期開展靜態(tài)測(cè)試有很大的抵觸情緒。這是個(gè)思維上的誤區(qū)。有沒有想過,如果本來能夠在早期通過規(guī)則檢查就發(fā)現(xiàn)的缺陷,一直帶到系統(tǒng)測(cè)試階段才通過故障現(xiàn)象被揭露,其修改過程會(huì)更加耽誤工程進(jìn)度?現(xiàn)在有些自動(dòng)化的測(cè)試工具,可以與版本控制軟件,如CVS或Sub.verSion無縫地集成,成為軟件開發(fā)過程中有機(jī)的組成部分,不僅不會(huì)耽誤開發(fā)時(shí)間,反而能提高軟件編制效率,因?yàn)闇p少了返工修改錯(cuò)誤的時(shí)間。  盡早開始測(cè)試,會(huì)帶來另一個(gè)負(fù)面的問題,那就是代碼是否在編寫完成之后就立刻開始測(cè)試。這一點(diǎn),從工程經(jīng)驗(yàn)上看,我們的建議是,代碼需通過編譯后再開始規(guī)則檢查。一來可以避免由規(guī)則檢查來完成本應(yīng)該由編譯器完成的語法檢查工作,二來編譯的結(jié)果有助于規(guī)則檢查之后的其他靜態(tài)分析和測(cè)試過程?! 。?)編碼規(guī)則妨礙了編程人員的靈感  軟件工程師與藝術(shù)家有相同之處,都是在創(chuàng)作一件作品。只不過藝術(shù)家創(chuàng)造出來的是有形的藝術(shù)品,而軟件工程師創(chuàng)造出來的是無形的軟件。編寫軟件是一件創(chuàng)作型工作,其中就難免帶有編程人員的個(gè)人風(fēng)格。這就好像每個(gè)人的書法都有自己個(gè)性,但是,如果要寫一本讓大家都能讀懂的作品,我們還是喜歡使用印刷體,惟其正規(guī)易懂。如果每個(gè)編程人員都使用自己的風(fēng)格編寫代碼,最終的軟件產(chǎn)品將難以保證統(tǒng)一的質(zhì)量,更不用說可維護(hù)性了?! ?yán)格遵守編碼規(guī)范可能會(huì)在某種程度上妨礙編程人員設(shè)計(jì)華麗精巧的代碼,卻能夠大大提高最終軟件產(chǎn)品的可維護(hù)性和可讀性?! 。?)靜態(tài)規(guī)則檢查只要做一次就夠了  靜態(tài)分析中的另一個(gè)誤區(qū)是,有“一勞永逸”的辦法,即掃描整個(gè)代碼庫一次,然后在諸如定型等重要節(jié)點(diǎn)前解決所有靜態(tài)代碼分析報(bào)告的問題。在實(shí)際項(xiàng)目中,有很多時(shí)候都是這樣做的,但是這樣靜態(tài)分析結(jié)果經(jīng)常令人沮喪。原因在于以下兩方面.  發(fā)現(xiàn)的缺陷太多(兩萬行代碼發(fā)現(xiàn)一萬個(gè)缺陷)。由于隱含缺陷太多,時(shí)間又不允許詳盡地排查,以至于只好睜一只眼閉一只眼,結(jié)果就是任何缺陷都不能被解決?! §o態(tài)分析發(fā)現(xiàn)了嚴(yán)重的錯(cuò)誤隱患,是否修改代碼成了難題。修改代碼就意味著已經(jīng)完成的集成測(cè)試或系統(tǒng)測(cè)試必須重做,而不修改代碼在情理上說不通?! ≌畿浖y(cè)試應(yīng)該是伴隨軟件生命周期的工作一樣,靜態(tài)分析也應(yīng)該是伴隨軟件生命周期的測(cè)試策略。這里還要強(qiáng)調(diào)一下:靜態(tài)分析是一種測(cè)試策略而不是測(cè)試階段。一定要避免“先做靜態(tài)分析再做單元測(cè)試”的思維?! ∪绻谙到y(tǒng)交付的最后階段,出于應(yīng)付差事而進(jìn)行規(guī)則檢查。只能讓開發(fā)過程愈發(fā)混亂,修改代碼難度加大。

編輯推薦

  《軟件測(cè)試從入門到精通》循序漸進(jìn)地為讀者講解軟件生命周期各個(gè)測(cè)試階段應(yīng)該完成的任務(wù)和使用的方法,使讀者對(duì)軟件測(cè)試有一個(gè)全面認(rèn)識(shí),了解各類軟件測(cè)試的執(zhí)行過程與方法,軟件測(cè)試的自動(dòng)化工具使用,并能夠解決具體問題。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    軟件測(cè)試從入門到精通 PDF格式下載


用戶評(píng)論 (總計(jì)5條)

 
 

  •   軟件測(cè)試從入門到精通
  •   很適合新人讀讀。
  •   適合軟件測(cè)試初學(xué)者
  •   剛拿到手還沒來得及看 整體還可以
  •   推薦書籍,
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7