2020年11月凯捷(Capgemini)发布了第12期《World Quality Report 2020-21》(全球质量报告),本文跟大家做简单解读,来看看最新的软件质量趋势是什么。
不平常的2020年,数字化转型在加速,而质量保障和IT在其中起到很关键的作用,也表现出很大的弹性。日趋成熟的工程实践给质量保障带来了很大的便利,但核心的测试思维模式仍然至关重要,人们对质量保障的期望越来越高。
正如本期质量报告的摘要所述:
Growing expectations from QA. Can we meet them? Yes. We can.
(对质量保障的期望越来越高。我们能做到吗?是的,我们可以。)
质量保障和测试的目标
软件质量保障的目标早已经不是发现bug那么简单了,随着科技和业务形态的变化,QA也被赋予了更重要的使命。从质量报告调查结果我们可以看到质量保障和测试的目标主要体现在以下几个方面:
- 业务保障:这是排在第一位的目标,业务是企业存活的关键,QA需要为业务增长和业务成果作出贡献。
- 质量把关者:在上线前发现尽可能多的缺陷是QA的最基本职责,新形势下这一点仍然很受关注。
- 数字化幸福感:人们对产品质量的要求越来越高,确保终端用户满意度和用户体验也是连续几年排在前三的目标之一。
- 品牌形象大使:质量的好坏会直接影响到品牌形象,保护企业形象和品牌也成为了质量保障和测试的目标。
- 速度上的质量(Quality at speed):在软件快速交付的同时,产品的高质量保障不能忽视,这也是当下比较热门的质效双赢问题。
- 自动化:完善的测试自动化和流程自动化是高质量交付的得力助手,需要让质量保障流程更加智能化。
- 质量赋能:质量需要团队协作实现已经达成共识,如何让团队不同角色能够承担起质量保障的职责成为关键,赋能团队成员以获取更高的交付质量自然就成为了质量保证和测试的目标。
具体数据细节请参考下图:
关键质量趋势与推荐策略
报告主要从以下几个方面介绍了质量保障的关键趋势和应对策略:
1. 质量保障人员(QA)在敏捷和Devops团队里承担质量协调者角色
随着敏捷和DevOps被越来越多的团队所采用,QA需要在团队承担起质量协调者的角色,对QA技能的要求越来越高,不仅需要自动化测试等偏技术的技能,还需要有测试思维以及较强的分析能力。这些要求对于绝大部分的QA来说都太高了!因此,组织都在尝试不同的QA运营结构、QA团队的工作方式以及QA专业技能获取与培训等。
为了应对这一趋势,报告推荐的策略有:
- 团队共同承担质量保障职责
不要再把质量保障的职责都放到QA这个角色身上,需要团队共同来承担。质量实践需要集成到软件交付的每个环节,测试不仅要左移,还需要右移。
- 质量不仅是IT部门的事情
质量不仅是IT部门的事情,业务需要同样重视质量,确保业务的正确性才能保证IT在做正确的事情。都重视质量,才会共赢。
- IT需要跟业务走的更近
IT成为业务的一部分,需要学习业务技能、理解业务目标,这样才能更好地让软件系统为业务服务。
- 质量状态可视化
将质量数据可视化,大家能够更清晰、直接地了解质量状态,才能更加关注质量。
- 更多的听取用户声音
跟用户更多地沟通,主动寻求反馈,听取用户的声音,这样不仅能帮助改进产品质量,还能让用户更加满意。
2. 质量保障之人工智能(AI)和机器学习(ML)
这次的调查结果跟前一期一样,对AI和ML给质量保障带来收益的期望还是很高,但是,AI和ML的采用并没有非常显著的进展,一方面是相关技能还不是很足,另一方面COVID-19的大规模爆发也带来了一些影响。
尽管如此,人们的热情并没有减少:组织正在将AI放在新的质量保障解决方案和工具的选择标准中,并且,今年调查中将近90%的受访者表示,AI已成为测试活动中增长最快的领域。他们认为,智能技术将提高成本效益,减少手动测试的需求,缩短产品上市时间——最重要的是,有助于创建并维持持续质量改进的良性循环。
相关的推荐策略是:
- 专注于重要的事情
重要的事情带来的价值较大,专注在重要事情上的投入产出比更高,尤其是在需要处理的事情较多而精力又有限的情况下,更需要根据任务的轻重缓急来安排。对AI技术的采用,需要考虑从最能带来价值的事情开始。
- 持续学习
为了把AI应用到质量保障领域,团队需要加强相关知识和经验的积累,包括工具、全面的质量保障、IT策略,以及业务的商业目标等。
- AI工具箱
鼓励团队采用有AI功能的工具集,并且为团队提供AI相关学习和实践的资源支持,比如云解决方案。同时,可以考虑构建通用工具集和数据组合,让基于AI的测试策略的开发更加容易进行。
- 制定AI系统的测试策略
对AI系统的测试具有挑战,可以从现有的最佳实践学习积累,比如汽车行业。
3. 质量保障的预算和成本控制
疫情给经济带来影响,加上数字化转型加速导致需要管理的线上资产增加,质量管理成本控制面临更大的挑战。企业都在思考如何降本增效,一方面降低人力成本,另一方面在考虑采用通过采购工具、测试环境迁移到云端、引入新的(AI、ML和测试自动化)技术来降低成本。
报告中推荐的降本增效的策略有:
- 测试基础设施迁移到云
成熟的云技术可以帮助组织减少测试环境、测试工具的成本。
- 采用分析技术、AI和ML增加测试的智能化
利用这些技术可以提高质量保障的效率和有效性。
- 高薪招聘更聪明的人
类似Netflix的策略,花最高薪招聘最有能力的人,给企业带来的价值是巨大的。
- 不要搁置所有关键举措,而是应该提高效率
跳出QA范畴,从整个交付团队来确定那些最有价值、最具潜力的质量保障计划,并采用最高效的方式来实现。
补充:
人员能力是非常关键的,身边有不少案例是企业购买了很多自动化工具,但是并不能做到很好地利用,从成本和效能的角度来看没有发挥作用。报告提到招聘有能力的人,这个是一方面,另一方面企业需要加强人员能力建设,可以借用外部力量对已有人员进行培训,这方面的投入还是很值得的。千万不能以为有了工具,就可以不用重视能力建设投资了。
4. 质量保障之测试自动化
自动化已经成为数字化转型的核心,越来越多的受访者提到自动化不仅在测试执行的自动化方面,已经有更多的整个质量保障生命周期的流程自动化的引入。但是,报告也指出只有37%的受访者提到他们采用的自动化工具与技术带来了期望的收益。剩下的大多数都是认为没有带来应有的收益的,这个跟如何度量收益有一定的关系,另外还有一个原因就是人员能力跟不上工具的智能化程度,不能做到对工具的充分利用。
推荐策略:
- 改变现状
由于交付压力,测试总是会被压榨。需要改变这种现状,引入更多的自动化,提高测试效率,而不是减少测试。
- 选择工具要把眼光放远点
选择工具不仅是当前适用就好,要看到业务和应用程序的可能变化趋势,工具是否能适应相应的变化,可扩展性和兼容性都是需要提前考虑的。
- 选择恰当的框架
选择直观、动态、具有自旋环境和基于算法的优先级范围划分的设计自动化框架,并且它们可以自我提供测试数据。
- 在自动化与技能需求之间取得平衡
组织需要减少对技能的依赖或使自动化具有包容性。
- 不要以为一个工具可以搞定一切
不同的场景需要有不同的工具,没有一个工具是万能的,需要根据具体需求采用恰当的工具。
- 智能化
利用AI和ML技术来处理自动化中的挑战。
补充:
自动化往智能化方向发展是趋势,但目前大部分企业离这个还是有距离的,当务之急是从思想上重视测试自动化,根据自己团队和产品的实际特点选择适合自己的自动化框架,同时注意人员能力培养,把自动化工具用好。
5. 质量保障之测试环境管理(TEM)和测试数据管理(TDM)
TEM和TDM仍在发展中,还具有很大的挑战性,但是,从受访者的反馈来看总体满意度有所提高。
- 越来越多的组织正在采用云和基于云的技术来管理其TEM和TDM需求。
- 正在实施用于测试数据管理的工具,尽管大多数工具仍仅将其用于数据脱敏目的。
- 服务和数据虚拟化技术也正成为主流,并已用于TEM和TDM。
- 更多组织为TEM和TDM创建专门的共享服务组织。
- 有趣的是,在这一领域,流程和治理比技术面临的挑战更大。
推荐策略:
- 创建共享的TEM和TDM卓越中心
组织内创建共享的TEM和TDM卓越中心,负责战略框架的制定,让所有团队都能从中获益。
- 从工具投资中获得尽可能多的价值
团队应尽一切努力来计划和实施TDM和TEM工具提供的各种功能,培训团队成员,并定期评估和报告收益。
- 拥有强有力的治理
制定成熟的治理方法至关重要,包括从提高需求到停用和归档测试环境和测试数据的整个生命周期的管理。QA团队需要与TEM / TDM卓越中心共同合作,以预测需求并了解可用资源。
6. 质量保障受到COVID-19疫情的影响
疫情大流行对测试和质量保证的影响因行业而异,传统工作方式受到的打击比较严重。促使变革步伐加快:对分布式敏捷的更快速采纳,协作工具、数据脱敏技术的更广泛使用,以及整个质量保障流程中更多的实时状态监控。
在宏观层面上,疫情加速了数字化转型,相应的质量保障也受到影响。例如,在线业务的增长增加了对安全测试的需求。
总体而言,有迹象表明整体趋势还是令人鼓舞的,组织正在利用动荡的优势来改善其整个质量保障方法,同时拥有更大的共同承诺和更大的成功决心。
推荐策略:
- 为业务持续发展做好更好的准备
更频繁地运行灾难计划会议,考虑的不只是劳动力问题,还包括系统可用性。测试应用程序系统架构,确保它能够适应业务模型的任何更改。
- 更加关注安全性
随着线上业务以及远程工作人数的增加,可能存在更大的漏洞。预防胜于治疗,同时也要确保有一个针对问题发生后的良好计划B。
- 不要将COVID-19视为削减成本的方法,而是将其视为转型的机会
在危机中削减成本可能只会带来短期收益。现在投资于数字化转型和商业模式的改变将在更长的时间内带来更大的收益。确保质量保障策略与这些发展保持同步很关键。
- 继续使用大流行期间采用的最佳做法
旧方法总会过时。如果在2020年做的事情有所不同,请保持那些可行的做法。例如,确保应用程序对业务变化保持响应;继续削减不必要的物理基础设施和旅行需求;并以适当方式维持一种新的、更协作的、更远程的工作方式。
写在最后
众所周知,COVID-19疫情给大量业务带来重大的影响,但同时也加速了变革的步伐,加快了数字化转型的实施,整体质量趋势还是在往好的方向发展。为了更好地应对软件生态的复杂性和不可预测性,做好以下三点至关重要:
- 测试的全流程介入,做到质量内建,在软件开发、交付的每个环节做好质量保障工作。
- 打破部门壁垒,构建全功能团队,将不同技能的人聚集到一个团队,充分协作发挥最大价值。
- 充分的信息共享。在组织内加强跨角色、跨团队、跨产品线的知识与信息共享,减少重复造轮子的浪费。
推荐阅读
《World Quality Report 2020-21》:本文内容都来自这份报告,更多详情请参考原文。
《全球质量报告2018-19》
《全球质量报告2017-18》
《业务价值驱动的测试》
《敏捷团队的质量保障赋能》
《敏捷测试宣言与原则》
QaaS