為自動化測試系統(tǒng)選擇合適的軟件開發(fā)環(huán)境
1. 引言
當(dāng)今,測試工程師需要花費大量的開發(fā)時間在ADE上。 因此,我們選擇的ADE不僅必須直觀易懂,而且可以支持多個平臺,并可輕松地與驅(qū)動程序等測量控制服務(wù)集成。 在選擇開發(fā)測試系統(tǒng)的ADE時,還應(yīng)當(dāng)考慮其它一些因素,包括顯示和報告功能、如何防止產(chǎn)品過時被淘汰以及全球培訓(xùn)和支持。 本文討論了三種不同的ADE:NI LabVIEW、NI LabWindows/CVI和Microsoft® Visual Studio .NET,并對它們的特性進(jìn)行了比較。
本文引用地址:http://m.butianyuan.cn/article/201612/333287.htm2. 選擇ADE時需要考慮的因素
選擇ADE時需要考慮的因素
是否便于新軟件工程師使用
由于ADE是自動化系統(tǒng)開發(fā)的核心,因此工具的易用性對于新軟件工程師的工作效率至關(guān)重要。 易用性的重要性甚至超過了快速啟動和運行。 例如,開發(fā)人員應(yīng)該能夠輕松地將處理程序與多種測量設(shè)備集成、創(chuàng)建復(fù)雜的用戶接口、部署和維護(hù)應(yīng)用程序,并根據(jù)產(chǎn)品設(shè)計的變化和系統(tǒng)需求的擴(kuò)展而修改應(yīng)用程序。 ADE應(yīng)包括的其他特性還包括豐富的文檔和代碼范例。
集成測量和控制驅(qū)動
多核技術(shù)已經(jīng)成為自動化測試系統(tǒng)的標(biāo)準(zhǔn)功能,也成為當(dāng)今電子設(shè)備處理海量數(shù)據(jù)的必需技術(shù)。 多核處理器也帶來了新的軟件挑戰(zhàn),我們必須克服這些挑戰(zhàn)才能充分利用多線程應(yīng)用程序的處理能力。 ADE必須為開發(fā)人員提供所需的編程技術(shù)來創(chuàng)建并行執(zhí)行進(jìn)程。
培訓(xùn)和支持
ADE的易用性是指新用戶能夠輕松地學(xué)習(xí)該環(huán)境。 因此,ADE廠商應(yīng)為工程師提供使用手冊和在線培訓(xùn)來幫助他們快速學(xué)習(xí)如何使用其產(chǎn)品。 高級用戶可能需要課堂培訓(xùn)來進(jìn)一步增加他們的知識和了解更多系統(tǒng)級設(shè)計理念。 課堂培訓(xùn)應(yīng)為開發(fā)人員提供機(jī)會來通過認(rèn)證流程證明他們的知識。 選擇ADE時還應(yīng)當(dāng)考慮的另一個因素是在部署應(yīng)用時供應(yīng)商提供的支持類型,比如電話和電子郵件支持。 此外,如果您要實現(xiàn)該ADE的全球標(biāo)準(zhǔn)化,您還需要考慮世界各地的工程師是否可以獲得當(dāng)?shù)卣Z言支持。
很多時候,測試系統(tǒng)的開發(fā)人員認(rèn)為只需一個設(shè)備驅(qū)動程序就足以有效集成其測量設(shè)備。 但是僅僅只有驅(qū)動程序是不夠的;測量和控制驅(qū)動程序應(yīng)盡可能無縫地與ADE集成。 在理想情況下,控制測量設(shè)備的軟件是透明的,僅為ADE的一部分。 這種理想的實現(xiàn)保證了開發(fā)的最大靈活性和可擴(kuò)展的架構(gòu),以便企業(yè)可以將其部署到所有ADE平臺上。
平臺獨立性
當(dāng)今的測試軟件應(yīng)用針對的是多種不同的架構(gòu)。 重要的是,無論您選擇哪種ADE,都必須具備足夠的靈活性來盡可能無縫地支持所有這些不同的架構(gòu)。 Windows、Linux和Macintosh等不同的操作系統(tǒng)可為不同的應(yīng)用提供不同的好處。 工程師應(yīng)能夠?qū)⑺麄兊拇a從一個平臺移植到另一個平臺。 如果ADE不支持多種平臺,您需要針對不同的項目使用不同的ADE,并花費不必要的時間將現(xiàn)有代碼從一個平臺移植到另一個。
顯示和報告功能
測試應(yīng)用由于需要圖形化顯示數(shù)據(jù)而在顯示和報告領(lǐng)域存在諸多挑戰(zhàn)。 ADE應(yīng)提供多個可視化組件來實現(xiàn)數(shù)據(jù)可視化,如圖表、圖形、旋鈕和儀表。 另外,ADE還應(yīng)容易生成報告,以便促進(jìn)系統(tǒng)所采集信息的通信, 比如易于生成MS Word、MS Excel等部分最常用的報告。 結(jié)果的通信也應(yīng)該易于實現(xiàn),比如在網(wǎng)絡(luò)上發(fā)布應(yīng)用程序或者將信息錄入到數(shù)據(jù)庫。
保護(hù)系統(tǒng)不被淘汰
為測試系統(tǒng)開發(fā)標(biāo)準(zhǔn)化ADE是一個不易實現(xiàn)的承諾。 重要的是您的投資不會因為產(chǎn)品過時而受到影響。 其中您應(yīng)該考慮的一個特性是產(chǎn)品與最新軟件技術(shù)集成的能力以及產(chǎn)品是否能夠保護(hù)您的測試軟件開發(fā)不會受到不連續(xù)遷移的影響。 此外,產(chǎn)品應(yīng)能夠通過常規(guī)升級添加新功能。
圖1. 在開發(fā)測試系統(tǒng)時不同的ADE提供了不同的益處和挑戰(zhàn)。
3. LabVIEW
LabVIEW是一種圖形化開發(fā)語言,可以幫助工程師和科學(xué)家以最低的成本迅速創(chuàng)建靈活且可擴(kuò)展的測試應(yīng)用。 NI LabVIEW使用的是圖形化開發(fā)模式,而不是依賴于基于文本的編程。 NI LabVIEW的圖形化數(shù)據(jù)流語言和程序框圖能自然地顯示您的數(shù)據(jù)流,同時直觀地將用戶界面控件映射至數(shù)據(jù),令您輕松地查看、修改數(shù)據(jù)或控制輸入。 圖1所示的是一個NI LabVIEW應(yīng)用程序的框圖及其對應(yīng)的前面板。
圖2. LabVIEW 8 ADE 可助您快速直觀地開發(fā)測試應(yīng)用程序。
LabVIEW還可讓您方便地引用產(chǎn)品中豐富的文檔。 上下文幫助功能可以讓您充分利用LabVIEW圖形化特性,只需將鼠標(biāo)懸停即可訪問子VI的文檔。 LabVIEW還在產(chǎn)品內(nèi)以及在線提供了數(shù)百個可用程序范例來演示和講解不同的特性。
不論底層算法有多復(fù)雜,LabVIEW分析工具均簡單易用。 Spectral Measurements Express VI等超過15個用于分析的Express VI可降低在應(yīng)用中實現(xiàn)測量分析的復(fù)雜度,您可通過交互式配置對話框即時預(yù)覽分析結(jié)果。
圖3. Signal analysis Express VI為應(yīng)用程序的分析提供了強(qiáng)大、易用的編程工具。
這些和其它測量分析工具可以直接輸入來自數(shù)據(jù)采集硬件的真實時域信號,并提供結(jié)果以便繪制圖表、圖形或進(jìn)一步處理。 借助這些函數(shù),您可以輕松地確定DC/RMS電平、總諧波失真(THD/SINAD)、脈沖響應(yīng)、頻率響應(yīng)和交叉功率頻譜等信號特征。
LabVIEW的一大優(yōu)勢是提供了與測量和控制驅(qū)動程序的緊密集成,簡化了與來自數(shù)百家廠商的數(shù)千種儀器的連接和通信。使用LabVIEW,您可以使用儀器驅(qū)動程序、交互式助手和內(nèi)置儀器I/O庫快速采集來自GPIB、串口、以太網(wǎng)、PXI、USB和VXI儀器的數(shù)據(jù)。 此外,LabVIEW還包含了易于使用的函數(shù)庫和交互式助手來與NI模塊化儀器和數(shù)據(jù)采集產(chǎn)品進(jìn)行通信。
NI提供了各種專業(yè)技能級別的LabVIEW培訓(xùn)。 雖然基礎(chǔ)課程針對需要了解產(chǎn)品的非編程人員和現(xiàn)有開發(fā)人員,對于中級和高級用戶來說,這些課程也有助于提高他們的專業(yè)水平。 現(xiàn)場實地課程可幫助企業(yè)快速培訓(xùn)大量開發(fā)人員而無需離開公司。 在線和自學(xué)課程針對希望根據(jù)自己的時間安排和進(jìn)度提高其知識的開發(fā)人員。
雖然LabVIEW通常被看作是一個MS Windows應(yīng)用程序,但該產(chǎn)品最開始在Macintosh操作系統(tǒng)上運行。 NI將LabVIEW移植到Windows上,因為該操作系統(tǒng)在臺式PC行業(yè)的重要性日益增長。 LabVIEW支持新平臺的承諾到一直持續(xù)到今天。 LabVIEW繼續(xù)支持MS Windows和Macintosh,但也由于Linux®的日益普及而新增了對該操作系統(tǒng)的支持。 LabVIEW VI能夠在不同的操作系統(tǒng)上運行意味著無論您需要在何種計算平臺上進(jìn)行開發(fā),您都可以在利用您的LabVIEW技術(shù)。 LabVIEW甚至可以在其他終端上運行,如實時系統(tǒng),甚至FPGA和DSP。
LabVIEW的數(shù)據(jù)顯示和報告功能也是該環(huán)境如此適用于測試軟件開發(fā)的一個重要原因。 LabVIEW包含多個二維和三維圖形、圖表、儀表、旋鈕和開關(guān),以便以圖形化方式顯示測量數(shù)據(jù)。 ADE還包含LabVIEW報告生成工具包,以便以MS Word和Excel格式生成報告。 如果需要通過Web導(dǎo)出應(yīng)用程序來進(jìn)行結(jié)果通信, LabVIEW遠(yuǎn)程面板可以讓您通過瀏覽器顯示前面板的數(shù)據(jù)。 另一方面,如果測量結(jié)果需要記錄到數(shù)據(jù)庫,則LabVIEW數(shù)據(jù)庫連接工具包提供了一套易用工具來快速連接到本地和遠(yuǎn)程數(shù)據(jù)庫,并執(zhí)行許多常見的數(shù)據(jù)庫操作。
最后,NI始終致力于幫助LabVIEW用戶克服系統(tǒng)過時問題。 盡管大量的開發(fā)精力都集中在增加新功能和集成新技術(shù),但是新版本支持舊版本代碼一直是一個首要任務(wù)。 在新版產(chǎn)品中運行舊代碼意味著專為之前應(yīng)用投入的寶貴資源不會被浪費,而且可以在新的開發(fā)中加以利用。.
4. LabWindows/CVI
LabWindows/CVI是一個成熟的測試與測量ANSI C開發(fā)環(huán)境,可極大提高工程師和科學(xué)家們的生產(chǎn)力。 圖4顯示的是LabWindows/CVI開發(fā)環(huán)境。
圖4. LabWindows/CVI包含了一個完整的工作區(qū),可用于快速開發(fā)、調(diào)試和管理大型應(yīng)用程序。
工程師和科學(xué)家們使用LabWindows/CVI來開發(fā)制造測試、軍事和航空航天、通信、設(shè)計驗證和汽車行業(yè)所需的高性能穩(wěn)定應(yīng)用。 LabWindows/CVI通過硬件配置助手、全面的調(diào)試工具和開發(fā)人員在設(shè)計時可用于運行函數(shù)的交互式執(zhí)行能力簡化了這些領(lǐng)域的開發(fā)。
高級分析庫等工具包補(bǔ)充了LabWindows/CVI包含的分析庫,用于幫助工程師們分析其測量數(shù)據(jù)。 LabWindows/CVI高級分析庫提供了一套全面的數(shù)據(jù)分析函數(shù)。 借助這些強(qiáng)大的分析程序,您可以輕松地將原始數(shù)據(jù)轉(zhuǎn)換成有用的信息以及構(gòu)建測試應(yīng)用程序。 高級分析庫包括用于信號生成、一維(1D)和二維(2D)數(shù)組操作、復(fù)雜的運算、信號處理、統(tǒng)計和曲線擬合等函數(shù)。
LabWindows/CVI通過儀器驅(qū)動程序網(wǎng)絡(luò)上來自200多家廠商的8000多個儀器驅(qū)動程序提供了業(yè)界領(lǐng)先的儀器控制和連接。 您可以使用這些驅(qū)動程序輕松地編程儀器控制應(yīng)用。 借助儀器I/O助手,您可以生成代碼來與串口、以太網(wǎng)和GPIB儀器等設(shè)備進(jìn)行通信,而不需要使用儀器驅(qū)動程序。 儀器I/O助手提供了一個簡單的界面來快速驗證應(yīng)用原型和自動分析儀器數(shù)據(jù),而無需任何編程。 您可以輕松地將生成的代碼導(dǎo)入到任何現(xiàn)有應(yīng)用程序,從而避免了編寫儀器連接、基本通信和字符串解析代碼等繁瑣任務(wù)。 除了集成NI-DAQmx庫外,LabWindows/CVI還提供了DAQ助手,DAQ助手是一個與數(shù)據(jù)采集驅(qū)動程序框架連接的交互式界面。
針對LabVIEW的培訓(xùn)和支持也適用于LabWindows/CVI。 LabWindows/CVI為不同專業(yè)技能水平的開發(fā)人員提供了不同的培訓(xùn)課程。 現(xiàn)場實地課程可幫助公司快速培訓(xùn)大量開發(fā)人員,而無需讓員工離開公司。 對于希望根據(jù)自己的時間和進(jìn)度學(xué)習(xí)知識的工程師,NI也提供了在線和自學(xué)培訓(xùn)課程。 除了LabWindows/CVI培訓(xùn)選項,全球各地分公司的NI應(yīng)用工程師也為客戶提供了全球支持。
通過維護(hù)LabWindows/CVI的向后兼容性,NI可幫助您保護(hù)投資不因過時而被淘汰。 您不僅可以運行數(shù)年前編寫的C代碼或使用LabWindows/CVI早期版本編寫的代碼,也可以使用新的優(yōu)化編譯器集成更快速運行應(yīng)用程序。 LabWindows/CVI的向后兼容性對于軍工和航空等重視產(chǎn)品生命周期和連續(xù)性等行業(yè)至關(guān)重要。.
5. Microsoft Visual Studio .Net (C++, Visual Basic .Net, C# and ASP.NET)
Visual Studio .NET支持多種編程語言,如C++、Visual Basic .NET、C#和ASP.NET,提供了一個非常強(qiáng)大的ADE。通過提供各種編程語言選項,您可以使用相同的工具和利用不同開發(fā)人員的專業(yè)知識,即使他們掌握的是不同的編程語言。 Visual Studio .NET開發(fā)的應(yīng)用程序可以在個人計算機(jī)上運行,也可使用ASP.NET語言通過網(wǎng)絡(luò)運行。
Visual Studio .NET提供了所需的功能來幫助工程師使用C++、Visual Basic .NET和C#等不同編程語言進(jìn)行開發(fā)。 通過將這些編程語言編譯成通用語言運行時,您可以添加不同語言開發(fā)的程序庫。 另一方面,由于.Net平臺僅支持Microsoft Windows操作系統(tǒng),這意味著支持該應(yīng)用程序的操作系統(tǒng)數(shù)量非常有限。 此外,未來將應(yīng)用程序移植到另一個操作系統(tǒng)可能需要使用不同的語言重新編寫應(yīng)用程序。
默認(rèn)情況下,Visual Studio .NET不包括任何功能來集成測量和控制驅(qū)動器或執(zhí)行任何分析操作。 NI Measurement Studio提供的組件,如圖4所示,可以訪問測量和儀器驅(qū)動和分析功能。 這些組件提供了交互式助手來自動生成代碼,以增強(qiáng)ADE與儀器和測量驅(qū)動程序的集成。 與此相反,.NET框架包含的某個功能使其很難與某些儀器進(jìn)行通信。 .NET架構(gòu)在通用語言運行時上執(zhí)行代碼,使您無法訪問硬件。 由于不能訪問硬件,直接寫入到儀器的寄存器就會非常困難。 如果要實現(xiàn)這一點,我們必須創(chuàng)建一個DLL,然后從.NET應(yīng)用程序調(diào)用DLL。
Visual Studio .NET默認(rèn)提供了少量顯示和報告功能。 該ADE提供了創(chuàng)建基本應(yīng)用程序所需的文本框、組合框、列表框、按鈕和其他組件,從而提供了足夠的功能來生成一個標(biāo)準(zhǔn)的Windows應(yīng)用程序。 如果要使用圖形和圖表等更強(qiáng)大的組件來顯示數(shù)據(jù),您將需要為這一應(yīng)用程序購買一套組件。 這個問題也反映在Visual Studio .NET編程語言缺乏報告工具上。 另一方面,.NET框架可將信息存儲到數(shù)據(jù)庫,從而提供了強(qiáng)大的數(shù)據(jù)報告功能。 ADO .NET是一個豐富的數(shù)據(jù)功能庫,可用于與許多數(shù)據(jù)庫進(jìn)行通信并執(zhí)行操作。
.NET更側(cè)重于商業(yè)、IT和基于Web的應(yīng)用程序,而不是自動測試。 因此,保證編程語言的長期使用性以及避免不連續(xù)遷移并沒有那么重要。 針對IT的應(yīng)用只有數(shù)個月的生命周期,而針對自動化測試的應(yīng)用的生命周期則長達(dá)數(shù)年。 例如,盡管DLL可集成到.NET,但這需要開發(fā)人員手動調(diào)用函數(shù),并保證DLL數(shù)據(jù)類型匹配.NET的數(shù)據(jù)類型。 這乍看之下似乎并不是很難,但如果您需要與儀器驅(qū)動程序的數(shù)百個函數(shù)進(jìn)行通信,這個過程可能非常耗時。 另一方面,將現(xiàn)有ActiveX組件集成到.NET自動化測試應(yīng)用要比集成DLL容易得多。 Visual Studio .NET可以生成ActiveX組件包裝,將其包裝為.NET對象。
評論