现代测试人员在机器学习和人工智能领域将会是什么角色?
点击上方关注,All in AI中国
作者:Eran Kinsbruner
如今,有关测试自动化和连续测试的解决方案不断推出。这些解决方案旨在随着产品的发展增加测试自动化工作以及与这些测试相关的维护。
随着这种趋势的发展,许多软件质量工程师、软件开发测试工程师(SDET)和测试自动化架构师都在考虑他们的工作是否存在失业风险以及未来的职业发展方向。
在回答这些问题并重新分析现代测试人员职业角色之前,让我们来了解一下人工智能和机器学习这两个术语,这些工具背后的算法,以及其工具的当今应用情况。
人工智能
人工智能,有时被称为机器智能,是机器所展示的智能,而不是人类和其他动物所展示的自然智能。在计算机科学中,人工智能研究被定义为对"智能代理"的研究:任何一种能够感知其环境并采取行动,以最大化其成功实现目标机制的设备。当机器模仿人类与其他人类思维相关的"认知"功能时,可以采用 "人工智能"这个术语,例如"学习"和"解决问题"。
机器学习
机器学习是计算机科学领域中的人工智能的子集,其经常使用统计技术使计算机能够利用数据"学习"(即逐步提高特定任务的性能),而无需明确编程。在Mabl公司最近的一篇博客文章中,机器学习也被定义为"机器学习是一个持续呈现具有明确定义的数据样本的机器开发行为的过程。"
开发机器学习和人工智能的常用方法
前瞻(Lookahead)和反向链接(Backchaining)- 作为机器学习的一部分,是决策的主要模型。
- 反向链接是一种用于教授口语技能的技术,尤其是用多音节词或难读的单词。老师发一个音节,学生背诵,然后老师继续读下一个,从单词的结尾到开头反向工作。例如,要教授名称"Kinsbruner",教师会发出最后一个音节:"ner",并让学生重复背诵。然后老师会再读"--bru-":"-bru-ner",之后剩下的就是第一个音节:Kins-bru-ner
- 基于前瞻(Lookahead)的算法用于决策树的归纳,允许在决策树质量和学习时间之间进行权衡。
机器学习和人工智能工具
在当今的移动设备和桌面Web的测试领域,我们将了解供应商提供的一些工具。
如果没有深入研究每个特定的解决方案,以下列出了供应商提供的特定机器学习和人工智能解决方案:
•Mabl - 桌面web机器学习测试自动化解决方案,利用chrome附加训练器构建无代码测试自动化。
•Testim.IO - 桌面和移动Android无代码测试自动化解决方案,它还使用浏览器插件构建强大的测试自动化,旨在解决动态对象的问题。
•TestCraft - 基于Web的无代码测试自动化解决方案,用于测试Web应用程序。
•Applitools - 移动和Web应用程序的可视化测试自动化和监控。
•Test.AI - 基于机器学习的移动本机测试自动化。
•Perfecto - 基于云计算的解决方案,用于测试移动本机应用程序和基于Web的应用程序,提供基于人工智能的报告和错误分类,以及分析以优化整个持续集成和持续交付(CI/CD)工作流程。
以上所有这些对现代测试人员意味着什么?
如上所述,大量工具正在不断发展,旨在解决测试创作、分析和维护问题。这些举措将使整个DevOps流程中的测试定位更高、更智能,但这并不意味着测试人员毫无用处。上述每种工具以及将要兴起的新工具都在不断发展,以帮助现有测试人员变得更加灵活、智能和高效。
机器学习和人工智能对于测试工程师来说意味着以下几方面:
•心灵变化 – 帮助人类vs.取代人类
•需要现代化的机器学习和人工智能工具和技术的培训
•使用工具解决复杂的测试活动,不要忽视现有的测试方法,它们仍然相关,并非所有的机器学习和人工智能都支持。
•让人类掌控这些工具,提高生产力 - 通过采用新工具并引领创新,成为DevOps的佼佼者。
•相应地修改工作流程(Go / No GO标准)。
•机器学习和人工智能工具正在解决特定而非整体问题,要牢记这一点。
•将适合的机器学习和人工智能工具与测试自动化中的现有问题相匹配。
结语
采用数字战略只是一个开始。要使企业级数字转换真正生效,人们需要一个#BuiltOnAI的基础架构。