关于我们
书单推荐
新书推荐
|
敏捷测试价值观、方法与实践——传统测试人员转型宝典 读者对象:测试总监、测试经理、测试主管等测试行业的测试管理者,测试工程师、自动化测试工程师等具体执行层面的测试相关从业人员,敏捷教练或Scrum Master 等敏捷从业人员,计算机相关专业的学生。
随着近几年敏捷开发方法的流行,市面上已经出现不少与敏捷相关的书籍。但遗憾的是,这些著作大多从开发或项目管理的角度阐述,没有从测试的视角阐述。在敏捷环境下测试该怎么做,测试人员依然没有答案。本书从敏捷与测试相融合的角度出发,通过对文化、组织、流程和实践4 个维度层层剖析,总结出一套从瀑布模型到敏捷模式的转型框架,为广大测试人员提供借鉴。本书理论与实践相结合,适用的读者非常广泛,可以是测试总监、测试经理、测试主管等测试行业的测试管理者,也可以是测试工程师、自动化测试工程师等具体执行层面的测试相关从业人员,对于敏捷教练或Scrum Master 等敏捷从业人员来说,这也是一本难得的测试领域的敏捷图书。当然,这本书也适合计算机相关专业的学生阅读。
陈晓鹏,20多年软件行业从业经验,主要集中在软件测试及项目管理领域。曾担任埃森哲卓越测试中心负责人,也曾在IBM、德勤、网易等国内外知名公司工作,致力于研究敏捷与测试、项目管理之间的结合方向。顾宇,现腾讯PCG平台与内容事业群技术战略中心研发效能专家,长期专注于企业数字化转型、企业IT治理和软件研发效能提升,并在其中综合应用规模化敏捷(SAFe?)、领域驱动设计(DDD)、微服务架构、DevOps和云原生技术。在多年的转型咨询和软件开发中积累了丰富的落地经验。陈能技,20多年测试与质量管理行业经验,《性能测试诊断分析与优化》《大规模组织DevOps实践》等畅销书作者,曾为多家企业提供DevOps体系建设、DevOps平台设计、研发数字化转型咨询服务。
第1 篇 敏捷测试基础
第1 章 敏捷的定义 ............................................................................................................... 002 1.1 软件工程发展史 ...................................................................................................... 002 1.1.1 软件工程的前世今生 .................................................................................. 002 1.1.2 瀑布模型的局限 .......................................................................................... 003 1.2 什么是敏捷 .............................................................................................................. 004 1.2.1 敏捷的起源 .................................................................................................. 004 1.2.2 敏捷的定义 .................................................................................................. 006 1.3 敏捷Scrum 介绍 ..................................................................................................... 008 1.3.1 Scrum 的起源 ............................................................................................... 008 1.3.2 Scrum 核心内容 ........................................................................................... 009 1.4 规模化敏捷 .............................................................................................................. 012 1.4.1 SAFe 框架 .................................................................................................... 012 1.4.2 Scrum@Scale 框架 ...................................................................................... 013 1.4.3 LeSS 框架 .................................................................................................... 013 1.5 本章小结 .................................................................................................................. 014 第2 章 敏捷测试 ................................................................................................................... 016 2.1 在敏捷环境下的传统测试 ...................................................................................... 016 2.1.1 在敏捷环境下传统测试面临的困境 .......................................................... 016 2.1.2 在敏捷环境下传统测试面临的挑战 .......................................................... 016 2.2 敏捷测试的概念 ...................................................................................................... 017 2.2.1 敏捷测试的定义 .......................................................................................... 017 2.2.2 敏捷测试的核心内涵 .................................................................................. 018 2.3 敏捷测试宣言 .......................................................................................................... 018 2.3.1 什么是敏捷测试宣言 .................................................................................. 018 2.3.2 敏捷测试宣言解读 ...................................................................................... 019 2.4 敏捷测试的特点与价值 .......................................................................................... 021 2.4.1 敏捷测试的特点 .......................................................................................... 021 2.4.2 敏捷测试与传统测试的差异 ...................................................................... 022 2.4.3 敏捷测试的价值 .......................................................................................... 023 2.5 本章小结 .................................................................................................................. 024 4.5 敏捷中的测试度量 .................................................................................................. 060 4.6 本章小结 .................................................................................................................. 061 第3 篇 敏捷测试实践 第5 章 敏捷测试实践框架 ................................................................................................... 064 5.1 敏捷测试象限 .......................................................................................................... 064 5.1.1 敏捷测试象限起源 ...................................................................................... 064 5.1.2 敏捷测试象限介绍 ...................................................................................... 065 5.2 测试金字塔 .............................................................................................................. 066 5.2.1 传统测试V 模型存在的问题 ..................................................................... 066 5.2.2 测试金字塔介绍 .......................................................................................... 067 5.2.3 分层自动化测试 .......................................................................................... 068 5.3 测试自动化与自动化测试 ...................................................................................... 069 5.3.1 测试自动化与自动化测试的区别 .............................................................. 069 5.3.2 测试自动化的目的 ...................................................................................... 069 5.3.3 增强的分层自动化 ...................................................................................... 070 5.3.4 自动化测试工具的选型策略 ...................................................................... 071 5.3.5 自动化测试框架介绍 .................................................................................. 072 5.3.6 什么样的项目适合测试自动化 .................................................................. 075 5.4 敏捷测试实践框架 .................................................................................................. 075 5.4.1 敏捷测试实践框架概述 .............................................................................. 075 5.4.2 敏捷测试实践活动与赋能 .......................................................................... 076 5.5 本章小结 .................................................................................................................. 077 第6 章 敏捷功能性测试实践 ............................................................................................... 078 6.1 测试驱动开发(TDD) .......................................................................................... 078 6.1.1 什么是单元 .................................................................................................. 078 6.1.2 什么是单元测试 .......................................................................................... 078 6.1.3 什么是TDD ................................................................................................. 079 6.1.4 TDD 实例 ..................................................................................................... 081 6.1.5 模拟对象 ...................................................................................................... 089 6.1.6 采用自动化构建工具管理自动化测试任务 .............................................. 100 6.1.7 生成单元测试分析报告 .............................................................................. 101 6.1.8 代码覆盖率的意义 ...................................................................................... 104 6.2 验收测试驱动开发(ATDD) ............................................................................... 106 6.2.1 什么是验收测试 .......................................................................................... 107 6.2.2 验收测试和单元测试的关系 ...................................................................... 109 6.2.3 ATDD 的实践 .............................................................................................. 110 6.2.4 采用Robot Framework 实现自动化验收测试 ........................................... 112 6.3 行为驱动开发(BDD) ......................................................................................... 120 6.3.1 什么是BDD ................................................................................................. 120 6.3.2 使用Cucumber 进行BDD .......................................................................... 122 6.3.3 使用Cucumber 和Selenium 对Web 页面的行为进行测试 ...................... 135 6.3.4 BDD 的落地策略 ......................................................................................... 145 6.4 API 测试 .................................................................................................................. 151 6.4.1 API 基础介绍 ............................................................................................... 151 6.4.2 介绍Web Services ....................................................................................... 152 6.4.3 在项目中如何进行API 测试 ...................................................................... 155 6.4.4 服务虚拟化和测试替身 .............................................................................. 159 6.4.5 API 测试工具需要具备的功能 .................................................................. 164 6.4.6 API 测试实例 ............................................................................................... 165 6.5 微服务测试 .............................................................................................................. 169 6.5.1 微服务介绍 .................................................................................................. 170 6.5.2 微服务测试难点 .......................................................................................... 170 6.5.3 契约测试 ...................................................................................................... 171 6.5.4 契约测试与其他测试的区别 ...................................................................... 172 6.5.5 契约测试常见测试框架与测试实例 .......................................................... 173 ?小技巧:在项目一开始就使用独立的契约测试仓库 ...................................... 196 6.5.6 契约测试的价值 .......................................................................................... 196 6.6 探索式测试 .............................................................................................................. 197 6.6.1 传统脚本测试的局限 .................................................................................. 197 6.6.2 探索式测试介绍 .......................................................................................... 197 6.6.3 探索式测试与脚本测试的区别 .................................................................. 198 6.6.4 探索式测试与随机测试的区别 .................................................................. 199 6.6.5 探索式测试的适用场景 .............................................................................. 200 6.6.6 探索式测试执行实例 .................................................................................. 200 6.7 本章小结 .................................................................................................................. 204 第7 章 敏捷非功能性测试实践 ........................................................................................... 206 7.1 性能测试 .................................................................................................................. 206 7.1.1 性能测试定义 .............................................................................................. 206 7.1.2 性能测试目标 .............................................................................................. 206 7.1.3 性能测试的类型 .......................................................................................... 207 7.1.4 性能测试的流程 .......................................................................................... 209 7.1.5 敏捷中的性能测试 ...................................................................................... 210 7.1.6 敏捷性能测试实例 ...................................................................................... 212 7.2 安全测试 .................................................................................................................. 217 7.2.1 安全威胁的类型 .......................................................................................... 217 7.2.2 安全测试的定义与分类 .............................................................................. 218 7.2.3 安全测试技术介绍 ...................................................................................... 219 7.2.4 常见Web 应用系统安全测试工具 ............................................................. 222 7.2.5 敏捷Web 安全测试实例 ............................................................................. 222 7.3 可用性测试 .............................................................................................................. 229 7.3.1 可用性原则 .................................................................................................. 229 7.3.2 可用性测试的定义 ...................................................................................... 230 7.3.3 可用性测试的价值 ...................................................................................... 230 7.3.4 可用性测试技术 .......................................................................................... 231 7.3.5 可用性测试实验室 ...................................................................................... 232 7.3.6 寻找测试参与者 .......................................................................................... 232 7.3.7 时间线 .......................................................................................................... 233 7.3.8 可用性测试过程实例 .................................................................................. 234 7.4 本章小结 .................................................................................................................. 240 第8 章 敏捷测试延伸实践 ................................................................................................... 241 8.1 持续集成 .................................................................................................................. 241 8.1.1 持续集成的定义 .......................................................................................... 241 8.1.2 持续集成与测试 .......................................................................................... 242 8.1.3 与测试相关的持续集成实践 ...................................................................... 243 8.1.4 基于Jenkins 和Docker 的微服务持续集成案例 ....................................... 244 8.2 持续部署 .................................................................................................................. 260 8.2.1 持续部署实践 .............................................................................................. 260 8.2.2 基于环境的部署 .......................................................................................... 261 8.2.3 基于应用的部署 .......................................................................................... 263 8.3 持续反馈 .................................................................................................................. 263 8.3.1 A/B 测试 ...................................................................................................... 263 8.3.2 混沌工程 ...................................................................................................... 265 8.3.3 生产环境测试 .............................................................................................. 269 8.4 DevOps ..................................................................................................................... 271 8.4.1 DevOps 的由来 ............................................................................................ 271 8.4.2 DevOps 三步工作法 .................................................................................... 271 8.4.3 DevOps 与测试 ............................................................................................ 272 8.4.4 DevOps 与敏捷测试的集成指导原则 ........................................................ 273 8.5 本章小结 .................................................................................................................. 274 第4 篇 敏捷测试案例 第9 章 小型敏捷团队的测试实践案例 ............................................................................... 276 9.1 项目背景 .................................................................................................................. 276 9.2 团队成员 .................................................................................................................. 277 9.2.1 团队角色和组织 .......................................................................................... 277 9.2.2 价值交付责任人 .......................................................................................... 278 9.3 测试策略和测试流程 .............................................................................................. 278 9.3.1 测试用例策略 .............................................................................................. 280 9.3.2 ATDD 流程 .................................................................................................. 281 9.4 持续集成策略 .......................................................................................................... 282 9.5 本章小结 .................................................................................................................. 283 第10 章 规模化敏捷软件开发团队的测试实践案例 ......................................................... 284 10.1 规模化敏捷框架简介 ............................................................................................ 284 10.2 案例背景 ................................................................................................................ 286 10.3 根据SAFe 需求模型重新梳理需求,提升需求质量 ......................................... 288 10.3.1 史诗及其质量要点说明 ............................................................................ 290 10.3.2 特性及其质量要点说明 ............................................................................ 292 10.3.3 故事及其质量要点说明 ............................................................................ 295 10.4 建立各粒度需求的管理组织和流转机制,将质量要求逐级分解 .................... 297 10.4.1 从精益敏捷卓越中心开始 ........................................................................ 297 10.4.2 成立精益投资组合管理委员会并形成史诗看板 .................................... 298 10.4.3 成立产品和解决方案管理委员会并建立产品开发看板......................... 302 10.4.4 组建敏捷发布火车、解决方案火车和各敏捷软件开发团队看板 ......... 304 10.4.5 各级别需求看板的级联流转机制 ............................................................ 306 10.5 启动敏捷发布火车,构建质量的反馈闭环 ........................................................ 308 10.5.1 PI 规划会.................................................................................................... 310 10.5.2 PI 执行中的发布火车同步会 .................................................................... 315 10.5.3 PI 的系统演示会 ........................................................................................ 315 10.5.4 准备PI 规划会 ........................................................................................... 316 10.5.5 检查和适配会 ............................................................................................ 316 10.6 规模化敏捷团队的测试策略和转型建议 ............................................................ 318 10.6.1 让企业高管参与提升软件质量的相关活动 ............................................ 318 10.6.2 采用BDD 作为开发流程 .......................................................................... 318 10.6.3 维持敏捷团队中测试人员的占比,促进测试“左移” ........................ 319 10.6.4 组建共享测试团队,并使其参与产品管理委员会 ................................ 319 10.6.5 通过DevOps 流水线维持单元测试覆盖率基线 ..................................... 320 10.6.6 调整度量考核体系 .................................................................................... 320 10.7 本章小结 ................................................................................................................ 321 参考文献 ··································································································.322
你还可能感兴趣
我要评论
|