?

智能電表功能測試平臺設計與實現

2021-06-16 14:21金虎張林李軍
電子技術與軟件工程 2021年5期
關鍵詞:功能測試測試用例用例

金虎 張林 李軍

(威勝集團有限公司 湖南省長沙市 414400)

隨著能源互聯網和物聯網的高速發展,智能電表在人們的生活中扮演了越來越重要的角色,電網公司、售電市場以及電力用戶之間的交互日趨頻繁[1],交互需求的個性化和多樣化使得智能電表的功能相較于以往有了大幅的擴展,功能的復雜性也提高了智能電表的生產過程的要求,因此需要大量的測試來保證產品的穩定性和正確性,當用戶需求發生變動時,需要能快速測試修改部分的功能并對各個功能模塊進行回歸測試,以同時滿足產品的質量和客戶的交付要求。

文中通過設計一種適用于智能電表功能測試的軟件平臺,利用分層設計思路,將智能電表的功能測試任務分解為測試方案后,采用可重用的帶有屬性和方法的測試元件組合成測試用例,通過測試方案的元素編輯,實現滿足智能電表功能測試的開放式軟件平臺架構,由此解決了功能測試的自動化程度低、靈活性差的問題。

1 智能電表功能

隨著微電子技術的發展,智能電表不僅實現了系統引導層、系統驅動層、系統應用層的分層設計[2],表計功能的模塊化設計也已成為主流設計方法。盡管國際市場客戶的需求在細節上有差異,但智能電表的總體框架變化不大,尤其是國內市場在國網、南網的統一招標管理下,智能電表的需求更加明確且功能定義清晰,技術方案基本固化,因此,智能電表的總體功能框圖基本如圖1 所示。

2 功能測試平臺

功能驗證測試平臺整體框架采用分層設計,包括任務層、方案層、用例層、元件層、屬性/方法層等,實現用可視化的測試方案向目標結果測試執行轉化。每層的內部元素采用面向對象的方式定義,平臺框架結構如圖2 所示。

其中,測試元件是系統的基本組成元素,構成了整個測試平臺的基礎。

(1)元件層是由眾多的元件組成的數據庫,每個元件除了名稱外,還包含類、屬性和動作等特性,這些特性采用標準定義的接口封裝成動態庫,系統自動引用由用戶導入的動態庫從而實現測試元件庫的持續豐富;

(2)用例層是由各種測試用例組成的數據庫,每個用例除了名稱外,還包含類別、功能描述等特性,將元件庫導入系統后,用戶從元件庫中選取元件,按照測試流程的邏輯設計測試用例,每個測試用例完成一個功能測試;

(3)方案層是由針對各種功能的測試方案組成的數據庫,每個方案除了名稱外,還包含測試目的、測試需求分析、測試策略(可選)、測試說明等特性,將用例庫導入系統后,用戶按照測試需求從用例庫中選取用例組成測試方案,每個測試方案完成一個功能模塊的測試;

圖1:智能電表功能框圖

(4)任務層則由用戶根據產品測試需求,從方案庫中選取測試方案,覆蓋產品測試的所有功能組件,并根據實際測試對象的提供情況選擇實物測試還是虛擬測試,輸出分項和總的測試結論,導出pdf、html 等格式的測試報告。

3 庫的設計

智能電表的功能在持續擴展,因此本系統在對元件屬性、元件方法、測試元件、測試用例、測試方案等進行設計時,均以庫的形式進行保存和管理,并將元件設計為動態鏈接庫方式,通過反射加載技術將動態鏈接庫中類、屬性和方法識別出來,保存到系統數據庫中,從而實現了測試元件、測試用例、測試方案等以動態持續增加的軟件生態方式發展。

圖2:測試系統軟件平臺框架圖

圖3:用例編輯和執行的元件調用關系圖

圖4:測試任務分解流程圖

用戶通過系統界面編輯各元件的屬性值或調用其中的方法,這些操作將與用例名稱關聯后保存到用例數據庫中。編輯用例時,系統自動調出被選中元件的類、屬性和方法,通過給屬性賦予不同的值,使元件獲得不同的屬性,通過在用例中選擇元件的不同方法,使元件在用例的不同階段完成不同的功能,從而滿足各個測試步驟的需求。

執行用例時,系統根據測試用例識別所需調用的元件,并自動調用用例數據庫中配置的方法,這些方法則使用用例數據庫中配置的屬性值來完成元件內部參數的初始化,執行的結果數據輸出到用例中配置的公共變量,由系統進行統一處理,用戶根據功能需求和經驗積累靈活地對測試用例進行各種排列組合完成測試任務。

用例編輯和執行的元件調用關系圖如圖3 所示。

4 系統實現

利用電能表功能驗證測試平臺可以對現有智能電能表進行測試,測試對象可以是真實的電能表,也可以是PC 端虛擬的模擬表[3]。首先根據測試要求將測試任務按照方案、用例、元件等逐層分解,分解流程圖如圖4 所示。利用多線程技術模擬多臺電能表,分別執行不同的測試方案;利用串口通訊通道,控制電能表標準源,完成臺體升源、降源、角度控制、幅值調整、周期控制等各種參數的組合,模擬各種事件的產生機制,并收集事件記錄[4];以功能模塊為測試單元進行系統驗證,共創建了42 個測試元件,由此組合成112個測試用例,完成了走字驗證、跳合閘管理、固件升級、結算曲線等4 個測試方案的完整測試,驗證了測試平臺的有效性。

5 結束語

文中提出的功能驗證測試平臺設計,是一個開放式的測試開發和應用平臺,通過分層和面向對象設計方法,實現了將測試任務分解到測試元件的圖形化過程和將設計方案從思路概念轉變為實際測試結果的全部功能;通過對測試元件、測試用例、測試方案等采用數據庫管理方式,為測試經驗的積累和沉淀提供了容器;軟件測試平臺和測試方案庫、測試用例庫、測試元件庫既緊密聯系又相互獨立,每個庫的管理和發展不受軟件測試平臺的制約;特別地,將元件庫、用例庫、方案庫等根據各行業的特點,生成行業專用庫,可實現任意行業的產品功能測試,對功能測試平臺的搭建和促進行業產品快速發展具有重要意義。

猜你喜歡
功能測試測試用例用例
某內花鍵等速傳動軸八功能測試夾具設計
UML用例間包含關系與泛化關系的比較與分析
UML用例模型中依賴關系的比較與分析
基于SmartUnit的安全通信系統單元測試用例自動生成
聯鎖軟件詳細設計的測試需求分析和用例編寫
從出土文獻用例看王氏父子校讀古書的得失
基于混合遺傳算法的回歸測試用例集最小化研究
基于依賴結構的測試用例優先級技術
軟件回歸測試用例選取方法研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合