{"page_raw": "无", "header": "无", "footer": "无", "body": "5.2.3 字符串或数组越界错误\n5.2.4 资源不合理使用\n5.2.5 不当使用 synchronized 导致系统性能下降\n5.3 代码静态检测工具\n5.3.1 FindBugs 检查代码缺陷\n5.3.2 PMD 检查代码缺陷\n5.3.3 Checkstyle 检查代码风格\n5.3.4 SonarQube 构建自动的代码扫描\n5.4 单元测试的目标和任务\n5.4.1 为何要进行单元测试\n5.4.2 单元测试的目标和要求\n5.4.3 单元测试的任务\n5.4.4 驱动程序与桩程序\n5.4.5 类测试\n5.5 分层单元测试\n5.5.1 Action 层的单元测试\n5.5.2 数据访问层的单元测试\n5.5.3 Servlet 的单元测试\n5.6 单元测试工具\n5.6.1 JUnit 介绍\n5.6.2 IntelliJ IDEA 中的 JUnit 应用举例\n5.6.3 Mock 框架 Mockito\n5.6.4 测试覆盖率工具 JaCoCo\n5.6.5 JUnit 5 + Gradle 构建自动的单元测试\n5.6.6 开源的单元测试工具\n5.7 系统集成的模式与方法\n5.7.1 单体架构的集成测试\n5.7.2 微服务架构的集成测试\n5.7.3 持续集成及其测试\n小结\n思考题\n实验2 单元测试实验\n第6章 系统功能测试\n6.1 系统功能测试思路和方法\n6.1.1 功能测试要求和基本思路\n6.1.2 面向接口的功能测试\n6.1.3 面向 UI 的功能测试\n6.2 功能测试自动化\n6.2.1 基于接口的自动化测试", "page_num": null, "parse_ok": false, "fallback": "plain-vl", "model": "deepseek-v4-flash-vision-exp", "stem": "第004页_1788967889249", "at": "2026-09-09T23:38:12"}