張一馳
摘 要:隨著現代化電廠儀控工程規模的不斷發展,工程中信號點測試是工程安全及質量保證非常重要的一環,本文首先闡述了開發該自動測試工具的必要性,然后重點介紹了該自動測試工具的總體架構設計以及具體實現功能,希望能對相關行業的測試工作起到一定的幫助。
關鍵詞:儀控系統;軟件開發;測試工具
中圖分類號:TP273 文獻標志碼:A
0 引言
電廠儀控工程中信號點的數量成千上萬,過去往往是通過人工逐個進行測試,效率非常低下,而采用計算機程序進行測試,將大大提高測試效率,同時也保證了測試的準確性,同時測試工具還具有人工無法達到的批量修改測試參數、多線程執行、測試時間間隔批量修改等功能,為儀控工程的質量提供更完善的保障。
1 工具設計目標
現代的電廠儀控系統工程中,需要進行測試的信號點數以萬計,過去通過人工測試往往費時費力,并且質量得不到有效的保障,采用編程語言進行自動化測試替代人工測試是大勢所趨,通過用戶調研以及用戶根據用戶提出需求,該自動測試工具應具有多用例、多參數、批量執行的功能,以保證用戶能更好地進行測試,提升測試效率,從而更好地為公司服務。
2 工具設計原則
(1)標準化,規范化,用于該自動測試工具的測試用例以及生成出來的測試報告均采用行業規范標準的模板,以確保測試結果能方便地被使用或其他文件引用。
(2)可靠性,該工具應當具有比較好的容錯能力以及錯誤處理能力,保證該自動測試工具不會因為測試用例的不正當填寫或錯誤寫法而崩潰。
(3)可擴展性,該自動測試工具后臺有預留相關接口,用來和其他系統互相通信, 以便于相關測試數據的流轉以及使用。
(4)可操作性,該自動測試工具應具有良好的人機交互界面,方便使用者的理解,以及進行相關操作。
(5)可修改性,以合理的軟件架構設計該自動測試工具,使該自動測試工具在以后的迭代更易于進行重構。
(6)效率性,在達到原理要求功能指標的前提下,程序運行所需時間愈短和占用存儲容量愈小,則效率愈高。
(7)容易理解,軟件的可理解性是其可靠性和可修改性的前提。它并不僅僅是文檔清晰可讀的問題,更要求軟件本身具有簡單明了的結構。這在很大程度上取決于設計者的洞察力和創造性以及對設計對象掌握得透徹程度,當然它還依賴于設計工具和方法的適當運用。
3 工具總體結構設計
C#是一種安全的、穩定的、簡單的、優雅的,由C和C++衍生出來的面向對象的編程語言。它在繼承C和C++強大功能的同時去掉了一些它們的復雜特性(例如沒有宏以及不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持成為.NET開發的首選語言。
C#是面向對象的編程語言。它使得程序員可以快速地編寫各種基于MICROSOFT .NET平臺的應用程序,MICROSOFT .NET提供了一系列的工具和服務來最大程度地開發利用計算與通信領域。
所以本自動測試工具采用C#開發,本自動測試工具是一款桌面級別的單機軟件,總體架構如圖1所示,用戶界面采用Winfrom框架開發,數據庫采用Sqlite作為本地數據庫存儲數據,總體結構可分為界面層、業務邏輯層以及數據訪問層。其中界面主要模塊可分為項目模塊、執行測試模塊、測試報告模塊、參數修改模塊。
4 自動測試工具功能概況
該自動測試工具界面總共分為4個模塊(圖2),導入測試用例模塊、參數修改模塊、執行項目模塊以及測試報告模塊,自動測試工具通過導入Excel將測試用例表格輸入,然后執行項目模塊通過調用底層C++代碼接口以實現信號的模擬輸入以及取得信號的實時數據。
項目執行模塊中,該模塊采用多線程技術支持多線程執行測試用例,及時顯示每一個項目每一步執行的結果以及狀態,以方便用戶查看當前測試執行的情況,同時該工具也支持暫停功能,用戶能在相對應的步驟進行暫停操作。
用戶參數修改模塊中,用戶可以設置每一步測試的時間間隔,每一步測試的延遲時間,報告的時間及操作人員名稱以及其他相關的參數。
測試報告模塊中,用戶能在界面中看到每一步的執行結果以及執行時間,并且可以從相關文件模板導出自動測試報告結果的pdf。
邏輯層內部邏輯處理模塊是采用相關的C++代碼來調用底層接口,用代碼模擬相關的點的輸出,底層采用C++的理由是為了保證了數據通信處理的效率,相對于C#,C++的處理速度更快,更高效,底層的代碼部分代碼如圖3所示。
為了保證測試數據的完整性,當每次用例執行完成后,自動測試工具將自動通過數據庫Sqlite模塊存在本地,記錄每次執行的結果以及過程,保證了用戶可對操作的歷史記錄可隨時進行回看,保證用戶能及時回復到歷史測試的某一步進行查看。
結語
該自動測試工具使用的是C#開發,基本實現了儀控系統中的相關自動執行測試用例,批量執行參數自定義等功能,該自動測試工具為儀控系統中信號點的測試提供了一個種新的測試方式,方便用戶執行測試方案,充分發揮了計算機高效穩定多線程的優勢,從而為公司提供了更好的服務,節約了人力的成本。
參考文獻
[1]高楠,焦昆,尹濤.人機交互軟件設計原則及使用技術淺析[J].信息通信,2013(6):173.
[2]姜維.信息技術在電力系統中的應用研究[J].中國科技信息, 2013(19):77-78.endprint