人工智能有望从根本上改变软件开发
2019/7/17 16:23:08

新工具和尖端项目展示了机器学习和高级分析将如何彻底改变软件的设计,测试和部署方式。  我们正在进入特斯拉人工智能主管Andrej Karpathy所谓的“软件2.0”的时代,在这个时代里,神经网络会编写代码,而人们的主要工作是定义任务,收集数据和创建用户界面。  但并非所有任务都可以通过神经网络来解决(至少现在还不行),而传统的软件开发仍然可以发挥作用。然而,即便如此,人工智能、机器学习和高级分析正在改变软件的设计、编写、测试和部署方式。  测试  总部位于巴西的TOTVS为大约100,000名企业客户提供关键的行业软件。例如,其金融服务解决方案每天处理数万亿美元的交易。  此类应用需要得到强有力的测试。创建测试用例的人必须非常慎重地考虑如何设计测试场景,每个测试场景都要花几个小时来创建。  TOTVS实验室的执行董事Vicente Goetten表示,要跟上步伐并不容易。每个测试用例都必须定制化,以适合用户界面。应用程序不断得到重新设计,因此界面也总是在变化。如果平台本身发生了变化(例如更新到更新版本的JavaScript时),所有设计元素都会立即发生变化。  Goetten说:“不妨想象一下重写成千上万用例的情景。”  因此TOTVS向人工智能求助。TOTVS使用Functionalize这个测试平台,该平台现在支持测试用例的智能创建。该技术可以像人一样查看屏幕,从而能识别输入字段和按钮的位置,而不是依赖于底层代码。它还可以提供测试场景和样本数据来对应用程序进行压力测试。  Goetten说:“以前,高级质量保证人员需要花一天的时间来完成我们所使用的传统解决方案中的测试用例,现在,他们可以在几分钟内创建相同的测试用例。”  Gotten说,还有就是,Functionalize能理解平直的语言。  他说:“你可以命令它测试要测试的东西,它会自动为你创建一个测试用例。这为我们指明了新的方向。我们不再需要那么多高级质量确认人员来测试用例。”  监控和部署  即使软件通过了质量确认,它也并不总是按预期发挥效用。“就在今天早上,我们获得了一些已经得到采用的产品数据,而网站尚不能处理这些数据”,在线家居装修零售商Build.com的高级技术总监Patrick Berry如是说。  我们花了数百小时来监控Build.com软件的性能,当问题出现时,公司将软件恢复到之前已知的良好状态,并将其发送给开发人员以解决问题。  Berry说:“我们面临的问题是,我们编写的软件变得非常复杂,流量太大,大到任何人都无法查看现有的所有监控系统,哪怕是一群人也做不到,他们会说,‘一切都很好’或‘一切都很糟糕,该做点事情了’,软件耗费了太多时间并放慢了发布速度。我们无法以足够快的速度为客户创造价值,我们也没有以足够快的速度向开发人员反馈必须得到补救的事情。”  因此,Build.com向Harness求助,这是一个软件交付即服务(software-delivery-as-a-service)平台,该平台将性能监控所需的时间几乎降为零,将部署速度提升了20倍,Berry如是说。现在,如果有问题出现,系统将自动恢复到先前的已知良好状态,并根据内置的机器学习功能将问题发送出去以进行补救。Build.com也正在考虑大举使用人工智能,以此作为代码开发过程的一部分。  Berry说:“我们实际上还没有能写代码的代码,但人工智能和机器学习在开发方面大有裨益,这实际上关系到我们是否理解常见模式的好坏利弊。它可以突显这是一个异常现象,我们可以回过头来对其进行修复。”  安全性  Berry还希望有更多能利用人工智能的工具相继问世,从而一开始就能帮各大公司编写更好更安全的代码。  Berry说:“这就是我们真心希望在开发方面使用人工智能和机器学习的领

下一页
返回列表
返回首页
©2025 智能硬件世界----智能硬件产业门户网站 电脑版
Powered by iwms