01
课程导学与联动概念
什么是测试插入?什么是缺陷定位?为什么需要联动?课程目标与学习路径。
导学概念
02
测试插入基础
测试插入的定义、核心价值、常见应用场景(CI/CD、代码审查)。
CI/CD基础
03
缺陷定位基础
缺陷定位的定义、常用方法(日志分析、断点调试、二分法)。
调试日志
04
联动机制原理
测试结果如何触发定位流程?数据流与信号流设计。
架构信号
05
环境搭建
Python虚拟环境、pytest、unittest、日志库(logging)安装与配置。
配置工具
06
第一个联动Demo
编写一个简单的计算器函数,插入测试,当测试失败时自动打印错误堆栈。
Demo实战
07
断言的艺术
assert语句详解、自定义断言消息、软断言与硬断言的选择。
断言技巧
08
日志系统设计
logging模块的Logger、Handler、Formatter配置,日志分级与动态开关。
logging配置
09
异常捕获与上下文
try-except-finally、with语句、contextlib.contextmanager在测试中的应用。
异常上下文
10
测试夹具(Fixture)
pytest fixture详解、作用域(scope)、自动使用(autouse)、参数化。
fixturepytest
11
参数化测试
pytest.mark.parametrize、笛卡尔积、从文件/数据库读取参数。
参数化数据驱动
12
Mock与桩
unittest.mock基础、patch装饰器、模拟外部API调用。
Mock桩
13
代码覆盖率
coverage.py工具使用、行覆盖与分支覆盖、覆盖率报告解读。
覆盖率质量
14
静态分析联动
pylint/flake8集成,代码规范问题自动触发缺陷定位。
静态分析lint
15
Git Hooks联动
pre-commit钩子、pre-push钩子,提交前自动运行测试并定位。
GitHooks
16
CI/CD集成
GitHub Actions配置,测试失败自动创建Issue并关联代码行。
CI/CDActions
17
数据库测试与定位
pytest-django/pytest-sqlalchemy,测试数据回滚与SQL日志定位。
数据库回滚
18
API测试与定位
requests + pytest,响应断言失败时自动抓取请求/响应体。
APIrequests
19
UI测试与定位
Selenium + pytest,截图失败、DOM状态导出、视频录制。
SeleniumUI
20
性能测试与定位
locust + pytest,响应时间超时自动触发cProfile分析。
性能cProfile
21
多线程/异步测试
pytest-asyncio、concurrent.futures,死锁检测与超时定位。
异步多线程
22
分布式测试联动
pytest-xdist,多进程测试失败时聚合日志与堆栈。
分布式xdist
23
自定义插件开发
pytest插件hookspec,实现测试失败自动发送钉钉/邮件。
插件通知
24
报告生成与可视化
allure-pytest集成,失败用例自动关联缺陷截图与日志。
Allure报告
25
机器学习辅助定位
基于历史失败模式,预测最可能出错的代码模块。
ML预测
26
混沌工程与联动
故障注入(chaostoolkit),测试失败自动回滚并定位根因。
混沌故障注入
27
安全测试联动
bandit + pytest,安全漏洞扫描失败自动定位危险函数。
安全bandit
28
大型项目实战
微服务架构下,跨服务测试失败的全链路追踪与定位。
微服务全链路
29
度量与改进
MTTR(平均修复时间)度量、定位效率分析、持续优化策略。
度量MTTR
30
课程总结与展望
知识体系回顾、最佳实践清单、未来趋势(AI驱动测试)。
总结AI