国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于大型復(fù)雜系統(tǒng)自動化測試平臺的設(shè)計與應(yīng)用

2015-09-14 02:18王定軍費春勇
中國管理信息化 2015年21期
關(guān)鍵詞:司令測試用例士兵

王定軍,費春勇

(中博信息技術(shù)研究院有限公司,南京 210012)

基于大型復(fù)雜系統(tǒng)自動化測試平臺的設(shè)計與應(yīng)用

王定軍,費春勇

(中博信息技術(shù)研究院有限公司,南京 210012)

軟件測試日益受到重視,自動化測試也成為一種趨勢。文章介紹了大型復(fù)雜系統(tǒng)自動化測試平臺的設(shè)計,以及引入自動化測試平臺后,衍生出來的多種應(yīng)用。

自動化測試;大型系統(tǒng);軟件測試;回歸測試;系統(tǒng)運維

1 前言

隨著我國信息業(yè)的不斷發(fā)展,大型企業(yè)的軟件系統(tǒng)變得規(guī)模巨大、業(yè)務(wù)日漸復(fù)雜,企業(yè)對軟件功能、性能的要求也越來越高。越來越多的企業(yè)認識到軟件測試對企業(yè)信息化的重要性,對軟件的質(zhì)量要求也越來越高。

自動化測試是把以人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的一種過程。用機器替代人工執(zhí)行重復(fù)的手動測試。是軟件測試的重要組成部分。為了快速支持更短的上線周期,快速應(yīng)對系統(tǒng)的變更和錯誤,提高測試團隊的工作效率,構(gòu)建自動化測試平臺進行自動化回歸測試成為企業(yè)信息化建設(shè)的必由之路。

大型復(fù)雜系統(tǒng),規(guī)模巨大、數(shù)據(jù)海量、業(yè)務(wù)邏輯復(fù)雜,采用手工測試覆蓋率遠達不到要求。因此我們搭建了可以動態(tài)擴展的自動化測試平臺,用于對軟件版本的回歸測試。在自動化測試平臺的實際使用中,還將應(yīng)用范圍進行了拓展。將自動化測試平臺應(yīng)用延伸到了生產(chǎn)環(huán)境的監(jiān)控、自動化運維等領(lǐng)域。

2 自動化測試工具分析

目前自動化測試工具主要分為三大類:

(1)國外商業(yè)化自動化測試軟件。這類軟件一般功能強大,提供了豐富的插件和完善的第三方接口,售后服務(wù)完善,應(yīng)用范圍廣泛,但是價格一般比較昂貴。主要包括:HP QTP、IBM Rational Functional Tester等。

(2)開源或免費自動化測試軟件。這類軟件一般專注于某一領(lǐng)域,大部分可以免費使用。但是對使用者技術(shù)要求一般都比較高,軟件的穩(wěn)定性和易用性一般要低于商業(yè)軟件。主要包括:Selenium、Watir、AutoIt等。例如:Selenium和Watir專注于Web測試,AutoIt專注于Windows程序。

(3)國內(nèi)商業(yè)化自動化測試軟件。隨著市場對自動化測試工具的需求量越來越大,國內(nèi)很多企業(yè)也開發(fā)出來國產(chǎn)化的自動化測試工具??紤]到開發(fā)成本,這類軟件一般應(yīng)用于特定領(lǐng)域或場景。目前,市場上種類較多,主要支持Web應(yīng)用。由于產(chǎn)品化程度不高,一般都支持定制化開發(fā)功能。

3 自動化測試平臺的需求

傳統(tǒng)的自動化測試工具存在以下問題:自動化程度不高,不能實現(xiàn)無人值守;測試任務(wù)的組織、管理性較差;任務(wù)執(zhí)行后的結(jié)果分析不靈活;未與被測環(huán)境進行關(guān)聯(lián),部署被測環(huán)境耗時耗力。

針對傳統(tǒng)自動化測試的問題,我們對自動化測試平臺提出了以下要求:

(1)支持Java Web、Web Service等應(yīng)用的自動化測試。

(2)自動化測試腳本組件化,復(fù)用便捷。

(3)自動化測試腳本、業(yè)務(wù)數(shù)據(jù)分離。

(4)自動化測試腳本在統(tǒng)一的服務(wù)器集中管理。

(5)支持無人值守的批量執(zhí)行自動化測試用例。

(6)支持測試用例執(zhí)行狀態(tài)的短信、郵件通知。

(7)支持測試缺陷的統(tǒng)一管理。

(8)支持靈活多樣的分析報表。

(9)支持系統(tǒng)的自動化部署。

4 自動化測試的設(shè)計

4.1自動化測試平臺

平臺如圖1所示的自動化測試平臺架構(gòu)。自動化測試平臺主要由兩部分組成,包括:自動化測試、系統(tǒng)自動化部署。司令機和測試士兵機、部署士兵機通過Socket進行通信。

自動化測試,主要包括兩個部分:司令機、自動化測試士兵機。自動化部署,主要包括兩個部分:司令機、自動化部署士兵機。

司令機、測試士兵機制作成標準虛擬機,可以實時進行橫向或縱向擴展。部署士兵機可以由司令機與生產(chǎn)系統(tǒng)或測試系統(tǒng)服務(wù)器建立互信后,自動部署。

圖1 自動化測試平臺架構(gòu)

4.2系統(tǒng)功能

自動化測試平臺中執(zhí)行自動化功能測試的單位是任務(wù),一個任務(wù)由多個測試用例組成,一個測試用例由多個測試組件、測試數(shù)據(jù)組成如圖2所示。

圖2 任務(wù)、測試集、測試組件、測試數(shù)據(jù)對應(yīng)關(guān)系圖

4.2.1司令機

主要提供了測試組件管理、測試用例管理、任務(wù)管理、資源管理、策略管理、統(tǒng)計分析、日志查詢等功能。

測試組件管理:對士兵機上傳到司令機中的測試組件進行管理。

測試用例管理:將測試組件添加測試數(shù)據(jù)后,組合成測試用例,并添加用例所屬系統(tǒng)、責(zé)任人等信息。

任務(wù)管理:將多個測試用例關(guān)聯(lián)到對應(yīng)的任務(wù)。設(shè)置任務(wù)的短信提醒策略、執(zhí)行策略、責(zé)任人等信息。并支持手動觸發(fā)任務(wù)執(zhí)行。

資源管理:主要管理測試士兵機、短信和郵件發(fā)送服務(wù)器。

策略管理:系統(tǒng)提供了任務(wù)執(zhí)行策略、短信和郵件發(fā)送策略。定時任務(wù)可以按照秒、天、周、月、年設(shè)置策略進行定時執(zhí)行。發(fā)送策略支持按照任務(wù)和測試用例執(zhí)行狀態(tài)(成功/失?。┌l(fā)送短信和郵件。

日志查詢:主要包括任務(wù)、測試集執(zhí)行日志,短信發(fā)送日志等。

統(tǒng)計分析:分時間段,按業(yè)務(wù)系統(tǒng)進行各類統(tǒng)計、分析。

待辦任務(wù):分時間段、業(yè)務(wù)系統(tǒng)展示測試問題,由責(zé)任人判斷出錯原因。

指令發(fā)送:根據(jù)任務(wù)管理配置,向客戶端發(fā)送測試任務(wù)執(zhí)行指令。

4.2.2測試士兵機

主要提供測試組件編制、任務(wù)執(zhí)行、保存組件到司令機等功能。

編制組件:支持編制或錄制腳本,支持檢查點。上傳組件:將組件上傳到司令機。

執(zhí)行任務(wù):接受司令機發(fā)送的指令,執(zhí)行任務(wù)。

4.2.3部署士兵機

編制部署流程:可以組合發(fā)布流程步驟,編制每個步驟的發(fā)布腳本和發(fā)布條件。

上傳發(fā)布流程:將部署流程數(shù)據(jù)上傳到司令機。

執(zhí)行部署任務(wù):接受司令機發(fā)送的指令,執(zhí)行部署流程。

4.3開發(fā)流程

自動化測試開發(fā)流程,如圖3所示。

(1)在測試士兵機中編制基本的業(yè)務(wù)組件;

(2)業(yè)務(wù)組件保存司令機中;

(3)在司令機中,業(yè)務(wù)組件輸入?yún)?shù)后,組合成測試用例;

(4)在司令機中,測試用例可以組合成任務(wù);

(5)司令機給測試士兵機發(fā)送指令,由測試士兵機執(zhí)行任務(wù);

(6)士兵機將測試結(jié)果反饋給司令機。

4.4自動化腳本編制原則

經(jīng)過不斷總結(jié),在編制業(yè)務(wù)組件過程中,形成了自動化測試腳本編制原則。

C/S架構(gòu),一般情況下將每個功能作為一個業(yè)務(wù)組件。

B/S架構(gòu),一般情況下將每個頁面劃分一個業(yè)務(wù)組件。對于業(yè)務(wù)邏輯比較復(fù)雜的頁面,可以將一個頁面拆分為多個業(yè)務(wù)組件。

4.5工作流程

自動化測試平臺工作流程,如圖4所示。

(1)ITSM系統(tǒng)通過接口向自動化測試平臺發(fā)送版本發(fā)布需求;

(2)司令機發(fā)送測試系統(tǒng)部署、自動化測試執(zhí)行指令;

(3)測試系統(tǒng)(部署士兵機)自動化部署系統(tǒng)新版本;

(4)測試士兵機對測試系統(tǒng)進行部署驗證;

(5)測試士兵機對測試系統(tǒng)進行自動化測試;

(6)司令機發(fā)送生產(chǎn)系統(tǒng)部署指令;

(7)生產(chǎn)系統(tǒng)(部署士兵機)自動化部署新版本;

(8)測試士兵機對生產(chǎn)系統(tǒng)進行部署驗證。

圖3 自動化測試開發(fā)流程

圖4 自動化測試平臺業(yè)務(wù)流程

5 自動化測試平臺的應(yīng)用

5.1回歸測試

采用自動化測試平臺的基本應(yīng)用是進行版本的回歸測試。

提高了測試效率,縮短測試時間。自動化測試時間比人工測試減少。自動化測試可以和手工測試同事執(zhí)行,也可以在非工作執(zhí)行。

釋放測試人力。一次腳本錄制,多次自動測試,讓測試人員從繁雜的受理工單中解放出來,降低了測試的勞動強度。

提高回歸測試用例覆蓋率。在測試時間窗口較短的情況下,可回歸更多的測試用例。

5.2生產(chǎn)環(huán)境的自動化監(jiān)控

一般監(jiān)控側(cè)重參數(shù)監(jiān)控,例如:CPU、內(nèi)存等。一般監(jiān)控系統(tǒng)整體出現(xiàn)問題。生產(chǎn)環(huán)境晨檢一般由運維人員在上班前1~2h,手工登錄各業(yè)務(wù)系統(tǒng)進行各功能點的操作,發(fā)現(xiàn)是否存在系統(tǒng)功能異常。可以發(fā)現(xiàn)一般監(jiān)控軟件不能捕捉到的局部問題。是一般監(jiān)控的有效補充。

通過自動化測試平臺,我們實現(xiàn)對人工晨檢的替代,用自動化腳本模擬運維人員手工操作。極大提高檢查效率、范圍。將工作日上班前一次性檢查變?yōu)?*24小時對生產(chǎn)機監(jiān)控。發(fā)現(xiàn)異常自動對系統(tǒng)界面截圖,并通過短信和郵件實時告警,第一時間通知責(zé)任人。記錄頁面加載性能,超過閾值自動進行性能預(yù)警。

5.3自動化運維

運維工作中,重復(fù)性工作占用了大量人力資源。由于軟件一般由第三方開發(fā),運維團隊很難通過編程開發(fā)出相應(yīng)的自動化工具。采用自動化測試平臺,可以輕松解決這類困難。我們一般選擇以下三類工作進行自動化測試:

(1)替代復(fù)雜運維工作。日常運維過程中,大型復(fù)雜系統(tǒng)的權(quán)限分配分散在各業(yè)務(wù)子系統(tǒng)中,一般只能通過各業(yè)務(wù)子系統(tǒng)權(quán)限管理員手工來完成。由于涉及子系統(tǒng)眾多,邏輯復(fù)雜,工作量巨大,容易出錯。通過自動化測試平臺我們替換人工操作,將知識體系固化在測試平臺中,降低了人員流動對運維的影響。

(2)替代高頻運維工作。日常運維過程中,經(jīng)常有用戶忘記密碼,或者多次輸入密碼后賬戶鎖定。用戶基數(shù)較大的情況下,每天有相當(dāng)多數(shù)量的該類服務(wù)請求。自動化測試平臺采用通過自動方式,可以大大減輕運維壓力。

(3)替代非工作時間運維工作。系統(tǒng)版本升級一般要求在深夜,例如:SAP ERP傳輸請求要求在每天22:00之后,由運維人員進行操作。夜間加班操作,一方面容易出錯,也影響運維人員第二天工作效率。由自動化測試平臺根據(jù)發(fā)布信息自動進行SAP版本更新,有效提高了工作效率。

主要參考文獻

[1]關(guān)春銀,王林,周暉,等.Selenium測試實踐[M].北京:電子工業(yè)出版社,2011.

[2]張斌.精通QTP與自動化測試框架設(shè)計實戰(zhàn)[M].北京:人民郵電出版社,2010.

10.3969/j.issn.1673-0194.2015.21.096

TP311.5

A

1673-0194(2015)21-0184-04

2015-07-07

猜你喜歡
司令測試用例士兵
英軍士兵正在放飛Puma-LE無人機
“雞司令”的“云”上探索
基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
基于混合遺傳算法的回歸測試用例集最小化研究
士兵獨白
一個士兵的最后一封信
從“牛司令”到“環(huán)保人物”
從“兵媽媽”到“鳥司令”
基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
軟件回歸測試用例選取方法研究