第 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