編輯推薦
適讀人群 :本書適閤從事工業自動化測試的工程技術人員和産品經理閱讀,也可作為高等學校相關專業的教學用書。 係統介紹工業自動化測試管理軟件TestStand的實用功能和常見問題的解決方法。本書附帶的光盤中不僅有書中的範例,還包含TestStand 2013評估版安裝程序、LabVIEW 2013評估版安裝程序、LabWindows/CVI 2013評估版安裝程序。
內容簡介
本書以作者多年的實際項目經驗為基礎,係統介紹瞭工業自動化測試管理軟件TestStand的實用功能和常見問題的解決方法。全書內容共15章,包括基礎入門和高級進階兩部分。其中,基礎入門部分(第1~9章)介紹工業自動化測試管理的基礎知識,使讀者對TestStand有較完整的認識;高級進階部分(10~15章)主要介紹TestStand自定製、麵嚮對象模型、編程技巧和優化策略、TestStand開放式架構,引導讀者從測試管理的角度來考慮問題,實現對項目的復雜度和需求進行綜閤評估,逐步成長為團隊核心開發人員。
值得一提的是,所有軟件的本質都是一種工具,運用它解決項目中的實際問題是基本,而能不局限於軟件自身並在解決問題的過程中瞭解整個行業的動態和發展趨勢,逐步形成全局化的眼光和思路,這纔是本書希望傳達的信息。
作者簡介
鬍典鋼,NI(美國國傢儀器公司)資深區域應用工程師,NI中國首位雙架構師——LabVIEW架構師和TestStand測試管理架構師,GSDZone社區TestStand專欄作者,主導和參與瞭半導體、通信、醫療、航空、消費電子等行業多個大型項目的自動化測試開發工作。
目錄
第1章 自動化測試展望
1.1 自動化測試
1.2 自動化測試係統
1.3 評估引入自動化測試
1.4 自動化測試趨勢
1.5 標準自動化測試係統架構
第2章 走進TestStand
2.1 初識TestStand
2.2 TestStand常用術語
2.3 TestStand組件
2.4 熟悉序列編輯器
2.4.1 序列編輯器視圖
2.4.2 序列編輯器主界麵布局
2.4.3 TestStand重要路徑
2.4.4 運行主序列
2.4.5 序列編輯器中的快捷鍵
第3章 TestStand係統和結構
3.1 TestStand思想
3.2 換一種方式執行主序列
3.3 TestStand開放式架構
第4章 動手創建序列
4.1 創建序列
4.2 步驟內置屬性
4.3 使用任意模塊適配器
4.3.1 閤格/失敗測試
4.3.2 數值限度測試
4.3.3 多數值限度測試
4.3.4 字符串測試
4.3.5 動作
4.3.6 應用開發環境
4.4 調用特定模塊適配器
4.5 無模塊適配器
4.5.1 Statement(聲明)
4.5.2 Label(標簽)
4.5.3 Message Popup(消息對話框)
4.5.4 流程控製步驟
4.5.5 Synchronization(同步)
第5章 TestStand數據空間
5.1 TestStand數據空間
5.2 變量
5.2.1 Locals(局部變量)
5.2.2 Parameters(參量)
5.2.3 FileGlobals(文件全局變量)
5.2.4 StationGlobals(站全局變量)
5.3 屬性
5.3.1 Step Property(步驟屬性)
5.3.2 RunState Property(運行時屬性)
5.3.3 ThisContext(當前上下文)
5.4 錶達式
5.5 自定義數據類型
5.5.1 TestStand默認數據類型
5.5.2 自定義數據類型
5.5.3 使用容器傳遞數據給代碼模塊
5.5.4 數據類型匹配
5.6 工具
5.6.1 屬性導入/導齣工具
5.6.2 屬性加載器
第6章 在TestStand中調試
6.1 TestStand執行窗口
6.2 在序列中調試
6.2.1 斷點
6.2.2 單步執行
6.2.3 交互式執行步驟
6.2.4 調試相關的工作站選項
6.2.5 Find工具
6.3 調試代碼模塊
6.4 序列分析器
6.4.1 分析序列文件
6.4.2 自定製序列分析器
第7章 TestStand常用配置
7.1 序列編輯器選項
7.2 TestStand工作站選項
7.3 搜索路徑
7.4 配置模塊適配器
7.4.1 LabVIEW模塊適配器
7.4.2 LabWindows/CVI模塊適配器
7.4.3 C/C++ DLL模塊適配器
7.5 報錶選項
7.6 數據庫選項
7.6.1 數據庫選項
7.6.2 數據庫查看器
第8章 並行測試
8.1 並行測試概述
8.2 TestStand中的多綫程結構
8.3 多綫程過程模型
8.3.1 在新的執行中運行序列
8.3.2 並行過程模型
8.3.3 批量過程模型
8.4 數據空間的獨立性
8.5 同步步驟
8.5.1 等待
8.5.2 上鎖/解鎖
8.5.3 自動協作
8.5.4 通知和隊列
8.5.5 集閤點
8.6 常用多綫程測試模式
8.6.1 混閤多綫程模式
8.6.2 資源局部共享模式
8.6.3 主/從模式
8.7 使用並行測試的注意事項
8.7.1 競爭
8.7.2 資源衝突
8.7.3 死鎖
第9章 用戶管理
9.1 工作站選項用戶管理
9.2 用戶管理器
9.3 識彆用戶權限
第10章 自定義步驟
10.1 自定義步驟概述
10.2 創建自定義步驟
10.2.1 自定義步驟添加屬性
10.2.2 自定義步驟添加子步驟
10.2.3 自定義步驟類型管理
10.2.4 創建代碼模闆
10.3 步驟模闆
第11章 TestStand API
11.1 TestStand API概覽
11.2 TestStand API的組織結構
11.2.1 繼承性
11.2.2 包含性
11.3 使用TestStand API
11.3.1 在TestStand中使用TestStand API
11.3.2 在代碼模塊中使用TestStand API
11.4 監測序列執行狀態
第12章 過程模型
12.1 過程模型概述
12.2 過程模型的結構
12.2.1 執行入口點
12.2.2 配置入口點
12.2.3 過程模型迴調序列
12.2.4 引擎迴調序列
12.3 解析過程模型
12.3.1 過程模型迴調序列歸類
12.3.2 Model Plug-In模型插件
12.3.3 過程模型支持文件
12.4 過程模型自定製示例
12.4.1 提示機製
12.4.2 修改默認迴調序列
12.4.3 錯誤處理
12.4.4 修改結果收集
12.5 序列層級結構
第13章 用戶界麵設計
13.1 用戶界麵概述
13.2 TestStand自帶用戶界麵
13.3 TestStand UI控件
13.3.1 管理控件
13.3.2 可視化控件
13.4 單執行用戶界麵的開發
13.5 用戶界麵消息UIMessage
13.6 多執行用戶界麵
13.7 加載配置參數
13.8 啓動選項
13.9 菜單
13.9.1 LabVIEW用戶界麵菜單
13.9.2 CVI用戶界麵菜單
13.10 TestStand語言包
13.11 Front-End迴調序列
第14章 報錶自定製
14.1 修改結果收集
14.1.1 額外結果
14.1.2 自定義步驟
14.1.3 插入子屬性
14.2 報錶生成
14.2.1 屬性標記
14.2.2 報錶生成過程
14.2.3 通過迴調序列修改報錶
14.3 自定製樣式錶文件
14.4 報錶格式對比
第15章 係統部署和性能優化
15.1 係統部署概述
15.2 係統部署的準備工作
15.3 部署過程
15.3.1 TestStand部署工具
15.3.2 部署過程中常見的問題
15.3.3 在目標係統安裝
15.4 優化係統性能
附錄
附錄A 隨書光盤內容
附錄B 操作符/函數
參考文獻
前言/序言
序
1998年我們發布瞭TestStand 1.0,當時的宏偉目標是為自動化測試係統軟件的開發者提供一個高質量的帶有開放式可擴展架構和高性能組件的模塊化體係。現實中,我們經常看到工程師與自行開發或是某些集成商提供的欠成熟且功能單一的測試執行器做鬥爭,而這些執行器的開發和維護常受限於持續投入的缺乏、規模太小或技術和質量問題。在為自動化測試係統開發提供一個行業性平颱時,我們麵臨的挑戰是沒有兩傢公司在需求和優先級上是相似的。幸運的是,NI公司擁有異常龐大而多樣化的測試和測量用戶,這是我們在設計和構建TestStand過程中作為輸入和意見反饋的寶貴資源。我們彆無選擇,隻能努力讓TestStand的每個方麵都很靈活、可配置且某些功能支持插件模式。那個時候,某種程度上要達到這種要求看起來很離譜,甚至現在看來仍然是這樣。從用戶界麵、過程整閤、文件格式、並行、結果存儲、報錶、測試配置,一直到編程語言和集成開發環境的選擇,TestStand提供瞭靈活性、擴展機製甚至組件的源代碼,來確保測試係統的開發者能藉助這些高度模塊化、功能內聚且被廣泛驗證的組件單元來設計自己想要的係統。
由於TestStand有很多種方式實現應用和定製,對於TestStand的開發者來說,需要瞭解用什麼樣的定製或配置來實現他們想要的係統,這不是一種容易的事情。幸運的是,這就是本書要告訴我們的。由於擁有非常豐富的實際項目經驗,作者能夠準確地呈現TestStand的概念和原理,並將理論知識與實際應用案例相結閤。本書所涵蓋的TestStand主題,無論從深度還是廣度方麵,都毫無疑問地創造瞭世界上極其優秀的TestStand中文學習資源。我非常欣賞作者在撰寫本書的過程中所錶現齣的勤奮、主動和熱情,也期望本書能幫助更多的開發者在使用TestStand構建他們的係統中獲益。
James Grey NI公司研發部首席工程師,TestStand之父
前言
剛進NI(National Instruments)公司的時候,部門就安排瞭一次為期5天的TestStand內部課程培訓,由資深應用工程師授課。那時候筆者還不太瞭解TestStand,但對它的廣泛應用已有所體會,以電子行業為例,在全球頂級的15傢電子産品製造商中,就有14傢使用瞭TestStand,且它幾乎每年都會推齣新版本,足見其生命力之強。
開始,一些敏銳的科學傢和工程師發現,在開發自動化測試係統時,隨著係統復雜程度的增加,測試項增多,管理這些測試項變得非常睏難。如果中間插入測試項,或者測試項之間要調整順序時,必須對測試代碼做很大的改動,當頻繁進行這些操作時,工作量變得非常大且異常煩瑣,從而造成維護上的睏難。而且,自動化測試係統往往是一個混閤平颱,需要用到不同儀器廠商的設備,基於不同語言編寫的硬件驅動,要求軟件具備統一接口,以調用使用不同語言編寫的代碼模塊。另外,當産品升級或設計全新産品時,相應測試係統的大部分代碼需要重寫,而這其中包含序列號追蹤、用戶管理、測試流程控製、報錶生成、數據存儲、用戶界麵更新、係統配置、彈齣提示窗口等一些非常通用的操作,如果能把這些通用部分提取齣來作為框架模闆,然後用戶在這個模闆上進行開發,無疑可以大大節省開發時間。再者,在産品測試過程中需要將每項測試結果和産品的規格上下限做對比,隨著測試項增多,相應的規格上下限也急劇增多,管理它們就變得非常重要,有時甚至需要在某個關鍵測試項不閤格時,立即停止對産品的測試,這就涉及測試的管理策略問題。隨著開發經驗日益豐富,工程師不再滿足於現有係統的測試效率,而要提高測試效率,自然會想到引入多個産品的並行測試。然而,引入並行測試需要考慮的問題很多,包括綫程的管理追蹤、綫程安全、綫程之間的通信、數據空間等,而要做到這些並不簡單。總之,TestStand在這樣的背景下誕生瞭。
TestStand是一個現成可用的自動化測試管理軟件,用於從組織自動化原型創建、控製設計認證到執行生産測試的整個過程。它與LabVIEW、LabWindows/CVI、Visual Basic和Visual C 等所有主流測試編程環境兼容,且能調用任何編譯過的動態鏈接庫(DLLs)、ActiveX自動化服務器、EXE可執行程序,甚至傳統開發語言,如HTBasic和HP-VEE。利用TestStand強大的兼容性,可以非常方便地在一個係統中將傳統和現代測試編程環境結閤起來。由於TestStand與LabVIEW、LabWindows/CVI編程語言完全兼容,開發人員可以更加方便地在TestStand中對程序進行調試、修改或設置斷點。此外,TestStand具有極其開放的架構,為滿足特定需求,用戶可自行對其功能進行修改,例如自定義用戶界麵和報錶生成格式,或根據不同的測試需求自行定義執行順序。建立在高速、多綫程執行引擎基礎上,TestStand的性能可滿足極其嚴格的測試吞吐量要求。TestStand讓工程師將精力集中在更重要的任務上,如考慮如何為産品建立測試策略,再考慮如何利用這個策略開發齣應用程序等;而相對簡單通用的工作,如運行序列、執行、報錶生成和數據庫記錄等,均由TestStand來完成。TestStand在提高自動化測試開發效率、加快測試速度、降低測試係統整體成本方麵具有非常顯著的優勢。
筆者曾主導或參與瞭TestStand方麵一些大型項目的開發,深深體會到TestStand的強大和用戶需求的多樣性,並且很幸運地結識瞭許多非常優秀的工程師,有機會和他們進行交流,探討TestStand的開發技巧、資源使用效率、並行測試等話題。在此摘錄一些:
“TestStand提供瞭成熟的框架、快速的開發模式,從過程模型、操作界麵到用戶管理、報錶生成、數據庫記錄等,在著手新項目開發時,我隻需要關注産品測試項本身,其他都可以復用,這極大地節省瞭開發時間。”
——黃華勇 vivo移動通信工程測試經理
“TestStand的調試功能比較突齣,設置的測試模式豐富,使得調試起來很方便。尤其是定位一些産品功能性的問題,因為公司産品功能相對復雜,測試項非常多。”
——陳中梁 華為終端資深測試裝備開發工程師
基於TestStand工業自動化測試管理前言“TestStand有助於功能模塊標準化、平颱化,減少重復開發工作量。在其框架的基礎上,我們能通過一定程度的自定製開發齣適閤公司使用的通用自動化測試平颱。”
——袁鞦 邁瑞生命信息與支持事業部裝備開發技術經理
“在TestStand中進行測試管理是一件非常輕鬆的事情,它對測試序列的調度能力可以讓使用者非常方便地編輯測試序列。此外,TestStand的多綫程管理能力很強,穩定性非常高。”
——林曉斌 亞馬遜資深測試工程師
“TestStand自帶的並行測試模型大大簡化瞭多綫程管理的工作,通過優化策略可以提高資源利用率進而顯著縮短測試時間,滿足産能要求,而且其內在同步機製很好地解決瞭並行測試中競爭、資源衝突、死鎖等問題。”
——郭恒章 Bose中國測試經理
編寫本書的動力
在一個硬件趨於同質化的時代,如何提高核心競爭力?由於摩爾定律推動而帶來的飛速發展,硬件的性能越來越強大,這種勢頭導緻不同廠傢之間硬件的性能趨於同質化,而真正體現差異性的方麵則在於軟件及其帶來的用戶體驗。這種現象普遍存在於各個行業,如消費電子、無綫終端、半導體、汽車、儀器儀錶等。以儀器儀錶行業為例,各種硬件指標,如帶寬、頻率範圍、采樣率、絕對精度,在不同廠傢的同級彆儀器之間差彆並不是很大,將這些儀器用於搭建自動化測試係統時,真正影響測試效率、係統開發周期、係統更新升級成本以及係統可靠性的是測試開發軟件。在這個以軟件為核心的時代,TestStand正是自動化測試領域非常重要的一個軟件平颱,它具備加速自動化測試係統的開發及完善産品的原型驗證、開發測試、係統級測試並縮短産品上市周期等獨特的優勢,近年來得到瞭廣泛的應用,而對其係統性介紹資料的需求也越來越突齣。
筆者剛進入NI公司時,作為應用工程師,一部分工作是通過電話或電子郵件解決客戶的技術問題,並接手一些項目驗證。有些項目難題無法直接解決,需要查閱用戶手冊和內部數據庫,而內部數據庫的知識點往往是迴答某個具體問題,並沒有歸納整體項目案例或者整理一係列有代錶性的問題,經常花費相當長的時間纔找到有價值的資料。在部門經理的支持下,筆者和另一位同事設想將平時做的項目驗證和比較係統的技術問題以文檔的形式記錄下來,供部門內部參考,以節省大傢的時間,並把這項工作命名為Knowledge Sharing(以下簡稱為KS)。作為KS的第一任編輯,筆者嚮部門的全體同事徵稿,題材不限。齣乎意料的是,我們在短時間內就收到瞭很多文章,這些文檔還引起瞭廣泛討論甚至爭辯,大傢都覺得從這種文檔式的知識分享中受益良多。由於KS當初的目的是在應用工程部門內部實現知識分享,因此許多文章在寫作時沒有介紹基礎知識,並省略瞭一些較粗淺的細節。這對於內部交流沒有影響,但是對於大部分客戶,則跳躍性太大,無法參考。另外,我們對KS進
TestStand工業自動化測試管理 epub pdf mobi txt 電子書 下載 2024
TestStand工業自動化測試管理 下載 epub mobi pdf txt 電子書