让开发人员去做测试,没有比这更浪费的事了

分享:

  • Linkedin Logo
  • Twitter Logo
  • Facebook Logo
  • Mail Logo

我们都渴望获得一种稳定、可靠且快速的测试覆盖率,为我们的团队赋予信心,让他们能够放心大胆地进行创新,更加迅速地交付成果。因为他们知道,任何错误都将在潜入生产环境之前被测试系统捕获。客户通常出于两个原因,会要求开发人员编写和维护端到端(E2E)测试,并寻求尊平测试的帮助。

1、他们笃信,倘若开发者亲自操刀编写并维护测试,他们将减少错误,从而拔高整体代码质量; 2、他们还坚信,如果编写端到端测试的使命由同一编码人员担当,这将加速软件开发生命周期。

这两个缘由都颇有道理!毕竟,谁比构建它的开发人员更了解产品呢?然而我们发现,这些愿景在实践中都未能如愿。团队最终没有获得他们渴求的代码质量、速度或测试覆盖率。事实上,他们最终丧失了生产力、金钱和竞争优势。让我们一探究竟,为什么会这样。


微信截图_20231024101602.png

生产力损失:开发人员将花费 20–40% 的时间来维护测试覆盖率

人们往往以为编写测试用例是一劳永逸的事情,然而真正的挑战在于随着产品的迭代更新,不断地维护测试用例。正如我们所见,一位经验丰富的全职质量保证工程师能够独立维护30-50个测试用例,然而即便是小团队也需要大约200个测试用例才能全面覆盖他们的产品。这就是为什么内部质量保证团队通常会为每名开发人员配备2到5名全职质量保证工程师的原因。试想一下,如果把这份工作强加给开发人员,他们每周至少需要花费两天时间(每年累计50-100天)来维护他们的测试套件,这还是保守估计。

发人员的时间主要消耗在等待测试结果上,这就是他们所称的“保姆构建”。每次测试本身可能需要几分钟,而且他们必须时刻关注网络是否稳定,以免测试过程中出现因网络问题导致的失败——在200个测试用例中,这样的等待时间可能会累积几个小时。这样一来,开发人员在应该构建的时候只能不断地运行、重新运行和修复漏洞测试。


赔钱:维持测试覆盖率每年将花费数万(也许数百万)元

接下来,事情往往会这样发展:路线图被拉长,功能被削减。然而,公司往往不会去考虑这种做法会浪费生产力所带来的经济性。要知道,开发时间可是十分昂贵的。每个工程师的平均工资起价约为200,000元/年,这可能是您组织中最大的单一成本中心。因此,将20-40%的开发时间花费在QA上,就意味着每位工程师要花费40,000-80,000元。这是一项巨大的投资,却并不会带来任何新的特性或功能,甚至可能连高质量的测试覆盖率都无法实现。


失去竞争优势:生产力损失将损失您的市场份额和收入

这可能是最可怕的损失。由于QA的开发时间如此之多,开发团队的发布速度变慢,修复的错误更少。这就像是在赛道上,别的车手都在全速前进,而您的车却渐渐失去了动力。较慢的开发和创新速度是一个主要的业务风险,使您处于明显的竞争劣势。

当开发团队开始落后于最后期限时,他们为了赶时间,开始优先考虑冲刺而不是测试。这就像是在赛车上,为了尽快达到终点,他们选择忽略车辆的维护和检查。突然之间,所有的“开发人员纪律”都被边缘化了,覆盖率下降,更多的错误被分发给客户。这并不是说要求开发人员管理E2E测试本质上是一个坏主意,因为这种思维过程是有意义的,只是构建产品和快速交付的现实使开发人员不可能同时进行这两项操作。尽管有一些相反的证据,但开发人员仍然只是人类

因此,我们需要重新审视我们的方法,以确保我们能够在保持高效率和高质量的同时,有效地进行测试和维护。毕竟,对于一个赛车手来说,安全到达终点比赢得比赛更重要。同样,对于一个开发团队来说,提供高质量的产品比赶在最后期限之前发布更重要。


有更好的方法。测试覆盖率即服务可提高开发人员的效率和输出,因此您的团队可以快速、自信地交付。

让我们回到问题的起点:我们都在追寻稳定、牢靠且敏捷的测试覆盖率。然而,焦点问题在于,测试将由谁来执行,又将具备怎样的所有权。是否选择建立一支内部QA团队并构建基础架构,但这样做的代价是巨大的投入。或者,我们是否选择外包测试,按小时计费,但这样可能带来质量问题,并且管理起来相当繁琐再。或者,我们是否让开发人员在每周花费两天的时间进行测试,这样的做法似乎过于浪费,并且并不现实。


尊平测试 带来了独一无二的策略。端到端测试覆盖率即服务:四个月或更短的时间内实现 80% 的覆盖率,毫无供应商限制,测试运行畅通无阻。我们聘请全球顶级的QA工程师,借助我们专有的测试平台,为您轻松达成目标。他们与您的开发团队协同作战,实时反馈(左移的终极目标)让您对代码质量拥有话语权。且看他们如何化腐朽为神奇,赋予您的QA新的生命。立即预约演示,我们将帮您对比各种QA方案的性价比,助您为业务和客户做出最佳选择。


分享:

  • Linkedin Logo
  • Twitter Logo
  • Facebook Logo
  • Mail Logo