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

測試用例自動構建和自動執行腳本的設計與實現

2020-02-03 05:47:48田傲雪
電子技術與軟件工程 2020年11期
關鍵詞:設計

田傲雪

(中國電子科技集團公司第十五研究所 北京市 100083)

隨著軟件工程新觀點的提出,使得軟件測試得到業界的重視,只有測試合格的軟件才能進行實際應用。在這一背景下,為提高軟件測試效率和水平,應當加快實現自動化測試。因此,除了要對測試用例進行自動構建之外,還應設計一款具備自動執行功能的腳本,并將它們全部融入到一個測試平臺當中,實現自動運行與集中管理。

1 測試用例自動構建原則

1.1 測試用例

測試用例(Test Case)簡稱TC,是對特定軟件產品進行測試任務的描述,具體包括如下內容:測試目標、環境、腳本以及最終形成的文檔等。TC 的主要目的是將軟件測試行為轉換成便于管理的模式,可以指導測試的實施、規劃測試數據的準備、編寫測試腳本以及評估測試結果的度量基準等。

1.2 設計原則

從本質的角度上講,TC 為文檔,它是執行實體中最小的一部分,通過TC 能夠對軟件程序進行測試,進而確定出程序的某些特性是否正常。在對TC 進行設計時,應當遵循如下基本原則:

1.2.1 正確性原則

向系統當中輸入用戶的實際數據,借此來檢驗系統是否滿足使用要求,TC 中的各個測試點,應當確保能夠覆蓋使用需求的各項功能,且不得存在異常問題。

1.2.2 全面性原則

要對全部的需求功能項進行全面覆蓋,設計出來的TC 除了能夠對測試點進行測試之外,還應充分考慮用戶的使用需要,以及關聯使用情況和非正常操作等[1]。

2 測試用例自動執行腳本的設計與實現

2.1 測試方案

為簡化設計過程,在總結前人設計經驗的基礎上,提出一種全新的測試概念模型,即數據與腳本相分離,并在該模型上,對自動化的測試框架進行設計。

2.1.1 模型介紹

對于傳統的測試腳本(Testing Script)而言,作為特定測試的指令,數據與執行邏輯為集成式,二者是以捆綁的形式被嵌入到測試系統當中。在實際應用中發現,此類測試腳本存在一定的不足之處,如靈活性差、可維護性不強等。鑒于此,提出一種全新的測試概念模型,該模型由以下三個部分組成:測試驅動器(TD)、測試用例(TC)以及測試計劃(TP)。其中TP 與實際的TS 相對應,TC 與實際的TC 相對應,TP 則與實際的TC 集相對應[2]。本文所提出模型的對應關系如圖1 所示。

從圖1 當中可以清楚的看出,一個TD 能夠被多個TC 復用,一個TC 則能被多個TP 所擁有,一個TP 能包含多個TC。

2.1.2 測試框架

以本文提出的全新測試模型為依托,對相應的框架方案進行設計,該測試框架的總體結構如圖2 所示。

圖1:測試模型的對應關系示意圖

圖2:測試框架的總體結構示意圖

在整個測試框架當中,腳本執行工具是核心部分,是測試流程的控制樞紐。其中的TC 和TP 為含相關確定參數的JSON 文件,其能夠對腳本執行工具進行驅動,從而對具體的測試任務進行執行。在這一過程當中,腳本會按照驅動參數完成加載,并對與之相應的驅動器腳本進行調用,經過測試得到具體結果。當TP 為腳本執行工具所要執行的任務類型時,可以自動生成測試報告,并以通知的方式對測試結果進行發送。

2.1.3 測試流程

依托上文設計的測試框架,并與Web 管理腳本的實際需求進行有機結合,構建測試流程,具體如下:

(1)對項目的實際測試需求進行確定,這是自動化測試流程構建的前提和基礎,當需求確定后,便可對驅動器腳本進行設計開發;

(2)當完成驅動器腳本后,可將腳本數據及驅動參數添加到腳本管理系統當中,在具體添加的過程中,系統會按照輸入的數據及參數,自動生成腳本;

(3)可在系統中對TD 進行選擇,并對驅動參數進行配置,添加TC 數據,在這一過程中,系統會自動生成描述TC 的JSON文件;

(4)以實際的測試類或任務為依據,將多個TC 組織起來,為其配置定時器參數,添加至TP 中,此時系統會自動生成描述TP的JSON 文件;

(5)在腳本管理系統中,可執行TC、TP,并對每日的計劃任務進行構建。計劃執行的過程中,系統會對腳本執行工具進行調用,按照所得的測試結果生成測試報告,如有必要可以通過郵件的形式,對所得的測試結果進行發送。

2.2 測試平臺設計

本文所提出的測試平臺由以下幾個部分組成:測試數據、腳本執行工具以及腳本管理系統。其中測試數據包括TD、TC、TP 和最終得到的測試結果(僅存于數據庫當中);腳本執行工具的主要作用是執行測試任務;腳本管理系統則是在Web 端提供相關的管理功能,系統以Python 庫的方式,對腳本執行工具進行調用,進而對測試任務進行執行,并獲得最終的測試結果[5]。

2.2.1 技術架構

本次設計開發的測試平臺采用的是當前較為流行的B/S 架構體系,瀏覽器端與服務器端的數據通信借助Http 接口來實現。其中服務器端包括以下幾個層次:

(1)控制層。在測試平臺中,控制層主要負責的是后臺接口程序的執行,通過解析瀏覽器端的統一資源定位符(URL),調用業務邏輯處理,并將所得的數據經渲染后返回。

(2)表現層。該層在測試平臺中主要負責的是將處理后的數據,經渲染之后返回給瀏覽器。

(3)邏輯層。該層主要負責業務處理,平臺自動執行腳本時,邏輯層能夠按照實際需要,對腳本執行工具進行調用,并獲得相應的測試結果。同時,該層還能對數據庫進行讀寫操作。

(4)操作層。該層主要負責對測試數據進行讀寫操作,包括兩部分數據,一部分是測試文件,另一部分是常規數據庫。

測試平臺采用分層架構體系,每個層次均有自己的職責,由此使得設計中的程序代碼耦合度大幅度降低。

2.2.2 數據庫

測試平臺的數據源為MySQL,這是一款關系型數據庫管理系統,其突出的特點是數據存取速度快、靈活性高、開放源碼、無需維護、安全可靠等,適合本次開發的系統。該數據庫采用的引擎是InnoDB,這款引擎不僅具有超高的并發處理能力,而且還有較強的數據恢復能力,數據表通過外鍵進行約束,數據的可靠性更高,完整性更好。

2.3 腳本執行工具

本次開發的測試平臺中,TC 與TP 全部都是由腳本執行工具執行驅動器腳本來完成,由此可見,該工具是整個平臺最為重要的組成部分之一,具體包括如下功能:執行TC、TP,根據所得的結果生成報告等。該工具的設計過程如下:

2.3.1 工具安裝

在測試平臺中,該工具能夠被以下兩種方式調用,一種是Python 庫,另一種是終端命令。前者為在程序中對腳本執行工具進行調用,需要Python 庫提供兩個接口,其中一個負責執行PC,另一個負責執行TP,并在請求接口后,返回測試結果對象,在該對象當中封裝了如下信息:用例集、測試所得的結果、生成的報告以及執行日志等等。因測試平臺的開發人員需要在本地環境對腳本執行工具進行調用,所以該工具應當具備終端命令方式執行測試任務的功能,從而給腳本數據的調試與維護提供便利。為簡化工具的安裝過程,可以借助Setuptools 工具,對Python 的源程序進行打包處理,利用同一個數據包在系統中完成版本的切換。

2.3.2 接口設計

在對腳本執行工具的接口進行設計的過程中,可以結合上文中提出的自動化測試方案,接口包括測試工具主程序、TC 對象、TD對象、測試套件對象、加載器、執行器以及測試通知方法等。

2.4 腳本管理系統

測試平臺的腳本管理系統包括以下幾個功能模塊:TD 管理模塊、TC 管理模塊、TP 管理模塊以及面板模塊等。

2.4.1 TD 管理模塊

該模塊具備如下功能:查看、添加、修改以及刪除等,可以功能設計方案為依托,對該模塊的表結構進行設計,據此設計接口。該模塊的控制層方法類為Driver Controller(DC),邏輯層方法類為Driver Service(DS),操作層方法類為Driver Table(DT)。其中DS 通過對DT 進行調用,來完成數據庫的讀寫操作,而Web.Py內置的application 對象能夠對系統的用戶交互進行控制,并在解析管理請求的基礎上,對DS 進行調用,經模板渲染后返回給用戶。

2.4.2 TC 管理模塊

該模塊分為兩個部分,一部分是TC 管理,另一部分是執行結果管理,前者的基本功能包括查看、添加、修改、刪除、即時執行以及停止執行;后者的主要功能為查看測試結果,該結果中包含如下信息:運行狀態、結果概況、時間以及日志等。

2.4.3 TP 管理模塊

該模塊與TC 管理模塊相類似,也是由兩個部分組成,分別為TP 管理和執行結果管理,其中TP 管理比TC 管理多出一個定時執行功能,而執行結果管理主要是以郵件的形式發送通知。

2.4.4 面板模塊

該模塊能夠對整個平臺的狀況進行顯示和管理,具備如下功能:統計、配置以及掃描等。可對測試數據及結果進行統計,由此可以如實反映出測試的覆蓋程度,并且能夠對測試工具進行配置。

2.5 實現過程

在本次設計中,需要實現的內容包括腳本執行工具以及腳本管理系統,具體的實現過程如下:

2.5.1 腳本執行工具的實現

相對配置文件進行初始化,具體包括TD 及報告模板的存放路徑、郵件服務器地址、賬號、密碼等;當初始化完畢后,應對用戶請求進行解析,以此來判斷用戶是執行TC 還是執行TP,按照解析所得的結構,對加載器進行調用,完成測試目標的加載。如果是Python 庫方式的請求,可借助測試工具直接實現,無需進行程序判斷,若是調用接口,則為執行TC;由測試加載器按測試目標對TC進行初始,封裝成套件后返回,再由執行器根據自動化單元測試框架,依據預先設定好的次序,執行TC。在執行一個TD 下的TC 時,先執行固件構建方法,隨后進行遍歷,如果出現異常,那么執行失敗,無異常則執行成功;當TC執行完成后,執行器會自動生成測試結果,經統計后返回,最終生成測試報告,以郵件的形式進行發送。

2.5.2 腳本管理系統的實現

在測試平臺的開發中,腳本管理系統采用的是Web.Py 框架(后臺),而前臺為混合結構。可以在系統的功能模塊中添加TD,先校驗TD 名稱的唯一性,如果存在,那么無法進行添加,若尚未存在,則可進行添加,此時可在TD 路徑下,對腳本文件進行添加,主要包括固件建立/銷毀的腳本文件、主程序測試的腳本文件以及JSON 文件等。當需要對TD 進行刪除時,可直接點擊界面上的刪除按鍵,完成刪除。TC 的實現與TD 基本相同在此不進行累述。

3 結論

綜上所述,軟件測試是一項較為復雜且系統的工作,為使當前軟件測試工程中存在的問題得到有效解決,自動化測試隨之成為主流發展趨勢。在這一背景下,本文設計開發了一款自動化、通用化的測試平臺,該平臺能夠對測試用例進行自動構建,還能對測試腳本進行自動執行,由此進一步提升了軟件測試效率,一些問題也隨之迎刃而解。在未來一段時期,應當加大相關方面的研究力度,對測試平臺的功能進行逐步完善,從而使其更好地為軟件工程服務。

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 亚洲男人在线天堂| 亚洲AV色香蕉一区二区| 欧美性久久久久| 一本色道久久88| 国产在线自乱拍播放| 欧美97欧美综合色伦图| 国产香蕉一区二区在线网站| 永久在线精品免费视频观看| 久久这里只有精品免费| 日韩 欧美 国产 精品 综合| 国产极品美女在线观看| 欧美综合区自拍亚洲综合天堂| 青草娱乐极品免费视频| 亚洲AV无码久久天堂| 国产精品深爱在线| 91在线日韩在线播放| 国产资源站| 992Tv视频国产精品| 免费Aⅴ片在线观看蜜芽Tⅴ| 精品免费在线视频| 国产激爽爽爽大片在线观看| 欧美成人综合视频| 一区二区三区国产| 天天爽免费视频| 夜夜操天天摸| 欧洲精品视频在线观看| a级毛片在线免费| 四虎永久在线| 国产麻豆91网在线看| 亚洲国产中文综合专区在| 国产 在线视频无码| 成人国产免费| 97久久精品人人| 中文字幕 欧美日韩| 国产成人久久777777| 婷婷综合亚洲| 亚洲人成网线在线播放va| 日韩 欧美 国产 精品 综合| 国产亚洲男人的天堂在线观看| 久久亚洲国产一区二区| 欧美日韩北条麻妃一区二区| 高h视频在线| 欧美激情福利| 麻豆精品久久久久久久99蜜桃| 亚洲午夜福利精品无码| 国产精品一区二区国产主播| 97视频精品全国免费观看| 久久永久免费人妻精品| 日本高清有码人妻| 成人看片欧美一区二区| 亚洲日韩精品欧美中文字幕| 亚洲无码视频一区二区三区 | 国产成年无码AⅤ片在线 | 亚洲成人黄色在线| 99精品视频九九精品| 欧美午夜理伦三级在线观看| 国产成人1024精品| 中文国产成人精品久久一| 无码高潮喷水在线观看| 国产精品第一区| 福利在线不卡| 亚洲自拍另类| 免费无码一区二区| JIZZ亚洲国产| 无码精品国产VA在线观看DVD| 幺女国产一级毛片| 亚洲国产欧美目韩成人综合| 亚洲欧美在线综合一区二区三区| 婷五月综合| 一级毛片免费不卡在线| 免费看美女毛片| 亚洲欧洲日韩综合| 妇女自拍偷自拍亚洲精品| 欧美一区福利| 久久精品亚洲热综合一区二区| 国产成人高精品免费视频| 国产swag在线观看| 欧美色亚洲| 国产成人综合日韩精品无码不卡| 久久国产亚洲偷自| 国产精品理论片| 99久久无色码中文字幕|