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