前言
近幾年,我國的軟體測試行業進入了飛速發展階段,在一個新興行業剛剛發展的時期,給人們帶來的誤區也是最多的,例如:很多人認為測試工作簡單,技術門檻低,容易上手,也有人擔心測試工作的長久性。在此,我給大家做幾點解釋。
1)軟體測試工作不是很快入門的職業,需要的知識多,是一門實踐性、套用性很強的職業,有人認為測試工作簡單,主要是由於我國測試技術發展剛剛起步,測試還處於低級別的水平。
2)很多測試工作者加入工作後,發現測試工作非常簡單,只是點點界面,模擬用戶使用軟體,這是片面的,這類工作只是測試的最初級水平,是靠人力驅動的測試,這種工作的發展前景不容樂觀,並且會被自動化測試所取代。
3)現在測試工作細分的領域非常多,至少包括性能測試、白盒測試、自動化測試等,所要求的技能水平越來越高。近幾年,測試人員的招聘指標已經增加了會寫代碼、會做自動化測試、會做性能測試、會軟體工程管理等要求,以後的要求會更高。
4)軟體測試工作是一個長久的行業,測試經驗越多,工作年限越長,越吃香。在已開發國家,提到測試專家,都是從事測試工作三四十年的人員,但是在我國,十多年的測試人員也可以稱為專家。這些事實一方面體現了測試工作的長久性,另一方面也說明了我們的測試工作起步較晚,還需要不斷學習、進步,我們的發展空間還是巨大的。
通過以上說明可以看到,軟體測試是一門非常重要的、嶄新的、具有廣泛套用的學科,目前有的測試方法和測試技術已上升到理論層次。本書針對軟體測試的一個重要分支:嵌入式測試,為大家進行介紹,介紹當前嵌入式測試行業所使用的主要測試技術,基本上反映了當前嵌入式測試領域的重要技術。
本書適合有一定經驗的(最好是嵌入式測試方面的)測試工程師、測試主管等閱讀。本書在以“保證最終用戶的需求和質量”為宗旨的前提下,充分發揮每一名測試人員的能動性,依據“以測試者引導開發,以文檔化把控質量”的測試實施理念,全面詳細地討論了嵌入式測試的思想、流程、方法和嵌入式測試常用的測試模板,並且以實際工作案例的方式,對測試人員組織、測試工作安排、測試組織架構進行了詳細的探討和說明。本書的架構如下:
方法篇(第1~7章)
案例篇(第8~13章)
模板篇(附錄A、附錄B)
在方法篇中,直接切入嵌入式測試流程,把研發與測試、測試與文檔、文檔與質量高效地結合在一起。讓每一名測試人員明確嵌入式測試的流程管理、配置管理、質量保證方法。本書對當今最新的測試方法做了大量的分析工作,並結合嵌入式測試的特點進行了深入講解。
在案例篇中, 作者專門拿出一款之前做過的真實嵌入式軟體測試項目進行探討,這是一個完整的軟體測試項目,包括需求說明書、測試計畫、測試方案、測試用例、缺陷分析、測試報告等測試環節,在一定程度上可提高讀者對軟體測試的理解和對測試項目的把控能力。
在模板篇中包含了兩個附錄,作者把實際工作中使用的嵌入式測試模板進行了歸納、總結,形成了一套完整的嵌入式測試模板體系,可供讀者在實際工作中直接使用。
本書的特點是:紮根嵌入式,系統全面,重點突出,實用性強。本書中提到的所有測試案例及文檔資料,都有電子版,可在中國軟體測試聯盟、濟南織雀測試實訓基地或華章官網免費下載學習。附屬檔案資料的內容豐富、實用。包括:
本書的測試案例數據:安全性測試方案及結果、測試用到的代碼、測試儀測試性能結果、測試用例及過程數據、單元測試方案及結果、缺陷記錄;
本書測試用到的項目資料:測試需求說明書及其評審資料、測試計畫及其評審資料、測試方案及其評審資料、測試用例及其評審資料、測試報告等;
還有很多其他的測試資料供讀者參考使用。
本書由李龍、劉文貞、鐵坤編著。在成書的過程中,得到了以下人員的幫助:張翠、劉文杰、鐵淑賽、劉芳園、劉沂剛、索方旭、陳丹丹、曹甜雙、段自興、顧曉薇、韓京林、李彬、李賀、李坤、邵樂、沈偉、馬勇、王紅、王美丁、位明傑、王瑞、張楠等,在此表示感謝。
在寫作過程中,本書參考了大量的書籍、網上技術資料和相關文章,並且參考引用了有關書籍、資料、文章里的觀點以及同行交流的心得,但由於部分內容無法獲得原始出處,在此向這些專家表示感謝!特別鳴謝濟南織雀信息科技有限公司高級測試顧問史玥、北京軟達啟航科技發展有限公司運營總監李睿、濟南織雀信息科技有限公司設計總監張曼、萬特電氣有限公司喬路陽。
目錄
前言
方 法 篇第1章 全面解讀嵌入式測試規程1
1.1 什麼是嵌入式測試2
1.1.1 先來認識一下嵌入式軟體2
1.1.2 嵌入式測試的特點3
1.1.3 嵌入式測試環境3
1.1.4 嵌入式測試的策略5
1.2 認識嵌入式測試流程5
1.2.1 圖解嵌入式測試流程5
1.2.2 解析嵌入式測試流程的不同階段7
1.3 測試與開發的活動關係8
1.4 嵌入式測試對人員的技術要求10
1.5 測試發展前景分析12
1.5.1 現今測試的發展趨勢12
1.5.2 測試人員的發展方向13
第2章 嵌入式測試視角下的配置管理17
2.1 無規矩,不成方圓17
2.1.1 先談談測試配置管理17
2.1.2 測試配置管理的關鍵活動19
2.1.3 測試配置管理流程22
2.2 嵌入式測試配置管理案例解析22
2.2.1 缺陷庫規範解析22
2.2.2 受控庫規範解析29
2.2.3 測試庫規範解析32
2.3 配置管理工具操作說明33
2.3.1 受控庫管理工具使用說明—SVN33
2.3.2 缺陷庫管理工具使用說明—QC39
第3章 基於業務場景的嵌入式測試設計53
3.1 基本概念53
3.1.1 業務場景的來源53
3.1.2 基於業務場景的測試目的54
3.2 如何進行基於業務場景的嵌入式測試54
3.2.1 創建業務場景的方法55
3.2.2 創建業務場景的原則55
3.3 設計案例詳解56
3.4 常用的測試技術58
3.4.1 等價類劃分法58
3.4.2 邊界值分析法62
3.4.3 因果圖法64
3.4.4 場景分析法68
3.5 基於業務場景測試的優缺點72
3.6 基於業務場景測試設計時的注意要點73
第4章 基於風險的嵌入式測試設計75
4.1 基本概念75
4.1.1 什麼是風險75
4.1.2 風險與測試的關係76
4.2 嵌入式測試中為何引入基於風險的測試77
4.2.1 嵌入式測試中基於風險測試的意義77
4.2.2 嵌入式測試中常見的風險78
4.3 對測試風險的識別、評估與防控81
4.3.1 風險識別的常用方法81
4.3.2 如何評估被識別的風險82
4.3.3 風險的防控84
4.4 常用的測試技術85
4.4.1 判定表驅動法85
4.4.2 正交試驗法88
4.5 設計案例詳解90
第5章 基於探索式的嵌入式測試設計94
5.1 基本概念94
5.1.1 何時進行探索式測試94
5.1.2 探索式測試如何做95
5.2 探索式測試需要注意的問題96
5.2.1 探索式測試也要寫文檔96
5.2.2 與即興測試的區別97
5.2.3 與傳統測試的區別97
5.3 探索式測試的設計方法98
5.3.1 局部探索式測試法98
5.3.2 全局探索式測試法102
5.3.3 混合探索式測試法108
5.4 設計案例詳解110
第6章 基於任務驅動的嵌入式測試113
6.1 基本概念113
6.1.1 任務驅動測試的目的及特點113
6.1.2 任務驅動測試的常見模式113
6.1.3 基於任務驅動的嵌入式測試設計的優點和缺點115
6.2 如何進行基於任務驅動的嵌入式測試116
6.2.1 明確約束條件和目的116
6.2.2 測試任務的劃分117
6.2.3 測試實施117
6.2.4 測試結果的判定118
6.2.5 案例詳解118
6.3 測試任務的把控122
第7章 基於思維導圖實現嵌入式測試的設計與分析124
7.1 基本概念124
7.1.1 測試用例設計的發展124
7.1.2 思維導圖的引入127
7.2 基於思維導圖的測試設計和分析128
7.2.1 基於思維導圖的需求分析128
7.2.2 基於思維導圖的模組測試用例設計130
7.3 案例設計的方式探討134
7.4 基於思維導圖的測試設計和分析常見問題134
7.4.1 思維導圖設計時機的問題134
7.4.2 分級的問題136
7.4.3 思維導圖設計具體思路136
7.4.4 質量特性與測試類型對應的問題137
7.4.5 使用場景的問題139
案 例 篇
第8章 案例分析—探秘測試需求說明書141
8.1 先來認識需求說明書142
8.1.1 需求說明書的重要性142
8.1.2 需求說明書的組成要素143
8.2 測試活動的基礎—測試需求分析144
8.2.1 理解測試需求144
8.2.2 為什麼要進行測試需求分析144
8.2.3 測試需求分析的方法技術145
8.3 測試需求說明書的要點解釋146
8.3.1 目的和範圍147
8.3.2 系統說明147
8.3.3 系統功能性需求148
8.3.4 系統非功能性需求148
8.3.5 環境需求148
8.3.6 完成標準149
8.4 案例解析:嵌入式測試需求說明書149
8.4.1 項目背景說明149
8.4.2 探秘一款開源路由器項目的軟體測試需求說明書151
8.4.3 系統功能性需求153
8.4.4 系統非功能性需求154
8.5 案例解析:嵌入式測試需求的評審154
8.5.1 評審的重要性154
8.5.2 評審報告的設計方法與模板155
8.6 測試需求分析階段容易忽略的問題157
第9章 案例分析—解析測試計畫159
9.1 測試計畫的重要性159
9.2 編寫測試計畫的要點160
9.2.1 測試的目的和範圍160
9.2.2 測試資源161
9.2.3 測試質量和風險評估161
9.2.4 測試任務162
9.2.5 測試組織和進度計畫162
9.3 案例解析:嵌入式測試計畫163
9.3.1 風險評估163
9.3.2 測試項163
9.3.3 測試進度計畫165
9.4 案例解析:測試計畫的評審166
9.4.1 測試計畫評審的重要性166
9.4.2 測試計畫評審要點與模板167
9.5 測試計畫階段需要注意的問題168
第10章 案例分析—剖析測試方案170
10.1 測試方案的重要性170
10.2 如何設計測試方案171
10.2.1 概述171
10.2.2 測試環境171
10.2.3 測試項說明172
10.2.4 測試策略172
10.2.5 測試職責和分工172
10.3 案例解析:嵌入式測試方案173
10.3.1 單元集成測試方案174
10.3.2 系統測試方案179
10.4 測試方案的評審183
10.4.1 測試方案評審的重要性183
10.4.2 測試方案評審要點及報告183
10.5 測試方案分析和設計時的注意要點186
第11章 案例分析——設計測試用例187
11.1 淺析測試用例187
11.1.1 測試用例的重要性187
11.1.2 設計測試用例的依據和原則188
11.1.3 測試用例內容設計190
11.2 測試用例評審197
11.2.1 測試用例評審的重要性197
11.2.2 測試用例評審要點及檢查單198
11.3 測試執行200
11.3.1 單元集成測試執行要點分析200
11.3.2 系統測試執行要點分析204
11.4 本階段的注意事項205
第12章 案例分析—分析測試缺陷207
12.1 是軟體,就有缺陷207
12.2 缺陷管理的重要性209
12.3 缺陷分析方法詳解209
12.3.1 缺陷分析的好處209
12.3.2 從哪些方面去分析缺陷210
12.3.3 分析缺陷需要的技能212
12.4 案例解析:嵌入式項目的缺陷分析213
12.4.1 測試覆蓋率分析213
12.4.2 缺陷分析情況說明215
12.4.3 測試問題匯總218
第13章 案例分析—解讀測試報告225
13.1 測試報告的作用225
13.2 測試報告要素分析226
13.2.1 背景說明226
13.2.2 測試環境與資源227
13.2.3 測試範圍227
13.2.4 測試過程分析227
13.2.5 建議227
13.3 案例解析:嵌入式測試報告228
13.3.1 背景說明229
13.3.2 測試環境與資源230
13.3.3 測試範圍232
13.3.4 測試過程分析234
13.3.5 建議236
13.3.6 差異236
13.3.7 測試總結和評價236
13.4 對項目後期的解釋237
13.4.1 項目的結束不是終止,而是新的開始237
13.4.2 項目歸檔的重要性238
13.4.3 項目後期階段注意事項238
13.5 認識項目結項及總結239
13.5.1 項目結項239
13.5.2 項目總結240
模板篇
附錄A 模板詳解242
附錄B 規範說明298
參考文獻328
作者簡介
李龍 高級軟體測試工程師、項目經理;現為某科技公司測試總監、中國軟體測試聯盟專家、多家培訓公司的兼職講師。開發過多種軟體系統,並參與測試架構設計與組織設計,對測試有豐富的實踐經驗。擅長測試管理、用例設計和數值計算測試演算,對測試的前沿技術有個人獨到見解,提出了“川模型”的測試架構。他還是《軟體測試實用技術與常用模板》等書的作者。
劉文貞 中國軟體測試聯盟專家,性能測試專家,濟南織雀測試實訓基地高級培訓講師。
鐵坤 中國軟體測試聯盟專家,現為某網路安全公司測試主管。