自從上個世紀(jì)80年代數(shù)控裝置廣泛采用32位CPU組成多微處理器系統(tǒng)以來,計(jì)算機(jī)軟件在數(shù)控設(shè)備中的地位逐漸變得重要起來。90年代以后,隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,利用PC機(jī)豐富的軟件及硬件資源開發(fā)出來的開放式體系結(jié)構(gòu)的數(shù)控系統(tǒng)中的軟件,對于智能化和網(wǎng)絡(luò)化的支持更加強(qiáng)大,軟件的規(guī)模和功能進(jìn)一步的增強(qiáng)了。數(shù)控設(shè)備已經(jīng)成為一種硬件與軟件高度集成化的綜合性系統(tǒng)。
一、數(shù)控系統(tǒng)中軟件的特點(diǎn) 數(shù)控系統(tǒng)中的軟件大多數(shù)都是嵌入式軟件,與硬件有著緊密關(guān)系并且運(yùn)行在特定的硬件環(huán)境中。其最大的特點(diǎn)就是與硬件環(huán)境有著密不可分的關(guān)系,整個數(shù)控系統(tǒng)的性能、智能化水平的高低以及可靠性的優(yōu)劣等都是由硬件環(huán)境和軟件共同決定的。但當(dāng)前技術(shù)條件下,軟件的可靠性比硬件的可靠性要低一個數(shù)量級。據(jù)資料統(tǒng)計(jì),嵌入式系統(tǒng)的運(yùn)行失效中有75%是由其中的軟件失效所引起的。事實(shí)上軟件失效所導(dǎo)致的系統(tǒng)故障已經(jīng)成為數(shù)控設(shè)備故障診斷中一個不容忽視的問題了。
二、數(shù)控系統(tǒng)中軟件的測試與診斷方法 與硬件相比軟件失效主要有以下兩個特點(diǎn):(1)軟件失效不會隨時間而發(fā)生變化。硬件的有很大一部分是由于設(shè)備的磨損和材料的老化所致,而在軟件中則不存在這樣的問題。一旦軟件運(yùn)行正確,它是不會隨著時間的推移而退化的。(2)軟件的失效多數(shù)是由程序代碼中的固有錯誤所導(dǎo)致,而對于嵌入式軟件來說,軟硬件之間的接口錯誤也是導(dǎo)致失效的一個重要因素。 因?yàn)槭C(jī)理的不同,軟件的診斷方法與硬件通常所使用的故障診斷方法也不盡相同。從保證設(shè)備可靠性的角度來看,硬件設(shè)備在出廠之前要做一系列的可靠性試驗(yàn),目的就是要把設(shè)計(jì)和加工過程中產(chǎn)生的問題提前暴露出來,而到了用戶使用階段,工作的重點(diǎn)就是對設(shè)備的運(yùn)行狀態(tài)進(jìn)行監(jiān)測,對出現(xiàn)的故障進(jìn)行診斷和維修。而軟件則在于出廠前和使用初期對其進(jìn)行的測試,尤其是對軟件與硬件集成之后所進(jìn)行的系統(tǒng)測試。即系統(tǒng)測試是發(fā)現(xiàn)嵌入式系統(tǒng)中軟件問題的最行之有效的方法之一。 在軟件測試的理論中,系統(tǒng)測試屬于一種動態(tài)黑盒測試,即測試人員不必深入軟件代碼的細(xì)節(jié),只需通過控制軟件的輸入條件驅(qū)動被測軟件的真正運(yùn)行。簡單的說,動態(tài)黑盒測試就是要盡量模擬出被測系統(tǒng)的真實(shí)使用情況,并通過對被測系統(tǒng)的實(shí)際操作來達(dá)到發(fā)現(xiàn)故障的目的。根據(jù)系統(tǒng)測試原理,實(shí)驗(yàn)室自主設(shè)計(jì)開發(fā)出一種具有一定通用性的嵌入式軟件系統(tǒng)測試環(huán)境,并在此基礎(chǔ)上總結(jié)出一套有效的系統(tǒng)測試方法。下面結(jié)合一個具體測試實(shí)例對系統(tǒng)測試環(huán)境以及測試方法進(jìn)行介紹。
三、數(shù)控系統(tǒng)中的軟件系統(tǒng)測試
1.系統(tǒng)測試環(huán)境 對一個數(shù)控設(shè)備中的嵌入式軟件進(jìn)行系統(tǒng)測試的第一步就是要搭建系統(tǒng)測試的環(huán)境。系統(tǒng)測試環(huán)境的作用就是能夠讓軟件在真實(shí)的硬件環(huán)境下運(yùn)行,而且還能夠讓測試人員把測試用例施加到被測軟件中,并且可以收集到測試的結(jié)果數(shù)據(jù)。系統(tǒng)測試環(huán)境是一個由硬件和軟件共同組成的測試平臺。
圖1所示為某型號發(fā)動機(jī)的數(shù)控系統(tǒng)軟件測試時所設(shè)計(jì)開發(fā)的系統(tǒng)測試環(huán)境。
圖1 軟件系統(tǒng)測試環(huán)境簡圖
整個測試環(huán)境由三大部分組成:測試用例及測試腳本生成環(huán)境、系統(tǒng)檢測軟件以及系統(tǒng)檢測箱。其中的測試用例及測試腳本生成環(huán)境和系統(tǒng)檢測軟件屬于測試平臺的軟件部分,而系統(tǒng)檢測箱以及與之相連的I/O設(shè)備都屬于硬件部分。
|