2020-21软件测试中的重要趋势及应对措施
本文中的观点和内容来自著名咨询公司凯捷(Capgemini)与软件公司Micro Focus在2020年11月份联合发布的World Quality Report 2020-21(全球质量报告)。来自32个国家、10个行业的1750名QA/测试经理、首席信息官和其它IT高管参与了这次关于测试发展趋势的调查。
《2020-21年全球质量报告》中总结出目前测试领域的6个主要趋势,包括:
随着越来越多的企业采用敏捷和DevOps,QA团队正在转型为质量的协调者。
利用AI技术进行测试的比例在上升,但是仍然需要更多进展。
测试环境管理和测试数据管理在不断完善,尽管在实际工作中仍然存在一些挑战。
自动化测试在整个QA生命周期中的比重不断上升,但自动化测试的优势并没有得到充分利用。
在QA和测试的预算压力在增加,促使企业进行创新并提高工作效率。
全球新冠疫情的爆发加速了企业的数字化转型,并推动企业改进QA和测试的方法。
下面选取我们认为能够给大家带来很多启发的前三项进行详细的解读。
50%的受访者认为,在将测试应用于敏捷开发时,最常见的挑战是为自动化测试选择适当的工具。42%的受访者表示敏捷团队缺乏专业的测试知识和技能。
在被问到哪些因素是决定敏捷和DevOps转型成功的基本因素时,65%的受访者认为相应的技术栈是最基本、最重要的决定因素,55%的受访者认为管理层的支持是最基本的决定因素,如下图所示。
敏捷和DevOps强调团队协作,因此质量不应该只是QA/测试人员的责任,而应该是整个团队共同的责任。
质量不只是QA团队的责任,也不只是IT部门的责任,整个组织都需要了解它的重要性,从而帮助IT部门做正确的事情。
IT部门(包括QA/测试人员)需要更加贴近业务,掌握业务相关的技能,理解企业的业务目标。
引入质量看板是关键,让软件产品的质量状态可视化、更直观。
更多的和客户沟通、倾听客户对于产品质量的反馈,从而降低业务风险、改善用户体验。
把人工智能应用于最能带来价值的事情上,带来更高的效率。 持续学习,不断在测试技能方面寻求突破,在测试领域中每年都会有一些新的技能需要学习。对于AI来说,不仅是指AI技术本身,还包括在软件开发生命周期中如何应用AI技术。 鼓励团队持续采用包含AI功能的工具集。投资云解决方案,为团队快速失败和学习提供所需的资源。构建通用工具集和数据库,这样开发基于AI的测试策略会更容易。 测试AI系统是一项挑战,需要制定相应的测试策略。可以从学习现有的优秀实践中入手,例如汽车行业的实践。
在被问到“组织更满意QA团队实现与测试环境相关的哪方面目标?“这一问题时,49%的受访者认为是健壮的测试环境;47%的受访者认为是及时获得正确的测试环境;47%的受访者认为是测试环境的现代化,例如云和容器;33%的受访者认为是团队有充足的设施来使用和管理测试环境;29%的受访者认为是可用的测试环境的良好可见性。这表明大家更偏重于选择技术方面的因素而非管理方面。
在测试环境的监控方面,企业使用不同的方法来识别测试过程中遇到的环境问题,但只有大概三分之一的企业采用了成熟的测试环境监控和管理方式:38%的受访者表示在使用基础设施监控手段,通知测试环境服务器中断故障;32%的受访者表示,他们拥有有效的测试环境监控解决方案,能够为所有测试环境提供中断通知、趋势分析和自我修复能力;27%的受访者表示,他们只对高级别的测试环境启用环境监控,如验收测试或集成测试环境。
在测试数据管理方面的调查结果有些令人吃惊,多达61%的受访者表示,他们的团队能够管理测试数据集的规模和复杂性。这也许是因为,一些受访者仍然将测试数据等同于复制和过滤生产数据。但随着持续测试的发展和对软件应用性能和安全性的更高要求,这可能还不够。测试的复杂性在不断增加,测试数据管理方面的解决方案可以部分的解决这方面的问题,客户购买TDM工具用来过滤生产数据,但是过滤后的生产数据并不能为测试、开发人员提供足够的测试数据。
敏捷测试与测试数据的部署。在被问到”组织是如何为多次测试迭代提供和生成测试数据的?他们在多大程度上使用了每种方法?”,90%的受访者选择了“我们为测试维护专门创建的测试数据集”;87%的受访者选择了“我们使用清洗的生产数据副本”;82%的受访者选择了“我们运行每次测试时都使用自动数据生成工具”,结果如下图所示。
另外, 64%的受访者表示他们他们使用专门的测试数据支持团队提供测试数据服务,这是符合预期的:随着组织向敏捷转型,TEM和TDM确实更可能成为一种共享服务,为多个不同的敏捷团队提供服务。
总之,根据调查结果和平时积累的经验,测试数据和环境管理仍然是比较复杂的领域,大家的测试环境处于不同的阶段和状态,很多QA团队认为二者是目前测试中比较突出的问题。一些客户在采用测试数据管理和测试环境监控的解决方案,但这些方案并没有显著提高测试数据或环境的质量。
建立一个共享的测试数据和环境管理团队来满足组织内部的需求。这个团队制定管理规则和流程、TEM托管策略和工具使用策略。根据特定的组织动态,该团队可以为所有TEM和TDM需求提供服务,也可以去中心化。但是,如果成熟度比较低,我们建议开始采用集中管理的方式。
从工具投资中获得尽可能多的价值。集中精力计划和实现这些工具提供的各种功能,培训团队成员,并定期度量和报告成果。
实行强有力的治理。对测试数据和环境的生命周期采用成熟的管理方式。QA团队和集中的测试数据和环境管理团队协同工作,预测需求并实现可用资源的可见性。
https://www.sogeti.com/explore/reports/world-quality-report-2020/ 《2020-21全球质量报道》
(是QECon大会 15个专场之一)