AI軟件測試的利與弊以及帶來的挑戰
軟件測試對于確保使用應用程序客戶的滿意度是十分必要的,人工智能可以在軟件測試中,解決大部分重復性任務,那為什么人工智能不能完全替代呢?
一、軟件測試的背景
Background of Software Testing
軟件測試對于確保使用應用程序客戶的滿意度是十分必要的。
測試是指在一些特定條件下觀察應用程序,且在測試過程中測試人員已經知道要實施相同的門檻和風險。同時,測試有助于保護應用程序,避免潛在的可能會對應用程序和將來的組織,造成危害的危險因素。而軟件測試的下一步是軟件調試,但只有在經過徹底的測試之后才能進行軟件調試。
二、測試與人工智能
任何一個復雜任務,如果能夠被測試者不假思索地解決,都是人工智能的候選之一。
人工智能的一般定義是指:機器能夠獨立理解環境并執行輸入數據,完成智能工作和學習如何自動提高自身工作水平的能力。
1. 為什么在軟件測試中我們需要人工智能
Why do we Need AI in Software Testing
將近80%的測試活動是對軟件已經進行過的測試的重復,這會消耗了大量的人力和時間。這種現象在軟件測試中十分常見,隨著項目的擴展,參數也會增加,從而會導致給測試團隊帶來額外的工作量,這可能已經超出他們的能力和工作時間的范圍之外了。同時手動測試還會面臨可伸縮性的問題,這會需要對多臺機器進行管理,這種方法復雜又繁瑣。
但是,人工智能卻可代替以上方法,可通過以下方式來解決這些問題:
- 使用人工智能機器,80%的重復性任務可以由人工智能機器人完成,剩下的20%工作可以由人類利用他們的創造力和推理能力去完成。因此,人工智能可以做重復性的任務,如:測試數據的數量、回歸測試等,而測試人員可以專注于處理類似于系統集成的創造性的和困難的任務。
- 使用人工智能機器人,測試人員可以重構測試以合并新的參數,這會使得測試的覆蓋率增加卻不會給測試團隊帶來額外的工作量。
- 人工智能可以自動創建測試用例,這降低了使用內置標準的工作級別(LOE)。
- AI通過理解用戶接受標準自動生成測試代碼或偽代碼,測試自動化可以節省大量的時間和成本。
- 人工智能還可以進行無代碼測試自動化,它可以在你的web或移動應用程序上自動創建和運行測試,而無需編寫任何代碼。
- 由于人工智能機器人可以全天候工作,它們可以在任何需要的時候幫助調試項目,因此測試無需人工干預也可以運行更長的時間。
2. AI 的利與弊
Pros and cons of AI
優點:
- 人工智能的優勢在于能夠每天24小時不累地執行重復性任務,而且在代碼中出現錯誤比率要遠遠低于人類操作。
- 人工智能機器人能夠正確地理解客戶機的需求,并且能夠比人類測試人員更快地生成數百個測試用例的代碼。
缺點:
人類是復雜的、不可預測的,人工智能還不夠成熟,無法復制人類用戶的經驗,而所有的復雜性隨之而來。
研究顯示:85%的客戶在移動應用程序開發經驗不足的情況下,可能會停止與一家公司的合作。
所以第一次做對是非常重要的,人工智能還有很長的路要走,才能準確地復制和測試應用程序或網站所使用的每個場景和環境,包括網速、當地天氣、基礎設施、時間等多種因素。
3. AI-powered應用程序帶來的挑戰
Challenges with AI-powered Applications
在嘗試構建以AI為動力的測試應用程序時,可能面臨的挑戰和可能的問題是:
- 識別,完善所需的所有算法。
- 收集大量的輸入數據來訓練機器人。
- 機器人如何處理輸入數據。
- 機器人會重復任務,即使數據輸入是新的。
- 訓練機器人的過程永遠不會結束,因為算法正被不 斷改進。
多角度來講,人工智能測試是一個漫長的過程,但如果做得好,將會發揮很重要的作用。
作者:陳迪 Derek,Testin云測SaaS運營總監。
本文由 @陳迪 Derek? 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議
- 目前還沒評論,等你發揮!