探索式軟體測試

探索式軟體測試

《探索式軟體測試》任命軟體測試人員,OA專家、開發人員、程式經理和架構師閱讀,對他們的工作具有重要的啟發作用。試作為一種富有創新精神和現實意義的測試方法,引起越來越多軟體測試人員、質量保證人員和項目經理的高度重視。

基本信息

內容簡介

探索式軟體測試探索式軟體測試

《探索式軟體測試》任命軟體測試人員,OA專家、開發人員、程式經理和架構師閱讀,對他們的工作具有重要的啟發作用。探索式軟體測試作為一種富有創新精神和現實意義的測試方法,引起越來越多軟體測試人員、質量保證人員和項目經理的高度重視。《探索式軟體測試》作者結合自己二十年的經驗,從多個角度結合富的實例闡述了探索式軟體測試的使用技巧、提示和相關技術。全書共8章,3個附錄,為手工測試流程提供了重要的指導,技術和規劃。

探索式軟體測試的四個類型

探索式軟體測試的四個類型、探索式軟體測試一共分為自由式探索式測試、基於場景的探索式測試、基於策略的探索式測試和基於反饋的探索式測試。下面將詳細介紹4種類型的套用場景。

一:自由式探索式測試自由式探索式測試指的是對一個應用程式的所有功能,以任意次序、使用任何如數進行隨機探測,而不考慮哪些功能是否必須包括在內。自由式測試沒有任何規則和模式、只是不停的去做。很不幸,很多人認為所有的探索式測試都是自由式的,從長遠的觀點來看,這種看法嘀咕了探索式測試技術的能力,我們在隨後將看到這類測試的一些變種。

一個自由測試用例可能會被選中成為一個快速的冒煙測試,用它來檢查是否會找到重大的崩潰或者嚴重的軟體缺陷,或是在採用先進的技術之前通過它來熟悉一個應用程式。顯然,自由式探索式測試無需也不應該進行大量的準備規則。事實上,它更像是“探索”而不是“測試”,所以我們應當相應的調整對它的期望值。

自由式測試不需要多少經驗或者信息。但是,同以下提到的探索式技術相結合後,它將成為一個非常強大的測試工具。

二:基於場景的探索式測試基於場景的探索式測試和傳統的基於場景的測試有類似之處。兩者都涉及到一個開商店,就是用戶故事或者是文檔化得端到端場景的開始之處,那也是我們所期望的最終用戶開始執行應用程式的地方。這些場景可以來自用戶研究、應用程式、以前版本的數據等,並作為腳本用於測試軟體。探索式測試對傳統場景測試的補充吧腳本的套用範圍擴大到了更改、調查和改變用戶執行路徑的範疇。

使用場景作為指導的探索式測試人員經常會修改他敢興趣的輸入或者是追尋一些並沒有包括在腳本中的潛在副作用。不過,由於最終的不表是完成給出的場景,這些測試上的彎路、最終總是會回到腳本檔案記載的用戶主要執行路徑。

三:基於策略的探索式測試將自由式測試探索式與具有測試老手的經驗、技能和感知融合在一起,就成為基於策略的探索式測試。它屬於自由式的探索,只是他是在現有的錯誤搜尋技術下引導完成的。基於策略的探索式測試套用所有的已知技術(如邊界值分析或組合測試)和未知的本能(如異常處理往往容易出現軟體缺陷),來指導測試人員進行測試。

這些已知的策略是基於策略的探索式測試成功的關鍵,存儲的測試知識越豐富,測試就會更有效率。這些策略緣於積累下來的知識,它們指導軟體缺陷隱藏在哪裡,如何綜合人工輸入數據,那些代碼路徑常常出現故障。

基於策略的探索式測試結合了測試老手的經驗和探索型測試人員的隨機性。

四:基於反饋的探索式測試基於反饋的探索式測試緣於自由式測試,但是隨著測試歷史的形成,測試人員們就會利用反饋來指導今後的探索。“覆蓋”就是典型的例子。一名測試人員通過諮詢那些覆蓋指標(代碼覆蓋、用戶界面覆蓋、特性覆蓋、輸入覆蓋或者其中的某一些組合)來選中新的測試用例,以使這些覆蓋指標得以提高。覆蓋指標只是收錄反饋信息的標誌之一。我們也會看其他標誌,如代碼改動數量和軟體缺陷密集程度等。

基於反饋的探索式測試時一種“上一次測試”:在上一次我根據應用程式的最後狀態選了每某一個輸入之後、下一次我就會選中另外一個輸入。或者是,在上一次遇到這個界面時我用A屬性,這一次我就會用B屬性。

基於反饋的探索式測試工具是非常有價值的,它可以是測試人員保存、搜尋測試歷史並據此採取實時行動。不幸的是這樣的工具很少。

作者簡介

James A.Whittaker,近日已加入谷歌擔任測試工程主管,他曾在微軟擔任Visual Studio Team SysterTl架構師,負責為微軟測試業務主導產品策略,並領導內部團隊套用探索式軟體測試。

Whittaker博士曾在佛羅里達理工學院擔任計算機科學教授一職。在校期間,他被The Jourhal of Systems and Software授予“首席學者”稱號,並領導一個研究團隊創建了許多領先的測試工具和技術,包括備受稱讚的運行時錯誤注入工具Holodeck。Wtlittaker博士還著有《如何攻破軟體》、《如何破壞軟體安全》和《如何破壞網路軟體》。他發表過50+有關軟體開發和安全的同級評審論文。他持有安全測試和安全防禦技術方面多項發明的專利。

譯者簡介:

方敏,現任微軟業洲工程院UIS項目首席測試部門主管,擁有20年軟體測試管理和開發的豐富經驗,曾參加過微軟多項重大產品和技術的研製,包括UIS,Windows Server/Client/Security,SQL Server,Exchange Server,MSN,COM+Services,Windows Medi和微軟內部IT工具等。方敏曾在清華大學獲得電子工程學士和碩士學位,在美國新墨西哥技術學院獲得計算機碩士學位。

張勝,現任微軟總部高級軟體開發測試主管,擁有10餘年軟體開發測試和團隊管理經驗,參與Visual Studio,SQL Server和Office Live的開發測試與發布,現主管Office Communications Server本地化軟體開發測試工作。張勝擁有復旦大學計算機系碩七和學上學位。

圖書目錄

第1章 軟體質量 1

軟體的魔力 1

軟體失效4

小結 9

練習題 9

第2章 手工測試 11

軟體缺陷的根源 11

缺陷預防和檢測 12

缺陷預防 12

缺陷檢測 13

手工測試 15

手工測試中使用腳本 16

探索式測試 16

小結 21

練習題 21

第3章 局部探索式測試法 23

想不想測試軟體? 23

測試就是有所變,有所不變 25

用戶輸入 26

狀態 36

軟體狀態的基本知識 36

如何測試軟體狀態 37

代碼路徑 39

用戶數據 39

運行環境 41

小結 41

練習題 42

第4章 全局探索式測試法 45

探索軟體 45

旅遊者比喻 47

漫遊測試 49

商業區測試類型 51

歷史區測試類型 58

娛樂區測試類型 60

旅遊區測試類型 63

旅館區測試類型 66

破舊區測試類型 68

漫遊測試法實戰 70

小結 72

練習題 72

第5章 混合探索式測試技術 73

場景和探索 73

使用基於場景的探索式測試 75

通過場景操作引入變化 76

插入步驟 76

刪除步驟 77

替換步驟 77

重複步驟 78

替換數據 78

替換環境 78

通過漫遊測試引入變化 80

賣點測試法 80

地標測試法 81

極限測試法 81

深巷測試法 81

強迫症測試法 81

通宵測試法 81

破壞測試法 82

收藏家測試法 82

超模測試法 82

配角測試法 82

取消測試法 83

混票測試法 83

小結 83

練習題 83

第6章 實踐中的探索式測試 85

漫遊測試 85

Dynamics AX客戶端的漫遊 86

有用的探索漫遊 87

收藏家測試法和收集缺陷 89

漫遊測試提示 92

利用漫遊查找隱錯 94

測試用例管理解決方案的測試 94

取消測試法 95

破壞測試法 96

快遞測試法 97

測一送一測試法 98

在Windows Mobile設備中的

漫遊實踐 98

我的測試方法和哲學 99

漫遊測試法找到的有趣缺陷 101

破壞測試法實例 102

超模測試法實例 103

Windows媒體播放器的漫遊測試

實踐 105

Windows 媒體播放器 105

遍歷測試法 106

超模測試法 108

極限測試法 109

與WMP相關的25個“假如”

類型的問題 109

極限測試法:邊界之旅 110

停車場測試法及其在 Visual Studio

Team System測試版的套用 112

Sprint中的測試 112

停車場測試法 114

漫遊測試中的測試規劃與管理 115

定義地貌 115

旅行計畫 116

讓漫遊測試運轉起來 118

漫遊結果的分析 118

判斷:里程碑和發布 119

在實踐中 119

小結 120

練習題 120

第7章 漫遊與測試中的棘手問題 121

軟體測試的五個棘手問題 121

漫無目的 122

重複性 124

暫時性 126

單調性 127

健忘 128

小結 130

練習題 130

第8章 軟體測試的未來 131

歡迎來到未來世界 131

測試人員的專有提示顯示 132

測試百科 134

測試用例的重用 135

測試原子和測試分子 136

虛擬化的測試資產 137

可視化 138

未來的測試 141

發布之後的測試 142

小結 143

練習題 144

附錄1 經營成功的測試職業生涯 145

你是如何開始做測試工作的? 145

回到未來 146

上山 147

巔峰 149

下山 150

附錄2 JW的專業部落格摘錄 151

教我一些東西吧 151

軟體誡律151

測試錯誤代碼 157

真正的職業測試人員,請上前一步 160

我找到的一些常見的共同特性

(無特別順序) 161

建議總結 162

三擊不中出局,是新的打擊手上場的

時候了 163

正式方法 164

工具 164

流程改進 165

第四種提案 166

軟體測試是藝術、技巧或學科? 166

恢復對軟體行業的尊重 169

事與願違的過去 170

尋找更好的方法 171

分析安全漏洞和質量問題的

流程 171

附錄3 JW微軟部落格修訂版 175

加入部落格圈 175

2008年7月 176

開篇 176

PEST(泡吧與軟體測試) 177

測試人員評估 179

預防與治療(一) 181

用戶與John 182

手工測試人員的讚歌 182

預防與治療(二) 185

歐洲,你好! 186

測試賦 187

預防與測試(三) 189

回到測試 190

2008年8月 192

預防與治療(四) 192

如果微軟擅長測試,為什麼軟體

依然糟糕呢? 194

預防與治療(五) 197

自由式探索式測試 198

基於場景的探索式測試 198

基於策略的探索式測試 198

基於反饋的探索式測試 199

軟體測試的未來(一) 199

軟體測試的未來(二) 201

2008年9月 203

測試認證 203

軟體測試的未來(三) 205

軟體測試的未來(四) 207

軟體測試的未來(五) 208

2008年10月 210

軟體測試的未來(六) 210

軟體測試的未來(七) 212

軟體測試的未來(八) 214

談到谷歌 216

再議手工測試與自動化測試 216

2008年11月 218

不再需要測試人員? 218

讓測試人員繼續測試 219

2008年12月 220

谷歌與微軟的開發∶測試

比例之爭 220

2009年1月 221

Zune的問題 221

解釋探索式測試 223

(未來的)測試用例重用 224

測試用例重用(續) 226

休假歸來 227

鼴鼠和受感染的花生 228

相關詞條

相關搜尋

熱門詞條

聯絡我們