《軟件測試技術基礎教程》全面系統地介紹了軟件測試理論及應用技術,內容全面實用,講述淺顯易懂。突出了軟件測試的基礎知識和理論的闡述,軟件測試的發展脈胳及其與軟件開發最新技術的結合和運用,使讀者可以盡快地掌握軟件測試的基礎知識,并了解軟件測試的最新動態。
《軟件測試技術基礎教程》既可作為高等院校軟件測試課程的教材,也可作為軟件測試愛好者的自學用書。對于那些希望增強軟件測試方面知識的程序員、軟件項目經理和軟件開發團隊的其他人員,《軟件測試技術基礎教程》也具有很好的參考價值!盾浖䴗y試技術基礎教程》可作為高職、高專軟件測試專業及計算機軟件開發專業課程的教材,也可作為軟件測試技術應用培訓的基礎教材,并供從事軟件測試和開發行業的技術人員學習參考。
《軟件測試技術基礎教程》緊密結合軟件測試工作崗位要求,以通俗易懂的語言講述軟件測試基礎理論,通過經典實用的測試案例傳授實戰技術,詳細介紹常用的測試工具。
第1部分 軟件測試理論
第1章 軟件測試概述
1.1 軟件測試的背景
1.2 軟件缺陷
1.3 軟件測試的復雜性與經濟性分析
1.4 軟件測試的認識
1.5 軟件測試人員的素質
習題
第2章 軟件測試基礎
2.1 軟件測試的基本理論
2.2 軟件測試的分類
2.3 軟件質量保證與軟件測試
2.4 軟件測試的規范
習題
第3章 軟件測試過程與方法
3.1 軟件測試過程
3.2 軟件測試過程與軟件開發的關系
3.3 單元測試
3.4 集成測試
3.5 確認測試
3.6 系統測試
3.7 驗收測試
習題
第4章 白盒測試技術
4.1 邏輯覆蓋測試
4.2 路徑分析測試
4.3 循環測試
4.4 代碼檢查法
4.5 白盒測試綜合策略
4.6 案例設計
習題
第5章 黑盒測試技術
5.1 黑盒測試概述
5.2 等價類劃分法
5.3 邊界值分析法
5.4 決策表法
5.5 因果圖法
5.6 測試方法的選擇
5.7 案例設計
習題
第6章 軟件測試計劃、文檔及測試用例
6.1 測試計劃
6.2 測試文檔
6.3 測試用例設計
習題
第7章 軟件自動化測試
7.1 軟件自動化測試基礎
7.2 軟件自動化測試方法
7.3 軟件自動化測試工具
習題
第8章 面向對象的軟件測試
8.1 面向對象的軟件測試基礎
8.2 類測試
8.3 面向對象交互測試
8.4 面向對象系統測試
習題
第9章 Web網站測試
9.1 Web網站的測試
9.2 功能測試
9.3 性能測試
9.4 安全性測試
9.5 可用性/可靠性測試
9.6 配置和兼容性測試
9.7 數據庫測試
習題
第10章 軟件測試技術前沿
10.1 敏捷測試方法
10.2 測試驅動開發
10.3 云計算
習題
第2部分 軟件測試工具實踐
第11章 單元測試工具JUnit
11.1 JUnit概述
11.2 JUnit的安裝
11.3 JUnit的使用
習題
第12章 Web應用負載測試工具WAS
12.1 壓力測試的必要性
12.2 WAS概要介紹
12.3 開始使用WAS
12.4 運行測試腳本
12.5 測試結果
12.6 其他方式編寫測試腳本
12.7 設計Web測試方案時的一些注意點
12.8 使用WAS的優勢和存在的問題
習題
第13章 性能測試工具WinRunner
13.1 WinRunner簡介
13.2 WinRunner使用概述
13.3 WinRunner如何識別GUI對象
13.4 理解GUI Map
13.5 Global GUI Map File共用GUI地圖文件模式的使用
13.6 GUI Map File per Test模式的使用
13.7 編輯GUI Map
13.8 合并GUI Map File
13.9 配置GUI Map
13.10 學習虛擬對象
13.11 創建測試
13.12 檢查GUI對象
習題
參考文獻
軟件測試是一項復雜而艱巨的任務,軟件測試人員的目標是盡早發現軟件缺陷,以便降低修復成本。軟件測試人員是客戶的眼睛,是最早看到并使用軟件的人,所以應當站在客戶的角度,代表客戶說話,及時發現問題,力求使軟件功能趨于完善。
很多比較成熟的軟件公司都把軟件測試視為高級技術職位。軟件測試員的工作與程序員的工作對軟件開發所起的作用是相當的。雖然軟件測試員不一定是一個優秀的程序員,但是作為一個出色的軟件測試員應當具備豐富的編程知識,掌握軟件編程的基礎內容,了解軟件編程的過程,這無疑對出色完成軟件測試任務具有很大的幫助。
通常軟件人員應具備如下素質。
1.良好的溝通能力
測試人員需要和各類人員進行溝通,既要能夠和技術(開發者)人員討論系統設計和實現的問題,又要和非技術人員,包括客戶、評審人員交流系統的需求和規格。這是不同的兩類人員,他們關心的側重點不一樣。即使對同一個事件也會用不同的方式表達出來。有時,測試人員可以說是擔當了開發人員、用戶和管理人員的橋梁。
測試常被人理解為一種“破壞”性的工作,容易導致測試人員與其他相關人員之間的沖突。比如,用戶擔心將來開發出來的系統會不符合自己要求,開發者則擔心由于系統需求不正確而導致不得不重新設計開發,管理者則擔心這個系統突然崩潰而使自己的公司聲譽受損。這就要求測試人員能夠理解不同人的想法,盡量減少和避免與各方的沖突和對抗。
在發現錯誤特別是重大錯誤后,如何告訴相關人員也是一門藝術,機智老練和熟練的外交手法有助于維護測試工程師與開發人員的協作關系。如果采取的方法過于死板和生硬,對測試工程師來說,在以后的工作中就會出現“贏了戰爭卻輸了戰役”的不利情況。
……