本書共8章。第1~3章介紹了軟件測試的基本概念、原理和分類等基礎(chǔ)理論,嵌入式系統(tǒng)和軟件的組成與特點,以及嵌入式軟件測試的特點、策略、方法和原則;第4章介紹了常用嵌入式軟件測試方法;第5章介紹了測試需求分析、測試設(shè)計與實現(xiàn)、測試報告的撰寫等主要內(nèi)容;第6章闡述了嵌入式軟件測試自動化的需求、理論原理、技術(shù)分類和應(yīng)用原則;第7章介紹了現(xiàn)有可應(yīng)用于嵌入式軟件測試的自動化工具的功能與特點;第8章通過全國大學(xué)生軟件測試大賽嵌入式專項真題,講解了如何應(yīng)用前面所學(xué)知識系統(tǒng)地組織、計劃與實施嵌入式軟件測試。附錄給出了測試過程中技術(shù)文檔的模板。
本書可以作為高等院校軟件測試課程的教材,也可供剛進(jìn)入軟件測試行業(yè)的從業(yè)人員參考使用。
目 錄
前言
第1章 軟件測試概述1
1.1 軟件測試的定義及發(fā)展1
1.2 軟件及軟件缺陷的概念3
1.2.1 軟件3
1.2.2 軟件缺陷4
1.3 軟件質(zhì)量及軟件質(zhì)量模型5
1.3.1 軟件質(zhì)量5
1.3.2 兩個軟件質(zhì)量模型6
1.4 軟件測試的基本原理12
1.5 軟件測試的分類15
1.5.1 白盒測試和黑盒測試16
1.5.2 靜態(tài)測試和動態(tài)測試17
1.5.3 測試級別18
1.5.4 測試類型24
1.6 通過維恩圖理解測試27
習(xí)題29
第2章 嵌入式系統(tǒng)概述30
2.1 嵌入式系統(tǒng)30
2.1.1 什么是嵌入式系統(tǒng)31
2.1.2 嵌入式系統(tǒng)的組成31
2.1.3 嵌入式系統(tǒng)的發(fā)展歷程33
2.2 嵌入式軟件的組成及特點35
2.2.1 嵌入式軟件的組成35
2.2.2 嵌入式軟件的特點37
2.3 嵌入式系統(tǒng)的設(shè)計流程40
2.4 嵌入式軟件的應(yīng)用領(lǐng)域44
習(xí)題46
第3章 嵌入式軟件測試概述47
3.1 嵌入式軟件測試的特點47
3.1.1 嵌入式軟件測試與普通軟件測試的相同點47
3.1.2 嵌入式軟件測試的特殊性48
3.2 嵌入式軟件測試的策略和方法51
3.2.1 交叉測試51
3.2.2 白盒測試54
3.2.3 黑盒測試56
3.2.4 灰盒測試57
3.3 嵌入式軟件測試的原則58
3.4 嵌入式軟件測試的環(huán)境61
3.4.1 全實物仿真測試環(huán)境61
3.4.2 半實物仿真測試環(huán)境62
3.4.3 全數(shù)字仿真測試環(huán)境64
3.4.4 三種仿真測試的優(yōu)缺點65
習(xí)題67
第4章 嵌入式軟件測試設(shè)計方法68
4.1 等價類劃分測試70
4.2 邊界值測試76
4.3 因果圖測試80
4.4 決策表測試84
4.5 邏輯覆蓋測試89
4.6 組合測試96
4.7 蛻變測試101
習(xí)題104
第5章 嵌入式軟件測試過程108
5.1 嵌入式軟件測試過程概述108
5.2 測試需求分析112
5.2.1 為什么要進(jìn)行測試需求分析112
5.2.2 測試需求分析的內(nèi)容113
5.2.3 測試需求分析實例114
5.3 嵌入式軟件測試的設(shè)計與實現(xiàn)119
5.3.1 嵌入式軟件測試設(shè)計過程119
5.3.2 嵌入式軟件測試設(shè)計要點119
5.3.3 嵌入式軟件測試設(shè)計實例121
5.4 問題報告的撰寫124
5.4.1 問題報告的內(nèi)容125
5.4.2 問題報告的撰寫要點126
5.4.3 問題報告撰寫實例127
5.5 嵌入式軟件測試案例127
5.5.1 被測對象概述128
5.5.2 油壓功能模塊測試130
5.5.3 車速功能模塊測試135
5.5.4 燈光控制功能模塊測試137
習(xí)題141
第6章 軟件測試自動化概述142
6.1 為什么要實現(xiàn)軟件測試自動化142
6.1.1 因為人會犯錯142
6.1.2 因為測試中有大量重復(fù)性的非“智力”操作143
6.1.3 因為手工測試效率低143
6.1.4 某些測試只能由測試工具完成144
6.2 軟件自動化測試技術(shù)分類144
6.2.1 依據(jù)測試級別劃分145
6.2.2 依據(jù)測試技術(shù)劃分146
6.2.3 依據(jù)測試階段劃分155
6.3 嵌入式軟件自動化測試技術(shù)156
6.4 應(yīng)用自動化測試的原則157
習(xí)題160
第7章 常用測試工具161
7.1 測試工具概述161
7.2 單元測試工具162
7.2.1 JUnit162
7.2.2 NUnit164
7.2.3 Cantata166
7.2.4 Visual Unit168
7.2.5 CodeSonar169
7.2.6 Pinpoint175
7.2.7 TBrun177
7.2.8 PureCoverage179
7.2.9 CodeTEST181
7.2.10 BullseyeCoverage184
7.2.11 RTT-MBT185
7.2.12 Testbed189
7.2.13 McCabe IQ190
7.2.14 Klocwork191
7.2.15 其他常用代碼審查與靜態(tài)分析工具193
7.2.16 其他常用覆蓋率分析工具194
7.3 集成化的嵌入式軟件測試工具195
7.3.1 VectorCAST/RSP195
7.3.2 嵌入式系統(tǒng)測試平臺ETest197
7.4 測試過程管理工具200
7.4.1 測試過程自動化管理工具QC201
7.4.2 測試過程自動化管理工具STM204
7.4.3 軟件測試過程管理系統(tǒng)206
7.4.4 其他測試過程管理工具209
習(xí)題210
第8章 嵌入式軟件測試實踐211
8.1 使用ETest Studio進(jìn)行嵌入式自動化測試211
8.1.1 空調(diào)控制板需求介紹213
8.1.2 測試環(huán)境的構(gòu)建216
8.1.3 測試腳本的編寫219
8.1.4 測試自動化的執(zhí)行233
8.1.5 測試監(jiān)控236
8.2 一個典型的嵌入式軟件測試案例238
8.2.1 軟件需求238
8.2.2 測試設(shè)計與執(zhí)行243
8.3 2019年全國大學(xué)生軟件測試大賽真題279
8.3.1 試題內(nèi)容279
8.3.2 參考答案283
8.3.3 解題思路284
8.3.4 測試執(zhí)行293
習(xí)題296
附錄A 測試需求規(guī)格說明模板297
附錄B 測試說明模板304
參考文獻(xiàn)311