艾晗嘯
摘要 在信息科技的推動下,現(xiàn)階段軟件產(chǎn)品的專業(yè)化、規(guī)模化特征越來越顯著,而且軟件更新的速度越來越快、軟件功能更加豐富,要保證軟件測試效率、準確性滿足現(xiàn)代軟件產(chǎn)業(yè)發(fā)展的實際需要,需要對自動化測試技術(shù)展開研究。在此背景下,本文以電力系統(tǒng)實時數(shù)據(jù)庫為例,對其自動化測試的研究與實現(xiàn)2方面進行探索,為我國自動化測試技術(shù)的發(fā)展提供參考。
關鍵詞 電力系統(tǒng);實時數(shù)據(jù)庫;自動化測試
中圖分類號 TM7 文獻標識碼 A 文章編號2095—6363(2016)12—0034—01
由客戶端、RTDB數(shù)據(jù)處理服務、RTDB授權(quán)服務等結(jié)構(gòu)構(gòu)成的電力系統(tǒng)實時數(shù)據(jù)庫,要對電力企業(yè)經(jīng)營、生產(chǎn)等環(huán)節(jié)的數(shù)據(jù)進行分析和處理,為電力企業(yè)經(jīng)營決策提供數(shù)據(jù)支持,其性能、功能以及接口的穩(wěn)定性對電力企業(yè)的發(fā)展至關重要,而自動化測試是保證電力系統(tǒng)實時數(shù)據(jù)庫良好運行的有效手段,所以對其展開研究具有重要的現(xiàn)實意義。
1電力系統(tǒng)實時數(shù)據(jù)庫的自動化測試關鍵技術(shù)研究
1.1 STAF軟件自動化測試框架技術(shù)
此項技術(shù)不僅可以滿足自動化測試的基本需要,而且可以實現(xiàn)不同操作系統(tǒng)平臺和編程語言間的兼容,使多個測試終端在同一測試平臺上,完成被分配的測試任務,這對提升測試的效率具有積極的作用,另外,在實際應用的過程中,測試人員可以結(jié)合測試的實際需要,將新的服務內(nèi)容添加到原有的STAF軟件中,使測試功能在簡單的人為操作下得到不斷的擴充;除此之外,此項技術(shù)在應用的過程中,測試人員可以在測試進行中對測試任務進行維護和管理,使測試任務的完成質(zhì)量得到保證,所以在電力系統(tǒng)實時數(shù)據(jù)庫測試中應用具有可行性。其在電力系統(tǒng)實時數(shù)據(jù)庫中應用時,會通過發(fā)送請求命令使內(nèi)部和外部兩種服務被啟動,在測試命令完成后,相應的服務會向GTAF平臺返回相應的返回碼和請求信息,以此使平臺獲取測試的結(jié)果。
1.2 XML技術(shù)以及Python語言
XML技術(shù)的應用可以使原本混亂的電子文件形成數(shù)據(jù)和數(shù)據(jù)類型構(gòu)成的結(jié)構(gòu)性標識,使電子文件在存儲和組織過程中出現(xiàn)一定的規(guī)律,為文件的跨平臺使用提供條件,這在一定程度上取代了關系數(shù)據(jù)庫的作用,在電力系統(tǒng)實時數(shù)據(jù)庫中應用,可以使配置信息的組織效率和讀取速度明顯的提升。而Python語言在易用性、面向?qū)ο笮?、可擴展性、移植性、健壯性方面具有明顯的優(yōu)勢,將其應用于電力系統(tǒng)實時數(shù)據(jù)庫中,可以使其電力系統(tǒng)日常運行的數(shù)據(jù)以及電力系統(tǒng)擴展的空間等在測試數(shù)據(jù)中用編程語言的形式比較直接的呈現(xiàn),為電力系統(tǒng)數(shù)據(jù)價值挖掘提供直接的工具,進而提升電力系統(tǒng)實時數(shù)據(jù)庫的應用效率,及時出現(xiàn)數(shù)據(jù)庫崩潰或代碼錯誤等問題,在此項技術(shù)的作用下,也可以保證電力系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)的準確性和可靠性,并通過此項技術(shù)對數(shù)據(jù)庫發(fā)生問題的原因進行判斷,可見此項技術(shù)的應用,對提升電力系統(tǒng)實時數(shù)據(jù)庫的安全性也具有積極作用。
1.3回歸測試用例選擇算法
考慮到關聯(lián)規(guī)則挖掘算法可以對大量數(shù)據(jù)中數(shù)據(jù)間的關聯(lián)關系進行確定,所以在電力系統(tǒng)實時數(shù)據(jù)庫自動化測試系統(tǒng)設計的過程中,筆者選擇應用以關聯(lián)規(guī)則挖掘算法為基礎的回歸測試用例選擇算法,其可以對回歸測試中不能通過測試用例間的關聯(lián)關系進行較準確的判斷,進而為回歸測試的可靠性提升提供方向。換言之如果電力系統(tǒng)實時數(shù)據(jù)庫測試中兩個事項的并集中,幾乎全部項與事物數(shù)據(jù)庫中的項相同,則說明兩個項集的支持度非常大;如果電力系統(tǒng)實時數(shù)據(jù)庫測試中兩個事項的交集中,存在幾乎全部項與事物數(shù)據(jù)庫中的項相同,則說明兩個項集的規(guī)則置信度越大,在此算法作用下,電力系統(tǒng)實時數(shù)據(jù)庫數(shù)據(jù)間的關聯(lián)關系可以自動生成,進而對電力系統(tǒng)生產(chǎn)、經(jīng)營過程中的實際狀態(tài)進行判斷,為電力決策提供依據(jù),在具體應用的過程中,需要先通過K-1頻繁項集產(chǎn)生K候選集,然后通過數(shù)據(jù)庫生成頻繁項集,判斷項集中是否具有非頻繁子集,由此生成規(guī)則,判斷具體的支持度和規(guī)則置信度。
2電力系統(tǒng)實時數(shù)據(jù)庫的自動化測試的實現(xiàn)
電力系統(tǒng)實時數(shù)據(jù)庫的功能決定,在進行自動化測試的過程中,要可以實現(xiàn)在多個終端、多個操作系統(tǒng)平臺上同時運行,而且可以實現(xiàn)自動的測試任務分發(fā)、測試環(huán)境部署、測試任務執(zhí)行、測試結(jié)果收集、測試報告生成和發(fā)送,所以電力系統(tǒng)實時數(shù)據(jù)庫自動化測試平臺需要由對測試過程具有“指導”“控制”作用的主控服務器,對實時數(shù)據(jù)庫相關文件以及測試所需文件進行存儲、管理的文件服務器,對測試機群涵蓋實體機進行虛擬測試的測試機群等部分構(gòu)成,為保證各部分功能的實現(xiàn),筆者將其整體劃分成控制機、虛擬機、公共服務、自動化測試平臺中轉(zhuǎn)4個模塊。其中控制機模塊要在程序啟動后,獲取測試任務、分配測試資源、生成測試任務配置文件、向具體的Terminal發(fā)送測試任務、在測試過程完成后接受相關文件、進行回歸測試用例選擇算法并生成測試報告、將測試報告向相應的測試人員傳送并完成數(shù)據(jù)庫中相關文件的備份和更新。而虛擬機模塊在Terminal按照控制機模塊的命令對相應虛擬機啟動后,會接收傳來的文件,進行軟件產(chǎn)品的安裝以及測試環(huán)境的部署,執(zhí)行用例程序,在測試完成后會將測試結(jié)果匯總和發(fā)送并在任務完成后自動停止虛擬機模塊的運行,在其執(zhí)行用例測試的過程中,會直接運行測試用例的可執(zhí)行程序,測試用例執(zhí)行結(jié)束生成執(zhí)行結(jié)果文件,讀取測試用例配置文件的相關信息,進行文件的對比,并將比較結(jié)果計入測試結(jié)果的相關文件中,檢查是否存在未執(zhí)行測試的用例,如果存在會重新進行用例測試,如果不存在則自動停止測試操作。在公共服務模塊運行的過程中,其主要作用是利用STAF等技術(shù)縮減數(shù)據(jù)庫中存儲的代碼量,進而優(yōu)化代碼結(jié)構(gòu),這對簡化數(shù)據(jù)庫代碼的維護過程具有積極的作用,在STAF模塊的作用下,命令調(diào)用服務、文件處理服務、連接確認服務等均可以通過對應的函數(shù)進行表示,使系統(tǒng)的反映效率和執(zhí)行效果得到優(yōu)化。另外,在此模塊應用的Python語言,可以使自動化測試中產(chǎn)生的操作記錄或發(fā)現(xiàn)的異常信息等以規(guī)范編碼的形式被記錄,為測試人員對數(shù)據(jù)庫運行狀態(tài)進行判斷提供依據(jù),而且這些記錄的信息可以以日志的形式被打印,滿足各種需要,可見此模塊在發(fā)揮作用時具有日志服務的功能。除此之外,此模塊在功能實現(xiàn)的過程中,可以對實時數(shù)據(jù)庫中存儲的各類文件進行準確、高效的配置,這對判斷實施數(shù)據(jù)庫內(nèi)信息的關聯(lián)性以及挖掘數(shù)據(jù)的潛在價值均具有重要的意義。
3結(jié)論
通過上述分析可以發(fā)現(xiàn),現(xiàn)階段人們已經(jīng)認識到自動化測試軟件在電力系統(tǒng)實時數(shù)據(jù)庫中應用,對擴大電力企業(yè)利潤空間、強化供電可靠性和安全性、提升電力系統(tǒng)風險防范能力等方面的重要作用,并在實踐中有意識的結(jié)合電力系統(tǒng)實時數(shù)據(jù)庫的特點和現(xiàn)有技術(shù),進行自動化測試軟件的設計和應用,這是我國電力系統(tǒng)技術(shù)應用水平提升的具體體現(xiàn),應有意識的推廣應用。endprint