《Google软件测试之道》是一本讲述Google软件测试理念和实践的书。
本文摘抄了书中让我醍醐灌顶的金句,包括测试理念、测试方法、测试文化,以及我的感悟。
一、关于测试理念
1. 测试不是找bug,而是预防bug
"测试的目的不是找bug,而是预防bug。"
这句话让我醍醐灌顶。
- 以前以为测试就是找bug
- 原来测试更重要的是预防
- 在开发阶段就考虑测试
- 从源头减少bug
- 测试是质量保障,不是质量检查
预防,比治疗更重要。
2. 质量是构建出来的,不是测试出来的
"质量是构建出来的,不是测试出来的。"
这句话很深刻。
- 质量不是靠测试测出来的
- 是靠开发过程构建出来的
- 好的代码,好的设计
- 好的流程,好的文化
- 测试只是最后一道防线
质量,是构建出来的。
3. 开发者对质量负责
"开发者对质量负责,测试人员只是辅助。"
这句话改变了我的认知。
- 以前以为测试人员对质量负责
- 原来开发者才是第一责任人
- 开发者要写测试
- 开发者要保证代码质量
- 测试人员是教练,不是守门员
开发者,是质量的第一责任人。
4. 测试是开发的一部分
"测试不是开发之后的阶段,而是开发的一部分。"
这句话很重要。
- 测试和开发不是分离的
- 测试贯穿整个开发过程
- 需求阶段就开始测试
- 设计阶段就开始测试
- 编码阶段就开始测试
测试,是开发的一部分。
二、关于测试方法
1. 测试金字塔
"测试金字塔:单元测试最多,集成测试次之,端到端测试最少。"
测试金字塔,是测试的经典模型。
- 单元测试:快速、稳定、便宜
- 集成测试:中等
- 端到端测试:慢、不稳定、贵
- 底层测试多,上层测试少
- 合理分配测试资源
测试金字塔,指导测试策略。
2. 快速反馈
"测试要快速反馈,慢的测试等于没有测试。"
这句话很有道理。
- 测试要快
- 几分钟内出结果
- 开发者才能频繁运行
- 慢的测试,没人愿意跑
- 等于没有测试
速度,是测试的生命线。
3. 自动化优先
"能自动化的测试,都要自动化。"
自动化,是测试的趋势。
- 重复的测试,自动化
- 回归测试,自动化
- 手工测试只做探索性测试
- 自动化提高效率
- 自动化保证一致性
自动化,是测试的未来。
4. 测试数据很重要
"测试数据和测试用例一样重要。"
这句话提醒了我。
- 好的测试数据
- 能覆盖各种场景
- 能发现更多bug
- 测试数据要精心设计
- 不要只用简单数据
测试数据,是测试的基础。
三、关于测试文化
1. 测试人人有责
"测试不是测试团队的事,是每个人的事。"
这句话是测试文化的核心。
- 产品经理要考虑测试
- 设计师要考虑测试
- 开发者要写测试
- 测试人员要推动测试
- 全员参与,质量才有保障
测试,人人有责。
2. 不怕犯错,怕不改正
"不怕犯错,怕不改正。"
这句话很宽容,也很有力量。
- 犯错是正常的
- 关键是要改正
- 从错误中学习
- 建立容错的文化
- 鼓励试错
犯错,是学习的机会。
3. 持续改进
"测试不是一次性的,是持续改进的过程。"
这句话很对。
- 测试要持续改进
- 不断优化测试用例
- 不断优化测试流程
- 不断优化测试工具
- 没有最好,只有更好
持续改进,是测试的常态。
4. 测试是投资,不是成本
"测试是投资,不是成本。"
这句话改变了很多人的看法。
- 测试不是花钱
- 是投资
- 投资质量
- 投资未来
- 好的测试,能省更多钱
测试,是投资。
四、关于测试人员
1. 测试人员是质量教练
"测试人员不是守门员,是质量教练。"
这句话重新定义了测试人员。
- 不是最后把关的人
- 是帮助团队提高质量的人
- 教开发者写测试
- 推动测试文化
- 建立测试体系
测试人员,是质量教练。
2. 测试人员要懂技术
"测试人员要懂技术,不懂技术的测试人员没有未来。"
这句话很现实。
- 测试人员要会写代码
- 要会写自动化测试
- 要会分析问题
- 要会用工具
- 纯手工测试,越来越少
技术,是测试人员的基本功。
3. 测试人员要懂业务
"测试人员要懂业务,不懂业务的测试是无效的。"
这句话也很对。
- 测试人员要理解产品
- 要理解用户
- 要理解业务逻辑
- 才能写出有效的测试
- 才能发现真正的问题
业务,是测试的灵魂。
4. 测试人员要会沟通
"测试人员要会沟通,沟通能力比技术能力更重要。"
这句话很有道理。
- 测试人员要和开发者沟通
- 要和产品经理沟通
- 要和管理层沟通
- 推动质量改进
- 沟通能力很重要
沟通,是测试人员的核心能力。
五、关于自动化测试
1. 自动化不是银弹
"自动化不是银弹,不能解决所有问题。"
这句话很清醒。
- 自动化很重要
- 但不是万能的
- 有些测试适合手工
- 有些测试适合自动化
- 要合理选择
自动化,不是银弹。
2. 自动化测试也要维护
"自动化测试也是代码,也要维护。"
这句话提醒了我。
- 自动化测试不是写完就完了
- 要持续维护
- 代码变了,测试也要变
- 不维护的自动化测试
- 会变成负担
维护,是自动化的关键。
3. 稳定的自动化才有价值
"不稳定的自动化测试,比没有测试更糟。"
这句话很深刻。
- 自动化测试要稳定
- 不稳定的测试
- 经常误报
- 大家就不相信了
- 比没有测试更糟
稳定,是自动化的生命线。
4. 自动化要分层
"自动化要分层,不要什么都端到端。"
这句话是测试金字塔的延伸。
- 单元测试自动化
- 集成测试自动化
- 端到端测试自动化
- 分层自动化
- 各层各司其职
分层,是自动化的原则。
六、关于持续集成
1. 持续集成是测试的基础设施
"持续集成是测试的基础设施,没有CI就没有高效的测试。"
这句话很对。
- CI让测试自动运行
- 每次提交都跑测试
- 快速发现问题
- 保证代码质量
- CI是测试的基础
CI,是测试的基础设施。
2. 构建要快
"CI构建要快,慢的CI等于没有CI。"
这句话和快速反馈一脉相承。
- CI要快
- 几分钟内完成
- 开发者才能频繁提交
- 慢的CI
- 大家就不想用了
速度,是CI的关键。
3. 红灯要立即修
"CI红灯要立即修,不要带着红灯继续开发。"
这句话是纪律。
- CI红了,说明有问题
- 要立即修
- 不要不管
- 不要带着问题继续
- 红灯是团队的事
红灯,是紧急事件。
七、我的感悟
1. 测试思维很重要
第一个感悟:测试思维很重要。
- 不只是测试人员
- 每个人都要有测试思维
- 考虑边界情况
- 考虑异常情况
- 考虑用户场景
测试思维,是一种思维方式。
2. 质量是文化
第二个感悟:质量是文化。
- 不是靠流程
- 不是靠工具
- 是靠文化
- 每个人都重视质量
- 质量才有保障
质量,是文化。
3. 测试要左移
第三个感悟:测试要左移。
- 测试不要等到最后
- 要提前
- 需求阶段就开始
- 设计阶段就开始
- 越早发现问题,成本越低
左移,是测试的趋势。
4. 测试要右移
第四个感悟:测试也要右移。
- 测试不要只在发布前
- 发布后也要测试
- 监控生产环境
- 收集用户反馈
- 持续改进
右移,也是测试的趋势。
5. 测试是终身学习
第五个感悟:测试是终身学习。
- 技术在变
- 方法在变
- 工具在变
- 要持续学习
- 才能跟上时代
学习,是测试人员的常态。
八、写在最后
《Google软件测试之道》,这些话让我醍醐灌顶。
测试不是找bug,而是预防bug;质量是构建出来的,不是测试出来的;开发者对质量负责;测试是开发的一部分。测试金字塔、快速反馈、自动化优先、测试数据很重要。测试人人有责、持续改进、测试是投资。测试人员是质量教练,要懂技术、懂业务、会沟通。
2023年了,软件测试的理念在不断发展,但核心的思想是不变的:质量是构建出来的,测试是开发的一部分,人人有责,持续改进。
最后,用一句话总结:"测试不是找bug,而是预防bug;质量是构建出来的,不是测试出来的。测试人人有责,持续改进,质量才有保障。"
愿这些金句,也能让你醍醐灌顶。
评论(0)
暂无评论,快来抢沙发~
评论功能仅对会员开放,请先登录
登录