新的技术进步经常引起恐惧和抵制,因为担心它们可能使一些岗位被替代,这发生在工业革命制造业自动化,计算机和办公软件兴起期间。即使是用汽车代替马也可能引发了巨大的恐惧和阻力。
而今天,随着人工智能(AI)的兴起,我们正在实时体验这种情况
我清楚地记得在90年代末,2000年初,测试自动化工具从纯粹的玩具变成了可以有效完成工作的可靠工具。
许多 QA 专业人士担心这些工具可能会取代它们。公平地说,当时许多公司都渴望用这些神奇而经济的自动化工具来取代手工测试人员。
两个都错了!
测试自动化是一个资源密集型过程,需要大量的前期投资、高级的技术编程技能,以及创建和维护自动化测试脚本的大量时间。如果做得好,它会带来很多好处,但它并不是无敌的。虽然测试执行是自动化的,但测试自动化作为一个“规程”仍然是一个需要大量人工参与的人工辅助任务。
没有像公司所希望的那样神奇的解决方案
然而,从 QA 专业人员的角度来看,确实有些人可能已经失去了工作或者掌握的能力有些过时。
但与此同时,它为那些对技术工作感兴趣的人创造了全新的角色。要知道,在那个时候,像测试自动化工程师或 SDET 这样的角色还不存在。
相比之下,从马拉交通向汽车的转变创造了新的就业机会,并出现了全新的产业。根据我那时的经验,测试自动化改变了游戏规则,它允许我以更快的速度更有效地进行测试。最重要的是,它消除了对冗长、耗时和重复的手工测试执行的需求。
更进一步来说,这给了我更多的时间去关注测试中更有趣和创造性的方面。我可以帮助改进需求,与整个团队合作,并应用适当的测试设计技术来提高测试覆盖率。
我有更多的时间思考而不是仅仅做出反应
老实说,我最终能够冒险进行超越功能测试的测试,探索经常被误解的非功能测试。
那时候,这种技术进步(测试自动化)将繁琐的重复测试任务的生产力提高了10倍,使我成为一个更好的测试人员。
而今天,它再次发生在我们眼前
尽管敏捷和 DevOps 方法已成为常态,但每天多次向生产发布的压力比以往任何时候都要大,因为公司正在寻求竞争优势,并力求对市场变化或客户需求做出快速反应。
同时,实现更高的应用质量的压力也越来越大。
将测试向左(向右)移动,以“烘焙质量”为目标,而不是发现缺陷,已经成为标准做法(或者至少是首选方法)。
测试活动受到前所未有的关注
因为测试通常会是一个瓶颈,所以有时开发会在没有进行适当测试的情况下将代码部署到生产环境中。在 Sauce Labs 进行的“开发人员行为不端”研究中,超过三分之二(67%)的受访者承认在没有测试的情况下将代码推向生产,而超过四分之一(28%)的受访者经常这样做。
为了解决这些瓶颈,一些公司扩大了他们的 QA 团队,增加了资源,以更快的速度运行更多的测试。虽然这个目标很有吸引力,但在经济上却不切实际。
团队应该采用更具战略性的方法进行测试,以更少的努力关注最重要的方面。目标是在减少浪费的时间、精力和资源的同时取得最好的结果。
不是通过替换人类测试人员,而是通过提高生产力100倍而不是仅仅10倍。
还记得我说过测试自动化是一个巨大的突破吗?它将我的工作效率提高了10倍,因为它摆脱了疯狂的、耗时的手工测试执行。记住“测试执行”只是软件测试过程的一部分是至关重要的。
测试过程的许多其他部分仍然会产生瓶颈,因为它们是手工完成的,而且效率低下。老实说,即使是测试自动化仍然需要大量的人工参与来保持它的平稳运行。
我相信人工智能将彻底改变整个软件测试领域,全面提高速度、准确性和效率
在 AI 的帮助下,诸如测试设计、覆盖率分析、测试优先级排序、错误分类/故障排除和测试数据生成等任务,以及其他许多常常手动且效率低下的任务,都将得到显著增强。
我认为“借助人工智能”是这里的关键。这不是取代人类测试人员的问题,而是让我们能够专注于测试中最吸引人、最具挑战性和最具创造性的方面。
你对此有什么看法?在 AI 的帮助下,你今天面临的哪些用例和挑战可以被最小化呢?