雷天鸣《机器学习测试入门与实践》一书核心作者
哈尔滨理工大学计算机科学 与技术系硕士,融 360 高级测试开发工程师。目前主要从事机器学习方向测试开 发工作,擅长大数据测试、模型算法评测、效能工具平台开发等,对 AI 技术及 应用有较深刻的理解。先后参与大数据测试平台(DQP)、特征自动分析(FAK)、模 型评估平台(NME)、模型监控平台(MPM)等多个 AI 工程技术平台建设。且多次受 邀参与企业内训交流,如:京东、字节等。
课程大纲
1. 精准测试及代码染色 |
1. 代码覆盖率的基本认识 1.1 测试覆盖率的分类 1.2 代码覆盖率的概念 1.3 代码覆盖率的指标 1.4 代码覆盖率的意义 1.5 代码覆盖率的局限性 2. 代码覆盖率的工具原理 2.1 代码覆盖率常用工具简介 2.2 Java JaCoCo工具 2.3 Php Php-code-coverage工具 2.4 Python Coverage.py工具 2.5 Go Goc工具 3. 代码覆盖率的应用场景 3.1 单元测试覆盖率 3.2 自动化测试覆盖率 3.3 人工测试覆盖率 3.4 代码覆盖率平台 3.5 基于代码覆盖率的精准测试 4. 代码覆盖率平台方案 4.1 需求分析 4.2 整体架构设计 4.3 关键模块实现 4.4 应用流程 4.5 经验总结 5. 精准测试方案 5.1 精准测试概述 5.2 精准测试整体方案 5.3 精准测试核心技术 5.4 精准测试关键实现 5.5 精准测试与CI/CD 6. 总结&QA |
2. 自动化单元测试 |
1 单元测试概述 1.1 什么是Java单元测试 1.2 为什么要做单元测试 1.3 单元测试的覆盖范围 2 单元测试入门 2.1 单元测试AIR原则 2.2 单元测试的粗粒度 2.3 单元测试的注意事项 2.4 单元测试的主要规范 2.5 单元测试的Demo示例 3 单元测试之Junit用法 3.1 什么是Junit 3.2 Junit Demo示例 3.3 Junit 常用注解 3.4 Junit 断言用法 3.5 Junit 异常测试 3.6 Junit 超时测试 4 单元测试之Mock技巧 4.1 什么是Mock 4.2 为什么需要Mock 4.3 Mockito框架介绍 4.4 Mockito的方法与局限 5 单元测试的度量分析 6 单元测试的常见误区 7 智能单测工具探索-EvoSuite 7.1 智能单测工具对比 7.2 EvoSuite功能介绍 7.3 EvoSuite插件应用-Eclipse插件 7.4 EvoSuite插件应用-IDEA插件 7.5 EvoSuite插件应用-Maven插件 7.6 EvoSuite基于Maven集成 7.7 EvoSuite代码覆盖率集成 7.8 EvoSuite单测用例详解 7.9 EvoSuite单测维护建议 7.10 EvoSuite源码解读分析 7.11 EvoSuite常见问题解决 |
3-4. AI+智能测试 |
1. 机器学习测试基础 1.1 机器学习基本概念 1.2 机器学习算法和应用 1.3 机器学习项目生命周期 1.4 机器学习项目测试的难点和重点 1.5 机器学习项目测试涉及到的测试方法 2. 特征评测 2.1 特征评测基础 2.2 特征评测方法 2.2.1 特征指标分析 2.2.2 特征稳定性分析 2.3 特征评测实践 2.4 特征监控 3. 模型算法评测 3.1 模型算法评测基础 3.1.1 模型算法评测概述 3.1.2 样本数据划分策略 3.1.3 统计学指标 3.1.4 算法评估指标 3.2 模型测试方法 3.2.1 蜕变测试 3.2.2 模糊测试 3.2.3 鲁棒性测试 3.2.4 模型A/B测试 3.3 模型监控 4. 机器学习工程实践 4.1 NME平台 4.1.1 需求分析 4.1.2 平台设计 4.1.3 平台演示 4.2 自动建模平台 4.3 模型监控平台 5. 智能化测试 5.1 现状介绍 5.2 智能化测试场景 5.3 智能化测试算法原理 5.4 案例介绍 5.5 未来展望 |
5. 大数据测试 |
1. 大数据基础知识 1.1 什么是大数据 1.2 大数据技术生态 1.3 数据仓库 1.4 大数据开发过程 2. 大数据质量保障 2.1 什么是大数据测试 2.2 大数据测试挑战 2.3 大数据测试与传统测试 2.4 大数据测试范围 2.5 大数据测试流程 2.6 大数据测试方法 2.6.1 基础功能测试 - HiveQL语法检查 - MR及Shell脚本测试 - 数据加载规则测试 - 数据存储测试 - 调度任务验证 - 规范验证 2.6.2 数据质量验证 - 准确性 - 完整性 - 一致性 - 唯一性 - 及时性 - 合法性 2.6.3 ETL测试 2.6.4 大数据基准测试 2.6.5 性能测试 2.6.6 其它测试方法 - 易用性测试 - 安全测试 - 稳定性测试 - 扩展性测试 3. 大数据平台建设 3.1 大数据测试平台背景 3.2 大数据测试平台技术调研 3.2.1 开源方案调研 3.2.2 商业方案调研 3.3 从0到1搭建大数据测试平台 3.3.1 需求分析 3.3.2 架构设计 3.3.3 模块设计 3.3.4 操作演示 3.3.5 经验总结 |