• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2015-10-14 03:21:59李偉中
      河南科技 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é)改革探索
      狀態(tài)聯(lián)想
      EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      生命的另一種狀態(tài)
      關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      藍(lán)谷: “涉藍(lán)”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      軟件測試工程化模型及應(yīng)用研究
      熱圖
      家庭百事通(2016年3期)2016-03-14 08:07:17
      堅(jiān)持是成功前的狀態(tài)
      山東青年(2016年3期)2016-02-28 14:25:52
      無形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      彭水| 读书| 报价| 建湖县| 灵宝市| 辽阳市| 龙口市| 内黄县| 中阳县| 海安县| 横峰县| 社旗县| 剑川县| 车致| 西贡区| 关岭| 玛曲县| 囊谦县| 横山县| 陵水| 高邮市| 张北县| 呼图壁县| 娱乐| 雷山县| 西和县| 三门县| 定襄县| 依兰县| 黄大仙区| 远安县| 甘德县| 额敏县| 斗六市| 鄂尔多斯市| 铜川市| 龙江县| 新源县| 双桥区| 安仁县| 仙居县|