近30年实践经验汇总,朱少民教授新作出版
这些年,敏捷开发已经开始流行,敏捷测试在国内也有了较大进步,加上 DevOps 的兴起,进一步推动了测试左移(测试前移)和测试右移(在线测试)。例如,大家开始重视软件的持续构建和测试自动化,大量使用体现敏捷测试思想的开源工具,开始探索通过软件测试平台提供各种测试服务。
这说明敏捷测试的思想和方法是经得起时间考验的,也说明测试行业内在探索和推广敏捷测试方面确实取得了一定成效。
但从另一个方面看,有很多人对于敏捷测试的理解依然不够准确,这导致基于敏捷的测试实践往往形似而神不似。更糟糕的是,根据2019年的调查数据显示,软件测试成为敏捷交付的最大瓶颈。导致这样局面的主要问题有:
- 对测试重视不够,持续交付倒逼持续测试,但无法做到持续测试;
- 面对软件开发新模式缺乏应对策略,甚至连基于风险的测试策略都没有很好的实施;
- 测试和开发协同工作不足,开发对自动化测试的支持力度不够,导致自动化测试代价比较高;
- 热衷于招聘测试开发、重复造轮子,自动化测试成效比较低,测试效率也偏低;
- 热衷技术,但缺乏对测试自身的思考,真正的测试能力没有显著提升;
- 企业内建的质量文化没有形成,缺陷预防做得较差,甚至质量管理的基础都已年久失修。
也正是看到这些问题,看到敏捷中的测试比较糟糕的境地,知名学者朱少民和李洁合著的新书《敏捷测试:以持续测试促进持续交付》应运而生!
— 01 —
两位作者有多专业?
第一作者朱少民是同济大学特聘教授、软件绿色联盟标准评测组组长、《软件学报》审稿人、QECon大会发起人,近30年来一直从事软件测试、质量管理相关工作,这本书也是他继《全程软件测试》之后的又一力作。
另一位作者李洁,现任中科创达软件股份有限公司测试总监,也拥有20余年软件测试技术经验及管理经验。
10年前,朱少民老师就开始在杂志、专业技术媒体上发表一系列文章,例如有《敏捷测试的方法和实践》、《敏捷测试的思考和新发展》、《究竟什么是敏捷测试》、《如何不让测试成为敏捷的绊脚石》等。几乎同时,李洁老师也在诺基亚、POLYCOM等公司开始从传统开发向敏捷开发模式的转型、亲自践行敏捷开发模式。
他们是国内最早开始思考软件测试如何适应开发敏捷化并且一直坚持下来的那批人,也正是基于坚持,在不平凡的2020年,二位作者开始进行全面合作,在拉勾教育开设了《高效敏捷测试》专栏,并在此基础上,一道重新整理、丰富内容,形成本书。
— 02 —
以持续测试促进持续交付,突破瓶颈
正如前面所说,测试成为整个持续交付过程中的最大瓶颈。如果不消除这个瓶颈,就不可能实现敏捷、DevOps最主要的目标——持续交付。写这本书,就是为了帮助读者所在的团队达成这一目标。如果做到持续测试,那么任何时候都可以启动测试、任何时候都可以完成必要的测试,比如两周是一个迭代周期,那两周也要能完成应该完成的测试。而且,在整个测试过程中,测试没有等待,测试分析、设计与执行能流畅地进行,测试和开发也能很好地衔接或融合。只有做到持续测试,才能支撑持续交付,才能既适应日益加剧的市场变化,又满足这样的市场环境中的用户。
敏捷测试不仅是持续测试、拥有敏捷宣言所倡导的价值观、遵守敏捷开发原则,而且也包括一套软件测试的解决方案,包括测试思维、测试流程、测试基础设施和一系列的优秀实践等,最大限度实现高效测试,持续改进。
敏捷测试发展到今天,有很多成功的经验,也有一些失败的教训。现在又是一个信息爆炸的时代,随便上网搜索就会得到各种关于敏捷测试的信息,想分辨什么是真正有效的敏捷测试就变得更加困难,因为各种观点都有、缺少系统透彻的阐述,鱼目混珠,甚至觉得敏捷测试是个筐,啥好东西都想往里装,不伦不类。我们需要重新认知敏捷测试,全面提升个人测试能力,并能将敏捷测试真正落地实践,实质性地提升测试效率,这也是出版《敏捷测试》的一大原因。
— 03 —
《敏捷测试》都讲了哪些内容
敏捷测试是一套适合或顺应敏捷开发的解决方案,包含了测试思维、测试人员/组织、测试技术、方法、流程和工具等各个方面。这本书系统地阐述这些内容,以一个个真实案例贯穿全书内容,理论和实践相结合,以业界优秀实践为基础。
这本书力求以直观、简洁的方式呈现敏捷测试的具体操作流程,尽可能引入有效的测试新方法、新技术和新工具,包括智能的测试技术、基于容器的测试环境部署等。此外,这本书还授之以渔,不仅给大家讲解敏捷测试如何做,而且还讲解为什么这样做,甚至帮助读者拓展测试视野,进一步夯实测试基本功,重构测试技能,构建一个良好的敏捷思维,终身受用。
全书一共10章
全盘分享3大层面,10个模块知识。
全书先用一章的篇幅进行铺垫,重温敏捷的价值观和开发原则,了解不同而具体的敏捷开发框架。如果你已很好掌握敏捷开发方法,可以跳过这一章,直接从第2章开始阅读。建议读者要认真阅读和慢慢体会第2章的内容,不要认为“思想、思维方式”等比较虚,因为“道法术器”中,道排在最前面,比原则、方法、技术和工具都重要,这是基础。
接下来的两章还是打基础。因为人的因素以及组织文化的构建对于敏捷测试的成功起到决定因素,很多表面上看起来是技术层面的问题,其实本质上是人的问题。所以,在进入敏捷测试的具体操作讲解之前,我们必须先谈谈人员和组织文化。第3章侧重讨论敏捷开发中测试的职责由谁承担、如何承担、是否要设置专职的测试人员;如果设置,该如何操作?如果没有设置,又该如何操作?还讨论了团队如何转型、如何构建学习型团队以及不同角色之间的协作,即使不搞敏捷测试,这些内容也是非常有价值的,只是在敏捷测试中更具价值,因为敏捷更强调学习、协作、成长等。
第4章讨论了敏捷测试的基础设施,包括如何应用虚拟机技术、容器技术等搭建测试环境以及如何采用先进且合适的技术实现基础设施的自动验证等,而这一切就是为了更好地支持自动化测试、支持自动部署、支持和CI/CD(持续集成/持续交付)的集成等,这是技术基础。你会看到敏捷测试在持续集成、持续交付以及 DevOps 的实施过程中无处不在。
接下来,用五章的内容详细介绍如何落地高效敏捷测试,从测试左移(包括需求评审、设计评审和最彻底的测试左移ATDD等)、测试计划、测试分析与设计、测试执行到收尾的完整过程。这个过程的前提就是敏捷开发模式,需求是采用用户故事来描述而且变更相对频繁,迭代也是很快的,测试很有挑战,所以这部分内容侧重介绍如何应对这些挑战,如:
- 有什么好的测试策略?
- 自动化测试如何更高效地开展?
- 探索式测试和自动化测试如何有机地结合起来?
- 选择哪些合适的测试工具……等等。
在这部分内容,读者会学到很多优秀的敏捷测试策略、方法和技术实践等。最后,展望未来的敏捷测试,例如如何进行大数据系统的测试、智能系统的测试以及如何使用人工智能技术为测试服务、未来的敏捷测试工具等。
每章开头都有思维导图来引导大家学习,每章结尾都有延伸阅读,以触发读者新的思考、提供更好的阅读材料,以扩展本书的能力或打破本书的局限性,让读者收获更多。
如今成为一个敏捷测试工程师,是大势所逼,更是自我内心所驱动,因为每个人总是渴望成为优秀的职场人。通过这本书的阅读,相信你能达到:
- 真正了解什么是敏捷测试,更好地融入到敏捷开发环境中,和业务、产品、开发等相关人员有更融洽的沟通与协作;
- 了解敏捷测试的具体操作,更快、更有效地完成测试分析、设计和执行,做到事半功倍,今后的测试工作会变得更轻松。
如果你是研发经理或项目经理,希望你能获得更多的收益,增强对敏捷测试全局的理解,清楚下面的操作和管理:
- 如何完成从传统测试向敏捷测试的转型,包括敏捷文化的建立;
- 如何构建一个有效的敏捷测试体系,包括有效的测试流程、稳定而高效的基础设施或自动化测试平台;
- 如何指导团队、指导工程师开展测试工作,极大地提升测试效率,做到持续测试,满足持续交付的要求;
- 如何协调不同团队和不同岗位的沟通和协作,帮助整个团队提升研发质量和效率。
希望你能够喜欢本书,让我们一起开启这段敏捷测试之旅,构筑辉煌的未来!