手机实时动态:AI可以弥合软件自动化方面的差距

2021-06-08 18:12:25
导读分享一篇有关互联网,手机方面文章给大家,相信很多小伙伴们还是对互联网,手机这方面还是不太了解,那么小编也在网上收集到了一些关于手机

分享一篇有关互联网,手机方面文章给大家,相信很多小伙伴们还是对互联网,手机这方面还是不太了解,那么小编也在网上收集到了一些关于手机和互联网这方面的相关知识来分享给大家,希望大家看了会喜欢。人工智能可能对软件开发产生的影响已经成熟。人工智能会在几天(而不是几个月或几年)内帮助创建原型吗?它会教人类开发人员如何更好地编码吗?人工智能研究广泛且代码灵活,因此很难想象当智能程序可以帮助我们与代码交互时,软件开发将是什么样。

许多开发人员和技术经理没有意识到的是,在过去几年中,人工智能在其对开发团队的实用性方面取得了巨大飞跃。实际上,人工智能辅助软件开发的早期阶段已经来临。

注意差距

很难找到没有以持续集成(CI)为目标的组织,而自动化技术已使这一目标得以大规模实现。在过去的十年中,自动运行测试通过允许开发人员获得有关其代码更改的即时反馈并进行相应调整,从而提高了软件质量。自动化的软件管道利用生成辅助请求的机器人助手,实现了持续交付更新。

但是,采用该技术的公司有时会发现仅靠自动化是不够的。自动化流程仍然存在必须手动完成工作的空白,其中大部分围绕着新代码的创建。例如,可以快速完成数百或数千个单元测试的自动化执行,但是当开发团队需要数小时或数周的时间自行编写测试时,就会出现瓶颈。如果没有用于验证提交的测试,则自动管道会导致垃圾邮件。当添加新代码(和新测试)时,由于需要进行持续的手动工作,因此本来可以成为自动过程的部分被打散了。

AI出色的测试任务

当前,现有的代码技术AI可以通过自动编写可验证其余自动化管道的测试代码来一次性解决这两个问题。这类任务以前需要开发人员的时间,这使他们无法进行更充实和增值的工作,例如创建新功能。用于单元测试的AI为重要但缓慢且繁琐的流程的更全面自动化打开了大门。

可以预见,由AI创建的测试看起来与由人类编写的测试有所不同,但是它们将在很短的时间内生产出来,并且它们的功能也一样好,即使不是更好,也可以确保在捕获到任何代码中断的更改时修复它们仍然很容易。毕竟,正如马丁·福勒(Martin Fowler)在其2006年关于持续集成的文章中所总结的那样:“经常运行的不完美测试比根本没有编写的完美测试要好得多。”

通过这种方式,AI可以开始打破开发人员和IT经理所苦的时间,成本和工作质量之间的权衡。人工智能辅助的开发可以使开发人员能够更快,更经济地创建新产品,而不会影响质量。通过可靠且快速地完成重复任务,开发人员可以重新开始将他们吸引到工作中的创造性任务。

代码人工智能已经在这里

在某些重视代码质量的行业中,例如金融业,已经使用了AI辅助软件开发。例如,高盛(Goldman Sachs)最近将AI用于代码,以提高其软件开发效率。通过利用AI工具为具有1500行代码的一个遗留应用程序编写三千多个单元测试,他们在数小时内创建了一个完整的测试套件。与平均花费30分钟手动编写每个单元测试相比,该AI工具编写测试的速度提高了180倍以上。总而言之,该银行设法节省了超过一年的开发时间。

随着AI技术的不断发展和针对更多用例的解决方案的开发,对用于软件开发的AI的投资将在各个行业中变得越来越普遍。为了能够进行持续集成并实现规模增长,不久就需要将新级别的增效工具集成到开发过程中。但是与此同时,AI辅助软件开发的第一个迭代已经在这里,使我们对编码的未来有所了解。

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章