999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

QTP在浮標數據接收軟件測試中的應用

2016-10-25 08:47:34張建濤馮月永姚世強常怡婷
海洋技術學報 2016年3期

張建濤,馮月永,姚世強,常怡婷

(國家海洋技術中心,天津 300112)

QTP在浮標數據接收軟件測試中的應用

張建濤,馮月永,姚世強,常怡婷

(國家海洋技術中心,天津300112)

軟件測試貫穿于整個軟件開發周期,在軟件測試中引入自動化概念可以提高測試效率。使用QTP(Quick Test Professional)作為自動化測試工具,設計與實現浮標數據接收軟件測試框架,并應用于浮標數據接收軟件的功能測試、強度測試和回歸測試中,闡述浮標數據接收軟件實現自動化測試突破的關鍵技術。結果表明:提高了測試效率,擴展了軟件測試的范圍。

軟件測試;浮標數據接收軟件;自動化測試;測試框架;QTP

海洋資料浮標是國內外海洋環境立體監測系統的重要組成部分。主要目的是自動獲取長期、有效的海洋環境資料,即使在惡劣環境,其他現場監測手段都難以或無法實施監測的時候,浮標仍能有效工作[1]。浮標數據接收軟件是整個浮標系統的重要部分,最終的氣象、水文等海洋資料都要由浮標數據接收軟件處理,并使有關氣象、水文資料得到有效的利用[3]。它的質量直接決定了浮標觀測數據的有效、準確和完整。而軟件測試是保證軟件質量、提高可靠性的最重要手段[4]。

浮標數據接收軟件測試由用戶隨機操作的場景組成,測試人員必須在每輪測試中不斷地重復操作,并且測試結果會受到測試人員工作狀態的影響,人工測試非常浪費時間而且需要投入大量的人力,因此研究自動化測試是非常有必要的。本文借助QTP自動化測試工具,提出一種適用于浮標數據接收軟件的基于關鍵詞參數化的測試方法,彌補系統手工無法實現或難以實現的測試。

1 浮標數據接收軟件測試框架的設計與實現

QTP具有測試腳本錄制、測試執行、測試結果判斷和測試報告生成等基本功能,可減輕測試人員開發測試腳本的負擔,但仍然存在無法實現測試環境構建、測試結果保留及測試結果判定等測試過程自動化問題[5]。針對QTP在實際項目測試中的這一問題,人們也一直在探索各種有效途徑將QTP運用于各種類型的測試項目中,研究針對不同測試對象的自動化測試解決方法,即自動化測試框架,以充分發揮QTP在自動化中的作用[9]。通過綜合考慮浮標數據接收軟件自身的功能特征和業務邏輯,設計符合浮標數據接收軟件的QTP自動化測試框架。

1.1浮標數據接收軟件自動化測試框架結構

浮標數據接收軟件的自動化測試框架的設計主要遵循以下原則,即測試框架與被測程序獨立,測試框架易于維護及擴展,測試腳本所有語言與測試框架無關,測試腳本能夠被自動執行并生成相關結果。基于此,本文設計了如下浮標數據接收軟件自動化測試框架,主要由啟動引擎、關鍵字驅動、數據驅動、異常處理、報表引擎、日志記錄幾部分組成。測試執行者通過軟件的人機交互界面上傳數據驅動表,交由測試服務器,通過關鍵字驅動測試執行,測試完畢后再將測試結果及報告返回測試執行者。

圖1 浮標數據接收軟件自動化測試框架

1.2自動化測試框架的實現

針對自動化測試框架,設計基于框架模型的浮標數據接收軟件的自動化測試體系,共有以下幾個功能模塊組成。

圖2 浮標數據接收軟件自動化測試體系結構

(1)主控模塊:程序入口,主要功能是控制軟件各功能模塊的業務處理,負責與其他模塊通信,協調完成浮標數據接收軟件整體測試。

(2)業務處理:完成浮標數據接收軟件的功能與性能測試業務流程處理操作,并針對測試結果及漏洞(Bug)信息對測試業務的合理性和邏輯性進行優化處理。

(3)時間統計:完成浮標數據接收軟件的查詢、數據導出等操作所耗費時間統計,進行性能評估。

(4)異常處理:處理浮標數據接收軟件在執行自動化測試過程中出現的所有異常情況,在無人干預前提下,保證自動化測試流程的完整持續運行。

(5)結果驗證:通過在測試腳本中插入位圖檢查點的方式,對浮標數據接收軟件測試過程中實際輸出的測試結果與預期值進行比較,以判斷測試輸出結果的正確性。

(6)Bug信息記錄:對測試過程中發現的浮標數據接收軟件設計缺陷和功能缺陷進行分類記錄。

(7)結果存儲/分析:對浮標數據接收軟件測試過程中產生的運行結果和系統Bug信息進行存儲,并對測試結果進行分析,針對分析結果對浮標數據接收軟件進行優化處理。

2 QTP在浮標數據接收軟件測試中的實現

2.1制定測試計劃

首先,根據浮標數據接收軟件的需求說明書,細化軟件功能和業務流程,制定軟件測試計劃。對浮標數據接收軟件進行分析,確認軟件是否有明確的輸入條件及期望輸出結果、是否有可以自動化測試的功能點,以判斷QTP是否符合測試需求。

針對浮標數據接收軟件的特點,系統的主要業務功能為:數據接收、數據處理、數據存儲、數據查詢、數據導出等。比如浮標數據接收軟件是通過打開通信方式接收數據來觸發后續數據接收處理業務,因此打開相應通信方式是進行自動化測試的一個輸入條件。

2.2建立測試原型

確定自動化測試的輸入條件之后,將輸入條件參數化,并依據測試計劃確定參數化變量的取值,建立自動化測試原型,形成Excell格式的數據集。浮標數據接收軟件關鍵字驅動的參數化變量主要有:端口號、波特率、查詢日期、查詢時間、傳感器類型等。

2.3生成測試用例

根據建立的參數化測試原型、輸入指定的參數化變量值,生成全覆蓋設定條件的Excel數據格式測試用例集合。邏輯數據驅動表中對應的參數值,腳本運行時將逐條執行,也可循環執行若干次。

2.4錄制測試腳本

腳本錄制之前,QTP通過啟動引擎加載系統自動化測試必要的配置服務,包括建立QTP與數據驅動表之間的連接,從測試用例集合中獲取參數化變量值。然后根據讀取的參數值查詢日期、查詢時間、查詢參數名稱、通信方式名稱、端口號、波特率等信息來觸發系統的后續業務處理。通過關鍵字參數化和數據驅動方式錄制一個標準業務流程,QTP便能將其直觀地記錄下來并生成測試腳本。然后用For語句實現循環,使QTP在運行腳本時能夠通過循環逐條讀取表中每一行數據。

2.5編輯測試腳本

在對象庫管理界面編輯管理被測軟件的對象庫,將整個軟件中所有的對象添加到對象庫中。另外,還要調整測試步驟、編輯測試邏輯、插入檢查點、添加測試輸出信息、添加注釋等。對于錄制下來的測試腳本,需要進一步修改和調整。

2.6優化測試腳本

利用“Check Syntax”功能檢查測試腳本的語法錯誤,利用QTP腳本編輯界面的調試功能檢查測試腳本邏輯的正確性。由于浮標數據接收軟件界面是基于圖形化編程,控件的文本信息QTP無法自動識別,通過位圖檢查點比對,控制不同界面之間的跳轉。

2.7結果驗證

為了直觀地將測試結果展現出來,以便問題的記錄和回歸,針對浮標數據接收軟件的測試需求,單獨編寫測試結果輸出函數和圖表生成函數供測試腳本調用,測試人員能在查看測試結果的基礎上更全面了解系統的測試過程,尤其系統異常情況的處理,對測試結果按照測試需求進行合理性驗證。

3 浮標數據接收軟件自動化測試

3.1功能測試實例

功能測試是為確保軟件以期望的方式運行。功能測試的關鍵是測試用例的選擇,要用最少的用例覆蓋盡量大的范圍。浮標數據接收軟件進行測試過程中,數據查詢功能界面需要人工手動輸入,而查詢條件包括的可輸入數據非常多,如果每次測試都需要人工逐個輸入,則需要耗費大量人力資源。使用QTP自動化測試工具,通過編輯所錄制的測試腳本,統一設置各輸入框的值,可大大縮短測試周期,減少人力重復勞動。以歷史數據查詢為例(圖3所示),主要測試“日期”設置為不同值時是否能正常顯示查詢結果,或顯示提示信息。

圖3 歷史數據查詢界面

其中,“年”的輸入已經做了限制,只能輸入2000~9999之間的四位數字,“月份”只能在下拉框中選擇,包括“一月、二月、…、十二月”,日期的取值隨著月份的不同范圍也有所變化,尤其是二月份,在閏年為29 d。結合邊界值等價類方法,對浮標數據接收軟件數據查詢界面的輸入值進行等價類邊界值劃分,每類中抽取1個有效值數據作為查詢條件輸入數據,基本覆蓋了所有可輸入條件。

表1 日期輸入等價類表

通過以上邊界值分析和等價類劃分后,確定了各變量值的取值個數,在設計測試用例時,要使一條用例盡量多的覆蓋有效等價類,而無效等價類則要求一對一的覆蓋,設計的測試用例如表2所示。在每一個測試用例中,輸入條件的每一個變量值設置操作過程都相同,其他測試用例的執行是一個簡單的機械重復過程。這類情況非常適合自動化測試。

表2 測試用例表

在采用自動化測試時,只需手工完成一個測試用例,用測試工具QTP捕獲其操作過程并錄制成腳本,然后對錄制的腳本進行修改,即可循環執行整個測試過程,同時在后期做回歸測試時,也只需將該腳本重放即可,而不需要做簡單重復且無創意的編寫腳本工作。

表3 測試用例輸出結果

使用自動化測試的目的是為了提高測試效率,從而節約成本。將該自動化測試框架應用于浮標數據接收軟件測試中,達到了預期的效果。在歷史數據查詢功能模塊測試時,采用自動化測試時,除需人工在測試執行前進行簡單的環境參數配置外,測試執行時間遠遠少于手工測試,實際運行14個測試用例,在1 min以內即可完成,發現3個BUG。

3.2強度測試實例

強度測試是為了確認被測系統是否能夠支持性能需求,以及預期的負載增長,它可以從響應時間、資源占有率等進行評價。其中的響應時間是用戶最直接感受到的系統性能,也是故障定位迫切需要解決的問題。浮標數據接收軟件的歷史數據查詢功能為用戶提供符合要求時間段歷史數據的查詢和顯示,參照互聯網采用的2/5/10 s原則,考慮響應時間應在10 s以內。實際測試過程中需測試響應時間隨著數據量增加的變化情況。若采用手工測試,每次改變數據量后都要重新運行,操作過程相同,只是一個簡單的重復。采用QTP后,通過編輯錄制的腳本可使程序自動調用不同的數據集,同時調用性能監視器記錄系統資源使用情況,并將測試結果以圖表形式輸出,采用簡單的for循環編寫函數即可使程序重復不間斷運行,實現長時間的軟件響應時間和資源占有率的測試,從而降低了測試人員的勞動強度,節省了時間。在以后的回歸測試時可直接調用這個測試腳本,運行并得出結果。

圖4 響應時間曲線圖

圖5 系統資源占有率曲線圖

3.3回歸測試實例

回歸測試是指在軟件BUG修改、軟件升級等軟件發生變化后需要重復以前的全部或部分測試的過程。多個測試用例的執行若采用手工變換,效率較低。在對多個測試用例的回歸測試過程中,使用自動化測試可以加速回歸測試進度。

回歸測試中,只需直接運行已編輯好的測試腳本,即可實現對所測系統的回歸測試。

由以上測試實驗可知,QTP自動化測試工具可用于浮標數據接收軟件中的功能測試、強度測試及回歸測試,通過調整測試腳本,可使自動化測試更加優化,從而大大節約人力資源。

4 關鍵技術

浮標數據接收軟件自動化測試,實現了以下幾個關鍵技術的突破:

(1)規避浮標數據接收軟件的人機交互操作。在浮標數據接收軟件的數據查詢和通信方式設置等過程中,需要人工將條件輸入,方可進行處理。通過改寫并重新封裝驅動動態庫,將條件輸入及鼠標點擊動作巧妙規避,無需人工干預,即可實現浮標數據接收軟件的自動化測試。

(2)測試用例自動生成技術。測試用例的設計好壞直接影響系統的測試結果,由于手工設計的測試用例難以完全覆蓋系統的功能場景,在建立測試原型后,參數化關鍵字,生成全覆蓋的滿足測試需求的測試用例集合。

(3)測試結果圖形化展現。采用位圖比較法實現測試結果的對比驗證,并針對關鍵業務測試,輸入結果采用改進的柱狀圖及餅狀圖直觀展現測試結果。

5 結束語

采用測試工具進行自動化測試能減輕測試人員負擔,提高難以重現的低概率事件處理能力,節省時間,同時將測試人員從反復、煩雜的測試執行中解放出來,用更多的時間進行測試設計和結果分析。但測試工具所能提供的基本功能是有限的,要將測試工具有效運用于測試項目中,需對測試工具進行二次開發。本文通過構建符合浮標數據接收軟件的QTP自動化測試框架實現軟件的自動化測試。該測試框架采用INI文件配置環境,增強了測試用例設計模板的靈活性,也增強了函數庫的可重用性,同時還可重用于其他相似的數據接收處理及數據庫相關軟件的測試。在實際應用中,可根據測試需求進行擴充,通過二次開發最大限度地發揮QTP的測試潛能。

[1]趙聰蛟,周燕.國內海洋浮標監測系統研究概況[J].海洋開發與管理,2013(11):13-18.

[2]王軍成.國內外海洋資料浮標技術現狀與發展[J].海洋技術,1998(1):9-15.

[3]李民.Ⅱ型海洋資料浮標接收岸站設計[J].海洋技術,1998(17):34-37.

[4]王洪磊.QTP在windows應用軟件測試中的應用[J].信息與電腦,2010(6):24-30.

[5]王敏,網智超,等.基于QTP的數據庫系統測試框架[J].計算機與數字工程,2014(1):117-121.

[6]劉霞.基于QTP的GUI數據驅動自動化測試框架[D].上海:復旦大學,2009.

[7]Steven Holzner(美).Visual basic 6.0技術內幕[M].北京:機械工業出版社,1994.

[8]杜麗潔.基于QTP自動化測試框架的開發與應用[D].武漢:武漢理工大學,2012:13-17.

[9]杜斌.QTP腳本參數化的應用方法[J].應用開發,2010(6):67-71.

Application of QTP in the Testing of Buoy Data Receiving Software

ZHANG Jian-tao,FENG Yue-yong,YAO Shi-qiang,CHANG Yi-ting
National Ocean Technology Center,Tianjin 300112,China

Software testing is frequently conducted throughout the entire cycle of software development.To enhance testing efficiency,the concept of automation should be introduced into software testing.With Quick Test Professional(QTP)as the automatic testing tool,this paper designs and implements the testing framework of buoy data receiving software,which is applied in the function,strength and regression testing for the buoy data receiving software.This paper also focuses on the key techniques to achieve breakthroughs in automatic testing for the buoy data receiving software.The results indicate that the method proposed in this paper can improve the testing efficiency and expand the scope of software testing.

software testing;buoy data receiving software;automatic testing;testing framework;QTP

P715.2;TP311.56

A

1003-2029(2016)03-0082-06

10.3969/j.issn.1003-2029.2016.03.016

2015-12-03

張建濤(1985-),男,碩士,工程師,主要從事浮標軟件設計和通信系統開發。E-mail:13821562205@163.com

主站蜘蛛池模板: 99精品国产自在现线观看| 色综合久久88| 久久综合丝袜日本网| 国产精品免费入口视频| 久久精品国产一区二区小说| 国产日韩欧美视频| 亚洲Va中文字幕久久一区| 亚洲人成人无码www| 综合社区亚洲熟妇p| 强乱中文字幕在线播放不卡| 色成人亚洲| 欧美a在线看| 日本日韩欧美| 免费播放毛片| 日韩人妻无码制服丝袜视频| 国产成人一区二区| 中字无码av在线电影| 91丝袜乱伦| 欧洲日本亚洲中文字幕| 久久久噜噜噜| 国产成人精品18| 午夜福利视频一区| 免费观看国产小粉嫩喷水| 国产成人无码播放| 免费观看男人免费桶女人视频| 久久久久国产一级毛片高清板| 九九九精品视频| 欧美日韩精品一区二区视频| 国产乱人乱偷精品视频a人人澡| 国产91久久久久久| 国产精品部在线观看| 亚洲激情区| 谁有在线观看日韩亚洲最新视频 | 欧美国产日本高清不卡| 亚洲一级毛片| 99久久精品国产综合婷婷| 欧美精品亚洲精品日韩专区| 亚洲欧州色色免费AV| 欧美亚洲激情| 97视频在线观看免费视频| 国产在线高清一级毛片| 亚洲第一中文字幕| 四虎精品免费久久| 日日噜噜夜夜狠狠视频| 中文字幕啪啪| 国产视频大全| 欧美在线免费| 999精品色在线观看| 亚洲人成人伊人成综合网无码| 亚洲欧美日韩中文字幕在线一区| 亚洲一区二区三区中文字幕5566| 蝌蚪国产精品视频第一页| 国内精品九九久久久精品| 亚洲福利一区二区三区| 日韩天堂视频| 国产精品九九视频| 91无码网站| 国产导航在线| 国产99视频精品免费观看9e| 污视频日本| 亚洲视频四区| 欧美精品一区在线看| 成年片色大黄全免费网站久久| 日韩福利视频导航| 欧美日韩激情| 人妻无码AⅤ中文字| 国产一区三区二区中文在线| 精品亚洲国产成人AV| 精品偷拍一区二区| 毛片在线看网站| 欧美午夜性视频| 一本久道热中字伊人| 精品国产美女福到在线直播| 国产日韩欧美中文| 日本三级精品| 91精品国产91久久久久久三级| 亚洲成在人线av品善网好看| 丁香婷婷激情网| 一级毛片在线直接观看| 91黄视频在线观看| 久久人体视频| 成人午夜网址|