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

基于云架構的軟件測試實驗教學平臺

2015-05-03 00:33:38李勁華賈冬雪
實驗技術與管理 2015年11期
關鍵詞:數據庫用戶實驗

李勁華,賈冬雪,趙 毅

(青島大學 信息工程學院,山東 青島 266071)

軟件測試是軟件工程學科的一個核心知識域,它是保證和控制軟件質量的有效手段。為落實我國教育的發展戰略,強化培養學生在軟件開發領域的工程實踐能力、工程設計能力和工程創新能力,必須加強軟件測試的實驗教學。目前已有一些高校在加強軟件測試的實驗教學建設,包括采用云技術搭建軟件工程試驗環境[1-3]。

青島大學與某國際著名軟件教育機構共建了軟件工程(服務外包)專業,軟件測試技術是該專業必修的專業基礎課程之一。由于該專業2015年計劃招收人數已達1 000人,解決大規模的實踐教學問題迫在眉睫,但實驗指導教師、擴展傳統的軟件測試實驗平臺、采用大規模開源在線課程的“慕課”教學方法[4]都不能很好地解決大規模的軟件測試實驗教學問題。

在線判題系統(online judge,OJ)實現了對程序代碼的自動檢查,可以應用在解決大規模程序設計的實驗教學中,例如浙江大學用于程序設計訓練的OJ。也有人嘗試運用OJ原理,實現了一個編譯程序在線評測系統[5]。

與其他軟件類實驗課程相比,軟件測試實驗有如下特點:(1)實驗者需要編寫軟件測試腳本,由平臺提供測試數據,執行測試代碼,給出實驗結果,功能同OJ;(2)實驗者根據平臺提供的軟件測試工具編寫自動化軟件測試代碼;(3)實驗者提供測試數據,平臺運行給定的待測程序,查找待測程序的錯誤,驗證程序的功能/性能,計算測試數據的覆蓋率;(4)實驗者根據平臺提供的軟件測試工具編寫測試代碼或者測試數據;平臺利用工具運行待測程序,實現壓力、容量、性能等非功能測試及其評判;(5)實驗者交互使用測試工具完成相應的軟件測試實驗。

各種開源的云計算平臺、軟件測試工具和自動化測試框架[6-8]為大規模軟件測試實驗教學提供了可行的解決方案。

1 云技術與云測試

云計算[9]是一種計算和部署模型,用戶可以隨時隨地訪問網絡上的可配置的共享資源,如計算資源、存儲空間、網絡通信、應用程序等服務。云計算具有按需自助式服務、訪問途徑多種多樣、共享資源池、可擴展性和高可靠性等特點。

云計算可以提供以下3個層次的服務:(1)底層基礎設施即服務(IaaS),是將云計算平臺所依賴的計算、存儲、網絡設備以及操作系統等基礎硬件設施以服務的形式提供給用戶,使其部署和運行自己開發的應用程序;(2)平臺即是服務(PaaS),是將應用軟件的開發和運行環境作為一種服務,允許用戶通過互聯網開發自己的業務應用,開發完成之后還可以在云平臺環境中運行和維護;(3)軟件即服務(SaaS),是利用互聯網、通過客戶端向用戶提供應用程序功能的服務,應用程序可以是軟件供應商提供的商用SaaS,也可以是企業自身定制的SaaS。

云計算的部署模式有3種:(1)私有云——部署的云資源只供某個特定的企業使用,是企業內部構建云平臺是最為常見的部署方式;(2)公有云——為所有的云端個人用戶或者組織提供服務的云平臺,通常由第三方廠商提供;(3)混合云——以上兩種云部署模式的組合模式。出于信息安全的考慮,企業不會將所有的企業數據信息放到公有云上,混合云使得企業既可以對外提供服務,又可以保障內部數據的安全性。

Eucalyptus云平臺[10](桉樹云)是用于搭建私有云和混合云的軟件,它和Amazon的 Web服務(AWS)兼容,基本上是AWS的開源實現。它運用虛擬化框架技術向用戶提供云資源來滿足用戶計算、網絡和存儲方面的需求。桉樹云可以分成3層,分別是硬件層、開發管理層和應用層,恰與云計算的3種服務模型IaaS、PaaS和SaaS相對應。

桉樹云硬件層對應的服務是IaaS,由IaaS提供商將硬件資源和虛擬化技術相結合,向用戶提供各種類型的虛擬機器;開發管理層對應的服務是PaaS,其中經過認證的管理者通過管理界面管理硬件層虛擬出的虛擬資源,開發者則在這些虛擬資源的基礎上開發出可以通用的、符合AWS標準并與AWS兼容的API以供應用層用戶使用;應用層的用戶通過用戶界面和桉樹云進行交互。

云測試是一種基于云計算技術的新型測試方案[11],它將軟件測試或者自動化軟件測試工具作為一種服務[12]提供給使用者。云測試平臺可以提供多種瀏覽器作為用戶交互的客戶端,通過網絡接收用戶編寫的測試腳本,在測試環境中運行用戶的軟件進行測試,最后,再通過網絡將測試結果傳輸給用戶。與很多軟件測試方案相比,云測試具有獨特的優點,它能有效地解決本文提到的測試方案中亟待解決的問題,特別是包括:相對便宜的價格、提供大規模服務、整合多個測試工具和測試案例等。

2 軟件測試實驗云平臺

筆者基于桉樹云設計了用于軟件測試實驗的私有云平臺的解決方案。平臺以開源的自動化軟件測試框架為基礎,整合穩定的、開源的軟件測試工具,運用軟件測試服務技術,實現軟件測試的自動化。該方案借鑒了OJ原理自動評判軟件測試實驗的結果。作為開放平臺,使用者可以為軟件測試題庫提供類似于編程題目的軟件測試題目和結果、評分標準等。同時,該方案也允許實驗教師在軟件測試工具庫中添加(開源的)軟件測試工具。為了處理大量的軟件測試教學任務,減少各類測試工具安裝部署造成的問題,實驗平臺采用了桉樹云來實現軟件測試實驗的基本活動,主要是測試實驗作業的提交、軟件測試實驗的自動執行、結果記錄和評判。有關云計算軟件測試的關鍵技術參閱文獻[13]。

2.1 技術架構

圖1給出了基于開源軟件的軟件測試云實驗平臺的邏輯結構,分為4個層次。

(1)訪問管理層。它是云測試服務的使用者和云測試服務進行交互的接口。用戶通過Web瀏覽器提交測試請求到測試云平臺。用戶請求服務時提交的信息包括測試環境(測試工具、操作系統等)需求、測試用例、測試腳本和控制文件,系統返回給用戶軟件測試結果。

(2)測試管理層。該層對用戶測試環境進行格式轉換,轉換完成后得到XML格式的統一輸出,然后將XML文件存儲到云端數據庫中。云端資源管理層讀取數據庫中的內容并根據請求生成虛擬機。該模塊要解決的主要問題是將各種格式的請求轉換成統一的XML格式,然后和云端虛擬機資源進行匹配。

(3)任務管理層。該層負責測試任務的調度、分配和測試執行的監控,包括實現測試框架和用戶間的交互、測試任務的自動安裝和運行、監控測試執行、存儲測試數據和測試結果。主要功能由一個自動化軟件自動化測試框架Autotest[8]實現。

(4)云資源管理層。主要功能是提供IaaS服務。底層框架用的是開源私有桉樹云框架Eucalyptus,用于給上層測試用例的執行提供計算資源。另外,虛擬機監控模塊和結點監控模塊幫助收集虛擬機資源和實體機資源的使用狀況。系統監測器用于監測整個云系統的運行狀態。

圖1中沒有顯示測試實驗云平臺的網絡、計算和存儲的硬件資源,它們要由桉樹云提供管理和服務。

圖1 軟件測試云實驗平臺的邏輯結構

2.2 測試工具的安裝和配置

實驗平臺提供的服務是軟件測試的自動化執行——云測試。SaaS應用軟件通常包含數據(庫)和完成業務邏輯的程序代碼。依據對代碼及數據的更改程度,把傳統的單租賃軟件測試工具(包括測試框架)改造成多租賃的軟件,即SaaS應用。主要有下列3種策略[14]。

(1)單數據庫、單代碼:在一個單一數據庫中存儲所有租賃客戶的數據,需要對數據庫中的表添加租賃客戶字段、大量改動代碼。

(2)多數據庫、單代碼:為每一個租賃客戶創建一個獨立的數據庫,只需更改為每個客戶選擇數據庫的配置文件,無需改動代碼。不足的是,一旦數據模式發生變化,就要更新每一個數據庫。

(3)多數據庫、多代碼:為每一個租賃客戶創建一個獨立的數據庫、拷貝全部代碼,無需修改代碼,客戶的數據不易混淆。顯然,一旦數據模式、數據處理發生變化,就要人工為每個客戶更新數據庫及代碼。

軟件測試云實驗平臺的一個設計原則,是盡量快速地為實驗者提供多樣的軟件測試工具,大量地更改軟件代碼或數據庫的方式都不可取。多數據庫、單代碼策略僅僅更改配置文件就可以迅速復用現有的測試軟件,因而是首選策略。

接下來的主要工作是云測試平臺的配置和編寫測試工具的調用腳本,包括按照桉樹云的結構,把軟件測試工具、自動化測試框架、數據庫、測試庫等云測試服務資源安裝配置到桉樹云不同的節點服務器,建立主從服務器的關聯關系,為待測軟件、測試工具、測試作業、測試用例及測試結果等配置不同的目錄。對每個不同的軟件測試工具都需要編寫腳本,包括處理工具的調用、測試用例的讀入、如何記錄并存儲測試結果等工作;然后確定配置參數、調用腳本的邏輯順序,并進行檢測和驗證。最后將每個測試工具的自動化執行腳本部署到桉樹云。

2.3 云測試過程

首先,用戶輸入測試環境請求和測試任務。系統按照用戶是否指定所需云計算環境來為用戶選取特定的云計算資源:如果用戶指定了特定的云計算資源,則按照用戶的指定來調用相應的功能模塊;如果用戶沒有指定,則系統依據當前用戶環境請求和云計算資源的匹配程度來替用戶選取特定的云計算資源。

然后,根據測試任務匹配和調度云測試資源(如測試代碼、測試用例、測試工具和待測程序),執行云測試并分析測試結果,最后系統返回測試判定。

云測試環境請求參數如下:

MACS——機器數量(正整數);

OS——操作系統;

CPU——CPU要求;

MEM——內存大小;

HD——硬盤大??;

Software——所需安裝的測試軟件;

DL——截止日期;

SerLevel——服務等級(由高到低劃分為5個等級);

Pri——優先級(由高到低劃分為5個等級)。

筆者設計了基于XML格式的測試環境請求參數格式及其轉換程序。平臺首先將用戶的云測試環境請求轉換為XML格式的數據,然后再由桉樹云將這些XML數據和云端現有資源進行匹配,以滿足用戶的環境請求。

3 云測試實驗模式

用戶在獨立的測試開發環境或者云平臺上完成測試任務,提交到云實驗平臺進行測試實驗。根據實驗者是否使用特定的測試工具、編寫測試腳本、提供獨立的測試用例,實驗平臺提供了7種云測試實驗模式(見表1)。

表1 云測試實驗模式

模式1:軟件測試云實驗平臺運用虛擬技術為用戶提供統一的軟件測試工具交互式使用環境。用戶像使用本地機一樣使用測試工具對給定的待測程序進行測試實驗,過程和結果存儲在云平臺上。該模式將軟件測試工具虛擬化,實現了軟件工具的軟件測試即服務(SaaS)。

模式2:實驗者對給定的待測程序編寫測試腳本進行測試實驗,測試腳本包括測試案例,輸出按照平臺要求的格式給出。平臺運行測試腳本,完成測試結果的分析與評定。該模式類似于OJ。測試腳本的編寫可以在本地機上完成、也可以在平臺上運用虛擬環境完成。該模式使用的是云平臺服務(IaaS)。

模式3:實驗者對給定待測程序的測試任務,設計測試用例,并按照平臺要求的格式提交給云測試平臺,云測試平臺啟動待測程序調用提交的測試用例,完成測試結果分析與評定。

模式4:與模式1和2類似,實驗者用指定的測試工具編寫測試腳本,平臺完成測試、結果分析與評定。測試腳本的編寫可以在本地機上完成,也可以使用平臺(簡單的PaaS模式)。但是并非所有軟件測試工具提供了腳本語言及其運行。

模式5:實驗者根據測試任務選定的測試工具,設計測試用例。平臺完成測試工具的調用,使用用戶提供的測試用例運行待測程序。與模式3的區別在于指定了測試工具,要求實驗者學習某種特定的軟件測試工具,如Web應用的性能測試工具Jmeter[7]。

模式6:與模式2類似,要求實驗者將測試腳本和測試用例分離,實現測試復用。實驗者可以不同時完成腳本編寫和測試數據設計這兩項任務,多次、反復地運用各種測試技術生成測試數據,使用同一個腳本測試同一個待測程序。該模式的實驗難度大于模式2和模式3。

模式7:綜合模式。運用了云計算的一種、兩種或三種服務模型的組合。

4 問題和今后的研究方向

軟件測試實驗云平臺對教師和學生都提出了新的挑戰。對實驗教師,除了要完成傳統測試實驗的任務,如編寫測試任務、測試案例等,還要學習云計算技術、熟悉仍在不斷改進的軟件測試實驗云平臺,不斷地擴充、編寫、優化測試資源(編寫測試數據、測試代碼、測試結果等),解決軟件測試實驗類型多樣性的需求與測試實驗任務完成規范化的矛盾。學生也要花費額外的時間去熟悉軟件測試實驗云平臺,包括有些工作不屬于實驗本身的任務,比如測試實驗的提交格式、平臺的使用以及完成實驗的方式和流程。教師與學生初期的工作量都較大。

目前,實驗教學使用的軟件測試云實驗平臺只是完成了初步搭建,提供了簡單的軟件測試類型,包括黑盒測試(類似于OJ)的測試設計、冒煙測試、簡單的壓力/性能測試、基本的Web測試,實現了部分白盒測試(如語句和路徑的覆蓋率),但尚不能提供條件、邏輯和判定等小于語句單元的白盒測試。

今后需要做的工作主要是:(1)提高軟件測試云實驗平臺的穩定性和可用性;(2)與現有的通用實驗教學平臺集成,完成軟件測試實驗周期的所有任務,包括任務布置、進度安排、題目分配、實驗評判、結果統計等;(3)把更多的軟件測試工具虛擬化并集成到軟件測試云實驗平臺上;(4)通過校企合作等形式,開發更多、更貼近實際的測試案例。

[1]王志英,蔣宗禮,楊波,等.計算機科學與技術專業實踐教學體系與規范研究[J].中國大學教育,2009(2):42-44.

[2]趙翀,高鵬.軟件測試課程工程實踐教學模式的探索與實施[J].計算機工程與科學,2014,36(增刊1):51-55.

[3]曾明星,王曉波,周清平,等.基于云計算的軟件工程專業校企合作實訓平臺構建研究[J].現代教育技術,2013,23(1):107-112.

[4]周麗濤,劉越,彭立宏,等.探索MOOC在計算機實踐教學中的應用[J].計算機工程與科學,2014,36(增刊1):118-121.

[5]尤楓,史晟輝,趙瑞蓮.編譯程序在線評測系統的實現[J].實驗室研究與探索,2010,29(12):69-72.

[6]Junit[EB/OL].http://junit.org.

[7]Apache JMeter[EB/OL].http://jmeter.apache.org.

[8]Autotest[EB/OL].http://autotest.github.io.

[9]陳康,鄭緯民.云計算:系統實例與研究現狀[J].軟件學報,2009,20(5):1337-1348.

[10]李喬,柯棟梁,王小林.云測試研究現狀綜述[J].計算機應用研究,2012,29(12):4401-4406.

[11]Eucalyptus[EB/OL].http://github.com/eucalyptus/eucalyptus/wiki.

[12]Ciortea L,Zamfir C,Bucur S,et al.Cloud9:a software testing service[J].IEEE Transactions on Operating Systems Review,2009,43(4):5-10.

[13]賈冬雪.基于云計算平臺的軟件測試關鍵技術研究[D].青島:青島大學,2013.

[14]孟小華,陳傳凱.傳統軟件向SaaS軟件轉型方案的研究[J].微型機與應用,2012,31(4):7-10.

猜你喜歡
數據庫用戶實驗
記一次有趣的實驗
做個怪怪長實驗
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 亚洲av无码专区久久蜜芽| 亚洲成在线观看| 亚洲成人黄色网址| 亚洲精品卡2卡3卡4卡5卡区| 国产9191精品免费观看| 亚洲美女视频一区| 国产一区二区三区视频| 亚洲男人的天堂久久香蕉网 | 国产爽爽视频| 国产91九色在线播放| 亚洲最大福利视频网| 欧美成人午夜视频| 成人在线观看不卡| 久久香蕉国产线| 一区二区三区毛片无码| 麻豆精品在线播放| 在线亚洲精品福利网址导航| 亚洲国产一成久久精品国产成人综合| 亚洲午夜国产精品无卡| jizz在线免费播放| 久久综合AV免费观看| 国产一区免费在线观看| 国产精选自拍| 国产精品视屏| a在线亚洲男人的天堂试看| 97se亚洲综合| 欧美三级不卡在线观看视频| 中文字幕不卡免费高清视频| 国产精品毛片一区| 色综合五月婷婷| 欧美在线中文字幕| h网址在线观看| 亚洲日本www| 71pao成人国产永久免费视频 | 免费看美女自慰的网站| 国产高颜值露脸在线观看| www中文字幕在线观看| 国产视频大全| 国产精品99在线观看| 久热re国产手机在线观看| 鲁鲁鲁爽爽爽在线视频观看| 国内丰满少妇猛烈精品播| 久久久久人妻精品一区三寸蜜桃| 人妻出轨无码中文一区二区| 98精品全国免费观看视频| 久久精品无码专区免费| 97久久超碰极品视觉盛宴| 国产在线日本| 亚洲成人动漫在线| 国产精品丝袜在线| 伊人久久大香线蕉aⅴ色| 91亚洲视频下载| 国产永久在线观看| a级毛片免费网站| 欧美一区福利| 三上悠亚在线精品二区| 精品国产成人a在线观看| 欧美全免费aaaaaa特黄在线| 精品国产网| 亚洲国产一成久久精品国产成人综合| 尤物午夜福利视频| 日韩不卡免费视频| 久久精品国产电影| 国产成人综合久久| 国产后式a一视频| 国产美女精品一区二区| 777午夜精品电影免费看| 青草精品视频| 久久天天躁狠狠躁夜夜2020一| 久久综合伊人 六十路| 九九热视频精品在线| 亚洲精品片911| 国产免费久久精品99re不卡| 91久久青青草原精品国产| 国产无码网站在线观看| 国产福利小视频在线播放观看| 色婷婷在线播放| 久久久久国产精品嫩草影院| 国产一区二区三区在线观看免费| 国产95在线 | 无码免费视频| 99re这里只有国产中文精品国产精品|