金虎 張林 李軍
(威勝集團(tuán)有限公司 湖南省長(zhǎng)沙市 414400)
隨著能源互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的高速發(fā)展,智能電表在人們的生活中扮演了越來(lái)越重要的角色,電網(wǎng)公司、售電市場(chǎng)以及電力用戶(hù)之間的交互日趨頻繁[1],交互需求的個(gè)性化和多樣化使得智能電表的功能相較于以往有了大幅的擴(kuò)展,功能的復(fù)雜性也提高了智能電表的生產(chǎn)過(guò)程的要求,因此需要大量的測(cè)試來(lái)保證產(chǎn)品的穩(wěn)定性和正確性,當(dāng)用戶(hù)需求發(fā)生變動(dòng)時(shí),需要能快速測(cè)試修改部分的功能并對(duì)各個(gè)功能模塊進(jìn)行回歸測(cè)試,以同時(shí)滿(mǎn)足產(chǎn)品的質(zhì)量和客戶(hù)的交付要求。
文中通過(guò)設(shè)計(jì)一種適用于智能電表功能測(cè)試的軟件平臺(tái),利用分層設(shè)計(jì)思路,將智能電表的功能測(cè)試任務(wù)分解為測(cè)試方案后,采用可重用的帶有屬性和方法的測(cè)試元件組合成測(cè)試用例,通過(guò)測(cè)試方案的元素編輯,實(shí)現(xiàn)滿(mǎn)足智能電表功能測(cè)試的開(kāi)放式軟件平臺(tái)架構(gòu),由此解決了功能測(cè)試的自動(dòng)化程度低、靈活性差的問(wèn)題。
隨著微電子技術(shù)的發(fā)展,智能電表不僅實(shí)現(xiàn)了系統(tǒng)引導(dǎo)層、系統(tǒng)驅(qū)動(dòng)層、系統(tǒng)應(yīng)用層的分層設(shè)計(jì)[2],表計(jì)功能的模塊化設(shè)計(jì)也已成為主流設(shè)計(jì)方法。盡管?chē)?guó)際市場(chǎng)客戶(hù)的需求在細(xì)節(jié)上有差異,但智能電表的總體框架變化不大,尤其是國(guó)內(nèi)市場(chǎng)在國(guó)網(wǎng)、南網(wǎng)的統(tǒng)一招標(biāo)管理下,智能電表的需求更加明確且功能定義清晰,技術(shù)方案基本固化,因此,智能電表的總體功能框圖基本如圖1 所示。
功能驗(yàn)證測(cè)試平臺(tái)整體框架采用分層設(shè)計(jì),包括任務(wù)層、方案層、用例層、元件層、屬性/方法層等,實(shí)現(xiàn)用可視化的測(cè)試方案向目標(biāo)結(jié)果測(cè)試執(zhí)行轉(zhuǎn)化。每層的內(nèi)部元素采用面向?qū)ο蟮姆绞蕉x,平臺(tái)框架結(jié)構(gòu)如圖2 所示。
其中,測(cè)試元件是系統(tǒng)的基本組成元素,構(gòu)成了整個(gè)測(cè)試平臺(tái)的基礎(chǔ)。
(1)元件層是由眾多的元件組成的數(shù)據(jù)庫(kù),每個(gè)元件除了名稱(chēng)外,還包含類(lèi)、屬性和動(dòng)作等特性,這些特性采用標(biāo)準(zhǔn)定義的接口封裝成動(dòng)態(tài)庫(kù),系統(tǒng)自動(dòng)引用由用戶(hù)導(dǎo)入的動(dòng)態(tài)庫(kù)從而實(shí)現(xiàn)測(cè)試元件庫(kù)的持續(xù)豐富;
(2)用例層是由各種測(cè)試用例組成的數(shù)據(jù)庫(kù),每個(gè)用例除了名稱(chēng)外,還包含類(lèi)別、功能描述等特性,將元件庫(kù)導(dǎo)入系統(tǒng)后,用戶(hù)從元件庫(kù)中選取元件,按照測(cè)試流程的邏輯設(shè)計(jì)測(cè)試用例,每個(gè)測(cè)試用例完成一個(gè)功能測(cè)試;
(3)方案層是由針對(duì)各種功能的測(cè)試方案組成的數(shù)據(jù)庫(kù),每個(gè)方案除了名稱(chēng)外,還包含測(cè)試目的、測(cè)試需求分析、測(cè)試策略(可選)、測(cè)試說(shuō)明等特性,將用例庫(kù)導(dǎo)入系統(tǒng)后,用戶(hù)按照測(cè)試需求從用例庫(kù)中選取用例組成測(cè)試方案,每個(gè)測(cè)試方案完成一個(gè)功能模塊的測(cè)試;
圖1:智能電表功能框圖
(4)任務(wù)層則由用戶(hù)根據(jù)產(chǎn)品測(cè)試需求,從方案庫(kù)中選取測(cè)試方案,覆蓋產(chǎn)品測(cè)試的所有功能組件,并根據(jù)實(shí)際測(cè)試對(duì)象的提供情況選擇實(shí)物測(cè)試還是虛擬測(cè)試,輸出分項(xiàng)和總的測(cè)試結(jié)論,導(dǎo)出pdf、html 等格式的測(cè)試報(bào)告。
智能電表的功能在持續(xù)擴(kuò)展,因此本系統(tǒng)在對(duì)元件屬性、元件方法、測(cè)試元件、測(cè)試用例、測(cè)試方案等進(jìn)行設(shè)計(jì)時(shí),均以庫(kù)的形式進(jìn)行保存和管理,并將元件設(shè)計(jì)為動(dòng)態(tài)鏈接庫(kù)方式,通過(guò)反射加載技術(shù)將動(dòng)態(tài)鏈接庫(kù)中類(lèi)、屬性和方法識(shí)別出來(lái),保存到系統(tǒng)數(shù)據(jù)庫(kù)中,從而實(shí)現(xiàn)了測(cè)試元件、測(cè)試用例、測(cè)試方案等以動(dòng)態(tài)持續(xù)增加的軟件生態(tài)方式發(fā)展。
圖2:測(cè)試系統(tǒng)軟件平臺(tái)框架圖
圖3:用例編輯和執(zhí)行的元件調(diào)用關(guān)系圖
圖4:測(cè)試任務(wù)分解流程圖
用戶(hù)通過(guò)系統(tǒng)界面編輯各元件的屬性值或調(diào)用其中的方法,這些操作將與用例名稱(chēng)關(guān)聯(lián)后保存到用例數(shù)據(jù)庫(kù)中。編輯用例時(shí),系統(tǒng)自動(dòng)調(diào)出被選中元件的類(lèi)、屬性和方法,通過(guò)給屬性賦予不同的值,使元件獲得不同的屬性,通過(guò)在用例中選擇元件的不同方法,使元件在用例的不同階段完成不同的功能,從而滿(mǎn)足各個(gè)測(cè)試步驟的需求。
執(zhí)行用例時(shí),系統(tǒng)根據(jù)測(cè)試用例識(shí)別所需調(diào)用的元件,并自動(dòng)調(diào)用用例數(shù)據(jù)庫(kù)中配置的方法,這些方法則使用用例數(shù)據(jù)庫(kù)中配置的屬性值來(lái)完成元件內(nèi)部參數(shù)的初始化,執(zhí)行的結(jié)果數(shù)據(jù)輸出到用例中配置的公共變量,由系統(tǒng)進(jìn)行統(tǒng)一處理,用戶(hù)根據(jù)功能需求和經(jīng)驗(yàn)積累靈活地對(duì)測(cè)試用例進(jìn)行各種排列組合完成測(cè)試任務(wù)。
用例編輯和執(zhí)行的元件調(diào)用關(guān)系圖如圖3 所示。
利用電能表功能驗(yàn)證測(cè)試平臺(tái)可以對(duì)現(xiàn)有智能電能表進(jìn)行測(cè)試,測(cè)試對(duì)象可以是真實(shí)的電能表,也可以是PC 端虛擬的模擬表[3]。首先根據(jù)測(cè)試要求將測(cè)試任務(wù)按照方案、用例、元件等逐層分解,分解流程圖如圖4 所示。利用多線(xiàn)程技術(shù)模擬多臺(tái)電能表,分別執(zhí)行不同的測(cè)試方案;利用串口通訊通道,控制電能表標(biāo)準(zhǔn)源,完成臺(tái)體升源、降源、角度控制、幅值調(diào)整、周期控制等各種參數(shù)的組合,模擬各種事件的產(chǎn)生機(jī)制,并收集事件記錄[4];以功能模塊為測(cè)試單元進(jìn)行系統(tǒng)驗(yàn)證,共創(chuàng)建了42 個(gè)測(cè)試元件,由此組合成112個(gè)測(cè)試用例,完成了走字驗(yàn)證、跳合閘管理、固件升級(jí)、結(jié)算曲線(xiàn)等4 個(gè)測(cè)試方案的完整測(cè)試,驗(yàn)證了測(cè)試平臺(tái)的有效性。
文中提出的功能驗(yàn)證測(cè)試平臺(tái)設(shè)計(jì),是一個(gè)開(kāi)放式的測(cè)試開(kāi)發(fā)和應(yīng)用平臺(tái),通過(guò)分層和面向?qū)ο笤O(shè)計(jì)方法,實(shí)現(xiàn)了將測(cè)試任務(wù)分解到測(cè)試元件的圖形化過(guò)程和將設(shè)計(jì)方案從思路概念轉(zhuǎn)變?yōu)閷?shí)際測(cè)試結(jié)果的全部功能;通過(guò)對(duì)測(cè)試元件、測(cè)試用例、測(cè)試方案等采用數(shù)據(jù)庫(kù)管理方式,為測(cè)試經(jīng)驗(yàn)的積累和沉淀提供了容器;軟件測(cè)試平臺(tái)和測(cè)試方案庫(kù)、測(cè)試用例庫(kù)、測(cè)試元件庫(kù)既緊密聯(lián)系又相互獨(dú)立,每個(gè)庫(kù)的管理和發(fā)展不受軟件測(cè)試平臺(tái)的制約;特別地,將元件庫(kù)、用例庫(kù)、方案庫(kù)等根據(jù)各行業(yè)的特點(diǎn),生成行業(yè)專(zhuān)用庫(kù),可實(shí)現(xiàn)任意行業(yè)的產(chǎn)品功能測(cè)試,對(duì)功能測(cè)試平臺(tái)的搭建和促進(jìn)行業(yè)產(chǎn)品快速發(fā)展具有重要意義。