大模型測試技術與實踐
陳磊
商品描述
本書共8章,第1章概述AI(Artificial Intelligence,人工智能)系統,介紹機器學習的模型和分類,以及AI系統對測試工程師“提出”的新問題等;第2章介紹數據的處理過程,以及數據的分組方法,詳細介紹依托測試數據的測試評價方法;第3章講解模型中超參數相關的概念,以及關於模型性能的評估指標,並介紹了較為主流的模型的基準測試;第4章重點介紹AI系統的測試用例設計方法,以及傳統軟件測試方法在AI系統測試中的應用,同時也介紹ChatGPT類應用中SSE(Server-Sent Events)協議的接口測試和LangSmith在測試過程中的使用方法;第5章介紹AI道德的驗證,這也是大模型涌現後絕大多數大模型專家所關註的內容,該章重點介紹大模型的“道德”內容及驗證方法;第6章介紹提示詞工程和軟件測試,我們既要能夠測試大模型的應用,也要能夠充分利用大模型完成測試工作,該章重點介紹通過提示詞工程利用大模型完成測試工作的方法;第7章介紹智能化測試,通過學習開源的智能化測試工具及實踐,讀者可親身體驗智能化測試的好處;第8章介紹了從AI算法的智能化測試到大模型的智能化測試的轉變的知識。
本書內容通俗易懂、實例豐富,適合大模型開發者、軟件測試人員,以及大模型愛好者閱讀和學習。
作者簡介
陳磊,曾任職京東測試架構師,阿裡雲有價值專家,華為雲有價值專家,中國商業聯合會因特網應用工作委員會智庫專家,中關村智聯軟件服務業質量創新聯盟軟件測試標準化技術委員會委員,中移聯合智庫專家, Asian Journal of Physical Education & Computer Science in Sports 編委會委員、 EXIN DOM 。《接口測試方法論》、《持續測試》、《軟件研發效能權威指南》《京東質量團隊轉型實踐:從測試到測試開發的蛻變》、《軟件研發行業創新實戰案例解析》、《信創產品測試》作者,在極客時間開設過專欄“接口測試入門課”,在拉勾教育開設過“軟件測試第一課”,擔任過《軟件研發質量管理體系白皮書》、《測試敏捷化白皮書》編委。具有多年質量工程技術實踐經驗,精通研發效能提升、手工測試團隊自動化測試轉型實踐、智能化測試等,公開發表學術論文近 30 篇,專利 20 餘篇,並且是國內 TID 、 NCTS 、 MAD 、 MPD 、 TICA 、China DevOpsdays 、 QECon、GOPS、GTest等技術峰會的演講嘉賓或出品人。
目錄大綱
第 1 章 AI 系統概述 001
1.1 AI 簡介 001
1.2 AI 系統的分類 003
1.3 機器學習的模型和分類 006
1.4 AIGC 是新趨勢 009
1.5 AI 系統對測試工程師提出的新問題 010
1.5.1 測試徹底變成黑盒測試 010
1.5.2 數據集劃分困難 011
1.5.3 測試預期變得模糊 011
1.5.4 偏見識別要求高 012
1.5.5 多種可能性導致需要重定判斷標準 013
1.6 小結 014
第 2 章 數據和測試評價 015
2.1 數據收集和清洗 015
2.2 數據標註 018
2.3 數據集劃分 021
2.3.1 留出法 023
2.3.2 自助法 023
2.3.3 交叉驗證法 024
2.4 依托測試數據的測試評價方法 026
2.5 小結 029
第 3 章 AI 模型評估 031
3.1 大模型中常用參數的含義 031
3.2 模型的性能度量 035
3.3 大模型的基準測試 038
3.3.1 面向自然語言處理能力的基準測試:GLUE 和 SuperGLUE 038
3.3.2 模型知識獲取能力的基準測試:MMLU、C-Eval 041
3.3.3 多指標綜合基準測試:HELM 043
002 大模型測試技術與實踐
3.4 小結 044
第 4 章 AI 系統測試的關鍵技術和實踐 045
4.1 功能測試和 AI 系統測試困局 045
4.2 蛻變測試 047
4.3 傳統軟件的測試實踐仍然有效 053
4.3.1 測試用例設計方法同樣有效 053
4.3.2 分層測試還會發揮作用 058
4.3.3 兼容性測試設計方法更加重要 059
4.3.4 性能測試仍然有效 063
4.4 ChatGPT 類應用中 SSE 協議的接口測試 067
4.4.1 SSE 協議簡介 067
4.4.2 SSE 服務端代碼 069
4.4.3 SSE 客戶端代碼 070
4.4.4 SSE 接口的測試腳本 072
4.5 LangSmith 幫助測試大模型系統的能力和效果 072
4.6 AI 系統的測試評估方法 078
4.7 小結 079
4.7.1 代碼自動化法 079
4.7.2 人工法 081
4.7.3 模型法 082
第 5 章 AI 道德的驗證和實踐方法 085
5.1 AI 道德 085
5.1.1 歧視 089
5.1.2 偏見 091
5.1.3 道德判斷 095
5.1.4 透明度 097
5.1.5 可信度 100
5.1.6 權利謀取 101
5.2 AI 道德的好幫手:Model Card 102
5.3 AI 道德的其他驗證和實踐方法 106
5.4 小結 109
第6章 提示詞工程和軟件測試 111
6.1 提示詞工程 111
6.1.1 提示詞 112
003 目 錄
6.1.2 提示詞的設計方法 116
6.2 大模型的思維鏈提示詞系統集成 127
6.2.1 通過思維鏈實現測試用例設計方法中的等價類劃分法 128
6.2.2 通過思維鏈實現測試用例設計方法中的因果圖法 138
6.3 通過LangChain封裝訊飛星火大模型的調用類 146
6.4 利用大模型生成數據 155
6.5 小結 157
第7章 智能化測試 159
7.1 智能化測試是發展的必然 159
7.2 分層測試中的智能化測試 163
7.2.1 開源的智能化單元測試 164
7.2.2 智能化接口測試設計思路 165
7.2.3 開源的智能化UI測試 171
7.3 小結 174
第8章 大模型下的智能化測試 175
8.1 大模型和測試技術 175
8.2 RAG 176
8.3 Embedding模型 178
8.4 SQLAlchemy實現數據庫的交互 179
8.4.1 使用filter_by()方法 179
8.4.2 使用filter()方法 180
8.4.3 使用join()方法 181
8.4.4 使用distinct()方法 182
8.4.5 使用order_by()方法 182
8.4.6 使用group_by()方法和having子句 182
8.5 通過LlamaIndex實現大模型SQL語句生成的3種方法詳解 183
8.5.1 查詢引擎 184
8.5.2 查詢時表提取 186
8.5.3 Retriever 187
8.6 LlamaIndex的NodeParser 188
8.6.1 文檔的NodeParser 189
8.6.2 HTML的NodeParser 190
8.6.3 JSON的NodeParser 190
8.6.4 Markdown的NodeParser 192
004 大模型測試技術與實踐
8.6.5 文檔分割 193
8.7 大模型雲服務生成接口測試腳本實戰 195
8.7.1 大模型雲服務的調用 195
8.7.2 接口測試腳本生成 201
8.7.3 接口測試的解決方案 207
8.8 本地大模型生成接口測試腳本實戰 212
8.8.1 Ollama在本地部署大模型 213
8.8.2 Ollama在局域網內部署訪問 214
8.8.3 Ollama常用命令 218
8.8.4 本地大模型驅動的接口測試實踐 219
8.9 基於大模型的Web自動化框架LaVague 221
8.10 小結 223
附錄A 225
附錄B 227
B.1 系統層指標 227
B.1.1 CPU指標 227
B.1.2 內存指標 228
B.1.3 磁盤指標 229
B.1.4 網絡指標 231
B.2 中間件層指標 232
B.2.1 網關 232
B.2.2 數據庫 233
B.2.3 緩存 234
B.2.4 MQ 235
B.2.5 分佈式存儲系統 236
B.3 應用層指標 236
B.3.1 響應時間 236
B.3.2 吞吐量 237
B.3.3 應用資源 238
B.3.4 線程池 239
B.3.5 垃圾回收 239
B.3.6 錯誤信息 241
B.4 業務層指標 242
B.5 壓力機指標 242