亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向C/S結(jié)構(gòu)的軟件自動(dòng)化測(cè)試工具的設(shè)計(jì)

        2010-08-18 00:58:54劉漢燁
        電子設(shè)計(jì)工程 2010年6期
        關(guān)鍵詞:測(cè)試軟件測(cè)試工具關(guān)鍵字

        劉漢燁

        (榆林學(xué)院 信息工程學(xué)院,陜西 榆林 719000)

        隨著IT技術(shù)的迅速發(fā)展,軟件的規(guī)模越來越大,軟件測(cè)試在整個(gè)開發(fā)流程中所占的比重越來越大。有關(guān)統(tǒng)計(jì)表明,在軟件開發(fā)總成本中,軟件測(cè)試所占的開銷為30%~50%[1-2]。有人估計(jì),測(cè)試階段的開銷要占到整個(gè)軟件生存周期開銷的50%甚至50%以上。如此巨大的軟件測(cè)試工作量,以往以手工測(cè)試為主的軟件測(cè)試方法往往會(huì)顯得力不從心,這為整個(gè)自動(dòng)化測(cè)試?yán)碚摰漠a(chǎn)生提供重要的應(yīng)用背景。

        軟件自動(dòng)化測(cè)試是解決當(dāng)今軟件復(fù)雜化測(cè)試的一個(gè)必然方向。軟件測(cè)試過程有很多操作是重復(fù)性的、非智力創(chuàng)造性、細(xì)致的工作。這類型的工作很適合做自動(dòng)化,因此如果能將軟件測(cè)試中大部分這種類型的工作實(shí)現(xiàn)自動(dòng)化測(cè)試,將會(huì)對(duì)軟件開發(fā)工作的質(zhì)量、成本和周期帶來非常顯著的效果[2]。

        1 相關(guān)概念

        1.1 回歸測(cè)試

        在軟件開發(fā)過程中,測(cè)試工作的很大一部分是回歸測(cè)試(Regression Testing)?;貧w測(cè)試主要是驗(yàn)證系統(tǒng)的變更是否影響系統(tǒng)在變更前所具有的功能,保證當(dāng)前變更功能的正確性。在漸進(jìn)和快速迭代開發(fā)中,新版本的連續(xù)發(fā)布使回歸測(cè)試的執(zhí)行更加頻繁,而在產(chǎn)品即將發(fā)布的時(shí)間段內(nèi),更是要求每天都進(jìn)行若干次回歸測(cè)試。為了驗(yàn)證修改的正確性及其影響,就需要進(jìn)行回歸測(cè)試,執(zhí)行回歸測(cè)試時(shí),首要應(yīng)考慮覆蓋范圍足夠大,而且用盡可能少的時(shí)間執(zhí)行回歸測(cè)試,盡量進(jìn)行自動(dòng)化的回歸測(cè)試[3]。

        1.2 關(guān)鍵字驅(qū)動(dòng)技術(shù)

        為了讓測(cè)試程序按照我們的意圖去執(zhí)行測(cè)試,就需要使用一組控制命令來控制腳本的執(zhí)行。這些控制命令是由測(cè)試軟件的共享函數(shù)庫來解釋的[4]。這些控制命令就是關(guān)鍵字,代表某個(gè)動(dòng)作。關(guān)鍵字的不同組合可以構(gòu)成不同的測(cè)試邏輯。

        2 自動(dòng)化測(cè)試工具的設(shè)計(jì)

        2.1 總體框架模型的設(shè)計(jì)

        測(cè)試工具包括以下組件:測(cè)試引擎、測(cè)試用例列表、測(cè)試用例配置文件集、測(cè)試用例集、日志生成器及公共函數(shù)庫等。測(cè)試工具的體系結(jié)構(gòu)如圖1所示。

        圖1 測(cè)試工具系統(tǒng)架構(gòu)

        2.2 自動(dòng)測(cè)試框架的實(shí)現(xiàn)

        測(cè)試軟件的測(cè)試框架基于3層腳本驅(qū)動(dòng)方案,即測(cè)試軟件的測(cè)試腳本分為3類:高層腳本、中層腳本及低層腳本[4-6]。高層腳本為測(cè)試引擎,其主要工作為解析測(cè)試用例表,并將解析出的結(jié)果傳遞給中層腳本或底層腳本。中層腳本位于測(cè)試腳本集中。測(cè)試腳本集是中層腳本和底層腳本所在目錄,測(cè)試腳本根據(jù)測(cè)試用例的不同分類分布在不同的文件夾下。中層腳本主要負(fù)責(zé)接收高層腳本的解析結(jié)果,并調(diào)動(dòng)底層腳本。底層腳本為測(cè)試用例具體執(zhí)行腳本,是測(cè)試過程的主要實(shí)施者,每個(gè)測(cè)試用例對(duì)應(yīng)1個(gè)底層腳本,腳本名與測(cè)試用例名一致。

        2.3 測(cè)試工具主要模塊

        2.3.1 測(cè)試引擎的設(shè)計(jì)

        測(cè)試引擎主要由初始化、命令行解析、測(cè)試用例執(zhí)行及系統(tǒng)清理和恢復(fù)等4個(gè)模塊組成。

        1)初始化模塊 主要負(fù)責(zé)處理初始化工作。初始化工作包括檢查被測(cè)軟件的工作狀態(tài),修改相關(guān)文件夾屬性,載入相關(guān)運(yùn)行函數(shù)庫等。

        2)命令行參數(shù)解析模塊 主要負(fù)責(zé)解析運(yùn)行測(cè)試工具的命令行,以便完成不同類型的測(cè)試。

        3)配置文件備份和恢復(fù)模塊 主要負(fù)責(zé)測(cè)試工具運(yùn)行前被測(cè)軟件部分配置文件的備份情況,以便在測(cè)試工具發(fā)生運(yùn)行錯(cuò)誤時(shí)及時(shí)恢復(fù)被測(cè)環(huán)境。

        4)測(cè)試用例執(zhí)行模塊 測(cè)試引擎4個(gè)模塊中最核心的模塊。該模塊的主要任務(wù)有:從測(cè)試用例表中自動(dòng)調(diào)用所需的測(cè)試用例并執(zhí)行之;生成測(cè)試日志和測(cè)試報(bào)告;從已結(jié)束的測(cè)試用例中獲取返回信息;清理及重新初始化系統(tǒng)。

        2.3.2 配置模塊設(shè)計(jì)

        配置模塊主要負(fù)責(zé)測(cè)試工具測(cè)試環(huán)境的配置。測(cè)試工作所需的各種環(huán)境變量都是可配置的,測(cè)試人員在測(cè)試時(shí)可以根據(jù)自己的測(cè)試場(chǎng)景選擇配置。該配置模塊中主要有用戶配置、機(jī)器配置、測(cè)試用例列表、測(cè)試數(shù)據(jù)文件及測(cè)試軟件測(cè)試過程中所需要的其他配置信息。測(cè)試用例列表是整個(gè)配置模塊的核心文件,整個(gè)測(cè)試工具在測(cè)試過程中所要用到的有關(guān)測(cè)試用例的信息全部在測(cè)試用例列表中獲取。測(cè)試用例列表最基本的組成部分應(yīng)包括測(cè)試用例ID、測(cè)試用例執(zhí)行腳本的目錄位置及測(cè)試用例功能描述信息等。測(cè)試數(shù)據(jù)文件中包含的內(nèi)容有測(cè)試用例測(cè)試邏輯、關(guān)鍵字及測(cè)試數(shù)據(jù)等。在測(cè)試的執(zhí)行過程中,測(cè)試工具會(huì)依據(jù)不同的測(cè)試場(chǎng)景從中取得所需要的數(shù)據(jù),用以替代測(cè)試驅(qū)動(dòng)和執(zhí)行腳本中的變量。

        2.3.3 日志系統(tǒng)設(shè)計(jì)

        日志系統(tǒng)也是測(cè)試工具的設(shè)計(jì)中非常重要的一個(gè)模塊。測(cè)試工具的日志系統(tǒng)包括3部分,分別是單個(gè)測(cè)試用例的測(cè)試日志,測(cè)試用例組的測(cè)試報(bào)告及整個(gè)測(cè)試過程的測(cè)試報(bào)告。從日志系統(tǒng)產(chǎn)生的日志類型來劃分,日志由2部分組成:一部分是輸出到測(cè)試機(jī)器屏幕上的日志,用戶使用輸出到測(cè)試機(jī)器屏幕上的日志可以很方便的跟蹤測(cè)試過程;另一部分是以文件的形式保存起來的日志。后一種類型的日志保存在一個(gè)文件夾內(nèi),該文件夾是測(cè)試日志的頂級(jí)目錄,文件夾內(nèi)的測(cè)試日志又以不同分類的測(cè)試用例而歸類保存。日志系統(tǒng)目錄結(jié)構(gòu)圖如圖2所示。

        圖2 日志目錄結(jié)構(gòu)圖

        2.4 測(cè)試用例模板方案

        被測(cè)軟件測(cè)試點(diǎn)依據(jù)功能的復(fù)雜程度來劃分,一般情況下可以劃分為2大類:復(fù)雜功能測(cè)試點(diǎn)和簡單功能測(cè)試點(diǎn)。針對(duì)這兩種不同類型的測(cè)試點(diǎn),可以采用兩種不同的設(shè)計(jì)方案。即結(jié)構(gòu)化單腳本測(cè)試模板方案和關(guān)鍵字驅(qū)動(dòng)技術(shù)方案[7]。

        2.4.1 結(jié)構(gòu)化單腳本模板方案

        結(jié)構(gòu)化腳本模板方案主要是針對(duì)復(fù)雜的功能測(cè)試點(diǎn)而設(shè)計(jì)的。被測(cè)軟件的測(cè)試用例被劃分成了很多測(cè)試組,每一組測(cè)試用例在功能上基本接近,組內(nèi)不同測(cè)試用例有可能只是所用的參數(shù)不同。那么這類測(cè)試用例就可以使用結(jié)構(gòu)化單腳本模板方案。該方案的實(shí)施方法是:首先為測(cè)試用例開發(fā)一個(gè)模板腳本,組內(nèi)其他測(cè)試用例腳本負(fù)責(zé)向模板腳本傳遞參數(shù)。

        2.4.2 關(guān)鍵字驅(qū)動(dòng)技術(shù)方案

        關(guān)鍵字驅(qū)動(dòng)技術(shù)方案主要是針對(duì)功能比較單一的測(cè)試點(diǎn)而設(shè)計(jì)的。該方案的實(shí)施方法是:首先在配置文件目錄中新建一個(gè)數(shù)據(jù)文件,數(shù)據(jù)文件中存儲(chǔ)的是各測(cè)試用例的配置信息,具體包括測(cè)試邏輯的定義、測(cè)試所需的數(shù)據(jù)及定義好的關(guān)鍵字。由于該方案主要針對(duì)于單一測(cè)試點(diǎn),所以測(cè)試邏輯可以分為4大部分,邏輯結(jié)構(gòu)可用以下結(jié)構(gòu)來表示:

        其中,Begin和End是測(cè)試工具保留字,用來定義每個(gè)測(cè)試用例的開始和結(jié)束,緊接著它們的是測(cè)試用例的測(cè)試序列號(hào),該測(cè)試序列號(hào)在整個(gè)測(cè)試工具中是唯一的。preAction用來定義測(cè)試用例執(zhí)行之前的一系列初始化操作,比如測(cè)試時(shí)所需要?jiǎng)?chuàng)建的文件、配置所需配置信息等。testAction是真正的測(cè)試用例執(zhí)行步驟,測(cè)試用例在測(cè)試中所需完成的測(cè)試動(dòng)作都需要在這一項(xiàng)定義。resultCheck是用來檢測(cè)測(cè)試用例執(zhí)行結(jié)果的,判斷測(cè)試用例是否通過測(cè)試。postAction負(fù)責(zé)一系列的收尾工作,比如刪除測(cè)試過程中產(chǎn)生的臨時(shí)文件、殺死進(jìn)程等工作。

        配置信息中的關(guān)鍵字是根據(jù)被測(cè)試用例的特點(diǎn)而設(shè)計(jì)的,比如需要運(yùn)行命令,可以設(shè)計(jì)一個(gè)關(guān)鍵字gRuncmd,需要?jiǎng)?chuàng)建文件可以設(shè)計(jì)一個(gè)關(guān)鍵字gCheckfile,關(guān)鍵字的解釋需要專門的函數(shù)庫來支撐。

        2.5 測(cè)試工具的測(cè)試流程

        測(cè)試工具的測(cè)試流程如下:

        1)向CVS服務(wù)器發(fā)送更新代碼請(qǐng)求,獲取最新的測(cè)試工具代碼。

        2)啟動(dòng)測(cè)試引擎,并解析配置信息文件。

        3)根據(jù)測(cè)試配置信息中的配置信息,確定啟動(dòng)相應(yīng)的測(cè)試方案。如果是為測(cè)試點(diǎn)編輯了單獨(dú)的測(cè)試腳本,那么根據(jù)配置信息中提供的腳本路徑尋找腳本;如果測(cè)試點(diǎn)選用關(guān)鍵字驅(qū)動(dòng)技術(shù)方案進(jìn)行測(cè)試,那么調(diào)用測(cè)試數(shù)據(jù)文件并解析之,驅(qū)動(dòng)數(shù)據(jù)文件中的關(guān)鍵字執(zhí)行測(cè)試。

        4)自動(dòng)判斷測(cè)試成功與否,并將結(jié)果實(shí)時(shí)返回。

        5)在執(zhí)行各個(gè)測(cè)試用例的同時(shí)啟動(dòng)日志產(chǎn)生程序,將每個(gè)測(cè)試用例的測(cè)試日志按組保存在測(cè)試報(bào)告文件夾中。

        3 結(jié)束語

        測(cè)試工具主要使用B-shell語言實(shí)現(xiàn),可以使測(cè)試軟件部署在不同的操作系統(tǒng)中;測(cè)試工具使用測(cè)試引擎自動(dòng)調(diào)動(dòng)測(cè)試用例及配置測(cè)試環(huán)境,提高了測(cè)試效率;根據(jù)測(cè)試軟件功能塊的不同特點(diǎn),設(shè)計(jì)了2種不同的測(cè)試方案,增強(qiáng)了測(cè)試軟件的靈活性。該測(cè)試方案在platform公司Job scheduler產(chǎn)品上完成了實(shí)施,取得了預(yù)期的效果。但該方案也有一定的缺陷。由于該工具主要使用B-shell語言實(shí)現(xiàn)測(cè)試腳本,速度比較慢。所以如果測(cè)試軟件測(cè)試用例比較多的話,建議使用其他語言來實(shí)現(xiàn)測(cè)試引擎及測(cè)試腳本,比如Perl或Java。

        [1]Cen Kaner,Jack Falk,Hung Quoc Nguyen.計(jì)算機(jī)軟件測(cè)試技術(shù)[M].王峰,陳杰,喻琳,譯.北京:機(jī)械工業(yè)出版社,1992:19-46.

        [2]陳雷.基于軟件功能的自動(dòng)化回歸測(cè)試技術(shù)的研究與應(yīng)用[D].西安:西北工業(yè)大學(xué),2005.

        [3]商宇.基于STAF的自動(dòng)化測(cè)試工具的研究和設(shè)計(jì)[J].云南大學(xué)學(xué)報(bào),2009,18(3):279-282.

        [4]朱菊,王志堅(jiān),楊雪.基于數(shù)據(jù)驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試框架[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(5):69-70.

        [5]徐振良,樊濱溫,王志鵬.關(guān)鍵字驅(qū)動(dòng)技術(shù)在SAFS中的研究[J].微計(jì)算機(jī)信息,2006,22(15):80-83.

        [6]王鐵江,酈萌.基于關(guān)鍵字驅(qū)動(dòng)腳本的安全軟件自動(dòng)測(cè)試系統(tǒng)[J].同濟(jì)大學(xué)學(xué)報(bào),2002,30(6):720-722.

        [7]王蕾.基于數(shù)據(jù)驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試框架系統(tǒng)的研究與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2009,8(6):32-33.

        猜你喜歡
        測(cè)試軟件測(cè)試工具關(guān)鍵字
        邊緣智力兒童及其智力測(cè)試工具的研究進(jìn)展
        履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個(gè)關(guān)鍵字,盤點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
        網(wǎng)絡(luò)自適應(yīng)測(cè)試軟件運(yùn)行方法設(shè)計(jì)
        成功避開“關(guān)鍵字”
        Http并發(fā)連接測(cè)試工具
        自動(dòng)化檢測(cè)EPU10A板卡系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        福祿克推出先進(jìn)的連接式測(cè)試工具系統(tǒng)
        遠(yuǎn)程開放教育學(xué)生自主學(xué)習(xí)能力評(píng)價(jià)的研究
        一款重型包裝抗壓系統(tǒng)控制軟件的設(shè)計(jì)與開發(fā)
        軟件工程(2014年7期)2014-09-24 20:03:26
        基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
        东京道一本热码加勒比小泽| 无码少妇一区二区三区| 在线免费毛片| 久久精品国产亚洲精品色婷婷| 国产精品一区二区偷拍| 成在线人av免费无码高潮喷水| 国产乱妇乱子视频在播放| 精品久久杨幂国产杨幂| 亚洲熟女天堂av一区二区三区 | 无码中文字幕日韩专区| 国产午夜精品久久久久免费视 | 按摩师玩弄少妇到高潮hd| 日本免费一区二区在线视频播放| 一本久久a久久精品vr综合 | 国产精品一区2区三区| 国成成人av一区二区三区| 亚洲AV手机专区久久精品| 国产又大大紧一区二区三区| 国产精品女同久久久久电影院| 日韩成人极品在线内射3p蜜臀| 国产熟女精品一区二区三区| 97久久综合精品国产丝袜长腿| 女人张开腿让男人桶爽| 欧美与黑人午夜性猛交久久久| 亚洲AV无码成人精品区日韩密殿| 日韩精品免费在线视频一区| 久久久无码精品亚洲日韩蜜臀浪潮 | 国产精品制服一区二区| 男性av天堂一区二区| 97在线观看视频| 99精品成人片免费毛片无码| 国产在线播放免费人成视频播放 | 亚洲av网站在线免费观看| 国产免码va在线观看免费| 老少交欧美另类| 日本一区二区三区在线| 国产成人一区二区三区乱| 天美传媒一区二区| 白白色发布在线播放国产| 精品老熟女一区二区三区在线| 国产美女做爰免费视频|