软件测试面临的挑战被大大低估了,难免没有得到重视。即便是看似基础的应用程序,比如常见的移动应用程序,您也可能采用数量惊人的测试方法、演练大量的路径和条件,并对大量的设备配置进行测试。在如今近乎持续的发布周期中,确保每次更新都增加价值,又不干扰用户体验是一项艰巨的任务。
对于大企业组织而言,尤其困难重重。大规模环境下的测试需兼顾以下方面:
- 复杂的应用程序堆栈,平均涉及900个应用程序。单笔事务平均涉及82种不同的技术,从大型机和旧式自定义应用程序到微服务和云原生应用程序,不一而足。
- 根深蒂固的手动测试流程,它们专为瀑布式交付节奏和外包测试而设计,而不是面向敏捷、DevOps和“一切持续”模式。
- 要求极高的可靠性。据IDC声称,企业环境中一小时的停机时间可能造成50万美元到100万美元的损失。在许多行业,“快速行动时破坏系统”行不通。
尤其在大企业环境,测试是交付延迟的第一大原因,手动测试仍然很普遍(只有15%是自动化测试),测试成本平均耗用IT支出总额的23%到35%。
不过,许多知名组织找到了克服这些障碍的方法。它们将测试转化为数字化转型计划的助推器,从而加快交付,并腾出预算用于创新。
它们的做法有何不同?贵组织相比之下又如何?
引入企业应用程序测试基准
为了阐明行业领导者如何测试其公司乃至全世界依赖的软件,Tricentis发布了首份《全球知名组织如何测试?》报告,介绍了全球知名组织在如何进行测试。这些数据是通过与代表多个团队的高级质量经理和IT主管进行一对一访谈收集而来的。参与者代表的团队使用各种注重质量保证(QA)的功能测试自动化工具:开源及其他商业工具。开发人员测试和安全测试活动不在本文探讨范围。
该报告重点关注从采访的100家知名组织收集而来的数据:《财富》 500强企业以及美洲、欧洲和亚太地区的知名政府实体。这里的所有营利性公司的收入不少于50亿美元。
考虑到平均团队规模和团队数量,我们估计该报告显示了这些领先组织中成千上万测试人员的活动。
几大要点
总的来看,来自这些知名组织的结果显示了39%的测试自动化,但是误报率高、低风险覆盖率以及异常慢的测试周期。以下是几个具体的要点。
- 缺乏稳定性的自动化:平均测试自动化率(39%)比较高,但误报率也比较高(22%)。对于缺乏稳定做法(比如测试数据管理和服务虚拟化)的早期测试自动化工作而言,这很常见。
- 测试与风险不符:需求覆盖率(63%)高,但风险覆盖率低(25%)。团队可能会为每个需求分配数量相同的测试资源,而不是将精力集中在对业务最重要的功能上。
- 开发和测试周期不同步:平均测试周期时间(23天)非常不适合当今快节奏的开发周期(其中87%早在2018年是两周或更短)。由于测试周期这么漫长,测试难免落后于开发。
- 质量很高(在一些情况下):报告的缺陷泄漏率(3.75%)很低,通常<10%被认为可以接受,<5%被认为很好,<1%则很罕见。然而,只有约10%的受访者跟踪了缺陷泄漏,因此总的缺陷泄漏率可能更高。跟踪该度量指标的组织往往拥有更成熟的流程。
- 良好的基础:组织在掌握测试成功的基本要素(采用适当的角色、建立测试环境以及培养协作文化)等方面取得了长足的进步。
- “一切持续”还没有发生……很少有组织拥有> 75%的测试自动化率,或者采用诸如服务虚拟化和测试数据管理之类的稳定实践。有鉴于此,有限的CI / CD集成不足为奇。但是这一切在组织的优先级列表上处于靠前的位置。
- 最大差距:领导者和落后者之间的最大差距在于,每天执行的自动化测试的百分比、风险覆盖率、泄漏到用户验收测试(UAT)的缺陷和测试周期时间等方面。
- 主要改进目标:众多组织希望在六个月内做出最大短期改进的三个方面是:风险覆盖率、泄漏到UAT的缺陷、误报率和测试周期时间。
原文标题:How the World’s Top Organizations Test,作者:Cynthia Dunlop