敏捷测试价值观、方法与实践——传统测试人员转型宝典
评分
1.0
随着近几年敏捷开发方法的流行,市面上已经出现不少与敏捷相关的书籍。但遗憾的是,这些著作大多从开发或项目管理的角度阐述,没有从测试的视角阐述。在敏捷环境下测试该怎么做,测试人员依然没有答案。本书从敏捷与测试相融合的角度出发,通过对文化、组织、流程和实践4 个维度层层剖析,总结出一套从瀑布模型到敏捷模式的转型框架,为广大测试人员提供借鉴。本书理论与实践相结合,适用的读者非常广泛,可以是测试总监、测试经理、测试主管等测试行业的测试管理者,也可以是测试工程师、自动化测试工程师等具体执行层面的测试相关从业人员,对于敏捷教练或Scrum Master 等敏捷从业人员来说,这也是一本难得的测试领域的敏捷图书。当然,这本书也适合计算机相关专业的学生阅读。
推荐序1
两年前,在某微信群里聊到敏捷测试时,了解到当时有多位测试同仁在写作或计划出版敏捷测试方面的图书,我就在微信朋友圈发了一条消息:“2020 年是敏捷测试年。”本书作者之一晓鹏留言:“我要避开锋芒,选择2021 年。”其实,写一本书不容易,每位作者都有日常工作在身,只能利用业余时间写作,况且出版社这几年也严抓图书质量,出版周期明显变长,最终2020 年国内未能出版一本敏捷测试的图书,只等到2021 年,三本原创的敏捷测试图书才相继出版,而这本就是国内原创的第四本敏捷测试图书,今年才和大家见面。“敏捷测试年”就从2020 年顺延到了2021 年、2022 年,此时距离敏捷宣言发布已超过20 年。是不是有点儿不寻常?倒也正常,请容我慢慢道来。
敏捷实践,如水晶开发模式、Scrum、极限编程、FDD 等,在20 世纪90 年代就已经开展,只是百花齐放、百家争鸣,直到2001 年敏捷宣言发布,人们才有了统一的敏捷价值观和开发原则。
为何近20 年后国内才开始关注敏捷测试呢?一方面,软件开发的敏捷方法论是舶来品,引入国内需要时间,一开始还会水土不服,需要结合国情进行更多实践,才能慢慢适应环境,为我们所用;另一方面,在敏捷开发实践中,大家一开始更关注开发实践、关注持续集成/持续构建(CI/CD)流水线的建立,严重忽视了测试,直到有一天发现测试才是敏捷、持续交付的最大瓶颈,才不得不回头审视测试。即使到了今天,有人还觉得敏捷测试是一个伪命题,这说明要改变人们的意识和认知是很难的,正如本书在敏捷测试转型的测试金字塔模型中,将“文化”放在最底层,强调“文化”是最难的,但也是最重要的。许多企业软件开发仍旧属于伪敏捷,不仅在思维、认知上较为传统,团队缺乏共识,而且在流程和实践上也比较扭曲,使敏捷开发模式形成一系列“迷你瀑布”,开发和测试不能同步,甚至开发和测试分离,依旧保留了“开发人员提测”这样的传统研发环节,从而造成敏捷落地实施的效果不理想,甚至更糟糕——“测试人员每天都在赶”“根本测不过来”“工作很累”等。
如果想要改变这种糟糕的状态,不仅要改变人们的思维和认知,而且要改变其开发的流程和实践,这样才能把其研发拉上“正道”。这也就是为什么本书的副标题是“传统测试人员转型宝典”,以及在第2 篇用了两章的篇幅从文化、组织、流程和实践等多个维度讨论如何进行敏捷测试转型,进一步彰显了敏捷测试的核心内涵——“遵守敏捷开发原则、开发和测试融合、团队协作和价值交付”。
本书一大亮点是其实践及其案例。除了给出整体的实践框架,本书还介绍了CI/CD、持续反馈和DevOps 等知识,详细讨论了在敏捷测试环境中如何开展功能测试和非功能性测试,并且根据企业的不同规模给出不同的案例,为读者提供更多参考与借鉴价值。
本书作者曾在IT 咨询公司之一埃森哲公司工作,较早接触到敏捷开发模式。为了解决在大型敏捷团队下如何进行测试的问题,作者还特意学习了SAFe、LeSS 等不同的规模
化敏捷框架,梳理出在多团队环境下测试该如何进行的套路。三位作者做事非常认真,从2017 年开始就不断收集敏捷测试方面的资料,一边探索、实验和总结敏捷环境下测试的方法和实践,一边写作本书,之后和编辑一起一遍遍打磨稿件,历时4 年,终于将心血凝聚成书。
相信读者一定能从本书中获益匪浅,从此在测试工作中顺风顺水,轻松应对。
朱少民
同济大学特聘教授
《敏捷测试:以持续测试促进持续交付》《全程软件测试》作者
推荐序2
测试是软件开发绕不开的话题,也是研发人员心中永远的痛。测试是一个专项领域,其重要性不言自明,不可或缺,但又总被忽视,一旦(或者说是经常)时间紧、任务重,往往第一个被牺牲。
敏捷开发与DevOps 是大势所趋,业务人员与开发人员要频繁沟通,开发与运维要一体化,测试人员应该何去何从?总会有测试人员询问职业发展方向,眼前过于真实的“苟且”,看不清楚的“诗和远方”,谁能够指点迷津?好的测试人员不多,既要懂技术,又要了解业务,上能体验产品,下能写脚本,明明是全能型选手,却往往被视为全天候救火队
员,如何找到自己的定位,并且体现出测试真正的价值?
关于测试的相关实践,你能想到无数的问题:如何在敏捷开发中践行测试?如何敏捷地进行测试?敏捷测试会是“银弹”吗?敏捷的测试需要注意哪些问题?DevOps 与测试的关系是什么?如何将测试融入DevOps 流程?手工与自动化如何共存?测试是越多越好吗?测试如何“左移”又如何“右移”?
我是提问题的人,而本书的三位作者则负责答疑解惑,我们一直苦苦探寻的答案,也许在眼前这本书中就能够找到启示。
与三位作者相识相知多年,他们均是本领域的专家,如今携手共撰本书,强强联合的产出,绝对是值得庆幸并仔细研读的一本好书!
姚冬
华为云应用平台部首席技术架构师
中国DevOps 社区2021 年度理事长
IDCF 社区联合发起人
推荐序3
没有敏捷测试,就没有敏捷交付!我们经常说敏捷开发,表面上只强调开发(代码编写),但其实要实现敏捷交付,敏捷测试是重要的环节之一,也是难点之一。
所谓敏捷,就是快速反馈和及时响应。敏捷测试就是在敏捷交付过程中,不断给予交付团队快速、及时的质量反馈,确保交付的正确性和稳定性,但这件事情知易行难。很多人会把敏捷测试等同于自动化测试。自动化对于提升效率、减少无价值的重复人工操作、避免人工失误起到非常重要的作用。但是,自动化只是实现敏捷测试的支持性因素,它是我们漫漫敏捷测试转型的“最后一公里”工程,并不是敏捷测试转型的决定性因素。
敏捷测试,或者说测试的决定性因素,还是在测试用例本身的质量上,包括其有效性和完整性。而测试用例的编写,其实和开发一样,需要针对每个具体需求下工夫,没有捷径。一个好的测试用例和一段好的代码同样弥足珍贵,但其重要性和挑战性,以及完成其所需要花费的时间和精力却往往被轻视。业内需要把对测试能力的重视程度与开发能力对齐,特别是在敏捷测试的环境下,否则敏捷交付将无法实现,成为“半吊子”工程。
如果你的组织或团队想实现真正的敏捷交付,对敏捷测试的深入理解不可或缺。本书从文化、组织架构、流程和实践等多个方面系统剖析和讲解了敏捷测试及转型,是不可多得的敏捷测试方面的宝典。
我和本书作者之一陈晓鹏相识多年,他在测试和敏捷测试领域深耕多年,也是国内敏捷圈的活跃分子和著名讲师,经常在国内多个敏捷论坛、技术大型论坛发表主题演讲。本书是他与其他几位作者多年呕心沥血的结晶,不可错过。
刘华
汇丰科技公共服务与云平台中国区总监
《猎豹行动:硝烟中的敏捷转型之旅》作者
《图数据库实战》译者之一
前 言
随着近几年业务诉求的快速变化,以及敏捷开发方法的流行,越来越多的组织都采用敏捷模式进行项目开发。这种间隔时间极短、发布极其频繁的迭代让习惯传统瀑布模型开发的测试人员感到应对吃力、心力交瘁,不少测试人员抱怨做敏捷项目需要经常加班,压力更大,测试也更累了。长久以往,项目将面临极大的风险。那么,如何才能改变这种现状,让测试人员能够顺利在敏捷项目下保质保量地工作呢?本书将从文化、组织架构、流程和实践4 个方面为读者系统剖析和讲解。
本书一共分为4 篇。
第1 篇是敏捷测试基础篇,包括第1 章敏捷的定义和第2 章敏捷测试。在第1 章中,读者可以了解到软件工程发展史、敏捷的起源和定义、敏捷Scrum 介绍,以及规模化敏捷的3 种流行框架。第2 章是对敏捷测试的介绍,读者可以了解传统测试在敏捷环境下面临的挑战、敏捷测试的概念、特点与价值等。
第2 篇是敏捷测试转型篇,包括第3 章敏捷测试转型框架及第4 章敏捷测试执行。在第3 章中,读者可以了解传统测试如果要进行敏捷转型需要关注哪些维度,包括敏捷测试文化、敏捷测试组织与个人、敏捷测试流程等。第4 章根据敏捷测试执行的先后顺序介绍了敏捷中的测试需求、测试视角下的用户故事生命周期、敏捷中的测试计划、敏捷中的
测试任务,以及敏捷测试度量等。
第3 篇是敏捷测试实践篇,包括第5 章敏捷测试实践框架、第6 章敏捷功能性测试实践、第7 章敏捷非功能性测试实践,以及第8 章敏捷测试延伸实践。第5 章主要介绍敏捷测试整体的实践框架,为读者构建完整的知识体系。第6 章主要介绍敏捷测试中的各种功能性测试实践,如TDD、ATDD、BDD、探索式测试等。第7 章主要介绍性能测试、安全测试和可用性测试等非功能性测试。第8 章主要介绍与测试密切相关的持续集成、持续部署、持续反馈和DevOps 等相关知识。
第4 篇是敏捷测试案例篇,包括第9 章小型敏捷团队的测试实践案例和第10 章规模化敏捷软件开发团队的测试实践案例。第9 章主要介绍小型敏捷团队该如何开展测试工作。第10 章则分享了一个在SAFe 环境下的大型敏捷测试团队如何进行质量管控及测试的案例。
本书内容由易到难、层层递进,建议普通读者从前到后、循序渐进地阅读。如果读者已经具备一定的敏捷背景,掌握一定的敏捷知识,则可以跳过第1 章,直接从第2 章开始阅读。另外,如果读者认为自己的代码基础比较薄弱,也可以将重点放在前5 章,相信能够有所收获。
本书适合测试总监、测试经理、测试主管及测试工程师等相关从业者阅读。对于敏捷教练或Scrum Master 来说,这也是一本难得的测试领域的敏捷图书。当然,本书也同样适合相关专业及感兴趣的高校师生阅读参考。
接下来就让我们开启传统测试的敏捷转型之旅吧!