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

?

基于CTI—TET和SeleniumWebdriver的Web應(yīng)用自動(dòng)化測(cè)試框架的設(shè)計(jì)與實(shí)現(xiàn)

2016-10-25 15:45葉鵬
軟件工程 2016年8期
關(guān)鍵詞:自動(dòng)化測(cè)試開源

葉鵬

摘 要:基于Web應(yīng)用的自動(dòng)化測(cè)試隨著互聯(lián)網(wǎng)科技的高速發(fā)展已然成為了許多互聯(lián)網(wǎng)公司不可或缺的技術(shù)領(lǐng)域。但價(jià)格高昂的商業(yè)測(cè)試工具以及其繁冗復(fù)雜的使用說(shuō)明也為不少公司帶來(lái)了不小的額外成本。本文將以Solaris平臺(tái)的Analytics Webui應(yīng)用服務(wù)為例,介紹如何利用當(dāng)前互聯(lián)網(wǎng)上比較流行的開源軟件和免費(fèi)資源,開發(fā)出適合自身需求特點(diǎn)的Web應(yīng)用自動(dòng)化測(cè)試腳本。成功的Web應(yīng)用服務(wù)的自動(dòng)化測(cè)試腳本的開發(fā)不僅是測(cè)試團(tuán)隊(duì)的技術(shù)實(shí)力體現(xiàn),更是對(duì)其應(yīng)用服務(wù)產(chǎn)品本身開發(fā)的高質(zhì)量監(jiān)督和保證。

關(guān)鍵詞:CTI/TET;Selenium;測(cè)試框架;開源;自動(dòng)化測(cè)試

中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A

Abstract:With the rapid development of internet technology,the automated testing based on web application has become the indispensible technical field in numerous internet companies.However,the expensive business testing tools and complicated instructions bring much extra cost to the companies.Taking Analytics Webui Application Server on Solaris OS platform as an example,the paper introduces how to utilize the popular open-source software and free resources to develop web application automated test scripts,which can meet their specific requirements.The successful development of automation testing scripts for the web application service products is not only the reflection of testing teams technical strength, but also the high-quality supervision and quality-assurance for the development of web application service products.

Keywords:CTI/TET;selenium;testing frame;open-source;automated testing

1 引言(Introduction)

隨著信息技術(shù)的發(fā)展,互聯(lián)網(wǎng)行業(yè)日益昌盛并在不知不覺中逐漸滲透到了各個(gè)領(lǐng)域。伴隨著成千上萬(wàn)的互聯(lián)網(wǎng)應(yīng)用軟件產(chǎn)品的開發(fā)與產(chǎn)生,人們對(duì)基于Web應(yīng)用的軟件產(chǎn)品的測(cè)試需求也與日俱增。

然而,由于Web服務(wù)技術(shù)規(guī)范的復(fù)雜性,應(yīng)用部署的網(wǎng)絡(luò)分布性和在線運(yùn)行形態(tài)的多變瞬時(shí)性等特點(diǎn),傳統(tǒng)的軟件測(cè)試技術(shù)已不能完全滿足其測(cè)試工作需求。此外,Web服務(wù)提供了一種機(jī)器對(duì)機(jī)器的通訊機(jī)制,其軟件測(cè)試策略主要基于服務(wù)接口進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),與傳統(tǒng)需要大量人工干預(yù)的測(cè)試方法不同,難以通過手工測(cè)試方式完成,需采用自動(dòng)化測(cè)試方法[1]。

因此,針對(duì)Web應(yīng)用,業(yè)界涌現(xiàn)出了不少成熟且廣為應(yīng)用的自動(dòng)化測(cè)試框架,一些知名公司也針對(duì)用戶的普遍需求,開發(fā)出了不少優(yōu)秀且功能強(qiáng)大的Web自動(dòng)化測(cè)試工具軟件,比如Parasoft公司的webking,MERCURY公司的LR和QTP,IBM公司的Rational Robot等。自動(dòng)化測(cè)試不僅可以大大減少測(cè)試人員的工作量,降低工作難度,還可以避免不必要的人為疏忽與測(cè)試盲點(diǎn),加快測(cè)試速度,保證產(chǎn)品質(zhì)量和進(jìn)度,提高效益[2]。

當(dāng)然,不菲的價(jià)格以及缺少深層業(yè)務(wù)功能測(cè)試定制的靈活性也限制了這些商業(yè)化測(cè)試軟件在更多公司的普及。不少公司(甚至是一些500強(qiáng)大公司),更傾向于使用開源項(xiàng)目的測(cè)試框架和測(cè)試平臺(tái),在降低測(cè)試工具的來(lái)源成本的同時(shí)依舊能夠保持靈活的且高技術(shù)含量的測(cè)試內(nèi)容及出色的測(cè)試質(zhì)量。本文意在通過介紹Oracle公司的Solaris Core OS QE技術(shù)團(tuán)隊(duì)對(duì)某項(xiàng)Solaris Web應(yīng)用服務(wù)(Analytics Webui)的測(cè)試,來(lái)介紹一組完全基于開源項(xiàng)目的自動(dòng)化測(cè)試框架(CTI-TET+Selenium Webdriver)和Python語(yǔ)言腳本的設(shè)計(jì)及其實(shí)現(xiàn)。

2 CTI-TET概述(CTI-TET summary)

2.1 CTI 和 TET

CTI,即Common Test Infrastructure,通用測(cè)試框架;TET,即Test Environment Tookit,也叫TETware。最早可以追溯到1989年,由OpenGroup的一群崇尚免費(fèi)和自由的工程師開發(fā)并維護(hù)。后來(lái),經(jīng)過不斷改進(jìn)和整合,SUN公司于2005年開始使用基于CTI接口的TET,簡(jiǎn)稱CTI-TET,并于2007年公布于OpenSolaris社群。它的出現(xiàn),是為了取代早期的SUN公司的測(cè)試工具集Solaris Test Framework(STF)。因其豐富的接口和多語(yǔ)言支持的兼容性,在原SUN公司的Solairs和Solaris Cluster組織里廣為使用和流傳,是專門針對(duì)Unix操作系統(tǒng)核心組件和各種核心服務(wù)進(jìn)行自動(dòng)化測(cè)試的。在SUN被Oracle公司收購(gòu)以后,由于Solaris業(yè)務(wù)依舊繼續(xù)開展,使得這套測(cè)試框架和工具集得以繼續(xù)沿用和發(fā)展。如今的Oracle Solais團(tuán)隊(duì),依然在使用和維護(hù)這套測(cè)試工具集,并利用它強(qiáng)大的測(cè)試框架作為他們新項(xiàng)目的開發(fā)與測(cè)試的主流自動(dòng)化測(cè)試工具。

2.2 特點(diǎn)

如今,TETware已經(jīng)發(fā)展到了version 3.8,任何單位或個(gè)人,都可以免費(fèi)下載獲得并使用它們。當(dāng)然,不少大公司為了更好地利用這套工具,愿意投入一定的金錢購(gòu)買license以獲得更好的技術(shù)支持和功能擴(kuò)展。CTI-TET也隨著原型測(cè)試工具TETware的更新得到了升級(jí)和發(fā)展。作為一款在SUN/Oracle公司使用近10年的成熟測(cè)試工具,其在業(yè)界尤其是*unxi領(lǐng)域也享有很高的使用度。概括來(lái)說(shuō),其測(cè)試功能具備以下特點(diǎn):

(1)支持執(zhí)行腳本自定義,即可以在測(cè)試集合里定義各種非常實(shí)用的參數(shù),已期達(dá)到不同的測(cè)試執(zhí)行效果。例如:

a.非分布式測(cè)試用例的本地化測(cè)試運(yùn)行。

b.非分布式測(cè)試用例的異地化測(cè)試運(yùn)行,多節(jié)點(diǎn)(最多支持999)遠(yuǎn)端運(yùn)行。

c.分布式測(cè)試用例本地與異地同時(shí)運(yùn)行。

d.單一測(cè)試用例的隨機(jī)選取運(yùn)行。

e.以上不同測(cè)試方式的組合并行測(cè)試執(zhí)行。

f.以上不同測(cè)試方式的自定義順序測(cè)試執(zhí)行。

(2)支持分布式測(cè)試。

(3)運(yùn)行模式可以分為隨機(jī)式,重復(fù)式和并行式。

(4)本質(zhì)上來(lái)講,通過TET的簡(jiǎn)單接口,來(lái)支持更多的基于CTI Library的工具集OpenGroup在TET里包含了大量的實(shí)用的免費(fèi)測(cè)試工具,比如POSIX一致性測(cè)試集。

(5)在運(yùn)行權(quán)限上既支持超級(jí)用戶(root)也支持普通用戶。

(6)在測(cè)試結(jié)果上,CTI-TET可以自動(dòng)收集所有測(cè)試信息,包括journal日志、錯(cuò)誤日志、debug日志、系統(tǒng)日志等。并提供基于Web格式的summary報(bào)告,通過報(bào)告里的超級(jí)鏈接,測(cè)試者可以很容易的定位每一個(gè)測(cè)試用例的journal日志。

3 Selenium概述(Selenium summary)

嚴(yán)格說(shuō)來(lái),Selenium是一套完整的Web應(yīng)用程序測(cè)試系統(tǒng)。它是一種輕便的可以在多平臺(tái)操作系統(tǒng)(Windows、Linux、Macintosh)執(zhí)行的開源軟件,測(cè)試用例可以使用HTML tables或者其他多種編程語(yǔ)言來(lái)編寫,并且可以直接運(yùn)行在大部分Web瀏覽器上[3]。它包含了測(cè)試錄制(Selenium IDE)、編寫及運(yùn)行(Selenium Remote Control)和測(cè)試的并行處理(Selenium Grid)。早期的Selenium包括Selenium Remote Control(RC)和Selenium IDE,是2004年由ThoughtWorks公司的Jason Huggins用JavaScript語(yǔ)言開發(fā)的,被后人稱為Selenium 1。它可以進(jìn)行頁(yè)面的交互操作,并且可以重復(fù)地在不同瀏覽器上進(jìn)行各種測(cè)試操作。后來(lái)2006年Google公司的工程師Simon Stewart開啟了一個(gè)叫Webdriver的項(xiàng)目,可以直接讓測(cè)試工具調(diào)用瀏覽器和操作系統(tǒng)本身提供的內(nèi)置方法,以此來(lái)繞過JavaScript的沙盒限制。2008年,Selenium和新開發(fā)的Webdriver整合到了一起,正式發(fā)布為Selenium 2

(簡(jiǎn)稱Webdriver)[4]。

3.1 Selenium IDE

Selenium IDE是一種Firefox瀏覽器插件,僅限于安裝Firefox瀏覽器中,可實(shí)現(xiàn)網(wǎng)頁(yè)操作步驟的錄制和回放,使用此插件可以執(zhí)行簡(jiǎn)單的測(cè)試邏輯的自動(dòng)化測(cè)試,可將Selenium IDE插件的腳本導(dǎo)出為Java、Python、C#等語(yǔ)言格式的程序代碼,可將人為操作網(wǎng)頁(yè)的各種動(dòng)作直接轉(zhuǎn)化為自動(dòng)化測(cè)試的程序代碼,便于編寫更復(fù)雜的測(cè)試代碼。

優(yōu)點(diǎn):小巧簡(jiǎn)單,無(wú)需編程經(jīng)驗(yàn)可快速上手,可以使用列表方式選擇操作命令。

缺點(diǎn):錄制腳本轉(zhuǎn)化為其他語(yǔ)言腳本有可能出現(xiàn)一些錯(cuò)誤,還需要自動(dòng)化測(cè)試工程師做相應(yīng)的調(diào)試和修改。學(xué)習(xí)此插件需要熟悉HTML、JavaScript和DOM相關(guān)。

3.2 Webdriver

(1)實(shí)現(xiàn)原理

Webdirver與Selenium 1的JavaScript注入實(shí)現(xiàn)不同,它直接利用瀏覽器的內(nèi)部接口來(lái)操作瀏覽器。對(duì)于不同平臺(tái)中的不同瀏覽器,必須依賴瀏覽器內(nèi)部的Native Componet(原生組件)來(lái)實(shí)現(xiàn)吧WebDriverAPI調(diào)用轉(zhuǎn)化為瀏覽器內(nèi)部接口的調(diào)用。它使用的是系統(tǒng)內(nèi)部接口或函數(shù),首先要找到這個(gè)元素的坐標(biāo)位置,并在這個(gè)坐標(biāo)點(diǎn)觸發(fā)一個(gè)鼠標(biāo)左鍵的單擊操作。因此,它可以更好的模擬真實(shí)的環(huán)境,僅能測(cè)試那些可見的頁(yè)面元素[4]。

(2)WebDriver的優(yōu)點(diǎn)[2]:

a.必須操作真實(shí)的瀏覽器,但Webdriver可以使用HtmlUnit進(jìn)行測(cè)試,在不打開瀏覽器的情況下進(jìn)行快速測(cè)試。

b.基于瀏覽器的內(nèi)部接口實(shí)現(xiàn)自動(dòng)化測(cè)試,可以更接近用戶的真實(shí)情況。

c.提供了更簡(jiǎn)潔的面向?qū)ο驛PI,提高了測(cè)試腳本的編寫效率。

d.使用過程中無(wú)需啟動(dòng)Selenium Server。

e.相比較于Selenium 1,可以調(diào)用本機(jī)的鍵盤和鼠標(biāo)事件。

(3)WebDriver+面向?qū)ο笳Z(yǔ)言

WebDriver使Selenium用戶在完成自動(dòng)化測(cè)試任務(wù)中明顯體會(huì)到強(qiáng)大的技術(shù)優(yōu)勢(shì)。這主要?dú)w功于它對(duì)面向?qū)ο笳Z(yǔ)言的支持,比如對(duì)Java、Python語(yǔ)言的支持。編寫代碼簡(jiǎn)單、易懂,相比較用QTP錄制腳本,Selenium/Webdriver腳本更易于維護(hù),真?zhèn)€測(cè)試框架可以用面向?qū)ο笏枷脒M(jìn)行設(shè)計(jì),框架復(fù)用性高,不足之處就是它對(duì)測(cè)試步驟中的驗(yàn)證支持度不夠,需要用戶自己開發(fā)額外的功能代碼來(lái)實(shí)現(xiàn)[2]。

4 測(cè)試需求與分析(Testing requirement and analysis)

(1)測(cè)試目標(biāo)

關(guān)于軟件測(cè)試目標(biāo),人們?cè)陂L(zhǎng)期的實(shí)踐中逐漸有了統(tǒng)一的認(rèn)識(shí),既首要目標(biāo)是預(yù)防錯(cuò)誤,如果能實(shí)現(xiàn)這一目標(biāo),那么就不需要修正錯(cuò)誤和重新測(cè)試[3]。

(2)Web服務(wù)與應(yīng)用測(cè)試

Web服務(wù)(Web service)是針對(duì)因特網(wǎng)上分布計(jì)算提出的一種基于開放標(biāo)準(zhǔn)、松散耦合及跨平臺(tái)的新型軟件構(gòu)件,已廣泛應(yīng)用于通信、金融、地理信息、電子政務(wù)、手持設(shè)備等領(lǐng)域,成為當(dāng)前和未來(lái)網(wǎng)絡(luò)分布式應(yīng)用的主流軟件開發(fā)工具[1]。

Web應(yīng)用具備內(nèi)容驅(qū)動(dòng),易于導(dǎo)航,平臺(tái)無(wú)關(guān)性、分布式、動(dòng)態(tài)性、交互性、美觀性、既時(shí)性、持續(xù)演化性和安全性等特點(diǎn),這就決定了針對(duì)Web應(yīng)用的測(cè)試相比于桌面應(yīng)用軟件或系統(tǒng)服務(wù)/中間件軟件來(lái)說(shuō)有其自身特有的測(cè)試原則和基準(zhǔn)。在設(shè)計(jì)測(cè)試內(nèi)容的時(shí)候,根據(jù)特點(diǎn)可劃分為:系統(tǒng)性能測(cè)試、瀏覽器兼容性測(cè)試、Web系統(tǒng)安全性測(cè)試,以及Web易用性測(cè)試[6]。

(3)Solaris Analytics Web應(yīng)用測(cè)試

Oracle Solaris Analytics是一個(gè)隸屬于甲骨文公司即將于2017年發(fā)布的新的Oracle Solaris12原生態(tài)核心服務(wù)的系統(tǒng)檢測(cè)和診斷工具。它是通過調(diào)用Oracle Solaris Analytics Statistics Store的接口,通過網(wǎng)頁(yè)將系統(tǒng)性能檢測(cè)和診斷的數(shù)據(jù)以圖表的形式展現(xiàn)出來(lái)。即使是不具備資深Solaris技術(shù)背景的工程師,也可以輕松對(duì)系統(tǒng)的性能和故障進(jìn)行診斷和分析。所以從結(jié)構(gòu)上概括地說(shuō),它分為兩個(gè)部分,后臺(tái)部分就是Soracle Solaris Analytics Statistics Stroe(簡(jiǎn)稱Sstore),它為調(diào)用者提供數(shù)據(jù)源接口;前臺(tái)就是Oracle Solaris Analytics BUI(簡(jiǎn)稱Webui),即通過對(duì)接口的調(diào)用,對(duì)操作系統(tǒng)的數(shù)據(jù)源以圖表(Chart)的形式在Web頁(yè)面里動(dòng)態(tài)顯示。關(guān)于接口的測(cè)試雖然也屬于Web應(yīng)用測(cè)試的一個(gè)范疇,但不在本文的介紹范圍之內(nèi)。本文著重介紹基于瀏覽器交互操作的測(cè)試,即analytics BUI方面的測(cè)試。

該測(cè)試實(shí)際上是基于事物流的一種功能測(cè)試技術(shù)。事物由一系列操作組成,可用一個(gè)事物流表達(dá)之。事物流中的某些操作可能有系統(tǒng)執(zhí)行,某些操作可能由用戶或系統(tǒng)之外的設(shè)備執(zhí)行,它們共同協(xié)作,完成用戶的一項(xiàng)工作。可見,一個(gè)事物流是系統(tǒng)行為的一種表示方法,為功能測(cè)試建立了程序的動(dòng)作模式[5]。

5 測(cè)試運(yùn)行機(jī)理與基本流程(Mechanism for testing

execution and elementary procedure)

5.1 自動(dòng)化測(cè)試

軟件自動(dòng)化測(cè)試就是使用自動(dòng)化測(cè)試工具來(lái)代替手工進(jìn)行一系列測(cè)試動(dòng)作,以及驗(yàn)證軟件是否滿足需求,包括測(cè)試活動(dòng)的管理和實(shí)施。自動(dòng)化測(cè)試主要是通過所開發(fā)的軟件測(cè)試工具,腳本等來(lái)實(shí)現(xiàn),其目的是減輕手工測(cè)試的工作量,已期達(dá)到節(jié)約資源(包括人力、物力等),保證軟件質(zhì)量,縮短測(cè)試周期,提高測(cè)試效率的目的[4]。自動(dòng)化測(cè)試的優(yōu)點(diǎn):

a.程序的回歸測(cè)試更方便。

b.可以運(yùn)行更多更繁瑣的測(cè)試。

c.執(zhí)行手工測(cè)試很難或不可能進(jìn)行的測(cè)試。

d.充分利用資源。

e.測(cè)試具有一致性和可重復(fù)性。

f.讓產(chǎn)品更快面向市場(chǎng)。

g.增加軟件信任度。

5.2 CTI-TET/Webui-core

既然自動(dòng)化測(cè)試具備那么多的優(yōu)點(diǎn),如何部署和開發(fā)一個(gè)針對(duì)本W(wǎng)eb應(yīng)用的自動(dòng)化測(cè)試腳本使其可以代替人工測(cè)試來(lái)高效的完成回歸測(cè)試任務(wù),便成為了工程師們需要花精力去研究的工作。經(jīng)過一段時(shí)間的探討和研究,工程師們終于完成了基于甲骨文公司內(nèi)部已有的測(cè)試框架的自動(dòng)化腳本的設(shè)計(jì)與開發(fā)。這組測(cè)試腳本的Suite目前命名為webui-core。

如圖1所示,測(cè)試需要兩臺(tái)裝有Solaris操作系統(tǒng)的機(jī)器。一臺(tái)為測(cè)試機(jī),負(fù)責(zé)運(yùn)行基于CTI-TET測(cè)試框架的TEST SUITE(webui-core);另一臺(tái)為目標(biāo)被測(cè)試機(jī),裝有Analytics Webui服務(wù)和Analytics Sstore服務(wù),Webui需要根據(jù)訪問請(qǐng)求隨時(shí)調(diào)用Sstore API以獲得能動(dòng)態(tài)匯報(bào)本機(jī)系統(tǒng)性能及狀態(tài)的源數(shù)據(jù)。

測(cè)試機(jī)通過運(yùn)行SUITE測(cè)試腳本,向遠(yuǎn)端的被測(cè)試主機(jī)的Analytics Webui發(fā)送Secure HTTP訪問請(qǐng)求,通過登錄驗(yàn)證建立session后,就可以進(jìn)行一組測(cè)試了,比如點(diǎn)選按鈕、創(chuàng)建/刪除圖表、暫停/啟動(dòng)動(dòng)態(tài)曲線圖頁(yè)面等。在完成一組測(cè)試內(nèi)容之后,通過點(diǎn)選logout按鈕正常退出來(lái)終止session。

在測(cè)試運(yùn)行過程中,SUITE測(cè)試機(jī)會(huì)經(jīng)常以無(wú)密碼SSH通道方式在后臺(tái)訪問被測(cè)試主機(jī)終端,進(jìn)行一系列必要的后臺(tái)操作工作,比如清理webui json配置文件、重啟服務(wù)、通過CLI指令調(diào)用Sstore以獲得進(jìn)行測(cè)試結(jié)果校驗(yàn)比對(duì)的源數(shù)據(jù)等。

6 測(cè)試腳本設(shè)計(jì)與實(shí)現(xiàn)(Design and implementation

for testing script)

6.1 測(cè)試功能模塊

基于Web頁(yè)面的測(cè)試,要想達(dá)到Solaris軟件合格的工業(yè)級(jí)質(zhì)量檢測(cè)和保證,需要對(duì)Analytics Webui應(yīng)用有比較深入的理解。因此,在設(shè)計(jì)測(cè)試用例的時(shí)候,就需要針對(duì)其功能和業(yè)務(wù)內(nèi)容,通過參閱該軟件設(shè)計(jì)和文檔說(shuō)明,進(jìn)行詳實(shí)的測(cè)試需求分析。為了便于測(cè)試者快速理解設(shè)計(jì)思路,以及將來(lái)測(cè)試腳本的實(shí)現(xiàn),我們將被測(cè)業(yè)務(wù)以模塊的形式進(jìn)行分類,每個(gè)模塊可以理解為包含一組相同事物流的測(cè)試用例。如圖2所示,我們將被測(cè)業(yè)務(wù)按功能劃分為八大模塊。

6.2 設(shè)計(jì)與實(shí)現(xiàn)

在完成被測(cè)模塊的劃分以后,接下來(lái)就可以考慮具體的軟件設(shè)計(jì)和實(shí)現(xiàn)了。CTI-TET這套測(cè)試體系,支持多種編程語(yǔ)言的實(shí)現(xiàn),例如C、Java、Perl、Ksh、Python等。在綜合考慮開發(fā)成本、可擴(kuò)展性、可維護(hù)性后,我們決定采用Python語(yǔ)言作為主要的腳本實(shí)現(xiàn)語(yǔ)言。Python之所以能夠在時(shí)下成為比較流行的廣受大家歡迎的語(yǔ)言,與其語(yǔ)法簡(jiǎn)明,易學(xué)易用,以及對(duì)OO(面向?qū)ο螅┰O(shè)計(jì)很好支持有很大的關(guān)系。通過對(duì)testcase類的設(shè)計(jì),我們可以很容易的實(shí)現(xiàn)類繼承以及方法的復(fù)用,加上Selenium的WebDriver為Python也提供了非常豐富強(qiáng)大的API接口,在腳本設(shè)計(jì)與實(shí)現(xiàn)上還是相對(duì)比較容易的。如圖3所示,通過對(duì)某一事物模塊的測(cè)試運(yùn)行的順序圖示例,我們可以對(duì)它的測(cè)試腳本的設(shè)計(jì)特點(diǎn)及運(yùn)行過程窺見一斑。

順序圖[3]是基于UML的用于建立面向?qū)ο蠓治龅妮o助模型,它是二維的,其中,垂直方向表示運(yùn)行時(shí)間,水平方向代表不同的對(duì)象或參與者。在這個(gè)順序圖里,對(duì)象分別指run_test、tc_module、tp_case_01、tp_case_02。由于是單進(jìn)程運(yùn)行,所以我們可以看到這四個(gè)運(yùn)行對(duì)象在時(shí)間上彼此銜接,但是不存在運(yùn)行重疊(即不存在多線程/進(jìn)程并行執(zhí)行的情況)。

當(dāng)然,圖3介紹的只是suite中的通用運(yùn)行環(huán)節(jié),要完全實(shí)現(xiàn)測(cè)試的腳本自動(dòng)化,還需要在并行測(cè)試、configuration/unconfiguation、x86/i386平臺(tái)劃分、3rdtools需求規(guī)劃等方面進(jìn)行考慮。此外,如何合理利用CTI的日志報(bào)告的接口函數(shù)cti_report(),以及python自帶的logging module來(lái)定義測(cè)試結(jié)果報(bào)告格式,以及在后期如何設(shè)計(jì)DEBUG接口以期高效快速的進(jìn)行故障分析和維護(hù),都需要進(jìn)行合理的規(guī)劃與設(shè)計(jì)。

7 結(jié)論(Conclusion)

自動(dòng)化測(cè)試跟早期的傳統(tǒng)的軟件手工化測(cè)試在測(cè)試?yán)砟詈蜏y(cè)試方式上都有很大的不同。雖然它由于缺少測(cè)試靈活性而無(wú)法完全替代后者,并且也很不適合在產(chǎn)品開發(fā)初期就被過早地使用,但在需要大量重復(fù)性工作的回歸測(cè)試需求中,以及一些無(wú)法通過手動(dòng)操作來(lái)進(jìn)行的測(cè)試(比如性能測(cè)試、極限應(yīng)力測(cè)試等),它就變得非常的不可或缺和重要。綜合考慮時(shí)間成本和測(cè)試質(zhì)量,它是產(chǎn)品開發(fā)后期及產(chǎn)品更新與維護(hù)過程中的最佳測(cè)試選擇方式。

而基于Web頁(yè)面的自動(dòng)化測(cè)試由于其自身的特點(diǎn),相對(duì)于CLI(交互式命令行)測(cè)試在自動(dòng)化測(cè)試設(shè)計(jì)與實(shí)現(xiàn)上,由于涉及較廣的技術(shù)領(lǐng)域,在部署和環(huán)境搭建上也相對(duì)比較繁冗復(fù)雜,因此存在一定的技術(shù)難度(尤其是在非Windows系統(tǒng)環(huán)境下),這為很多在該領(lǐng)域進(jìn)行測(cè)試與測(cè)試腳本開發(fā)的工程師帶來(lái)了不少挑戰(zhàn),無(wú)形中也為該領(lǐng)域Web相關(guān)產(chǎn)品的開發(fā)進(jìn)度和質(zhì)量監(jiān)測(cè)帶來(lái)了一定的影響。對(duì)于一個(gè)長(zhǎng)期從事*unix系統(tǒng)服務(wù),以及中間件相關(guān)軟件測(cè)試的團(tuán)隊(duì)(Solaris Core OS QE Team),測(cè)試工程師們需要開闊技術(shù)視野和思路,不被固有的設(shè)計(jì)理念和模式禁錮,應(yīng)該學(xué)會(huì)利用已有的開源資源(CTI-TET、Python/Ksh、Selenium/Webdriver)和測(cè)試環(huán)境(Solaris OS/Desktop/Firefox),并發(fā)揮自身的硬件測(cè)試環(huán)境優(yōu)勢(shì)(強(qiáng)大的SPARC硬件性能),創(chuàng)造性的設(shè)計(jì)新的測(cè)試框架并付諸實(shí)現(xiàn)。這樣才能豐富和完善團(tuán)隊(duì)的測(cè)試領(lǐng)域和測(cè)試技術(shù)水平,同時(shí)也能夠更好的完成產(chǎn)品的質(zhì)量評(píng)估與檢測(cè),協(xié)助公司開發(fā)部門順利完成新產(chǎn)品的研發(fā)工作。

參考文獻(xiàn)(References)

[1] 馬春燕,朱怡安,陸偉.Web服務(wù)自動(dòng)化測(cè)試技術(shù)[J].計(jì)算機(jī)科學(xué),2012,2(2):162.

[2] 盧晨.基于Selenium進(jìn)行Web應(yīng)用測(cè)試研究[J].軟件導(dǎo)刊,2015,

14(1):154-155.

[3] Christof Ebert.Web Application Tests with Selenium[J].IEEE Software.September/October 2009:88.

[4] 吳曉華.Selenium WebDriver實(shí)戰(zhàn)寶典[M].北京:電子工業(yè)出版社,2015.

[5] 王立福,孫艷春,劉學(xué)洋.軟件工程(第3版)[M].北京:北京大學(xué)出版社,2009.

[6] 蘭景英,王永恒.Web應(yīng)用程序測(cè)試[M].北京:清華大學(xué)出版社,2015.

作者簡(jiǎn)介:

葉 鵬(1976-),男,碩士,高級(jí)工程師.研究領(lǐng)域:Linux分

布式集群文件系統(tǒng)測(cè)試,Solaris操作系統(tǒng)install/

analytics測(cè)試.

猜你喜歡
自動(dòng)化測(cè)試開源
校園武術(shù)“學(xué)、練、賽”一體化實(shí)踐探索
五毛錢能買多少頭牛
2019開源杰出貢獻(xiàn)獎(jiǎng)
Hadoop性能測(cè)試自動(dòng)化研究
數(shù)據(jù)驅(qū)動(dòng)和關(guān)鍵字驅(qū)動(dòng)的研究與應(yīng)用
淺談空調(diào)控制器自動(dòng)化測(cè)試
基于多總線結(jié)構(gòu)的電路板測(cè)試系統(tǒng)設(shè)計(jì)研究
航空航天與國(guó)防電子新形勢(shì)下自動(dòng)化測(cè)試系統(tǒng)的應(yīng)用
自動(dòng)化測(cè)試實(shí)現(xiàn)研究
大家說(shuō):開源、人工智能及創(chuàng)新