人工智能、机器学习和软件开发的未来


人工智能、机器学习和软件开发的未来

文章插图
你和你最喜欢的应用程序之间的每一次成功交互都是质量检查团队共同努力的结果 。  
您与您最喜爱的应用程序之间的每一次成功互动都是质量保证 (QA) 团队共同努力的结果 。这些孜孜不倦的问题猎手确保全球移动设备用户日常需求所依赖的应用程序的每个方面都能在每次发布和更新中顺利运行 。
当您在早晨的闹钟声中醒来、查看天气或向所爱的人发送消息时 , 我们必须感谢这些通常是默默无闻的英雄 。
当该团队的努力失败时 , 他们肯定会听到这样的消息:许多用户会毫不犹豫地在流行(且非常明显)的评论网站上提供负面反馈 。
现代移动应用程序用户——也就是我们现在几乎所有人——的期望是完美 , QA 团队的主要目标是确保每次部署都没有错误的产品 。
错误和问题的存在会很快让应用程序沉没 。不幸的是 , 要确保无错误的体验绝非易事 。而且它只会变得越来越复杂 。今天的软件开发世界变得越来越复杂 , 而针对这些复杂性带来的许多潜力和场景进行测试意味着测试本身变得越来越复杂和资源密集 。
【人工智能、机器学习和软件开发的未来】鉴于移动应用程序开发的历史 , 预计应用程序只会变得更加复杂并且需要更高级和更频繁的测试是非常合理的 。但一定要这样吗?我们是否注定需要越来越多的员工和越来越大的 QA 团队?
 
1980 年代:手动测试 
让我们花点时间考虑一下我们是如何走到这一步的 。直到最近——“哇——我猜这真的是很久以前的 1980 年代了”——软件 QA 团队严重依赖手动测试他们的设备 , 以确保推向市场的产品性能良好.
那是一个更简单的时代 , 设备的功能和活跃场景都少得多 , 因此手动编码是一种足够的测试方式 。虽然繁琐的工作在彻底执行时会花费大量时间 , 但手动测试对测试人员来说效果很好 。
但是技术作为不断发展和改进的野兽 , 以自动化的形式迎来了变化 , 极大地改进了测试过程 。软件不断进步并变得更加复杂 。
 
1990 年代 – 2010 年代:编码测试自动化 
在接下来的几十年里 , 测试的进步使 QA 测试人员摆脱了通过测试用例进行实际操作的要求 。他们不再需要手动找出意大利面条式代码堆中的错误 。
他们在软件问题的战争中有了新武器:大规模手动测试已经变得不切实际 , 如果任何 QA 团队要在合理的时间内彻底测试一个可能发布的版本 , 他们需要通过以下方式执行测试脚本一种自动化工具 。
那么 , 复杂性之战赢了吗?不完全的 。最好不要将自动化测试视为一种革命性的创新 , 而应将其更多地视为与软件不断发展的复杂性进行军备竞赛的又一步 。
时间在流逝 , 但地平线上还没有明显的胜利 。随着移动应用程序的流行并成为我们许多日常生活的核心工具 , 自动化测试逐渐失势 。幸运的是 , 一场期待已久的变革即将来临 , 一场真正的革命 。
 
2020 年代:无代码测试自动化 
直到最近 , QA 测试团队的困境确实变得相当可怕 。为了确保高质量的产品发布 , 自动化测试需要越来越复杂的代码工具 , 这意味着 QA 团队需要将越来越多的程序员专门用于测试 , 而不是其他任务 , 例如生成新功能 。这不仅成本越来越高 , 而且还意味着将发布日期越来越往后推 。但另一种选择 , 即灾难性的发布 , 可能要昂贵得多(正如许多备受瞩目的失败发布所证明的那样) 。
但不可避免的事情来了 。通过抽象原则——基于接口的表示为极其复杂的过程铺平了道路(例如 , 考虑隐藏在你正在阅读的文章后面的 1 和 0)——许多专家早就预示着一个新的抽象层 , 一场“无代码革命” , 这确实在过去几年取得了成果 。
最近出现了一些平台 , 允许在各个行业中使用无代码解决方案 。无代码革命的一个更明显的例子是真正所见即所得的网站编辑器(想想 Squarespace 或 Wix)的流行 , 而在软件测试的不那么明显的领域 , 我创立的公司 Sofy 是一个独特的平台 , 可为移动应用程序提供无代码测试 。


推荐阅读