概覽
歡迎進入設計新一代測試系統的開發者指南。該指南匯總了一系列的技術白皮書,專為幫助您通過開發測試系統,降低成本、提升測試處理能力并順應今后的需求。這份技術白皮書為選擇最合適的軟件應用開發環境(ADE),提供指導。下載完整的開發者指南(共120頁),查閱ni.com/automatedtest/zhs
1、行業趨勢和挑戰
隨著全球設計和新產品開發的快速發展,測試管理者和測試工程師在開發測試系統時具有了新機會,這極大加速了產品開發周期。測試系統的開發方式由利用專用、即用型(turnkey)測試系統,轉為創建模塊化測試架構。新一代的測試架構應當容納多種產品的測試需求并促進新型測試技術的添加,從而在未來實現其他的測試融合。開發強健開放的測試軟件架構,對于設計模塊化的測試架構至關重要。
隨著開發成本在資金投入中的比值增加,我們更需要開發模塊化且靈活的測試軟件架構。在當今的大多數測試系統中,開發成本(如:系統集成成本和軟件開發成本)往往是資金投入的2倍至10倍。測試工程組應當和日益縮短的產品開發周期、設計與測試的全球化保持同步,而這種開發成本的快速增長卻正對該能力形成深遠影響。當前測試系統的開發手段生成了過多項目,令如今的工程師難以與其保持同步。
對工程師而言,待測產品的復雜性也在迅速提高。而市場卻在要求更高的質量和更多的功能。目前,很大程度上,產品在相同空間中可能納入了更多的壓縮功能。測試這類日益增加的功能便需要在您的測試系統中添加新型技術,這對靈活性不高的即用型(turnkey)測試系統便是一項挑戰。反之,模塊化測試架構卻能夠根據需要,通過固有手段添加新型功能。模塊化的測試軟件架構可幫助您縮減開發成本、縮短產品開發周期,并緊跟新產品復雜性的日益增長。
2、定義模塊化的測試軟件架構
設計高效的測試系統需要模塊化的軟件架構(圖1)和為測試優化的開發工具。欲使測試系統的開發更為迅速、經濟,關鍵在于:通過評估測試軟件架構,實現代碼最大程度的再利用。檢驗測試軟件架構包括:評估使用中的軟件開發工具和學習自行開發測試編碼。理解模塊化測試軟件架構的重要性;理解以模塊開發測試的方法而舍棄創建獨立應用程序的思想,將大大提高測試軟件的再利用。
圖1. 測試系統架構
納入模塊化的測試軟件架構時,首先應選擇軟件開發環境,其設計須能輕松連接儀器并快速執行測試所需的各類測量和分析。這些測試軟件開發工具包括:NI LabVIEW、NI LabWindows/CVI和用于Visual Studio .NET的NI Measurement Studio。借助適當的測試開發環境,您能夠與團隊的其他成員及組織中的測試部門,更為輕松地共享測試程序。
選擇具有強健軟件界面的測試和測量硬件,是定義模塊化軟件架構的另一個重要層面。NI Measurement & Automation Explorer (MAX)、NI-DAQ、虛擬儀器軟件架構(VISA)、NI LabVIEW即插即用驅動、可互換虛擬儀器(IVI)驅動等測量和控制服務軟件,可以提供模塊化硬件接口,通過利用虛擬通道名稱、虛擬設備和仿真接口,對測試系統進行配置和編程。這些模塊化的測量和控制服務驅動軟件,令您無需開發與測試系統中的特定硬件及通道永久相接的測試程序,從而進一步簡化了代碼再利用。
設計工程師為建模和驗證測試而創建的測試模塊,是生產測試部門的整合資產。生產測試工程師可通過NI TestStand等行業標準測試管理軟件,將在建模和驗證階段中開發的測試,輕松集成至最終的自動化測試系統。
NI TestStand提供一系列的內置測試管理功能,如:測試模塊適配器。無論各項測試的函數原型如何定義,測試模塊適配器均能夠調用常見測試語言(如:NI LabVIEW、NI LabWindows/CVI、C/C++和Visual Studio .NET)編寫的測試。對產品設計和生產團隊之間代碼最大程度的再利用,在節省測試開發精力的同時確保了生產進度并滿足了更高質量的要求。由于靈活的NI TestStand模塊適配器可最大程度地壓縮培訓與代碼的應用,從而保證了產品開發周期中最大的代碼利用率。
3、NI模塊化的測試軟件架構
模塊化測試軟件架構的管理層,負責指導整個測試系統的執行。 NI TestStand的開放式軟件架構受到測試管理軟件的廣泛青睞,并極大推動了可擴展性測試軟件架構的輕松執行。NI TestStand提供完全模塊化兼開放式的架構,既能接受現成且“原封不動”的使用,也可作為單個組件用以設計完全自定義且基于NI TestStand的測試系統。圖2圖形化地描述了NI TestStand的架構。
圖2. NI TestStand測試管理軟件架構
作為NI TestStand架構核心的NI TestStand Engine是一款強大的多線程測試引擎,它具有完整且經過詳細描述的API。借助與NI TestStand Engine的通信,模塊適配器提供開放的語言接口,以自動化各種語言所編寫的測試。過程模型在必須執行的測試代碼和系統級函數之間,提供更卓越的模塊化。序列編輯器為測試序列提供易于使用且功能強大的開發環境。新近的操作界面由多種程序語言編寫的源代碼提供,通過快速定制滿足您的確切需求。
NI TestStand Engine
NI TestStand Engine是一套用以導出ActiveX/COM的API函數庫,可引導NI TestStand架構的所有部件。API令開發者利用導出的1,400多種函數,通過編程在NI TestStand Engine上執行各項操作。執行多線程的NI TestStand Engine可通過同步測試多個單元,提高吞吐能力。還因為引擎自身能夠執行容限測試(limit testing),開發者無需將該功能納入測試代碼。由于沒有納入容限測試(limit testing),測試代碼的靈活性和重復利用性均獲得提高。NI TestStand Engine的另一項功能是:它能像任何的編程語言一樣,執行流程控制功能。最后,它還能實現多級用戶的訪問與管理,提高了測試系統的安全性。
模塊適配器
NI TestStand Engine在調用不同語言編寫的代碼時,利用了NI TestStand配備的不同模塊適配器。模塊適配器在NI TestStand Engine和NI LabVIEW、NI LabWindows/CVI、.Net、C/C++ DLL、ActiveX/COM和HT Basic編寫的測試代碼之間,提供了一個開放的語言接口。利用不同語言調用代碼,能夠重復使用任何已有的傳統代碼并利用更新的技術。您可以借助代碼模塊,利用參數的任意數目或NI TestStand API,從代碼模塊處收發信息。模塊適配器提供的其他功能包括:單步執行代碼模塊進行調試以及利用代碼模板提高編程效率。
過程模型
測試UUT不僅需要執行一系列的測試。通常,測試系統必須執行UUT識別、結果記錄、測試報告生成等一系列的操作。這些操作及其執行流程的集合稱為過程模型。過程模型執行著必要的系統級函數并在多個測試序列中使用它們,從而在測試代碼和此類系統級函數之間提供更卓越的模塊化。由于NI TestStand配有3個過程模型,用戶既可以原封不動地使用,也可以進行完整定制。順序過程模型每次能夠測試1個單元;而批量與并行過程模型則借助NI TestStand的多線程功能,同時測試1個以上的單元。
序列編輯器
序列編輯器向測試工程師提供開發最復雜自動化測試系統時需要的所有功能和工具。用戶可利用序列編輯器,創建、調試并修改測試順序文件(Test Sequence File)。測試順序文件(Test Sequence File)中的測試步驟能夠包含所有測試編程語言開發出的代碼模塊。此外,序列編輯器包含創建部署套件的工具,可實現測試序列和操作界面的輕松發布。序列編輯器還提供用戶管理服務,從而根據NI TestStand管理員設定的權限,防止某些用戶使用受到限制的功能。圖2中,序列編輯器顯示著由NI LabWindows/CVI編寫的測試順序。
圖3. NI TestStand序列編輯器
操作界面
歸根結底,操作界面是用于NI TestStand的可定制用戶界面,能夠執行和調試由序列編輯器所創建的測試順序文件(test sequence file)。在制造車間里,或者當測試或驗證系統需要體現出一種自定義的外觀和感受時,通常都會使用操作界面。NI TestStand操作界面通過NI TestStand用戶界面控件,全面執行順序文件顯示(Sequence File Display)和執行跟蹤(Execution Tracing)等常用功能,從而促進開發。NI TestStand中可立即運行的操作界面,由NI LabVIEW、NI LabWindows/CVI、C#、VB和VB .NET編寫而成。
4、應用程序開發環境(ADE)
ADE在測試軟件架構中扮演著很關鍵且可視化的角色。借助此類工具,系統開發者可進行系統的設計與組合,以實現測量應用、向終端用戶顯示信息、連接其他應用程序等多項功能。用于開發測量和自動化應用的ADE,為各個應用領域提供易于使用的設計模型、編譯型性能和應用層的編程靈活性。同樣重要的是,這些ADE與測量和控制服務軟件緊密集成,而控制服務軟件則與各種I/O設備連接且范圍從小型應用程序到大型系統。
簡單易用不僅重要,而且比快速上手和運行更為關鍵。借助易于使用的ADE,開發者不僅能夠通過多種測量設備輕松地集中處理例行程序(routine),還可創建復雜的用戶界面、部署并維護應用程序,并在產品設計升級和系統需要擴張時修改程序。
顯著的靈活性得益于內部軟件架構的使用,然而,當組織為了同迅速發展且處于業務核心之外的技術(如:OS和互聯網技術)保持同步而使用專有軟件時,常伴隨額外的成本耗費。這種行為會將珍貴資源從商業運作中濾除,并往往造成寶貴時間的流失。然而在實際例證中,開發者可以利用專為測量和自動化而設計的現成即用型ADE,快速簡便地升級至最新版的OS操作系統,或是通過最低的開發投資與新興的互聯網和XML標準實現集成。亦或是,在使用Visual Basic或Visual C++等ADE時,特定的測量和自動化附加工具可顯著削減開發時間。
除了與測量和控制服務軟件緊密集成,用以開發測量和自動化系統的ADE還可實現測量的管理和處理。為了最高效地實現此項功能,ADE在環境中直接納入測量數據類型,令此類測量均能方便地應用于額外的例行程序(routine)處理。為獲得最大的開發效率,ADE納入完整的統計型和數字型分析函數,以及測量應用中常見的高性能信號處理和控制算法。ADE集成了測量和自動化應用中典型的例行程序(routine),其中的函數包括:PID與模糊邏輯控制、降噪、頻譜測量、數字濾波、響應測量、信號檢測、數值的積分和微分、曲線擬合、分數倍頻程分析以及階次分析。
如需更多信息,請查閱 “選擇最合適的軟件應用開發環境技術”白皮書。
5、測量和控制服務
選擇具有強健軟件界面的測試和測量硬件,是定義模塊化測試架構的另一個重要層面。NI Measurement & Automation Explorer (MAX)、NI-DAQ、虛擬儀器軟件架構(VISA)、NI LabVIEW即插即用驅動、可互換虛擬儀器(IVI)驅動等測量和控制服務軟件,可提供模塊化硬件接口,對您的測試進行配置和編程。這些模塊化的測量和控制服務驅動軟件,令您無需開發與測試系統中的特定硬件及通道永久相接的測試程序,從而進一步簡化了代碼再利用。
配置管理器
MAX等配置管理器,通過統一的系統視圖,展現出測量和控制服務軟件支持的測量硬件。借助MAX,用戶可通過定義通道名稱來組織信號或通過指定尺度函數(scaling function)將數字化信號轉換為測量數量。配置管理器的主要優勢是與ADE的集成。這種集成使得開發者無需繁瑣編程,即可將多種測量輕松集成到單個應用程序。缺少了這些配置工具的開發者只得將時間浪費在通過編程配置這些測量函數上。
儀器連接
將現有的傳統儀器集成到測試軟件架構應利用即插即用儀器驅動和IVI等技術,以促進和這些儀器的通信并增強其可互換性。即插即用儀器驅動是一系列函數,或是NI LabVIEW中的VI,用來控制可編程儀器。由于用戶無需學習針對各臺儀器的編程協議,儀器驅動在幫助用戶利用計算機上的儀器輕松上手的同時,還能節省其開發時間與成本。利用開源(open-source)和具有完整文檔說明的儀器驅動,終端用戶能夠自定義操作,以獲得更佳性能。
IVI執行著用以增強儀器可互換性的驅動架構。IVI驅動在各類儀器上使用通用API,并通過分別執行驅動與特定儀器實現通信。通過從各類儀器的特定驅動執行中分離出API,工程師可通過使用兼容IVI的特定示波器,設計系統;系統一經部署,工程師無需重寫測試應用程序,即可改變儀器的品牌和模型。
編程工具
驅動能夠更勝一籌地通過添加節省時間的開發幫助工具,提供易于使用的API。I/O助手是用于迅速創建測量或激勵應用的交互式工具。I/O助手的一個范例是:作為NI-DAQmx驅動部件的DAQ助手。DAQ助手向用戶提供無需編程即可配置常見數據采集參數的面板。易于使用的助手與強大的編程環境相互結合,為快速開發和滿足廣泛應用需求,提供了必備條件。
6、概括:開發模塊化的軟件架構
模塊化的軟件架構包含緊密結合的3個層次,提供系統管理、應用開發、測量和控制服務。系統管理軟件包含的工具,可幫助您開發整個測試系統的架構、定義執行流程、收集結果,并利用報告或向數據庫記錄的方式來交流結果。您能根據需要,通過應用程序開發工具,在被測部件上創建特定測試。測量和控制服務提供的界面,幫助軟件控制測試系統中的儀器和硬件。