测试与调试

全屏查看

1 第一部分 软件测试基础 #

mindmap
    id1[第一部分 软件测试基础]
        id1-1[测试概念与原则]
            id1-1-1[软件测试定义与目标]
            id1-1-2[测试级别:单元测试、集成测试、系统测试、验收测试]
            id1-1-3[测试类型:功能测试、性能测试、安全测试、兼容性测试]
            id1-1-4[测试原则与最佳实践]
        id1-2[测试策略与方法]
            id1-2-1[黑盒测试与白盒测试]
            id1-2-2[静态测试与动态测试]
            id1-2-3[手动测试与自动化测试]
            id1-2-4[测试驱动开发 TDD 与行为驱动开发 BDD]
测试概念与原则
软件测试定义与目标
测试级别:单元测试、集成测试、系统测试、验收测试
测试类型:功能测试、性能测试、安全测试、兼容性测试
测试原则与最佳实践
测试策略与方法
黑盒测试与白盒测试
静态测试与动态测试
手动测试与自动化测试
测试驱动开发 TDD 与行为驱动开发 BDD

2 第二部分 Python 单元测试框架 #

unittest 框架
unittest 模块结构与核心概念
测试用例 TestCase 编写与组织
断言方法详解
测试固件 setUp/tearDown
测试套件 TestSuite 与测试运行器
跳过测试与预期失败
pytest 框架
pytest 安装与配置
测试函数与测试类编写
丰富的断言机制
固件 fixture 系统详解
参数化测试
插件系统与扩展功能
其他测试框架
doctest 模块
nose2 框架
测试框架比较与选择
mindmap
    id2[第二部分 Python 单元测试框架]
        id2-1[unittest 框架]
            id2-1-1[unittest 模块结构与核心概念]
            id2-1-2[测试用例 TestCase 编写与组织]
            id2-1-3[断言方法详解]
            id2-1-4[测试固件 setUp/tearDown]
            id2-1-5[测试套件 TestSuite 与测试运行器]
            id2-1-6[跳过测试与预期失败]
        id2-2[pytest 框架]
            id2-2-1[pytest 安装与配置]
            id2-2-2[测试函数与测试类编写]
            id2-2-3[丰富的断言机制]
            id2-2-4[固件 fixture 系统详解]
            id2-2-5[参数化测试]
            id2-2-6[插件系统与扩展功能]
        id2-3[其他测试框架]
            id2-3-1[doctest 模块]
            id2-3-2[nose2 框架]
            id2-3-3[测试框架比较与选择]

3 第三部分 高级测试技术 #

mindmap
    id3[第三部分 高级测试技术]
        id3-1[模拟与存根]
            id3-1-1[unittest.mock 模块]
            id3-1-2[MagicMock 与 Mock 对象]
            id3-1-3[补丁 patch 装饰器与上下文管理器]
            id3-1-4[模拟外部依赖与API调用]
        id3-2[测试覆盖率]
            id3-2-1[覆盖率概念与指标]
            id3-2-2[coverage.py 工具使用]
            id3-2-3[行覆盖率、分支覆盖率、语句覆盖率]
            id3-2-4[覆盖率报告生成与分析]
        id3-3[性能测试]
            id3-3-1[timeit 模块]
            id3-3-2[cProfile 与 profile 模块]
            id3-3-3[内存使用分析]
            id3-3-4[基准测试与性能优化]
模拟与存根
unittest.mock 模块
MagicMock 与 Mock 对象
补丁 patch 装饰器与上下文管理器
模拟外部依赖与API调用
测试覆盖率
覆盖率概念与指标
coverage.py 工具使用
行覆盖率、分支覆盖率、语句覆盖率
覆盖率报告生成与分析
性能测试
timeit 模块
cProfile 与 profile 模块
内存使用分析
基准测试与性能优化

4 第四部分 调试技术与工具 #

Python 调试器
pdb 命令行调试器
断点设置与执行控制
变量检查与调用栈跟踪
事后调试与核心转储分析
集成开发环境调试
PyCharm 调试功能
VS Code 调试配置
Jupyter Notebook 调试技巧
远程调试与多进程调试
日志与追踪
logging 模块配置与使用
日志级别与格式化
结构化日志记录
追踪执行流程与性能分析
mindmap
    id4[第四部分 调试技术与工具]
        id4-1[Python 调试器]
            id4-1-1[pdb 命令行调试器]
            id4-1-2[断点设置与执行控制]
            id4-1-3[变量检查与调用栈跟踪]
            id4-1-4[事后调试与核心转储分析]
        id4-2[集成开发环境调试]
            id4-2-1[PyCharm 调试功能]
            id4-2-2[VS Code 调试配置]
            id4-2-3[Jupyter Notebook 调试技巧]
            id4-2-4[远程调试与多进程调试]
        id4-3[日志与追踪]
            id4-3-1[logging 模块配置与使用]
            id4-3-2[日志级别与格式化]
            id4-3-3[结构化日志记录]
            id4-3-4[追踪执行流程与性能分析]

5 第五部分 自动化测试与持续集成 #

mindmap
    id5[第五部分 自动化测试与持续集成]
        id5-1[Web 应用测试]
            id5-1-1[Selenium WebDriver]
            id5-1-2[页面对象模式]
            id5-1-3[API 测试与 requests 库]
            id5-1-4[异步代码测试]
        id5-2[数据库测试]
            id5-2-1[测试数据库设置]
            id5-2-2[事务管理与测试隔离]
            id5-2-3[数据库迁移测试]
            id5-2-4[数据工厂与测试数据生成]
        id5-3[持续集成与部署]
            id5-3-1[Jenkins 集成测试]
            id5-3-2[GitHub Actions 自动化测试]
            id5-3-3[GitLab CI/CD 流水线]
            id5-3-4[测试环境管理与配置]
Web 应用测试
Selenium WebDriver
页面对象模式
API 测试与 requests 库
异步代码测试
数据库测试
测试数据库设置
事务管理与测试隔离
数据库迁移测试
数据工厂与测试数据生成
持续集成与部署
Jenkins 集成测试
GitHub Actions 自动化测试
GitLab CI/CD 流水线
测试环境管理与配置

6 第六部分 测试最佳实践与模式 #

测试代码质量
可维护的测试代码编写
测试命名规范
测试代码重构技巧
测试金字塔与测试策略
常见测试模式
测试替身 Test Doubles
测试数据构建器
给定-当-然后 Given-When-Then 模式
测试隔离与依赖注入
测试挑战与解决方案
测试异步代码
测试多线程应用
测试随机性与不确定性
遗留代码测试策略
mindmap
    id6[第六部分 测试最佳实践与模式]
        id6-1[测试代码质量]
            id6-1-1[可维护的测试代码编写]
            id6-1-2[测试命名规范]
            id6-1-3[测试代码重构技巧]
            id6-1-4[测试金字塔与测试策略]
        id6-2[常见测试模式]
            id6-2-1[测试替身 Test Doubles]
            id6-2-2[测试数据构建器]
            id6-2-3[给定-当-然后 Given-When-Then 模式]
            id6-2-4[测试隔离与依赖注入]
        id6-3[测试挑战与解决方案]
            id6-3-1[测试异步代码]
            id6-3-2[测试多线程应用]
            id6-3-3[测试随机性与不确定性]
            id6-3-4[遗留代码测试策略]