新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > NI自動化測試技術展望2:系統(tǒng)軟件棧

NI自動化測試技術展望2:系統(tǒng)軟件棧

作者: 時間:2012-07-09 來源:電子產品世界 收藏

  軟件是自動化測試系統(tǒng)的重要組成部分,軟件第一次被用于控制獨立的儀器到現(xiàn)在已有40多年。從那時起,軟件在自動化測試中的作用日益凸顯。事實上, 當前大多數(shù)測試系統(tǒng)中,軟件開發(fā)費用通常是硬件成本費用的2到10倍以上。從許多測試工程企業(yè)的工程人員的組成比例即可看出這種情況,即雇傭的軟件工程師比硬件工程師多。為了應對軟件開發(fā)成本的上升及產品開發(fā)周期的縮短,當前業(yè)界領先的公司都在強調設計一個強大的,以確保他們在軟件方面的投入能 夠被延續(xù)下去,提高軟件資源的重用率。事實上, 2010年進行的測試經理人調查報告顯示,測試經理們對系統(tǒng)軟件方面投入更多的關注,其重要性在 2011年提高測試開發(fā)效率的策略中排名第二。

本文引用地址:http://butianyuan.cn/article/134410.htm

  從系統(tǒng)軟件的角度來看,大多數(shù)公司正在遠離一體式的軟件棧,這種棧通常包含固定不變的代碼和直接調用儀器驅動函數(shù)。相反,他們正在探索一種模塊化的軟件棧,這種棧的成員既獨立又緊密關聯(lián),包括測試管理軟件、應用軟件及驅動軟件等。這種類型的可幫助工程師針對每個領域的應用選擇最佳的工具, 而且可在標準化的商用現(xiàn)成工具(Commercial Off The Shelf -COTS)和非現(xiàn)成的工具之間作出選擇。可以看到一個重要的趨勢,就是將模塊化的理念應用到軟件棧的每一層之中,這包括越來越來多地使用過程模型 (Process Model)、代碼模塊庫以及硬件抽象層等。

  測試管理軟件用于定義測試系統(tǒng)關鍵的自動控制策略及序列流程。其中過程模型是測試管理軟件層中的關鍵技術,因為過程模型能夠將非測試任務與測試任務分離,從而讓工程師們能夠輕松地在不同測試序列之間以及測試站之間對非測試任務進行標準化管理。非測試任務包括與企業(yè)的連接任務中的絕大部分,用于數(shù)據輸 入、質量數(shù)據庫的數(shù)據記錄、與車間溝通以及生成可編輯的測試報告。有了這個模塊化框架,企業(yè)可以擁有幾個過程模型,這些過程模型能夠應用在許多不同產品線及所部署的成百上千的測試設備上。過程模型還可以在不影響測試任務的情況下簡化對測試站的非測試功能修改,從而減少了對已部署的測試站進行更新所需的時 間。例如,工程師們根據市場需求可以在順序執(zhí)行、批處理和并行執(zhí)行等測試過程模型中進行切換,從而快速改變測試站的執(zhí)行流程?! ?/p>

 

  應用軟件層同樣重要,因為它直接影響了測試系統(tǒng)中測試相關的任務。很多企業(yè)已經開始開發(fā)模塊化的測試代碼,也就是所謂的代碼模塊。這些模塊由測試管理軟件進行調用,進行實際的測量和分析,來確定特定測試步驟的通過/失敗狀態(tài)。許多代碼模塊對不同類型的待測設備(Devices Under Test- DUT)執(zhí)行類似的I/O功能,因此在這方面,實現(xiàn)資源的重用以及使用基于團隊的開發(fā)方法分配開發(fā)任務非常重要。近來,業(yè)界已經有越來越多的企業(yè)采用重用測試代碼庫和更多的源代碼控制(Source Code Control-SCC)工具。現(xiàn)在,許多應用軟件供應商在軟件中集成SCC工具和一些高級功能(如三方對比與合并,three-way diff/merging),以適應這種測試軟件開發(fā)趨勢。一些企業(yè)甚至設立專門的監(jiān)督機制以確保一定程度的資源重用和團隊開發(fā),以防止重復開發(fā)和過分依賴單一開發(fā)者完成所有的代碼開發(fā)。

  此外,企業(yè)在應用軟件層中對需求管理軟件工具的集成日益增多。這有助于確保根據設計需求進行一對一的測試項目覆蓋,這對有嚴格質量標準的行業(yè)來說至關重要。新的需求管理軟件在應用軟件與需求管理環(huán)境(例如Telelogic DOORS)之間提供了一個連接,這極大地減少了在測試系統(tǒng)開發(fā)中跟蹤需求覆蓋所花的時間。

  的最后一個部分是硬件抽象層(Hardware Abstraction Layer -HAL),它的需求和使用越來越多。HAL位于系統(tǒng)軟件棧的驅動軟件層,它將應用軟件從儀器硬件中分離,最大限度減小移植和升級測試系統(tǒng)花費的時間和成 本。一般有兩種HAL設計方法:以儀器為中心或以特定應用為中心。對于以儀器為中心的API,定義了一個內部通用的以儀器為中心的API“標準”,可用于 多種類型的待測設備。

  “我們創(chuàng)建了一個自動化的設計驗證測試框架,其中包括一個硬件抽象層。這個框架使我們能夠靈活地配置測試硬件,而無需更改測試軟件的代碼。” - Mohammad Ahmad, Manager, System Test and Verification, Thales Communications

  可互換虛擬儀器(Interchangeable Virtual Instruments -IVI),是一個行業(yè)標準的HAL。從儀器為中心的抽象的觀點來看,頂層的測試應用程序去調用一個以儀器為中心的API函數(shù),這使所有儀器看起來很相似(舉個例子,IviScope Configure AcquisitionType)。在以特定應用為中心的方法中,測試應用程序調用一個針對特定應用的API,該API與需要執(zhí)行的測試的類型一致(例 如,LED測試)。HAL是開發(fā)和維護耦合度較低的測試系統(tǒng)時行之有效的方法,它能更好地解決產品和測試儀器生命周期不匹配的問題,避免測試儀器與測試代碼耦合度過高。測試代碼與測試儀器的松散耦合,改善了測試系統(tǒng)的整體設計,使其在生命周期之內更易于維護和擴展。

  將軟件系統(tǒng)棧的模塊性融合到到每個軟件層之中,增強了靈活性,并提供了開發(fā)復雜生命周期管理策略的框架。這些策略有助于減少軟件開發(fā)時間及老化問題,對許多方面有所幫助,如產品功能拓展、系統(tǒng)升級、儀器技術增添計劃等。



評論


相關推薦

技術專區(qū)

關閉