关于《持续交付》这本书,有评论称之为“持续交付精华的蒸馏水”
“Continuous Delivery: Reliable Software Releases Through Build, Test, and and Deployment Automation”, Jez Humble, David Farley, Addison Wesley, 2010
- 京东中文版有售:https://item.jd.com/10843669.html
- 英文亚马逊地址: http://www.amazon.in/dp/0321601912
内容概要:
- 一本持续交付早期的书
- 它的出版其实在 DevOps 被热炒之前,但是它还是道出了DevOps概念的精华
- 此书分为三部分:Foundation, The Deployment Pipeline, 和 The Delivery Ecosystem
- 本书基于作者的时间经验,并涉及到重要的方面,如功能割接
以下是本章读书笔记脑图的图片以及之上的文字内容。
本图在Mac OS X上用MindNode软件编辑。下载MindNode原文件
CD-4-实施测试策略脑图文字导出版
引言
测试的定位
需要进行自动化测试
是跨部门的活动
整个团队的责任
项目一开始就进行
质量内嵌
-
多层次写自动化测试案例
-
作为部署流水线的一部分执行
测试策略的目标
识别和评估项目风险优先级
建立信心
测试能约束开发团队使用更好的开发实践
测试的分类
分类维度
业务导向
-
支持开发
-
评价项目
技术导向
-
支持开发
-
评价项目
四种定位
业务导向-支持开发过程
-
类型
-
功能测试或者验收测试
-
自动化执行
-
-
保证满足用户故事的需求
-
理想情况下
-
用户或客户会写验收测试
-
测试通过-覆盖到所有需求,用户故事被认为是完成的
-
-
自动化功能测试工具
-
Cucumber
-
JBehave
-
Concordion
-
Twist
-
-
测试执行路径
-
Happy path
-
given-when-then
-
自动化测试应该全覆盖
-
对于开发人员,它等同于冒烟测试
-
-
Alternate path
-
Sad path
-
-
测试覆盖率
-
手工测试是不可避免和替代的
-
易用性测试
-
界面一致性测试
-
探索性测试
-
-
高于80%
-
全面的测试
-
单元测试、组件测试和验收测试每一类都高于80%
-
-
-
优化
-
识别自动化案例
-
消除并自动化掉重复的手工测试
-
考虑测试的维护成本
-
根据不同的需求,选择新增的测试案例的路径
-
技术导向-支持开发过程
-
由开发人员建立并维护
-
自动化执行
-
三类
-
单元测试
-
不应该访问
-
数据库
-
文件系统
-
外部系统
-
-
不应该有组件之间的交互
-
覆盖每个代码的分支路径
-
-
组件测试
-
测试更大的功能集合
-
需要访问
-
数据库
-
文件系统
-
外部系统
-
-
有时候亦称“集成测试”
-
-
部署测试
-
检查部署的过程是否正确
-
应用正确地被
-
安装
-
配置
-
启动服务
-
服务能调用并响应
-
-
-
-
依赖
- 测试替身
业务导向-评价项目
-
手工执行
-
确认软件是否符合用户期望
-
建立快速有效的迭代反馈
-
-
三类
-
应用系统演示
- 团队在每个迭代完成向用户演示新功能
-
探索性测试
-
优化测试设计
-
分析测试信息
-
设计更优的测试
-
-
易用性测试
-
用户是否能容易地使用软件完成工作
-
验证软件是否能交付价值给用户
-
做法
-
场景调查
-
记录/分析测试用户的操作细节
-
请用户对软件的满意度打分
-
-
网站对部分特定用户的Beta测试
-
金丝雀发布
-
-
-
技术导向-评价项目
-
手工的或自动的
-
测试系统特性
-
容量
-
易用性
-
安全性
-
可变性
-
可用性
-
-
特点
-
低频
-
秏资源-耗时间
-
依赖特殊的环境/技能的人
-
依赖测试工具
-
通常与其他测试相比,频度低;并不是应该频度低
-
回归测试
-
跨象限
-
所有自动化测试的合集
测试替身
术语来源
作者:Gerard Meszaros
书籍:《xUnit Test Patterns》
test double
dummy object
fake object
stub
spy
mock
实战的情势和对策
新项目
有机会进入本书描绘的理想国
重要
-
一开始就要写自动化验收测试
-
精心编写验收测试
期望的良性循环
- 在正确的时机写测试会产出更好的代码
进行中的项目
引入点
-
最常见、最重要、最高价值的用例
-
把happy path用自动化测试覆盖
遗留系统
定义
- 无自动化测试的系统
和用户一起识别高价值的功能
- 用冒烟测试覆盖
仅写出出那些有价值的自动化测试
集成测试
上下文
-
和真实的外部依赖系统一起测
-
由外部服务商提供的替代系统
-
用自己创建的测试用具测
时机
-
尽早做自动化集成测试
-
作为发布计划的一部分
网友评论