孫楠,鄒捷
(武漢華中數控股份有限公司,湖北武漢 430223)
基金項目:“高檔數控機床與基礎制造裝備”科技重大專項課題(2013ZX04012-021)
摘要:本文分析了數控軟件傳統(tǒng)手工測試優(yōu)缺點,介紹數控軟件自動化測試系統(tǒng)的研發(fā)與設計,并簡明扼要講解數控軟件自動化測試系統(tǒng)工作過程及原理。數控軟件自動化測試系統(tǒng)現已應用在數控軟件的單元測試、研發(fā)中試、發(fā)布性測試中,并且數控軟件測試系統(tǒng)也應用在可靠性實驗中,未來將在智能工廠中廣泛應用。數控軟件自動化測試系統(tǒng)縮短測試周期,提高解決問題效率,增強用戶對數控軟件信任度。
關鍵詞:研發(fā)與創(chuàng)新;數控軟件自動化測試系統(tǒng);可靠性測試;
A Numerical Control Software Automatic Testing
System of Research and Development
Sunnan,Zoujie
(Hua zhong Numerical Control Co., Ltd, Wuhan 430223, China)
Abstract: This article analysis the advantages and disadvantages of numerical control software, introduces a NC software automation testing system of research and development, concisely explains numerical control software automation testing system working principle and process.NC software automation testing system is applied in the unit testing development of pilot and release testing of NC software, and in the reliability testing, and in the intelligent factory in the future. NC software automation testing system shorten the test cycle. and improved the efficiency of problem solving. enhanced the user trust for software.
Keywords: research and development; NC software automatic Testing; reliability testing
1.引言
隨著科學技術的發(fā)展,“工業(yè)4.0”時代來臨,數控系統(tǒng)現已實現三化:信息化、智能化、網絡化,由此可見數控軟件在數控系統(tǒng)中扮演越來越重要的角色。數控軟件的可靠性、穩(wěn)定性、易用性直接決定了生產加工零件正確性及安全性,一旦數控軟件的可靠、穩(wěn)定性出現問題可能會導致嚴重的生產安全事故。因此數控軟件版本發(fā)布前,必須進行充分、有效的可靠及穩(wěn)定性測試。
現階段國內數控軟件基本由人工手動完成可靠及穩(wěn)定性測試,需要測試人員長時間守候在測試設備或平臺前執(zhí)行各項操作。這給測試工作帶來幾處難點:測試工作量大,測試周期長,測試人員對于軟件功能理解及故障問題描述出現不一致現象,并且當數控軟件版本更新,人員會進行大量重復測試工作。對數控軟件測試來說,即便投入大量人力物力,很多時候覆蓋面依舊不夠。
現有的成熟自動化測試軟件大多為windows環(huán)境下的軟件,而且不能對數控軟件進行測試,對于嵌入式自動化測試軟件國內市場依舊空白,尤其缺乏針對數控裝置上的數控軟件自動化測試,這給數控軟件測試工作帶來很大困難。
2. 數控軟件測試系統(tǒng)設計
數控軟件自動化測試系統(tǒng),應用于數控技術領域,依據“自主創(chuàng)新設計、智能轉化、節(jié)約資源、可持續(xù)發(fā)展”理念進行設計與研發(fā)。數控軟件自動化測試系統(tǒng)研發(fā)創(chuàng)新“一個核心”及“六化”;一個核心:指的是“自動化智能測試大數據平臺”,自動化測試案例集中上傳至“云”數據平臺,“云”數據平臺對案例進行歸類劃分,在下傳至自動化測試系統(tǒng),自動化測試系統(tǒng)對案例進行不間斷測試,當案例出現問題時在傳輸到“云”數據平臺中,同時相關測試人員可通過電腦或移動端APP程序觀測到自動化測試結果,測試及開發(fā)人員準確快速分析問題出現原因并且及時修改數控系統(tǒng)軟件。六化:“測試自動化、過程可視化、信息集成化、更新自主化、數據網絡化、分析智能化”。自動化測試系統(tǒng)利用智能傳感器技術、移動互聯網、云計算技術、并建立基于移動終端對數控軟件進行智能網絡化監(jiān)控。測試內容數據上傳與下載都無需人為操作,同時自動化測試系統(tǒng)可自主智能完成對案例的測試。
圖1自動化測試系統(tǒng)應用領域及科研圖
3.數控軟件測試系統(tǒng)工作過程
自動化測試系統(tǒng)可完成幾個方面測試:測試用例庫、界面模塊、G代碼功能模塊、多個配置文件和多個配置模塊。其中測試用例庫、界面測試模塊、G代碼功能測試模塊和被測試對象數控系統(tǒng)軟件均存放在“云”數據平臺,多臺數控裝置中的每臺數控裝置上均存放一個測試配置文件和一個測試配置模塊。自動化測試系統(tǒng)工作過程如下:
1. 在“云”數據平臺端建立文件傳輸協議(FTP),并設置數控裝置訪問的用戶名和密碼,用于“云”數據平臺與多臺數控裝置之間的文件的傳輸;
2. 根據測試要求,制作界面測試用例或者G代碼功能測試用例,并存放到測試用例庫中;
3.編寫測試配置文件,設定此次測試類型,測試用例名;
4.當自動化測式系統(tǒng)裝置開機后,執(zhí)行測試配置模塊,從“云”數據平臺中下載數控系統(tǒng)軟件并加載到數控裝置上,讀取測試配置文件,從“云”數據平臺下載界面測試模塊或G代碼功能測試模塊,并執(zhí)行;
5.所有測試用例測試完成后,生成此次測試的結果;
6.測試結果通過網絡通信傳輸到“云”數據平臺,測試人員可通過移動端APP程序或互聯網主頁查看自動化測試結果。分析測試數據,并且標注問題出現原因;
7.測試人員分析及標注數據后,文體通過“云”數據平臺傳輸至軟件部門。軟件開發(fā)人員對數控軟件進行修改后,數控軟件重新上傳至“云”數據平臺;
8. 自動化測試系統(tǒng)重新對數控軟件模塊進行分析測試。
4.測試模塊工作原理
自動化測試系統(tǒng)對數控軟件中的界面模塊、G代碼功能模塊、多個配置文件和多個配置模塊等測試工作原理如下:
A.測試配置模塊執(zhí)行下述操作:
1.建立所在數控裝置與“云”數據平臺之間的網絡連接;
2.從“云”數據平臺下載數控系統(tǒng)軟件并加載到所在數控裝置上;
3.讀取測試配置文件,當其中測試類型為界面測試時,執(zhí)行界面測試模塊步驟,當其中測試類型為G代碼功能測試時,執(zhí)行G代碼功能測試模塊步驟;
4.從“云”數據平臺下載界面測試模塊并運行,生成測試結果文件;
5.從“云”數據平臺下載G代碼測試模塊并運行,生成測試結果文件;
6.從“云”數據平臺下載功能模塊并運行,生成測試結果文件;
圖3從“云”數據平臺下載相應測試模塊代碼圖
B.數控軟件中G代碼功能測試模塊具體執(zhí)行下述操作:
1.從測試配置文件中獲取測試用例名,根據測試用例名及其順序,從測試用例庫依次順序執(zhí)行G代碼功能測試用例;
2.將G代碼功能測試腳本加載到自動化測試系統(tǒng)中,將自動化測試系統(tǒng)的加工模式切換為“自動”或“單段”模式,并向自動化測試系統(tǒng)發(fā)送運行指令,由自動化測試系統(tǒng)運行G代碼功能測試腳本;
3.接收自動化測試系統(tǒng)的處理結果,對照G代碼數據校驗文件,逐行比較X、Y、Z軸當前的機床實際坐標值與對應的理論坐標值是否相同,如果均相同,則測試成功,否則測試失敗,并將測試結果寫入測試結果文件;
4.所有G代碼功能測試用例測試完成后,統(tǒng)計本次測試的G代碼功能測試用例個數、成功的G代碼功能測試用例個數、失敗的G代碼功能測試用例個數、失敗的G代碼功能測試用例名稱以及成功率,并寫入測試結果文件;
5.從“云”數據平臺下載G代碼功能測試模塊并運行,生成測試結果文件。
圖4 數控軟件中G代碼功能模塊組自動化測試工作原理圖
C. 數控軟件中界面測試模塊執(zhí)行下述操作:
1.從測試配置文件中獲取測試用例名,根據測試用例名及其順序,從測試用例庫依次順序讀取界面測試用例;
2.解析界面測試用例中的界面測試腳本,每解析一行,獲取按鍵標識符和延遲時間,并將它們送至自動化測試系統(tǒng),自動化測試系統(tǒng)根據不同按鍵標識符進行不同處理,每個按鍵標識符操作后停頓所設定的延遲時間,然后進入下一個鍵盤按鍵標識符的處理;
3.接收自動化測試系統(tǒng)的處理結果,對照界面數據校驗文件,逐行比較檢查項對應參數的實際值和理論值是否相同,如果均相同,則測試成功,否則測試失敗,并將測試結果寫入測試結果文件;
4.所有界面測試用例處理完成后,統(tǒng)計本次測試的界面測試用例個數、成功的界面測試用例個數、失敗的界面測試用例個數、失敗的界面測試用例名稱以及成功率,全部寫入測試結果文件。
圖5數控軟件中界面功能模塊自動化測試工作原理圖
5.數控軟件測試系統(tǒng)的應用
數控軟件自動化測試系統(tǒng)目前已經應用在數控軟件的單元測試、研發(fā)中試、發(fā)布性測試中,同時數控軟件測試系統(tǒng)在長時間連續(xù)運行的可靠性實驗環(huán)境中也得以應用,未來將應用到智能制造工廠中。
數控軟件的單元測試、研發(fā)中試、發(fā)布性測試中應用數控軟件測試系統(tǒng)主要檢測數控軟件打包BTF文件后功能模塊、G代碼模塊、配置文件的適配性,確保功能模塊、G代碼模塊、配置文件的正確性,同時檢測每個案例是否能正常通過測試。
數控系統(tǒng)可靠性實驗中應用自動化測試系統(tǒng),主要是測試人員通過移動端APP或網絡主頁監(jiān)測多臺數控軟件測試系統(tǒng)的測試結果和同步更新多臺數控軟件測試系統(tǒng)的文件及測試案例;還可檢測到多套數控系統(tǒng)長時間連續(xù)運行時多個配置文件和多個配置模塊自動更新正確性與準確性。“云數據平臺”與多臺數控軟件自動化測試系統(tǒng)文件實時傳輸,可確保測試結果及可靠性測試平臺的驅動器、電機、數控系統(tǒng)硬件工作中出現的故障或問題第一時間被記錄和傳輸給測試技術人員,測試技術人員可更加快速的分析出問題出現原因,便于開發(fā)人員解決問題。
自動化測試系統(tǒng)未來將在智能制造示范工廠中應用,主要檢測G代碼模塊在實際生產加工中運行正確性,及功能模塊被連續(xù)使用時穩(wěn)定性。同時可監(jiān)測到每臺數控機床運行狀態(tài)。保證智能工廠零件加工的安全性與可靠性。
6.結論
數控軟件測試系統(tǒng),首先填補數控軟件自動化測試的空白,主要解決人工手動測試不全面、測試工作量大、測試結果不準確等問題;其次使數控軟件的回歸測試更加方便,縮短回歸測試周期,該系統(tǒng)可對數控軟件各個功能、參數、編程代碼模塊進行回歸測試,提高數控軟件測試覆蓋率;最后每次測試的結果和執(zhí)行的內容的一致性是可以得到保障,從而可對測試內容和結果進行歸納總結,達到測試的可重復性,對測試人員后續(xù)的測試分析提供幫助,縮短解決問題的周期,提高了測試工作效率,充分利用資源,保證了軟件質量,增強客戶對數控軟件的信任度。
但自動化測試系統(tǒng)并不能完全取代傳統(tǒng)的手工測試,因為有很多測試的結果需要人腦進行分析與判斷,自動化測試系統(tǒng)并無想象力,所以受軟件開發(fā)者約束。然而自動化測試系統(tǒng)與人工手動測試可以相互彌補彼此的不足,兩者有效的結合是保證測試質量的關鍵。
本數控軟件自動化測試系統(tǒng)設計已經申請了實用新型專利。專利號:201210524866.3
參考文獻:
[1]鄭慧,范忠誠,等.零基礎學Visual C ++[M].北京:機械工業(yè)出版社,2008.
[2]William A. Shay 著,高穿善,等,譯.數據通信與網絡教程[M].北京:機械工業(yè)出版社,2005
[3]黃延,林躍. 軟PLC技術研究及實現[J].計算機工程,2004,30(1):15-17
[4]陳維鈞.運動控制系統(tǒng)[M].北京:清華大學出版社,2006
基金項目:“高檔數控機床與基礎制造裝備”科技重大專項課題(2013ZX04012-021)
作者簡介:
孫楠(1989-),男,數控系統(tǒng)應用測試工程師,從事數控系統(tǒng)應用測試技術工作5年.
地址:湖北省武漢市東湖高新區(qū)廟山小區(qū)華中科技大學科技園華中數控股份有限公司.
郵編:430223
E-mail: sunnan@hzncc.com
TEL:027-87180689
移動端:13554682678