本書從工程角度出發,闡述了運用大數據技術進行軟件測試的方法和實現過程。全書共11章,介紹了大數據測試思維、手機聯網數據的收集方法、數據格式的轉換方法、大數據的處理方法、軟件缺陷挖掘技術及實踐項目的應用等。本書第1章介紹了大數據的測試方法和思維方式,隨后每一章都通過案例來講解大數據技術的相關理論及其測試應用。除第1章外,每章*后都提供了思考題來幫助讀者回顧和鞏固本章的學習內容,本書*后還提供了思考題的參考答案。同時,本書對每一個案例進行了詳細圖例展示和講解。
本書不同于傳統的軟件測試圖書,主要講解大數據層面的軟件測試方法。
通過實踐操作,幫助學生掌握大數據的收集、處理、分析的方法,進而分析出軟件是否存在缺陷。
搭配在線實驗環境,書網融合。
劉攀,男,博士,副教授,上海商學院信息與計算機學院計算機系專業負責人,美國德克薩斯大學達拉斯分校的訪問學者,上海協同計算與信息服務專委會成員,上海市計算機軟件評測重點實驗室研究員(兼職)。曾主持和參與省部級以上課題10項,在《ACM SIGSOFT Software Engineering Notes》《IJDSN》《JCST》《IJPE》《軟件學報》《計算機學報》等學術雜志及QRS、ICFEM、TASE、ATS、PRDC、ICPCA、WCICA、ICIS、SPND等國際會議上發表學術論文30余篇。目前從事計算機類課程的教學,主要承擔軟件測試、大數據分析及可視化、軟件工程、程序設計基礎、高級程序設計等課程。
第 1章 大數據測試的思維 1
1.1 規律是否存在 1
1.2 大數據的背后 3
1.3 大數據測試方法 4
1.4 目的及組織結構 5
第 2章 大數據收集概述 7
2.1 案例介紹 7
2.2 原理及方法 7
2.3 環境配置 8
2.3.1 配置無線網 8
2.3.2 安裝分析軟件 9
2.4 數據采集 10
2.4.1 軟件連接 10
2.4.2 信息顯示 11
2.4.3 數據包的存儲 11
2.5 同步操作 12
2.6 小結 14
【思考題】 14
第3章 網絡數據的采集與分析 15
3.1 物理連接及Wireshark軟件的常用操作 15
3.1.1 物理連接 15
3.1.2 Wireshark軟件的打開方式 15
3.1.3 構建網絡 17
3.1.4 Wireshark軟件功能介紹 18
3.2 數據包的采集 18
3.2.1 數據的收集 18
3.2.2 數據的存儲和打開 20
3.3 數據包的自動抓取 22
3.3.1 背景介紹 22
3.3.2 腳本錄制 23
3.3.3 腳本執行 24
3.4 數據包分析 25
3.4.1 數據包的分析方法 25
3.4.2 數據獲取 25
3.4.3 數據包的數量 28
3.4.4 數據分析 28
3.5 小結 32
【思考題】 32
第4章 數據格式轉換及Python編程 34
4.1 原理及方法 34
4.1.1 pyshark介紹 34
4.1.2 FileCapture和LiveCapture 35
4.1.3 Python基礎語法 37
4.2 Python安裝及配置 37
4.2.1 Python安裝 37
4.2.2 配置 38
4.2.3 pyshark包下載 39
4.2.4 pyshark包安裝 40
4.2.5 安裝支撐文件 41
4.3 Python基礎學習 42
4.3.1 Python的命令行演示 42
4.3.2 創建并運行.py文件 42
4.3.3 Python出錯演示 42
4.3.4 Python注釋 43
4.3.5 一行多語句 43
4.3.6 輸出換行 43
4.3.7 縮進 44
4.3.8 Python幫助 44
4.4 Notepad環境 45
4.4.1 Notepad++軟件 45
4.4.2 運行設置 45
4.4.3 多個變量賦值 46
4.4.4 Python的標準數據類型 47
4.4.5 刪除對象的引用 50
4.4.6 Python語言的運算符 50
4.4.7 Python條件語句 52
4.5 Python編程實踐 52
4.5.1 漢諾塔問題 52
4.5.2 奇偶數分離 53
4.5.3 Python中in的應用 54
4.5.4 循環使用else語句編程 54
4.6 Python面向對象 54
4.6.1 面向對象介紹 54
4.6.2 self代表類的對象 55
4.6.3 類的實例化 56
4.6.4 Python內置類屬性 57
4.6.5 Python對象的銷毀(垃圾回收) 57
4.6.6 類的繼承 58
4.6.7 方法重寫 59
4.6.8 運算符重載 60
4.6.9 類屬性與方法 60
4.7 Python的集成開發環境 61
4.7.1 PyCharm軟件 61
4.7.2 Jupyter軟件 67
4.8 pcapng文件到CSV文件 78
4.8.1 編寫代碼 78
4.8.2 代碼運行 80
4.8.3 轉換文件 80
4.9 小結 80
【思考題】 81
第5章 Splunk軟件初探 83
5.1 Splunk簡介 83
5.1.1 Splunk的架構 84
5.1.2 Splunk indexer集群架構 85
5.1.3 Splunk search集群架構 86
5.1.4 SPL語言 86
5.2 Splunk的安裝與配置 90
5.2.1 安裝 90
5.2.2 配置 92
5.3 Splunk數據分析 94
5.3.1 構造SPL語句 94
5.3.2 確定列名 95
5.3.3 Splunk的簡單操作 95
5.4 SPL高級編程 97
5.4.1 自動生成數據 97
5.4.2 構造隨機數 99
5.4.3 數據統計 100
5.4.4 Splunk處理過程 101
5.4.5 報告再編輯 102
5.5 小結 102
【思考題】 102
第6章 Splunk平臺實踐 105
6.1 Splunk的基礎命令 105
6.1.1 Search(搜索)命令 105
6.1.2 SPL的命令分類 107
6.1.3 常用命令詳解 115
6.2 Splunk軟件的自動數據生成 119
6.2.1 生成數據 119
6.2.2 刪除無用數據 121
6.2.3 構造隨機數據 121
6.2.4 創建對數列和指數列 122
6.3 可視化展示 123
6.3.1 可視化圖 123
6.3.2 格式設置 123
6.3.3 保存和導入 123
6.3.4 圖形修改 125
6.4 官方幫助文檔 126
6.4.1 SPL語言目錄 126
6.4.2 命令分析實例 133
6.5 應用分析實例 137
6.5.1 案例 137
6.5.2 案例分析 137
6.5.3 創建記錄 137
6.5.4 增加統計值 138
6.5.5 創建test字段 138
6.5.6 錯誤解決 139
【思考題】 140
第7章 SPL案例編程 142
7.1 stats命令學習 142
7.2 數據下載和導入 144
7.2.1 數據下載 144
7.2.2 數據導入 145
7.3 問題描述及分析 148
7.3.1 自動生成的SPL語句 148
7.3.2 要求及分析 149
7.3.3 解決方案 150
【思考題】 151
第8章 數據導入及錯誤分析 153
8.1 背景知識介紹 153
8.1.1 時間戳 153
8.1.2 數據 153
8.2 數據選擇 154
8.2.1 導入數據入口 154
8.2.2 數據類型 154
8.3 時間戳錯誤 155
8.3.1 手機聯網數據導入 155
8.3.2 時間戳錯誤 157
8.4 問題分析及解決 157
8.4.1 問題分析 157
8.4.2 問題解決 158
8.5 導入配置 159
8.5.1 源類型設置 159
8.5.2 索引設置 160
8.5.3 導入成功及預覽 161
8.5.4 數據搜索及分析 162
【思考題】 163
第9章 聯網效率分析 164
9.1 原理及方法 164
9.1.1 效率分析 164
9.1.2 性能測試方法 164
9.2 常用分析命令 164
9.2.1 sort命令 164
9.2.2 timechart命令 165
9.2.3 outlier命令 166
9.2.4 eventstats命令 167
9.3 數據導入和處理 167
9.3.1 數據導入 167
9.3.2 從Wireshark代碼到Splunk代碼 167
9.3.3 字段調整 169
9.3.4 時間排序 171
9.3.5 數據分組 172
9.4 分析聯網效率 175
9.4.1 創建count字段 175
9.4.2 數據過濾 176
9.4.3 數據分析 176
【思考題】 180
第 10章 Linux部署 182
10.1 原理及方法 182
10.1.1 虛擬機 182
10.1.2 數據傳輸 183
10.2 軟件安裝及運行 184
10.2.1 在虛擬機中安裝Linux系統 184
10.2.2 在CentOS 7系統中安裝Splunk平臺 185
10.2.3 啟動Splunk 186
10.2.4 Splunk的運行演示 187
10.3 網絡配置 189
10.3.1 Ubuntu安裝 189
10.3.2 VMware網絡設置 190
10.3.3 網絡驗證 191
10.3.4 Ubuntu系統的網絡配置 192
10.3.5 運行Splunk 193
【思考題】 196
第 11章 大數據測試實踐 197
11.1 監測數據導入 197
11.1.1 運行Splunk 197
11.1.2 Web日志分析 197
11.1.3 Xftp連接 198
11.1.4 monitor方式 199
11.1.5 monitor數據導入 199
11.1.6 數據分析 203
11.1.7 查看文件和目錄 204
11.1.8 小結 205
11.2 數據缺陷挖掘 205
11.2.1 方法與思路 205
11.2.2 狀態碼 206
11.2.3 啟動Splunk服務 209
11.2.4 網絡聯通驗證 210
11.2.5 運行Splunk 212
11.2.6 返回操作 212
11.2.7 數據挖掘及分析 214
11.2.8 可視化展示 217
11.3 非結構化數據處理 220
11.3.1 非結構化數據 220
11.3.2 正則表達式 221
11.3.3 數據處理 226
【思考題】 240
思考題答案 242