• 
    

    
    

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

      ?

      自動化軟件測試框架的分析及應用

      2021-10-25 03:13:16李丹陽郭金蔓劉鵬飛
      科技信息·學術版 2021年19期
      關鍵詞:自動化測試

      李丹陽 郭金蔓 劉鵬飛

      摘要:軟件測試工作在軟件開發(fā)的整個過程中有著很重要的位置。為了克服手工測試的一些困難,提高軟件質(zhì)量和測試效率,測試過程的自動化被廣泛地引入進來。其自動化程度高、實用性強等特點,引起了人們的廣泛重視,成為軟件測試的發(fā)展方向。自動化測試框架產(chǎn)品的出現(xiàn)表明軟件測試自動化技術正在趨于成熟。同時,以B/S架構為基礎的Web應用成為軟件開發(fā)行業(yè)的主流,Web應用前端樣式的多樣性和復雜度也給各公司帶來不小的前端測試麻煩,因此,如何根據(jù)產(chǎn)品的特點進行自動化測試,已成為各測試團隊重點需要關注的問題。本文分析了手工測試與自動化測試的優(yōu)缺點,介紹了幾個比較常見的自動化測試工具,通過對比發(fā)現(xiàn)Selenium是功能最全面,使用最廣泛的前端自動化測試工具之一,它能夠用程序控制瀏覽器,從而實現(xiàn)前端自動化測試。

      關鍵詞:自動化測試;Selenium;前端測試

      一、研究背景

      隨著IT市場競爭不斷加劇,如何提升軟件質(zhì)量、縮短軟件迭代開發(fā)周期,對軟件測試方法和工具提出了更高要求。軟件測試就是在規(guī)定的條件下對程序進行操作,最大化的發(fā)現(xiàn)程序的錯誤,并對其是否能滿足設計要求進行評估的過程。軟件測試對于保證軟件產(chǎn)品的質(zhì)量至關重要,而通過搭建良好的測試框架來實現(xiàn)自動化測試,可以降低各測試模塊之間的耦合,提高測試的效率和覆蓋率,同時也大大降低了測試的成本,更好的保證軟件質(zhì)量。軟件測試分傳統(tǒng)的手工測試和自動化測試,傳統(tǒng)手工測試存在周期較長、效率較低、回歸測試覆蓋度不高等問題,而自動化測試為解決這些問題提供了可行性途徑,因而受到了業(yè)界重視。目前業(yè)界已經(jīng)出現(xiàn)眾多自動化測試工具和框架,如何借助現(xiàn)有工具框架,構建一套適合于自身實際需求的自動化測試框架,是當前迫切需要解決的重要問題。

      二、自動化測試相關技術

      本章主要介紹了軟件測試、自動化測試的相關理論知識和一些自動化測試工具,并且比較了手工測試、自動化測試及自動化測試工具的優(yōu)缺點。

      2.1軟件測試

      軟件測試的經(jīng)典定義是:在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件質(zhì)量,并對其是否能滿足設計要求進行評估的過程[1]。

      軟件測試從是否關心軟件的內(nèi)部結構和具體實現(xiàn)的角度可劃分為:白盒測試、黑盒測試和灰盒測試;從是否執(zhí)行程序的角度可劃分為:靜態(tài)測試和動態(tài)測試;從基于測試的不同階段可劃分為:單元測試、集成測試、系統(tǒng)測試和驗收測試;從軟件的側(cè)重性可劃分為性能測試、功能測試、兼容測試、壓力測試、回歸測試和負載測試;從是否借用工具可劃分為:手工測試和自動化測試;從按測試實施組織可劃分為:α測試、β測試和第三方測試[2]。

      2.2自動化測試

      自動化測試是把以人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的過程。通常,在設計了測試用例并通過之后,由測試人員根據(jù)測試用例中描述的規(guī)程一步步執(zhí)行測試,可以得到實際結果與期望結果的比較結果。在此過程中,為了節(jié)省人力、時間或硬件資源,提高了測試效率,便引入了自動化測試的概念。自動化測試的概念有廣義與狹義之分:廣義上來講,所有借助工具來輔助進行軟件測試的方式都可以稱為自動化測試;狹義上來講,主要指基于UI層的功能自動化測試[2]。

      2.3自動化測試與手工測試

      現(xiàn)在很多人都會認為手工測試沒有技術含量并且沒有前途,覺得只有自動化測試才能體現(xiàn)出測試人員的技術水平。其實無論是手工測試還是自動化測試都是軟件質(zhì)量保障的一個途徑,至于使用哪一種測試方法不僅僅要看測試人員的能力,還要看項目規(guī)模,客戶需求以及公司能力等因素。

      自動化測試的優(yōu)點包括1. 對程序的回歸測試更加方便。2. 可以運行更多更繁瑣的測試。3. 可以執(zhí)行一些手工測試困難或不可能進行的測試。4. 更好地利用資源。5. 測試具有一致性和可重復性。6. 測試的復用性。7. 增加軟件信任度。

      自動化測試的缺點包括1. 不能取代手工測試。2. 手工測試比自動測試發(fā)現(xiàn)的缺陷更多。3. 對測試質(zhì)量的依賴性極大。4. 測試自動化不能提高有效性。5. 測試自動化可能會制約軟件開發(fā)。6. 工具本身并無想像力。

      手工測試也存在著一些缺陷,手工測試者最常做的工作就是重復的手工回歸測試,不但耗費時間,而且容易出錯。自動化測試可以減少但不能消除這種工作的工作量。盡管測試就是要花費更長的時間找到錯誤,但比不意味著因此而要付出更高的代價。所以選擇正確的測試方法是尤為重要的,自動化測試完成不了的,手工測試可以彌補。手工測試無法做到的,自動化測試卻可以,兩者有效的結合是測試質(zhì)量保證的關鍵。

      2.4自動化測試框架

      框架是整個或部分系統(tǒng)的可重用設計,表現(xiàn)為一組抽象構件及構件實例間交互的方法;另一種定義認為,框架是可被應用開發(fā)者定制的應用骨架。前者是從應用方面,而后者是從目的方面給出的定義[3]。從框架的定義可以了解,框架可以是被重用的基礎平臺;框架也可以是組織架構類的東西。其實后者更為貼切,因為框和架本來就是組織和歸類所用的。

      所以自動化測試框架的定義為:由一個或多個自動化測試基礎模塊、自動化測試管理模塊、自動化測試統(tǒng)計模塊等組成的工具集合[3]。

      目前市面上的自動化測試的工具有很多,下面是幾個比較常見的自動化測試工具。

      1. QTP

      QTP(Quick Test Professional)是一種自動化測試工具。使用QTP的目的是想用它來執(zhí)行重復的自動化測試,主要是用于回歸測試和測試同一軟件的新版本。因此你在測試前要考慮好如何對應用程序進行測試,例如要測試哪些功能、操作步驟、輸入數(shù)據(jù)和期望的輸出數(shù)據(jù)等。

      2. UFT

      UFT(Unified Functional Testing)由QTP(Quick Test Professional)與ST(Service Test)合并而來,由HP公司開發(fā)。它是一個企業(yè)級自動化測試工具,提供了強大易用的錄制回放功能,同時兼容對象識別模式與圖像識別模式兩種識別方式,支持B/S與C/S兩種架構的軟件測試,是目前主流的自動化測試工具[4]。

      3. Robot Framework

      Robot Framework是一款基于Python語言編寫的自動化測試框架,具備良好的可擴展性,支持關鍵詞驅(qū)動,可以同時測試多種類型的客戶端或接口,可以進行分布式測試[4]。

      4. LoadRunner

      LoadRunner是一種預測系統(tǒng)行為和性能的負載測試工具。通過以模擬上千萬用戶實施并發(fā)負載及實時性能監(jiān)測的方式來確認和查找問題,LoadRunner能夠?qū)φ麄€企業(yè)架構進行測試。企業(yè)使用LoadRunner能最大限度地縮短測試時間,優(yōu)化性能和加速應用系統(tǒng)的發(fā)布周期。LoadRunner可適用于各種體系架構的自動負載測試,能預測系統(tǒng)行為并評估系統(tǒng)性能。

      5. Selenium

      Selenium是一系列基于Web的自動化測試工具,支持多平臺、多瀏覽器、多語言去實現(xiàn)自動化測試。它提供了一系列測試函數(shù),用于支持Web自動化測試。這些函數(shù)非常靈活,它們能夠通過多種方式定位界面元素,并可以將預期結果與系統(tǒng)實際表現(xiàn)進行比較[5]。

      經(jīng)過對比和分析,可以發(fā)現(xiàn)Selenium是功能最全面,使用最廣泛的前端自動化測試工具之一,它能夠用程序控制瀏覽器,從而實現(xiàn)前端自動化測試。Selenium2.0版本包含著Selenium IDE和Selenium RC以及WebDriver。Selenium IDE是通過監(jiān)聽用戶對html頁面的操作來錄制腳本的,是真正能夠監(jiān)聽用戶對html頁面的操作的錄制工具。Selenium RC模式,是客戶端利用各種編程語言,通過網(wǎng)絡向Selenium Server發(fā)送指令,Selenium Server接收到測試指令后,啟動瀏覽器并向其發(fā)出JavaScript調(diào)用實現(xiàn)對Html頁面的全面追蹤,并通過網(wǎng)絡把執(zhí)行結果返回給調(diào)用者。WebDriver針對各個瀏覽器而開發(fā),取代了嵌入到Web應用中的JavaScript。與瀏覽器的緊密集成支持創(chuàng)建更高級的測試,避免了JavaScript安全模型導致的限制。

      三、總結與展望

      軟件測試是軟件工程整個生命周期中非常重要的過程之一,隨著互聯(lián)網(wǎng)和計算機技術的發(fā)展,軟件測試工作的難度逐漸增大。本文首先引入了軟件測試和自動化測試的概念,分析了手工測試與自動化測試的優(yōu)缺點,介紹了幾個比較常見的自動化測試工具。

      在自動化腳本中仍存在著許多需要改進的地方,比如腳本的優(yōu)化、數(shù)據(jù)驅(qū)動的實現(xiàn)、測試用例的自動生成,這都是接下來仍需要繼續(xù)完善的地方,并將在后續(xù)的研究過程中逐步解決,使自動化腳本能夠更加完善。相信今后隨著Web自動化測試技術的不斷發(fā)展,會有大量自動化測試框架的涌現(xiàn),自動化測試必將走向成熟化、標準化。

      參考文獻

      [1]蟲師.Selenium2自動化測試實戰(zhàn):基于Python語言[M].北京:電子工業(yè)出版社,2016.2-20.

      [2]佟偉光.軟件測試[M].北京:人民郵電出版社,2015.2-50.

      [3]趙卓.Selenium自動化測試指南[M].北京:人民郵電出版社,2013.2-24.

      [4]江慰.基于Selenium的軟件測試自動化管理系統(tǒng)的設計與實現(xiàn)[D].上海:上海師范大學,2016.

      [5]但凝云.基于Selenium的自動化測試框架的設計與實現(xiàn)[D].昆明:云南師范大學,2016.

      猜你喜歡
      自動化測試
      基于Java反射的APP自動化混合測試框架的研究與實現(xiàn)
      移動通信(2016年22期)2017-03-07 22:22:59
      Hadoop性能測試自動化研究
      軟件導刊(2016年12期)2017-01-21 14:43:14
      數(shù)據(jù)驅(qū)動和關鍵字驅(qū)動的研究與應用
      軟件(2016年4期)2017-01-20 09:56:35
      淺談空調(diào)控制器自動化測試
      東方教育(2016年7期)2017-01-17 21:28:10
      基于多總線結構的電路板測試系統(tǒng)設計研究
      價值工程(2016年32期)2016-12-20 20:32:01
      航空航天與國防電子新形勢下自動化測試系統(tǒng)的應用
      價值工程(2016年29期)2016-11-14 02:40:46
      基于CTI—TET和SeleniumWebdriver的Web應用自動化測試框架的設計與實現(xiàn)
      軟件工程(2016年8期)2016-10-25 15:45:45
      自動化測試實現(xiàn)研究
      中國市場(2016年34期)2016-10-15 04:20:40
      天線伺服自動化測試系統(tǒng)的設計與應用
      一種航空交換機中CAN總線的自動化測試方法
      金湖县| 武山县| 若尔盖县| 怀仁县| 洱源县| 四平市| 东乡族自治县| 石河子市| 皋兰县| 桂阳县| 南安市| 巫山县| 孟津县| 古浪县| 尖扎县| 杭锦后旗| 健康| 兴义市| 天台县| 吐鲁番市| 桃园县| 南汇区| 铅山县| 屏南县| 美姑县| 南澳县| 合山市| 晋宁县| 关岭| 伊宁县| 绥江县| 宁津县| 丽水市| 文安县| 新丰县| 鲁甸县| 永泰县| 汪清县| 资溪县| 冕宁县| 光山县|