国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

AI可能徹底改變軟件開發(fā)業(yè)務

2019-07-12 02:27MariaKorolov
計算機世界 2019年25期
關鍵詞:開發(fā)人員測試用例應用程序

Maria Korolov

新工具和前沿項目展示了機器學習和高級分析將如何徹底改變軟件的設計、測試和部署方式。

我們正在進入特斯拉AI主管Andrej Karpathy所稱的“軟件2.0”時代。在這個時代中,神經網絡會編寫代碼,人類的主要工作是對任務進行定義,收集數據和構建用戶界面。

但并非所有任務都可以通過神經網絡來解決,至少現在還不是這樣。傳統(tǒng)的軟件開發(fā)仍然可以發(fā)揮作用。即便如此,人工智能、機器學習和高級分析正在改變著軟件的設計、編寫、測試和部署方式。

測試

巴西的TOTVS公司正在為約10萬名企業(yè)客戶提供行業(yè)關鍵任務軟件。例如,每天其金融服務解決方案會處理數萬億美元的交易。

此類應用需要進行能力測試。測試用例創(chuàng)建者需要非常慎重地考慮如何設計測試場景。每個測試場景的創(chuàng)建都需要花費幾個小時。

TOTVS實驗室執(zhí)行董事Vicente Goetten表示,跟上發(fā)展的步伐是一項重大挑戰(zhàn)。每個測試用例都必須針對用戶接口進行定制。隨著應用程序不斷被重新設計,接口總是在變化。如果平臺本身發(fā)生了變化,例如升級到更新版本的JavaScript時,所有設計元素都會發(fā)生變化。Goetten稱:“想象一下重新編寫成千上萬的用例是一種什么樣的場景?!?/p>

TOTVS為此不得不求助于人工智能。TOTVS用于測試的平臺Functionalize現在支持智能創(chuàng)建測試用例。該技術可以按照人類識別輸入字段和按鈕的位置來查看屏幕,而不是依賴于底層代碼。它們還可以提供測試場景和樣本數據來為應用程序加壓。

他說:“以前使用傳統(tǒng)解決方案時,一名高級質保人員需要花一天時間才能完成測試用例?,F在,他們可以在幾分鐘內創(chuàng)建相同的測試用例?!?/p>

Gotten說,最新增加的能力是能夠理解通俗易懂的英語。“你可以告訴它們測試什么,隨后它們會自動為你創(chuàng)建一個測試用例。這為我們打開了一扇新的大門。大大降低了在編寫測試用例時對高級質保人員的需求?!?/p>

監(jiān)控和部署

就算軟件在質保方面達到了預定目標,情況也總不能按預期的那樣工作。在線家居裝修零售商Build.com的高級技術總監(jiān)Patrick Berry說:“某天早上,我們已經有了一些新的產品數據,但是網站卻還沒有做好處理這些數據的準備?!?/p>

Build.com監(jiān)控在軟件性能方面花了數百小時。當問題出現時,公司會將軟件恢復到之前已知的良好狀態(tài),然后將其發(fā)送給開發(fā)人員以解決出現的問題。

Berry說:“我們面臨的問題是,編寫的軟件過于復雜,在流量規(guī)模方面,一個人甚至是一個團隊都無法查看現有的所有監(jiān)控系統(tǒng),無法知道情況是好還是糟糕,亦或是現在應該采取些什么措施。它們耗費了我們太多的時間并拖慢了我們的速度,導致我們無法以足夠快的速度獲得客戶價值,同時我們也無法以足夠快的速度向開發(fā)人員反饋需要補救的事情?!?/p>

為此,Build.com轉向了Harness。Harness為一個軟件交付即服務平臺,其將性能監(jiān)控所花費的時間幾乎壓縮到了零,并且將部署速度提高了20倍。現在,如果出現問題,系統(tǒng)將自動恢復到先前的已知良好狀態(tài),并根據內置的機器學習功能將問題發(fā)送給相關人員以進行補救。Build.com還考慮在代碼開發(fā)過程中使用更多的人工智能。

他說:“我們實際上還沒有可用于代碼編寫的自動化工具。但是人工智能和機器學習可以在開發(fā)方面提供幫助,它們實際上能夠理解哪些常見模式是好的,哪些是糟糕的。它們可以突出顯示異常情況,這樣我們可以回過頭來展開修復工作。”

安全

Berry還希望看到更多工具使用人工智能,以幫助公司首先編寫更好、更安全的代碼。

“這就是我們真正希望在開發(fā)方面使用人工智能和機器學習的地方。這些領域并不是投入足夠的人才就能解決問題的。比方說,你的代碼庫有數百萬行代碼。你要投入多少人去審計這數百萬行的代碼呢?我們需要能夠適應這種規(guī)模的解決方案?!?/p>

例如,Build.com一直在使用GitHub作為其代碼存儲庫。Berry說:“他們正在引入一些系統(tǒng),這些系統(tǒng)將監(jiān)控你的代碼并對第三方庫中存在的潛在漏洞發(fā)出提醒?!?/p>

GitHub的機器學習工程師Omoju Miller表示,這是GitHub的一個活躍的開發(fā)領域。“我們正致力于構建支持常見漏洞的模型?!贝送猓珿itHub還在近期發(fā)布了一款可以幫助開發(fā)人員發(fā)現在代碼中的哪個地方意外共享令牌的工具。

發(fā)現

Miller透露,GlerHub還在致力于開發(fā)一款工具,“它可以幫助開發(fā)人員以自然方式發(fā)現一些功能”。通過人工智能,開發(fā)人員可以根據自己的意圖搜索相關的功能。

她說:“通過在GitHub的開源編碼平臺上使用大量公開代碼,機器學習研究團隊在實現這一目標方面取得了重大進展。通過語義代碼搜索,開發(fā)人員可以增加和簡化解決問題的計算需求?!?/p>

這意味著開發(fā)人員將不再受他們的知識限制。“他們可以利用存儲在GitHub上的所有代碼知識來幫助解決問題?!?/p>

分析

Constellation Research的創(chuàng)始人兼首席分析師Ray Wang表示,靜態(tài)和動態(tài)軟件分析工具都在使用人工智能技術。

“機器學習能力已經比18個月前更強大了。我們看到神經網絡已經在開始使用?,F在,靜態(tài)分析多于比動態(tài)分析,但是我們在未來幾年會看到由人工智能驅動的動態(tài)分析的興起?!?/p>

開發(fā)代碼

在談到從頭開始編寫新代碼時,Build.com的Berry指出。當前的技術還有待改進。

他表示:“現在出現了一些系統(tǒng),但是它們更像是內置模板的剪切和粘貼?!?/p>

但這只是剛開始發(fā)生變化。最受歡迎的IDE,微軟的Visual Studio,在4月份發(fā)布的最新版本中內置了人工智能輔助代碼。微軟Visual Studio IntelliCode高級項目經理Mark Wilson-Thomas表示,該功能基于對數千個開源GitHub存儲庫的機器學習。

“我們正在讓開源社區(qū)代碼具有智慧,”微軟Visual Studio和Visual Studio Code程序管理合作總監(jiān)Amanda Silver說。她指出,這也有助于理解常用的使用類別,“在處理不熟悉的代碼時,這尤其有用?!?/p>

在最近對IntelliCode用戶進行的一項調查顯示,超過70%的人表示,與傳統(tǒng)的IntelliSense相比,新的由人工智能驅動的IntelliCode讓他們感覺更有效率。

使用這個工具的企業(yè)也可以為自己的員工創(chuàng)建自定義的私人模型。她說:“這使得IntelliCode能夠說團隊或企業(yè)的土話,無需將源代碼傳送給微軟?!?/p>

Gartner分析師Svetlana Sicular表示,這種功能是微軟購買GitHub的最初原因。

微軟在去年收購的GitHub擁有超過1億個存儲庫,其中2500萬以上是開源的。 該平臺可免費用于公共存儲庫以及小型私有項目。Sicular稱:“GitHub就是一個代碼存儲庫。我認為微軟將會用它們生成新的代碼?!?/p>

智能應用開發(fā)平臺

Build.com的Berry也在密切關注低代碼和無代碼的發(fā)展。他說:“這不是什么新東西。開發(fā)人員在開發(fā)過程中正在將系統(tǒng)整合在一起?!?/p>

這使得人工智能系統(tǒng)部署變得更加便捷?!袄纾槍ν扑]引擎的預裝解決方案讓過去棘手的定制解決方案變得很容易?!?/p>

現在,這種低代碼方法正變得更加智能,公司不用再浪費時間建立商品系統(tǒng)。 “這讓我們有時間進行真正的創(chuàng)新。這些領域正在為我們提供可繼續(xù)發(fā)展的東西,讓我們感到非常興奮?!?/p>

以Mendix為例,該公司花了十年多的時間研發(fā)出了一套用于創(chuàng)建應用程序的模塊系統(tǒng)。開發(fā)人員可以將平臺上能夠使用的功能選項集中在一起,當這些功能不夠時,他們可以為缺失部分鏈接外部代碼。如今該公司已經建立了一套深度學習系統(tǒng)來分析這些模型,查看它們在生產中的行為,看看哪些是最成功的,然后根據這些模型識別相關的模式。

Deloitte Cyber的應用安全負責人Vikram Kunchala稱,IT部門對于使用這些平臺目前還存在抵觸情緒,與此同時業(yè)務部門對此也缺乏信心。

“企業(yè)正在小規(guī)模地進行試驗,不過我還沒有看到任何客戶在以企業(yè)標準進行部署它們?!?/p>

軟件2.0

但最大的變化是應用程序將與傳統(tǒng)代碼沒有任何聯系。

比如說,你想創(chuàng)建一個玩“井字棋”的應用程序,就可以根據規(guī)則和游戲策略來編寫程序。一方這么走一步,另一方就那么應一步。開發(fā)人員的工作只是選擇正確的策略并創(chuàng)建有吸引力的用戶界面而已。

如果目標是要擊敗人類玩家,這種策略也適用于井字棋、跳棋、甚至國際象棋。但是對于難度更大的游戲,比如圍棋,要創(chuàng)建一套規(guī)則就非常困難。但如果采用人工智能技術,如深度學習和神經網絡,情況就不一樣了。

開發(fā)人員不再從規(guī)則著手,而是從數據開始,即大量的對弈數據。通過AlphaGo,Google在數千次人類游戲中訓練了該系統(tǒng)。在最新版本的AlphaGo Zero中,訓練數據是系統(tǒng)對抗自己,隨機開始。

只要培訓數據清晰且充分,并且成功或失敗的標準也很明確,那么這種方法就有可能徹底顛覆軟件開發(fā)工作。開發(fā)人員現在就必須要致力于管理培訓數據和成功標準,將實際編碼工作留給系統(tǒng),而不是試圖弄清楚并編寫游戲規(guī)則。

特斯拉的AI主管Andrej Karpathy稱,這也正是特斯拉在自動駕駛汽車中采用的方法。

他在去年的技術會議主題演講中指出,“這是一種全新的軟件設計方式?,F在,我們不是編寫代碼,而是積累和整理數據集,這些數據集實際上就是代碼?!?/p>

例如,特斯拉的擋風玻璃刮水器在汽車開過隧道時很難知道何時開啟和關閉。 在傳統(tǒng)的軟件開發(fā)中,程序員會查看代碼以找出錯誤邏輯的位置。使用軟件2.0后,開發(fā)人員只需要查看這些數據。

在這種情況下,關于駕車穿越隧道并沒有足夠的訓練數據可用。特斯拉必須要走出去,以獲得更多數據,注釋這些數據,然后將其添加到訓練數據集中,并重新運行深度學習算法。

他補充道,傳統(tǒng)的開發(fā)仍有發(fā)展空間。目前,這些系統(tǒng)的用戶界面以及與其他平臺的集成仍然是手動構建的。

隨著越來越多的企業(yè)將人工智能用于那些有著大量可用數據的應用程序和使用低代碼平臺的應用程序,軟件開發(fā)工作在不久的將來將會發(fā)生巨大變化。

本文作者Maria Korolov二十多年來一直長期關注新興科技和新興市場。

原文網址

https://www.cio.com/article/3393180/ai-is-poised-to-radically-transform-software-development.html

猜你喜歡
開發(fā)人員測試用例應用程序
基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
刪除Win10中自帶的應用程序
Semtech發(fā)布LoRa Basics 以加速物聯網應用
谷歌禁止加密貨幣應用程序
基于混合遺傳算法的回歸測試用例集最小化研究
后悔了?教你隱藏開發(fā)人員選項
基于依賴結構的測試用例優(yōu)先級技術
軟件回歸測試用例選取方法研究
温州市| 镇巴县| 屏东县| 油尖旺区| 金昌市| 勃利县| 公安县| 陆良县| 景泰县| 朝阳市| 禹城市| 昂仁县| 盐源县| 康马县| 拉孜县| 西畴县| 民勤县| 砚山县| 新沂市| 南皮县| 惠东县| 海兴县| 平塘县| 珲春市| 石柱| 灌阳县| 怀远县| 乐平市| 英吉沙县| 布拖县| 屯门区| 五河县| 遵义县| 顺义区| 林口县| 星子县| 宁德市| 吴江市| 静海县| 区。| 绥江县|