新書推薦:

《
高句丽简史
》
售價:HK$
37.8

《
金钱心理学 (全新增订版)
》
售價:HK$
64.7

《
最后一件大事
》
售價:HK$
63.8

《
镜鉴日本:日本经济的经验与教训
》
售價:HK$
86.9

《
资产配置行动指南
》
售價:HK$
63.8

《
书籍的社会史-中华帝国晚期的书籍与士人文化(第二版)
》
售價:HK$
86.9

《
活出主体性
》
售價:HK$
75.9

《
中国城市复兴
》
售價:HK$
140.8
|
| 內容簡介: |
本书分为三篇:第一篇为软件测试实践,介绍软件测试的一些方法、工具化与自动化、各类专项测试、测试数据的管理等;第二篇聚焦于交付,探讨了不同的交付模型,并对测试工作进行了解构,给出了制订测试策略以及践行精益软件测试的方法;在第三篇中,作者分享了测试工作中的沟通与团队协调、角色定位方面的经验,探讨了测试工作相关的哲学与伦理等,并以测试策略的应用实战和AI工具的应用探索作为收尾。 本书系统呈现了现代软件测试策略的技术与方法论,可帮助测试人员、开发人员、产品经理等构建或完善自己的测试策略,从而掌握破解各类测试困境的能力。
|
| 目錄:
|
第一篇 软件测试实践 第1章 测试与测试设计 002 1.1 开始测试 002 1.2 完全测试? 003 1.2.1 EVP需求 004 1.2.2 形成bug根因清单 006 1.2.3 一个测试案例 007 1.3 软件测试方法 013 1.3.1 快速测试:空降测试员 014 1.3.2 测试设计:输入值覆盖 016 1.3.3 等价类划分与边界值 018 1.3.4 决策表 021 1.3.5 决策树 022 1.3.6 全对偶和结对测试 025 1.3.7 高容量自动化测试 028 1.3.8 其他测试方法 030 1.4 数据和可预测性:“先知”问题 031 1.5 本章回顾 033
第2章 工具与自动化的基本问题 034 2.1 技术要求 034 2.2 没有银弹 035 2.3 雷区回归问题:覆盖模型 036 2.4 海战棋问题:测试VS检查 039 2.4.1 将战舰看作bug 040 2.4.2 自动化VS人工 041 2.5 维护问题 042 2.5.1 构建自动化测试 042 2.5.2 全面自动化测试的风险 046 2.6 成本问题 047 2.7 谁来做自动化测试? 047 2.7.1 何时能看到结果? 048 2.7.2 不被理解的自动化测试 049 2.8 自动化测试思想 049 2.9 本章回顾 051
第3章 面向开发人员测试 052 3.1 技术要求 052 3.2 开发人员视角 053 3.2.1 测试和可靠性 054 3.2.2 六边形架构 054 3.3 FizzBuzz 056 3.4 单元测试 058 3.5 TDD 064 3.5.1 TDD编程 064 3.5.2 TDD编程结果 066 3.6 单元测试与单元代码设计 067 3.7 变异测试 070 3.8 测试Web API 073 3.9 测试功能性代码和遗留代码 076 3.10 罗马数字Kata 077 3.11 本章回顾 077
第4章 面向用户测试 079 4.1 技术要求 079 4.2 一项警示 080 4.3 人?还是工具? 081 4.4 GUI自动化测试模式 082 4.4.1 使用特定领域库消除重复 084 4.4.2 使用对象定位器消除重复 086 4.4.3 条件、循环结构和变量 086 4.4.4 断言和图像识别之间的取舍 090 4.5 设计自己的系统 091 4.5.1 引入实例化需求 092 4.5.2 实例化需求 095 4.6 低代码和无代码自动化测试 097 4.7 批处理与模型驱动测试自动化 098 4.8 本章是一个错误 100 4.9 本章回顾 101
第5章 专项测试 102 5.1 技术要求 102 5.2 负载测试和性能测试 102 5.2.1 负载测试基本知识 103 5.2.2 负载测试工具运用 104 5.3 安全测试 106 5.3.1 安全测试概念 106 5.3.2 常见的安全漏洞 107 5.3.3 了解行业标准 108 5.3.4 安全测试工具 108 5.4 无障碍性测试 109 5.4.1 什么是无障碍性? 109 5.4.2 倡导无障碍设计 110 5.4.3 无障碍性和包容性设计 111 5.4.4 了解WCAG标准 111 5.4.5 无障碍性测试工具 111 5.5 国际化和本地化 112 5.5.1 为国际化和本地化做准备 113 5.5.2 国际化和本地化工具 113 5.6 持续集成 114 5.6.1 CI和pipeline 114 5.6.2 测试人员参与构建管理 114 5.6.3 CI工具 115 5.7 合规测试 115 5.8 本章回顾 116
第6章 测试相关技术 117 6.1 技术要求 117 6.2 识别bug 118 6.2.1 软件测试中的“先知” 119 6.2.2 非注意盲视与“先知” 120 6.2.3 关于bug一词 122 6.3 编写bug报告 122 6.3.1 有效的bug报告 123 6.3.2 有效的复现步骤 125 6.4 测试计划和测试用例 128 6.5 度量与测量 130 6.6 项目预测 133 6.7 推动变革 134 6.8 总结信息 134 6.9 本章回顾 137
第7章 测试数据管理 138 7.1 技术要求 138 7.2 测试数据问题 139 7.2.1 数据组合问题 140 7.2.2 测试数据和数据库 141 7.3 标准数据种子 142 7.4 脚本化用户和结构 145 7.5 探索合成用户 146 7.6 利用生产数据 148 7.7 开发、测试和生产环境 149 7.8 测试数据法规 150 7.9 本章回顾 151
第二篇 测试与交付 第8章 交付模型与测试 154 8.1 技术要求 155 8.2 瀑布模型 155 8.2.1 瀑布模型的优势及其适用场景 158 8.2.2 V模型 158 8.2.3 迭代式、增量式和迷你瀑布模型 159 8.3 极限编程(XP) 161 8.4 Scrum和SAFe 163 8.4.1 Scrum的背景 164 8.4.2 SAFe及其背景 165 8.5 定制软件开发方法 167 8.5.1 敏捷宣言 168 8.5.2 语境驱动测试 169 8.5.3 原则实践的体现 170 8.5.4 将看板作为一种定制方法 170 8.6 持续交付和部署 171 8.7 DevOps、SRE和平台工程 172 8.8 本章回顾 173 8.9 扩展阅读 174
第9章 测试的构成元素 175 9.1 技术要求 176 9.2 配方:如何做困难的事情 176 9.2.1 配方的定义 177 9.2.2 配方是否应该全部自动化 179 9.2.3 配方是否与技术文档重合 180 9.3 覆盖程度:是否足够好地进行了测试 181 9.3.1 代码覆盖率的精准衡量 183 9.3.2 结束覆盖率的讨论 185 9.4 缺陷:软件的状态如何 185 9.5 排期和风险:测试想法太多,时间不足 186 9.6 策略:关于风险和优先级 187 9.7 仪表板:如何传达所知道的 189 9.8 本章回顾 191
第10章 制订测试策略 193 10.1 我们现在在做什么 193 10.1.1 填写表格 197 10.1.2 电梯演讲 198 10.2 风险普查 200 10.3 确定优先事项、时间管理和范围 204 10.4 今天的策略与明天的目标 206 10.5 本章回顾 206
第11章 精益软件测试 208 11.1 精益软件测试的定义 208 11.2 七大浪费 211 11.2.1 浪费1—运输 211 11.2.2 浪费2—库存 212 11.2.3 浪费3—动作 213 11.2.4 浪费4—等待 214 11.2.5 浪费5—过度加工 215 11.2.6 浪费6—过度生产 216 11.2.7 浪费7—缺陷 217 11.2.8 (新)浪费8—能力 219 11.2.9 消除测试中的浪费 219 11.3 流程 220 11.3.1 流程可视化 221 11.3.2 多任务处理 222 11.3.3 交付时间与周期时间 223 11.3.4 效率与拥堵 224 11.3.5 接触时间 225 11.3.6 Batch size 225 11.3.7 队列和效率 227 11.3.8 到达时间 227 11.3.9 创建拉式系统:限制在制品数量 228 11.3.10 发布节奏 228 11.4 单件流和持续交付 229 11.5 本章回顾 231
第三篇 职场实践 第12章 案例研究和经验报告 234 12.1 大规模的RCRCRC 235 12.1.1 一天的测试计划 236 12.1.2 RCRCRC分析 236 12.2 测试仪表板 238 12.3 结对编程与三人编程 240 12.3.1 专业能力的悖论 241 12.3.2 递交决策权 242 12.4 测试策略的演变 243 12.5 抵制欺凌行为 245 12.5.1 职场中的权力 246 12.5.2 一种处理方式 247 12.5.3 企业中的边界 248 12.5.4 自恋型沟通 249 12.5.5 捍卫边界 251 12.5.6 如果你选择留下来 252 12.6 本章回顾 253
第13章 测试活动和测试角色 254 13.1 技术要求 254 13.2 测试角色的文化冲突 254 13.2.1 我们是如何走到这一步的:坏消息 255 13.2.2 我们是如何走到这一步的:快速开发 257 13.3 建立风险管理团队 258 13.4 基于信念的测试自动化 261 13.4.1 背后的数字 262 13.4.2 可能的结果 263 13.5 左移和右移 264 13.6 真正的持续测试 264 13.7 本章回顾 266
第14章 软件测试中的哲学与伦理 267 14.1 哲学及其在测试中的重要性 267 14.1.1 迭代周期:视情况而定 268 14.1.2 守破离:循序渐进的学习模式 269 14.1.3 一个棘手的问题:你想要什么 270 14.2 测试中的伦理和伦理推理 272 14.2.1 道德框架 273 14.2.2 经典伦理挑战 275 14.3 测试中的伦理问题 276 14.3.1 跳过测试步骤 277 14.3.2 决策并非在会议中制定 278 14.4 科学思维和逻辑谬误 279 14.5 如何逃离“职场地狱” 281 14.6 本章回顾 283
第15章 词语和表述 284 15.1 语境驱动测试和其他学派 284 15.1.1 敏捷学派 285 15.1.2 DevOps或持续交付学派 285 15.1.3 分析学派 285 15.1.4 工厂学派 286 15.1.5 质量学派 286 15.1.6 语境驱动学派 286 15.2 准确的语言 288 15.3 词语的表述 290 15.4 流程与技能 292 15.4.1 测试和检查 294 15.4.2 质量保证 295 15.5 本章回顾 297 15.6 拓展阅读 297
第16章 测试策略应用 298 16.1 移动应用测试策略案例 298 16.1.1 移动应用程序 300 16.1.2 设计测试程序 300 16.1.3 系统协调与部署 303 16.1.4 人的因素 304 16.2 AI在软件测试中的应用 305 16.2.1 AI工具现状 306 16.2.2 应用AI进行测试 306 16.2.3 测试中其他形式的AI 309 16.2.4 AI测试的核心观点 310 16.3 关于测试的理念 310 16.4 本章回顾 312
|
|