丘卉,陳巧巧
(廣東省計量科學(xué)研究院,廣東 廣州 510405)
在智能電網(wǎng)的建設(shè)下,相關(guān)配套設(shè)施的建設(shè)已經(jīng)成為社會各界關(guān)注的焦點,智能電能表的推廣可以有效改善用電條件,提高電網(wǎng)使用的自動化水平,對于降低電能消耗有著極為重要的意義。在智能電能表的應(yīng)用中,電能控制、計量、監(jiān)測、管理等方面都需要借助計算機(jī)才能順利完成,為了使其中的操作功能更加準(zhǔn)確、便捷,軟件規(guī)模也越來大,復(fù)雜程度日益提高。在軟件運行的過程中,錯誤是時常出現(xiàn)的問題,如果未得到及時的糾正,往往會對人們的生活與生產(chǎn)用電造成不良的影響,為了及時發(fā)現(xiàn)問題,必須要合理使用智能電能表軟件測試技術(shù)[1]。
智能電能表內(nèi)嵌軟件是嵌入式系統(tǒng)軟件,這一系統(tǒng)是以計算機(jī)技術(shù)作為核心,能夠適應(yīng)應(yīng)用系統(tǒng)對于成本、功能、功耗、體積的要求,可以分為硬件、軟件兩個部分組成。硬件是由微處理器與外圍接口電路構(gòu)成,軟件則包括操作系統(tǒng)、硬件抽象層、應(yīng)用平臺、板級支持包與應(yīng)用程序,目前,市面上常用的智能電能表平臺是依賴微處理器進(jìn)行處理,可以滿足基本的運行要求。不同于一般的軟件測試,智能電能表平臺根據(jù)實際運行環(huán)境與軟件開發(fā)環(huán)境的不同,可以分為基于宿主機(jī)與基于目標(biāo)機(jī)兩種類型,前者的測試速度較快,容易構(gòu)建測試環(huán)境,但是需要在模擬環(huán)境中,才能夠運行;后者微控制器類型多樣,但是空間資源狹窄,難以搭建測試環(huán)境,對于軟件安全性、可信性與可靠性提出了更高的要求。
為了保證測試工作的順利進(jìn)行,需要選擇適宜的測試環(huán)境,利用交叉測試技術(shù),可以對電表軟件測試進(jìn)行簡單的劃分,其中,與硬件關(guān)聯(lián)不大的測試,是在host之中完成,與硬件關(guān)聯(lián)度較高的內(nèi)容是在targert中完成,再根據(jù)具體的運行需求進(jìn)行驗證[2]。除非系統(tǒng)特別指定的單元測試是基于目標(biāo)環(huán)境下開展,其他的測試工作,都需要在宿主機(jī)環(huán)境中才能完成。
在智能電能表軟件測試技術(shù)的應(yīng)用中,如果依靠手工測試,不僅出錯率高,且效率非常低,借助于自動化測試工具,可以有效提高測試質(zhì)量和測試效率。目前,常用的嵌入式軟件測試工具有靜態(tài)測試工具與動態(tài)測試工具兩類,靜態(tài)測試工具能夠在代碼非運行狀態(tài)下快速完成檢測,常用的測試工具有Polyspace、Klocwork、QAC、Logiscope、C+等;常用的動態(tài)測試工具有白盒測試工具與黑盒測試工具兩類,可以完成集成測試、單元測試、系統(tǒng)測試功能,能夠自動構(gòu)建出測試環(huán)境,提供相關(guān)覆蓋率信息,輔助分析各類性能情況,提高測試的安全性與可靠性。在測試工具的選擇上,要基于測試項目的類別合理選擇,綜合考慮到平臺、語言、性價比、工具易用性等要求。
注入測試技術(shù)是通過外部設(shè)備或特殊手段激發(fā)電能表進(jìn)入異常處理流程,驗證電能表是否具有異常應(yīng)對機(jī)制一種測試方法。它是用人工的方法有意施加故障于運行特定工作負(fù)載目標(biāo)系統(tǒng)中,加速系統(tǒng)的錯誤和失效的發(fā)生,同時觀測和回收系統(tǒng)對所注入故障的反應(yīng)情況,分析回收的信息,提供有關(guān)結(jié)果的試驗過程。
軟件測試方案的設(shè)計需要考慮到多種因素,在測試的開始,就要獨立列出文檔審查與靜態(tài)分析項目,提高測試有效性。其中,文檔是測試執(zhí)行的主要依據(jù),內(nèi)容包括軟件需求說明、系統(tǒng)需求說明、文檔類型等,現(xiàn)有的很多電能表軟件開發(fā)粗糙,缺乏詳細(xì)的文檔資料,給后續(xù)的項目管理與測試工作造成了不便。智能電能表軟件測試技術(shù)是基于C語言環(huán)境開發(fā)而出,編譯器環(huán)境多采用主流的LAR、Gcc、HEW與Keil,一般的嵌入式軟件靜態(tài)測試工具,都可以支持智能電能表的設(shè)計要求。在具體的編寫過程中,需要重視編碼規(guī)則的書寫,如果規(guī)則書寫不正確,會導(dǎo)致系統(tǒng)運行出現(xiàn)不定時的死機(jī),甚至?xí)萑胍环N惡性循環(huán),為了提高代碼的可移植性、可靠性以及可維護(hù)性,對于智能電能表產(chǎn)品編碼的編寫,要應(yīng)用規(guī)范的規(guī)則,對于此,可以參考C語言編碼規(guī)則MISRA C,也可以結(jié)合實際項目經(jīng)驗,來提取適宜的軟件編碼規(guī)范[3-6]。
在單元到系統(tǒng)測試的具體測試環(huán)境上,需要根據(jù)操作需求來選擇,智能電能表目標(biāo)機(jī)環(huán)境多采用ARM內(nèi)核微控制器或者8-32位單片機(jī),常用的測試工具有RTRT、Testbed,使用此類測試工具可以順利完成集成、單元、內(nèi)存分析、性能測試工作。
在具體的測試方面,需要遵循如下的原則:
軟件測試是貫穿在整個軟件生命周期中的,工作量大,測試具有無止境的特征,在測試初期,需要遵循循序漸進(jìn)原則,先從自動化靜態(tài)測試來著手,杜絕常見缺陷,對語言C編碼規(guī)則進(jìn)行統(tǒng)一設(shè)計,再根據(jù)要求增加集成測試與動態(tài)單元,實現(xiàn)測試工作的工程化。
在測試時,要利用先進(jìn)的測試工具,這是順利完成軟件測試工作的有效武器,為此,需要應(yīng)用成熟性的嵌入式軟件測試工具,如QAC、Klocwork、Testbed,構(gòu)建新的軟件測試自動化平臺,也可以在一定的技術(shù)條件下,自行開發(fā)出符合要求的測試工具。
軟件測試屬于電表行業(yè)的新型技術(shù)領(lǐng)域,人員測試?yán)碚撝苯佑绊懼鴾y試工作的開展成效,測試人員的實力也會直接決定測試效果,為此,必須要重點培養(yǎng)專業(yè)化的測試人員。測試工作是一個常態(tài)、長期、系統(tǒng)的過程,測試流程、測試質(zhì)量管控、人員分配都是影響測試運行可靠性的關(guān)鍵因素,必須要協(xié)調(diào)好上述各個因素。技術(shù)和方法是測試的基礎(chǔ),統(tǒng)一明確的測試標(biāo)準(zhǔn)和規(guī)范是確保測試工作正規(guī)、有序開展的根本保證[7-9]。公司應(yīng)首先制定內(nèi)部測試內(nèi)容、測試流程、測試采取的基本方法和準(zhǔn)則等,或可基于哪些自動化測試平臺,作為指導(dǎo)性文件,使測試有章可依[10]。
智能電能表中電能計量、電能控制、在線監(jiān)測和在線管理等功能基本上都要依賴于計算機(jī)程序完成,加強(qiáng)軟件測試尤為重要。智能電能表的軟件測試需要由起步到逐漸成熟的一個過程,也是一個循序漸進(jìn)的流程,為了提高測試工作的應(yīng)用效果,需要關(guān)注各類因素,協(xié)調(diào)好各工作的關(guān)系。
參考文獻(xiàn):
[1]羅瑛.智能電表在智能電網(wǎng)中的應(yīng)用概述[J].廣東科技,2013,(16):119-119.
[2]毛朔南.計量器具嵌入式軟件測試技術(shù)研究[J].中國計量,2012,(7):68-70.
[3]魏洪興,諶衛(wèi)軍,康一梅,陳友東.嵌入式系統(tǒng)設(shè)計師教程[M].北京:清華大學(xué)出版社,2006.
[4]蔡建平.嵌入式軟件測試實用技術(shù)[M].清華大學(xué)出版社,2010.
[5]宋錫強(qiáng),汪萍萍,周韶園.智能電能表軟件測試技術(shù)概述[J].電測與儀表,2014,51(11):18-22.
[6]毛海濤,王正成,王曉菊,黃海均,劉陽. 一種大水體太陽能自動增氧裝置的研發(fā)與試驗研究[J/OL]. 水生態(tài)學(xué)雜志,2017,(11):07.
[7]陳景霞,王學(xué)偉. 智能電能表動態(tài)特性測試相關(guān)問題分析[J]. 電測與儀表,2016,53(01):62-69.
[8]蔣忠遠(yuǎn),張秀艷,馬子玥. 智能電網(wǎng)中電能存儲系統(tǒng)的容量優(yōu)化[J]. 西安電子科技大學(xué)學(xué)報,2015,42(06):106-112.
[9]崔葛安,李鵬,張愛民,張成剛,郭晨. 基于MSP430的智能變電站電能監(jiān)測單元設(shè)計與實現(xiàn)[J]. 陜西電力,2014,42(09):84-87+100.
[10]呂詩如,李勇. 變電站智能照明系統(tǒng)設(shè)計研究[J]. 新型工業(yè)化,2017,7(08):30-36.