近幾年,人工智能逐漸興起,AI 助手、無人駕駛汽車、云端全功能芯片。..在媒體領域,機器人寫稿、媒體大腦、智能檢校等不斷涌。
2016年,阿爾法狗嶄露頭角,2017年5月,阿爾法狗3:0擊敗世界冠軍柯潔,人工智能被推上風口浪尖。
2016-2017世界質量報告上提出:在人工智能高速發(fā)展的情況下,軟件測試領域或許將迎來一個新的時代—人工智能時代。
不過,對于軟件測試,人工智能是否能夠替代軟件測試工程師?人工智能本身如何測試?下面我們就來聊一聊這個問題。
首先,先了解下軟件測試的背景
軟件測試對于確保使用應用程序客戶的滿意度是十分必要的。
測試是指在一些特定條件下觀察應用程序,且在測試過程中測試人員已經知道要實施相同的門檻和風險。
同時,測試有助于保護應用程序避免潛在的可能會對應用程序和將來的組織造成危害的危險因素。而軟件測試的下一步是軟件調試,但只有在經過徹底的測試之后才能進行軟件調試。
什么是人工智能?
任何一個復雜任務,如果能夠被測試者不假思索地解決,都是人工智能的候選之一。
人工智能的一般定義是指,機器能夠獨立理解環(huán)境并執(zhí)行輸入數(shù)據(jù),完成智能工作和學習如何自動提高自身工作水平的能力。
具有智能特性的測試工具
Appvance IQ
Appvance IQ根據(jù)應用程序的映射和對實際用戶的活動分析,學習并生成自動化測試腳本,生成的腳本可以準確地表示用戶曾經的行為及想要進行的行為。Appvance IQ使用應用程、序藍圖作為被測應用程序的指導,同時使用服務器日志作為實際用戶活動的大數(shù)據(jù)源。
MABL
Mabl 是由一群前 Google 雇員研發(fā)的 AI 測試平臺,其側重點是對應用或網(wǎng)站進行功能測試。在Mabl平臺上,我們通過與應用程序進行交互來 “訓練”測試并進行錄制,錄制完成后,經訓練而生成的測試將在預定時間自動執(zhí)行。
Test.AI
Test.AI 被視為一種將AI大腦添加到 Selenium 和 Appium 的工具,它以一種類似于 Cucumber 的 BDD 語法的簡單格式定義測試。在應用程序中,Test.AI 能夠動態(tài)識別屏幕和元素,并自動驅動應用程序執(zhí)行測試用例。
除此之外,F(xiàn)unctionize 、Katalon Studio和 Tricentis Tosca等工具也具有智能特性。
為什么在軟件測試中我們需要人工智能
將近80%的測試活動是對軟件已經進行過的測試的重復。這會消耗了大量的人力和時間。
這種現(xiàn)象在軟件測試中十分常見,隨著項目的擴展,參數(shù)也會增加,從而會導致給測試團隊帶來額外的工作量,這可能已經超出他們的能力和工作時間的范圍之外了。
同時手動測試還會面臨可伸縮性的問題,這會需要對多臺機器進行管理。這種方法復雜又繁瑣。
但是,人工智能卻可代替以上方法,可通過以下方式來解決這些問題:
? 使用人工智能機器,80%的重復性任務可以由人工智能機器人完成,剩下的20%工作可以由人類利用他們的創(chuàng)造力和推理能力去完成。因此,人工智能可以做重復性的任務,如測試數(shù)據(jù)的數(shù)量、回歸測試等,而測試人員可以專注于處理類似于系統(tǒng)集成的創(chuàng)造性的和困難的任務。
? 使用人工智能機器人,測試人員可以重構測試以合并新的參數(shù),這會使得測試的覆蓋率增加卻不會給測試團隊帶來額外的工作量。
? 人工智能可以自動創(chuàng)建測試用例。這降低了使用內置標準的工作級別(LOE)。
? AI通過理解用戶接受標準自動生成測試代碼或偽代碼。測試自動化可以節(jié)省大量的時間和成本。
? 人工智能還可以進行無代碼測試自動化,它可以在你的web或移動應用程序上自動創(chuàng)建和運行測試,而無需編寫任何代碼。
? 由于人工智能機器人可以全天候工作,它們可以在任何需要的時候幫助調試項目,因此測試無需人工干預也可以運行更長的時間。
最后,基于AI的測試也會讓測試人員感到困惑。測試人員可能會懷疑AI測試的有效性,要消除這種不信任,測試人員需要掌握不同于傳統(tǒng)測試人員所需的技能,他們需要更多聚焦在數(shù)據(jù)科學技能上,還需要了解一些機器學習的原理。
說到這里,也許有人會問,測試人員的工作會被AI搶走嗎?
未來,人工智能會取代軟件測試工程師嗎?我總覺得答案是,也不是。說是,因為AI bot比較適合那些重復性較強的測試任務,如果測試人員的工作內容重復性較高,無創(chuàng)造性,那么遲早會被AI取代。然而對于那些需要一些創(chuàng)造性和比較困難的測試任務,AI目前還無能為力。
“AI is the new electricity”,這是Stanford教授Andrew.Ng對于AI的一個很好的觀點,對于軟件測試來說,AI是一個工具,一個聰明的助手。而對于測試人員來說,需要擁抱變化,提升能力,這樣才能更好地利用AI帶來的能量!
-
工程師
+關注
關注
59文章
1571瀏覽量
68574 -
人工智能
+關注
關注
1792文章
47497瀏覽量
239211
發(fā)布評論請先 登錄
相關推薦
評論