我們的測試工程執行方式正在迅速改變。複雜產品的上游開發速度加快,我們必須執行的任務也會有根本改變,即使我們的目標仍舊保持不變。過去 10 年來,我們花時間的方式不斷演進,更著重於協同開發方法,並且花更多時間處理以前被視為週邊作業。
圖 1.過去 10 年內的測試工程時間分配變化
這些任務的激增意味著,當 AI 等生產力加速工具出現時,熟練的測試工程團隊會全面思考如何將其套用至所有必須完成的工作上,而不只是在吸引眼球的程式碼產生工作上。本技術文章將探討工程師的工作流程,並說明測試工程師為何需要將 AI 納入更多工作項目,以獲得成功。
優秀的測試工程必須從優秀的測試策略著手,而不是只有優秀的 IP 開發。然而,隨著受測產品的涵蓋範圍需求與日俱增,在規劃與設計這類策略方面的時間投資與其收益相比越來越不相稱。
AI 可擷取產品與元件範疇的資訊,並將其轉換為測試計畫,進而協助規劃。要完成這項工作,就必須具備足夠的專業技能,才能充分了解測試方法與量測最佳實務,進而提供高效能的計畫。隨著這項計畫進入工作站設計階段,AI 必須具備平行化等最佳化策略的相關技能以有效運用資源,同時了解切換器拓撲、除錯可存取性、雜訊來源等等。
每位測試工程師都知道,絕佳的測試系統設計結合了藝術、科學、經驗與妥協。NI Nigel™ AI 是一款專門用於測試與量測應用的 AI 工具,具備提供可靠建議的能力;其代理功能正迅速提升,並能提供最符合特定用途的支援。但工程師在驗證建議時,也不應該忘記自己的實際經驗。
隨著員工為了獲得進步而切換職位的頻率提高,現代測試工程師必須靈活調整。這些變化使得幾乎必須持續進行新工具與流程的入職訓練。持續進行入職訓練不但會影響學員的生產力,也會讓經驗豐富的團隊成員在擔任培訓人員時無法專注於自己的工作。
AI 小幫手可為使用新工具的工程師提供第一線支援。我們的產品資料顯示,有超過 20% 的 LabVIEW 使用者會定期使用 Nigel AI 處理這類使用案例。要清楚說,這些工具無法取代涵蓋產品最佳實務的架構更完善的教育訓練課程。這類教育仍然是必要的,因此,工程師必須了解該提出哪些提示,以及良好的回應是什麼樣子。不過,AI 小幫手確實是良好的複習工具,並且能協助工程師瀏覽複雜的軟體環境,在不打擾同事的情況下找到所需的功能。
測試 IP 開發幾乎一律不只是針對測試步驟編寫量測程式碼。目前有相當完整的應用程式可支援資料記錄、測試序列管理與互動式訊號除錯等應用程式,每種應用程式均以量測程式碼為基礎,或可插入量測程式碼,讓工程師能以更快速、更抽象的方式進行作業。其中許多應用程式 (例如 NI FlexLogger、NI TestStand 與 NI InstrumentStudio™ 軟體) 均內建 Nigel AI,可進一步加快開發速度。
舉例來說,TestStand 可讓 Nigel 根據情境化測試計畫產生測試序列。此工具可大幅節省時間,因為它可將測試步驟 (可能以任何語言 (例如 LabVIEW、Python 或 C#) 編寫而成) 整合到單一序列中,並將使用者的協調負擔降至最低。接著,Nigel 可將 TestStand 引擎中的速度最佳化功能自動化,以提升效能。在這些情況下,工程師仍要對交付至製造現場的序列負責,並且應檢查作業,但 AI 可以減少點擊次數,並建立起始點,以節省工作時間。
向使用者解釋程式碼,是最常見的 AI 使用案例之一。工程師很少從空白頁面著手;他們會繼承程式碼、重複使用程式碼、重構程式碼、重新部署程式碼等。在許多情況下,繼承的程式碼可能是一份禮物,但在其他情況下,要了解某位早已離職的同事留下的奇特且文件不足的應用程式架構可能需要數週的時間。
AI 可總結程式碼模組或甚至整個應用程式的功能,接著讓使用者透過自然語言提示瀏覽程式,例如下列範例:
這樣的 AI 也會建立低風險設定,讓 AI 錯誤傳播到程式碼庫中;透過來回的提示,讓工程師必須做出變更。
測試團隊對資料深入分析的期望與日俱增,因為建立資料的對象往往最適合操作並深入分析資料。一般而言,測試資料深入分析可分為兩類:
若要取得寶貴的深入分析,就必須以結構化且標準化的方式,針對每個量測資料記錄一組完整的環境元資料。為了找出有意義的關聯性,您必須記錄產品資訊 (需求、變化、作業範圍)、測試系統 (資產、位置、治具、操作人員)、測試 IP (軟體堆疊、相依性、修訂版本) 與量測結果 (純量、波形、時間戳記,針對所有使用中的儀器完全同步化)。若量測時未記錄這類資料,就無法「重新加入」,因此在量測系統中採用強大的元資料記錄策略,在後續階段才能成功運用 AI 導向深入分析。
測試工程師花費數年時間接受學術與產業訓練,並不是為了長時間在實驗室或產線中尋找校準標籤、遺失的連接線、軟體不一致等重要卻繁瑣的工作。AI 很擅長搜尋物品,也能節省實驗室維護中令人挫折的數小時時間。
舉例來說,如果在 NI SystemLink™ 軟體中使用 Nigel,您可以提出以下問題:
只要將這類行政作業自動化,團隊就能讓核心工程人員發揮最大的生產力。這種自動化作業有助於提高團隊參與度與激勵力,因為它可以減少花在令人沮喪、重複且低價值的作業上的時間。
本技術文章僅簡要介紹使用 AI 來協助您編寫程式碼的優勢與缺點,而這樣的優勢與缺點很多。不過,更值得期待的是,當中也說明了如何透過更廣泛且更完整的見解,了解 AI 在協助工程師時所發揮的作用,進而提升工程師的生產力。
Nigel AI 經過最佳化處理,可協助測試工程師進行整個開發流程,從第一次規劃會議到最終報告會議,以及兩者之間的所有作業。其具備獨一無二的技能,再加上可密切整合於您現階段已用於測試的多種工具,代表其可發揮催化劑作用,加速最重要的創意測試作業,同時將行政作業抽象化與自動化,而不會干擾您現有的流程。