Windows軟體測試探秘

《Windows軟體測試探秘》是2013年電子工業出版社出版的圖書,作者是王磊、韓靜。

內容簡介

《Windows軟體測試探秘 》是百度質量部幾位 測試工程師以實際項目為依據,結合技術改進,講解在大型公司中測試人員 工作的主要內容,讓讀者從中了解具體測試工作的實際情況,從中受到啟發 ,為自己的工作帶來變化。就Windows應用程式測試而言,《Windows軟體測試探秘》除了闡述傳統 測試領域中的自動化測試、性能測試、穩定性測試外,還深入講述了不同用 戶環境測試的方方面面:諸如兼容性測試、產品評測,以及用戶界面功能測 試的設計和執行方法。《Windows軟體測試探秘》使用的案例介紹都來源於 實際項目,適合於從事Windows客戶端測試的同行及即將進入測試行業的大 中專院校的畢業生閱讀。

作者王磊、韓靜等站在Windows客戶端測試這個平台上,把自動化測試、性能測試、產品評測、測試數據分析與處理、軟體開發方法等貫穿起來,讓讀者朋友快速掌握實際測試工作中所需要的諸多方面的知識。

目錄

上篇 技術篇

第1章 測試環境管理 1
1.1 問題的產生 1
1.1.1 客戶端測試環境的概念 1
1.1.2 客戶端測試環境管理需求 2
1.2 如何設計解決問題 3
1.2.1 環境如何自動化快照備份管理 3
1.2.2 套用軟體如何自動化部署 7
1.2.3 環境資源池系統管理 9
1.3 實例展示 22
1.3.1 UI功能展示 22
1.3.2 系統套用場景 24
1.3.3 項目套用效果 25
第2章 測試數據中心 27
2.1 為何要引入數據中心 27
2.1.1 概述 27
2.1.2 需求來源 28
2.1.3 功能分析 29
2.2 數據中心設計和實現 31
2.2.1 整體架構 31
2.2.2 數據存儲設計和實現 32
2.2.3 測試輔助設計和實現 33
2.2.4 其他功能設計和實現 35
第3章 自動化測試 37
3.1 概述 38
3.1.1 什麼是自動化測試 38
3.1.2 系統級自動化測試模型 38
3.2 基礎庫設計和實現 39
3.2.1 基礎庫設計原理 39
3.2.2 基於Win 32句柄 40
3.2.3 虛擬對象 45
3.2.4 基於MSAA/UIA 52
3.2.5 後門&Proxy模式 55
3.3 用例格式和開發模式 64
3.3.1 用例格式 65
3.3.2 基於腳本/代碼的用例 65
3.3.3 開發模式 68
3.4 項目實例 71
3.4.1 基於虛擬控制項的即時通信類產品系統級自動化 71
3.4.2 基於Proxy的播放器類產品系統級自動化 74
3.4.3 基於Proxy的瀏覽器類產品模組級API自動化 77
第4章 性能測試 80
4.1 性能指標 80
4.1.1 業務指標 81
4.1.2 系統指標 81
4.2 測試環境 85
4.3 測試方法及工具 86
4.3.1 業務指標 86
4.3.2 系統指標 92
4.4 測試場景與用例設計 94
4.4.1 普遍性 95
4.4.2 單一性 95
4.4.3 重複性 96
4.5 項目舉例 96
4.5.1 場景與用例設計 96
4.5.2 測試執行 98
第5章 實網測試 103
5.1 為何要引入實網測試 103
5.1.1 實網測試概念 103
5.1.2 實網測試形式 104
5.1.3 實網測試關鍵因素 104
5.1.4 實網測試自動化系統解決方案 105
5.2 實網測試自動化系統設計實現 105
5.2.1 系統需求分析 105
5.2.2 系統整體設計 107
5.2.3 實網測試客戶端 108
5.2.4 實網測試伺服器 111
5.2.5 實網測試管理Web 112
5.3 實例展示 113
5.3.1 實網測試系統實例 113
5.3.2 實網測試系統套用場景 116
5.3.3 實網測試收益分析 117
第6章 產品評測 120
6.1 評測的含義 120
6.1.1 評測概述 120
6.1.2 評測體系 124
6.1.3 評測作用 127
6.2 評測方案的產生 127
6.2.1 基本方法 127
6.2.2 輸入法類產品實例 128
6.3 如何設計評測工具 135
6.3.1 評測工具需求分析 136
6.3.2 評測工具架構設計 137
6.3.3 評測數據生成接口 141
6.3.4 評測結果分析接口 141
6.3.5 評測工具/平台的處理流程 142
下篇 工程篇
第7章 敏捷及改變 145
7.1 什麼是敏捷 145
7.2 為何走上敏捷之路 147
7.3 敏捷項目管理 148
7.3.1 敏捷項目管理之團隊建設 148
7.3.2 敏捷項目管理之疊代規劃 156
7.3.3 敏捷項目管理之需求管理 159
7.3.4 敏捷項目管理之計畫跟蹤 163
7.3.5 敏捷項目管理之信息傳遞 165
第8章 持續集成(Continuous integration) 169
8.1 持續集成組成部分 169
8.1.1 持續集成簡介 169
8.1.2 持續集成基本組成 170
8.1.3 配置管理 171
8.1.4 構建 173
8.1.5 測試 174
8.1.6 部署發布 174
8.2 持續集成的入門條件 174
8.3 支撐平台 176
8.4 Quick構建 177
8.4.1 編譯構建 177
8.4.2 Quick構建目的 178
8.4.3 Quick構建承載的測試類型 179
8.5 Slow構建 183
8.6 Daily構建 184
8.7 自動化部署 186
8.7.1 傳統上線方式 186
8.7.2 自動化部署 188
第9章 構建過程最佳化 192
9.1 縮短測試執行時間 193
9.1.1 最佳化Case 193
9.1.2 分散式執行 194
9.2 本地構建 199
9.2.1 為何需要本地構建 199
9.2.2 測試用例的選取 200
9.2.3 為何有了Local Build,依然需要平台上的構建 200
9.2.4 本地構建實施方案 201
9.2.5 Loca Build實際套用情況 206
9.3 提高自動化用例執行的穩定性 208
9.3.1 引起自動化用例執行不穩定的因素 208
9.3.2 提高用例執行穩定性的方法 209
第10章 快速發布 211
10.1 如何去拉分支 212
10.1.1 衝突處理 213
10.1.2 經常同步 214
10.1.3 拉分支的標準 214
10.2 分支如何測試 216
10.2.1 系統級測試 216
10.2.2 驗收測試 218
10.3 發布的準備工作 219
10.3.1 逐級放量 219
10.3.2 放量指標 220
10.3.3 上線步驟測試 223
10.3.4 自動化上線 223
10.4 發布之後 225
10.4.1 下一個疊代 227
10.4.2 疊代後續 227

作者簡介

王磊(大王),高級測試架構師,參與眾多百度產品的測試工作,曾負責過百度新聞、百度空間、百度視頻等產品的測試工作,後組建通用組件測試組和基礎架構測試部;分別負責移動網際網路測試及PC客戶端測試的技術工作,現主要負責百度測試基礎架構建設。
韓靜,高級項目經理,參與和負責過即時通信、輸入法、瀏覽器、音視頻等多款裝機必備軟體的測試和管理工作,有著豐富的客戶端軟體測試和項目管理經驗

精彩書摘

同樣地,對於MSAA/UIA的自動化測試技術,固然是一種更加系統化的自動化測試解決方案,但是在一些需要快速疊代的項目中,往往需要開發投入過大的成本。同時對於小的網際網路公司來說,沒有專門投入到自動化測試的資源和成本,因此往往MSAA/UIA在非大力推崇UI自動化測試的環境中很難得到廣泛的支持,而且測試人員進行自動化工作的進度受到開發人員的巨大影響,往往進度緩慢。
在這樣的背景下,筆者在實際的項目實施過程中基於MSAA/UIA的思想及實際投入成本和開發的限制,提出了一種後門/Proxy的實現機制,但是從技術實現原理來看,也沒有走出3.2.1節中介紹的基礎庫設計原理,本質上就是通過類似於共享記憶體、訊息等機制實現了更加簡易的自動化實現技術,一方面提高了虛擬控制項模式的穩定性、系統化;另一方面,又最大限度地降低了對於產品開發人員的限制。
2.後門方式
(1)實現原理
概括來說包括兩個方面:自定義訊息和共享記憶體。其中訊息在訪問控制上的便捷是優於共享記憶體的方式,但是在數據量的傳輸方面,共享記憶體具備訊息所不具備的大數據量信息。在將兩者結合後,可以實現被測程式和測試程式之間的通信。
其中,自定義訊息就是測試程式通知被測程式的一種方式,可以用來驅動被測程式的執行,或者通知被測程式將特定的UI信息更新到共享記憶體中。而雙方之間所需要協商的就是用來通信的協定格式,在具體實踐中包含兩類比較常用的方式:結構體及XML格式。對於結構體來說,可以非常方便地進行數據的訪問,對於XML來說,則具備更加靈活的特點,可以根據產品需要暴露信息的特點來選擇採用何種通信方式及協定格式。

相關詞條

熱門詞條

聯絡我們