猜你喜欢
软件测试价值提升之路

软件测试价值提升之路

书籍作者:杨晓慧 ISBN:9787111550327
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:6033
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
本书作者根据自己多年测试、研发与实战经验总结了软件测试的实现价值,提出了主要遇到的问题和关键技术。主要内容包括三个部分:第壹部分“引出问题”介绍为何研发、测试自身对测试的价值产生的质疑,以及实践中的测试价值,介绍google、微软、腾讯、华为的测试团队职责,引出测试挑战和价值实现的思路。第二部分“基础价值”介绍测试必须具备的价值,即测试应该有的价值,如发现缺陷、给出性能指标、建设团队的测试能力等。这是进一步拓展测试价值的基础。第三部分“拓展价值”介绍测试可以实现的价值,即测试有条件做到的那些价值,如改善研发过程质量、提升交付效率等。原有的能力加上新的能力和责任,形成值得测试去拓展的、新的价值外延。
前言

  一今天是端午节,又称诗人节,想到诗人。什么是诗人呢?虽然现在欣赏诗的机会比较少,然而在大学时代读了不少雪莱、拜伦、普希金等诗人的诗。在我的印象中,诗人是浪漫的,充满着理想主义色彩,用其大爱之心、用其智慧的言辞引领世人走出迷惘、迈向光明。今天,在这个特殊的日子为《软件测试价值提升之路》一书写序,更能感觉作者有着诗人般的情怀。作者没有去写云服务的测试,虽然作者也曾多年置身于云服务产品测试之中;作者也没写敏捷测试,虽然敏捷开发模式席卷全世界,华为从2008年就开始推敏捷开发。作者却追求朴素又古老的一个主题—软件测试的价值,通过作者在华为公司十几年软件测试的历练,来呈现如何实现测试价值、如何突破传统的测试价值、如何不断提升测试价值之路。而在整个呈现过程中,没有说教,而是靠点点滴滴的实践,帮助我们打开一扇重新认识和实现软件测试价值之门。今天,当我们面对移动互联、DevOps、敏捷开发等新环境的挑战,更需要把握对软件测试价值的正确理解,才能摆脱迷茫,也才能发挥测试人员应用的价值。
  我和作者(华为人喊她杨总)已认识多年,这完全依靠“软件测试”。杨总两年前离开华为,在离开之前,她已是华为的高级测试专家。为了理想,舍弃高薪职位,这是让我敬佩之处。最近一年我和华为2012实验室研发能力中心有项目合作,得以有机会近距离观察华为的测试、接触华为的测试人员,对华为的测试思想、流程、工具以及具体的实践才有了比较全面的了解。更巧的是,我和杨总对测试的认识有着许多的共识,如关注软件测试的不同层次的价值、紧抓质量的本质、推崇全程软件测试、重视测试基本能力的建设、将基于模型的测试(MBT)置于自动化测试的最高层次、基于风险的测试(RBT)无处不在,等等。因此,我非常乐意为本书做点事情—谈谈自己看完本书的一些体会和收获。
  华为的测试水平在国内绝对是最高的,没有之一。华为的测试层次清楚、流程成熟、测试工具自成体系,最终交付上乘的产品质量;而且在MBT、RBT、TPI(测试过程改进)、探索式测试等方面都有着多年良好的实践。在阅读本书的时候,读者能够从多个方面感受到博大精深的华为软件测试:
  1)华为强调“赋能”,持续完善测试能力的建设体系。在公司层次有专门的团队负责整个公司的测试管理,制订并不断完善测试人员的技术任职标准,设计测试组织能力模型、测试工程师能力模型和DFX测试能力提升线路等。
  2)华为有完善的测试流程,覆盖从需求到产品上线、从测试输入到测试输出的全生命周期,并在流程中固化了测试能力,建立多个测试基线,针对出现的任何严重的缺陷实施严格的RCA(根因分析)等。
  3)测试类型丰富,无所不包,如功能测试、性能测试、一致性测试、兼容性测试、可靠性测试、安全性测试、可服务性测试、体验测试、互操作测试、实验局测试(测试)、镜像测试等,其中蕴含着许多优秀实践,如建设故障模式库,采用故障注入技术来进行可靠性测试。
  4)华为对自动化测试、测试工具非常重视,不仅有较大的投入,在PDU(产品开发部)/BU(业务单元)、公司等多个层次都建有测试工具开发团队,多数工具是自研的,也会购买一流的测试工具,而且开展了大量的MBT,这是更为彻底的自动化测试。
  本书就是华为测试的一个缩影,它的价值不言而喻。
  本书的宏观构思有其独到之处。通过阐述“谷歌、微软、腾讯、华为等世界一流公司的测试角色是如何定义的”,来帮助读者逐步建立测试价值的概念。然后,从价值实现的起点、打破成见开始,循序渐进,告诉我们如何实现软件测试的基本价值以及如何不断实现更高的测试价值:
  1)扫好门前雪,即实现测试的基本价值—有缺陷能够拦截下来,能够提供产品质量评估所需的支撑数据等;2)展露锋芒,在产品的质量控制中,测试能够起到举足轻重的作用;3)产品交付先锋,基于良好的沟通、管理、问题处理能力,在演示和验收等产品交付活动中占据主导地位;主动总结、规范各项工作,把后续项目的产品交付活动引向正轨。
  测试的价值,不仅在公司内部体现其价值—从扫好门前雪到展露锋芒,最后到产品交付先锋,而且可以从客户角度来看测试价值是如何不断提升的:
  1)使质量符合设计要求,发现不符合设计要求的缺陷并给出产品的质量评价。
  2)使质量符合客户要求,从客户视角发现质量问题,进而促进研发修改问题、提升质量。
  3)使质量符合客户期望,从客户业务场景出发,发现需求实现与客户期望的偏差,改善需求质量,缩短需求提出到商用的周期。
  本书从微观构思也有其独到之处。要么是先给出案例、摆出问题,再从问题处理的一般原则、解决问题的具体思路、常用方法等方面展开讨论;要么是先给出价值体现,然后从实现其核心工作、方法和工具等方面展开讨论。如此叙述,真正能够帮助我们看到测试工作中的实际问题、认识我们工作的价值,并能帮助我们彻底地解决问题,最终实现我们的价值。
  ……
目录

序二
自序
第1部分 引子
第1章 他山之石2
1.1 测试困局2
1.2 测试价值的发展4
1.3 谷歌的软件测试5
1.4 微软的软件测试6
1.5 腾讯的软件测试7
1.6 华为的软件测试8
1.7 优秀软件公司测试团队职责的启示9
第2章 价值实现的起点11
2.1 首先打破一些常规11
2.2 匹配新的业务要求12
2.3 面向企业商业成功13
2.4 寻找价值的最佳人选是自己13
2.5 测试价值的层次15
第2部分 扫门前雪
第3章 拦截缺陷18
3.1 用户无法正常使用19
3.1.1 问题案例19
3.1.2 解决问题的思路19
3.1.3 建立测试用例基线20
3.1.4 测试用例基线要同步优化管理和质量23
3.1.5 找对症结建立测试用例基线26
3.2 正常使用中部分出错27
3.2.1 问题案例27
3.2.2 解决问题的思路28
3.2.3 扩展测试类型29
3.2.4 测试设计要素清单31
3.2.5 客户问题RCA分析34
3.2.6 提升能力的目的是解决问题36
3.2.7 预则立不预则废—重视网上问题分析37
3.3 受攻击出错38
3.3.1 问题案例38
3.3.2 解决问题的思路38
3.3.3 建设故障模式库39
3.3.4 DFX测试能力提升的线路40
3.3.5 重视行业信息的长期积累42
3.4 随机出错42
3.4.1 问题案例42
3.4.2 解决问题的思路43
3.4.3 利用工具提高错误检出率43
3.4.4 通过测试解决这类问题不是好方法44
3.5 分层构建缺陷拦截能力45
3.6 小结46
第4章 提供数据48
4.1 测试结果数据48
4.1.1 测试结果数据的范围和作用48
4.1.2 测试结果数据的内容49
4.1.3 用金字塔模型编排测试报告54
4.2 风险评估数据56
4.2.1 风险的含义及风险评估数据的作用56
4.2.2 RBT56
4.2.3 将风险作为测试的重要输入59
4.2.4 依托测试策略活动进行风险评估61
4.3 测试过程数据64
4.3.1 测试过程数据的范围和作用64
4.3.2 测试项目过程数据64
4.3.3 测试项目过程数据的应用69
4.3.4 用例执行过程数据71
4.3.5 用例执行过程数据的应用75
4.4 用数据讲好测试故事78
4.5 小结79
第5章 测试过程可控80
5.1 能力建设实施要点81
5.1.1 从问题出发寻求适合的能力建设方向81
5.1.2 拓展测试领域知识的广度83
5.1.3 能力建设需要有架构设计83
5.2 方法和工具方面的能力建设84
5.2.1 测试方法和工具方面的能力85
5.2.2 能力建设首先考虑实用性91
5.2.3 探索式测试vs 剧本式测试96
5.2.4 测试设计vs自动化99
5.3 流程中固化的测试能力104
5.3.1 测试在流程运转中发挥哪些作用105
5.3.2 测试在流程运转中该不该挥舞大棒107
5.4 组织建设和人员能力模型112
5.4.1 测试专家角色类型112
5.4.2 测试工程师能力模型114
5.4.3 组织结构要与能力现状匹配125
5.4.4 从任职资格标准的演变看测试价值133
5.5 测试能力持续发展的环境144
5.5.1 测试知识的管控和治理145
5.5.2 产品信息的管治平台147
5.5.3 工程师个人成长和发展环境148
5.6 测试的组织能力模型150
5.7 小结154
第6章 测试基本价值总结155
6.1 测试的基本价值155
6.2 支持基本价值实现的测试架构156
第3部分 展露锋芒
第7章 产品质量屏障164
7.1全流程质量保障164
7.1.1测试尽早开展:全程软件测试166
7.1.2测试尽早开展:尽早开展需求验证176
7.1.3测试充分性快速提升:新代码快速、充分验证178
7.1.4测试充分性快速提升:老代码持续验证182
7.1.5效率和进度的风险是引入质量保障活动的切入点191
7.1.6全流程质量保障的能力模型195
7.2客户视角的质量评估196
7.2.1客户视角的过程质量评估198
7.2.2客户视角的产品质量评估198
7.2.3竞品分析209
7.2.4客户信息获取的渠道210
7.2.5客户视角质量评估的能力模型212
7.3小结213
第8章 产品交付先锋215
8.1代表客户测试215
8.1.1需求5W1H分析218
8.1.2端到端应用场景测试221
8.1.3测试保障质量的三个层次228
8.2产品交付专家230
8.2.1问题定界和解决232
8.2.2需求采集和澄清234
8.2.3项目管理和流程制定236
8.2.4产品交付专家的能力模型238
8.3小结239
第9章 产品测试以外的价值240
9.1驱动研发改进240
9.1.1问题分析及解决方法制定241
9.1.2让问题和解决方法具备说服力243
9.1.3目标制定和沟通管理244
9.2独立的第三方评估246
9.3小结247
第10章 测试拓展价值总结248
10.1测试的拓展价值248
10.2支持拓展价值实现的测试架构250
10.2.1基于需求测试的测试架构250
10.2.2缺陷快速修复的测试架构252
10.2.3测试架构的目标工作场景255
10.2.4测试架构的建立262
10.3价值拓展的辅助工具264
10.3.1用TPI NEXT模型确定需要开展的工作264
10.3.2用商业模式画布进行项目策划266
10.3.3设定合理目标,管理预期270
附录A 名词解释272
附录B 产品研发团队组织结构276