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

?

軟件自動(dòng)化測試系統(tǒng)的研究與實(shí)現(xiàn)

2015-10-14 03:21李偉中
河南科技 2015年23期
關(guān)鍵詞:軟件測試引擎狀態(tài)

李偉中

(海南師范大學(xué) 物理與電子工程學(xué)院,海南 ???570100)

軟件自動(dòng)化測試系統(tǒng)的研究與實(shí)現(xiàn)

李偉中

(海南師范大學(xué) 物理與電子工程學(xué)院,海南 ???570100)

軟件更新?lián)Q代的速度正在不斷加快,如何才能保證軟件的質(zhì)量,如今已經(jīng)成為了很多企業(yè)都十分關(guān)注的重點(diǎn)。如今,僅簡單的依靠傳統(tǒng)的手工測試,已經(jīng)無法滿足現(xiàn)代社會(huì)對于測試的需求。在這個(gè)時(shí)候自動(dòng)化測試就成為良好的解決辦法。自動(dòng)化測試降低測試的難度,縮短測試周期。

軟件自動(dòng)化測試;系統(tǒng);研究與實(shí)現(xiàn)

1 軟件測試以及自動(dòng)化測試?yán)碚?/h2>

如今,隨著時(shí)代的發(fā)展以及科技的不斷進(jìn)步,軟件程序的規(guī)模正在不斷的擴(kuò)大,因此就更需要在開發(fā)周期內(nèi)加入自動(dòng)化測試。測試的自動(dòng)化能夠減少開銷,并有效的提高產(chǎn)品的質(zhì)量。

1.1軟件測試的定義

測試這個(gè)詞匯,最早出現(xiàn)在古拉定字當(dāng)中,原本的含義是罐子、容器。但在工業(yè)活動(dòng)當(dāng)中,測試被作為產(chǎn)品質(zhì)量檢驗(yàn)的一種活動(dòng),在工業(yè)活動(dòng)中的含義為“檢驗(yàn)產(chǎn)品是否滿足需求”。在軟件測試的活動(dòng)當(dāng)中,也包含了很多十分重要的任務(wù),其中就包括發(fā)現(xiàn)錯(cuò)誤。

1.2軟件測試的原則

一般來講軟件測試的原則分為以下幾個(gè)方面:

1.2.1追溯用戶需求

軟件產(chǎn)生的目的就是為了滿足用戶的需求,而軟件測試恰恰能夠揭示軟件當(dāng)中的缺陷,證明軟件是否能夠滿足需求。

抽象性和復(fù)雜性是軟件的顯著特點(diǎn),軟件在任何時(shí)期都可能出現(xiàn)錯(cuò)誤。正因如此,在進(jìn)行軟件測試時(shí),不應(yīng)將軟件測試單純的看做只處于軟件開發(fā)階段的獨(dú)立工作,而需要在軟件開發(fā)的所有階段當(dāng)中都貫穿軟件測試。在軟件的開發(fā)以及設(shè)計(jì)階段就應(yīng)該開始測試工作,于此同時(shí),應(yīng)堅(jiān)持開發(fā)的評審與驗(yàn)證,杜絕缺陷以及隱患,提高質(zhì)量。只要對軟件進(jìn)行充足的測試,就能夠有效的提升軟件的質(zhì)量,這是測試的基本原則。

1.2.2完全測試是不可能的

要對軟件進(jìn)行完全測試,在時(shí)間和資源都有限的情況下,使得軟件變得完美,是不可能的,一個(gè)有足夠規(guī)模的程序,路徑的組合數(shù)是十分龐大的,而對每一種可能的路徑都進(jìn)行完全的測試這是不可能的。此外我們應(yīng)該認(rèn)識到,對于軟件的測試也是需要一定的成本的,尤其是到了測試的后期,發(fā)現(xiàn)錯(cuò)誤往往會(huì)付出巨大的代價(jià),因此對于軟件的測試,也需要根據(jù)對軟件可靠性的要求來進(jìn)行選擇。

1.2.3測試無法顯示潛在的缺陷

對軟件進(jìn)行測試,能夠有效的找到軟件當(dāng)中的漏洞,但與此同時(shí)我們應(yīng)該注意到,雖然能夠通過測試的方法找到漏洞,但測試出來的報(bào)告并不代表所有的錯(cuò)誤已經(jīng)全部找到,進(jìn)行進(jìn)一步的測試,很可能還會(huì)發(fā)現(xiàn)其余漏洞,測試能夠證明軟件存在錯(cuò)誤,但是測試結(jié)果并不能說明軟件沒有錯(cuò)誤。

2 測試自動(dòng)化執(zhí)行引擎的設(shè)計(jì)

2.1自動(dòng)化執(zhí)行引擎總設(shè)計(jì)

自動(dòng)化執(zhí)行引擎由User Interface、Execution Server等模塊組成,其內(nèi)部構(gòu)架如下圖所示。

圖1 執(zhí)行引擎總體構(gòu)架

在自動(dòng)化執(zhí)行引擎當(dāng)中,User Interface提供操作界面,講用戶的請求發(fā)送給Job Controller進(jìn)行處理,并提供一個(gè)GUI界面,所有的請求都可以在GUI界面進(jìn)行完成。

Job Controller用戶的請求一般分為與控制校本運(yùn)行相關(guān)的請求以及其他操作請求,與控制腳本運(yùn)行相關(guān)的操作請求有run job、killcase等;二請他求求有查詢結(jié)果等。第一類的請求會(huì)全部都通過Job controller來進(jìn)行處理,而在Job不同的狀態(tài)下,也會(huì)有不同的處理方法,因此可以說,Job Controller是一個(gè)狀態(tài)機(jī)。除此之外,Job Controller的另一個(gè)功能是可以將job分發(fā)到不同的Execution Server來運(yùn)行。為了能夠?qū)崿F(xiàn)分布式的運(yùn)行模式,我們講Job Controller與Execution Server放在不同的服務(wù)器當(dāng)中,同時(shí)保證一個(gè)Job Controller能夠同時(shí)控制多個(gè)Execution Server。

2.2執(zhí)行引擎各功能模塊設(shè)計(jì)

2.2.1Job Job Controller

作為一個(gè)特殊的請求處理器,Job Controller能夠處理Job相關(guān)的操作請求,例如Kill job、Modify job等。由于Job在每一種狀態(tài)下的處理方法各不相同,因此對于Job Controller的設(shè)計(jì),可以采用狀態(tài)機(jī)的模式。如圖2所示。

圖2 Job Controller控制流程圖

在創(chuàng)建Job之后,用戶可以設(shè)置運(yùn)行時(shí)間,Job Controller會(huì)判斷job的運(yùn)行時(shí)間是在什么時(shí)間,如果是立即執(zhí)行,Job Controller會(huì)將job的狀態(tài)改為Running,并向Execution Server發(fā)送請求,如果是未來某時(shí)間執(zhí)行,則job的狀態(tài)則會(huì)被Job Controller改為Wait Start,在運(yùn)行結(jié)束后,Job Controller會(huì)將job的狀態(tài)改為Done。

2.2.2Execution Server

在自動(dòng)執(zhí)行引擎當(dāng)中,Execution Server的功能就是運(yùn)行job,Execution Server能夠?qū)ob組成一個(gè)Suite的隊(duì)列,然后一次執(zhí)行這些Suite,在所有的隊(duì)列都完成后,Execution Server就會(huì)通知Job Controller更改job的狀態(tài)。

Execution Server的操作請求,主要來自于Kill Job、Retry Job等中的Suite Result,Execution Server能夠?yàn)樗姓埱筇峁〩andler。

2.2.3Suite Execute Layer

Suite Execute Layer的功能,主要是運(yùn)行Suite,完成被測試對象的測試,一般來講,Suite主要由參數(shù)定義部分、初始化部分、清理部分等部分組成。參數(shù)定義部分可以定義在Case中使用的參數(shù),而初始化部分則可以進(jìn)行初始化工作,清理部分能夠?qū)ο筮M(jìn)行銷毀等工作,而Case作為Case的主體,包含Suite中所有的Case列表。

3 結(jié)語

如今,隨著時(shí)代的發(fā)展以及科技的不斷進(jìn)步,軟件的質(zhì)量問題已經(jīng)受到了全社會(huì)越來越多的重視。傳統(tǒng)的軟件開發(fā)模式應(yīng)經(jīng)難以滿足現(xiàn)代軟件開發(fā)的要求,并對該產(chǎn)業(yè)帶來了很多不好的影響,而軟件測試工作就是為了提高軟件的質(zhì)量所產(chǎn)生的,因此,軟件測試工作對于軟件的開發(fā)是十分重要的。本文由于篇幅有限提出了一個(gè)自動(dòng)化測試引擎的模型,以供同行參考,希望能夠起到借鑒的作用。

[1]金大海,宮云戰(zhàn).數(shù)據(jù)驅(qū)動(dòng)自動(dòng)化測試方法研究[J].裝甲兵工程學(xué)院學(xué)報(bào).2014(02)

[2]秦斌,陶銳.Web應(yīng)用的自動(dòng)測試方法[J].深圳大學(xué)學(xué)報(bào).2014(02)

[3]孫惠杰,楊曉紅.軟件測試的自動(dòng)化[J].哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào).2013(05)

G270.7

A

1003-5168(2015)-12-0138-2

猜你喜歡
軟件測試引擎狀態(tài)
基于OBE的軟件測試課程教學(xué)改革探索
航天軟件測試模型構(gòu)建與應(yīng)用
狀態(tài)聯(lián)想
EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
生命的另一種狀態(tài)
藍(lán)谷: “涉藍(lán)”新引擎
軟件測試工程化模型及應(yīng)用研究
堅(jiān)持是成功前的狀態(tài)
無形的引擎
基于Cocos2d引擎的PuzzleGame開發(fā)