无码成人A片在线观看,性欧美videofree高清变态,中文字幕有码无码av,国产无人区卡一卡二扰乱码 ,最近高清日本免费

您現(xiàn)在的位置: 通信界 >> 測試儀表 >> 技術(shù)正文  
 
基于數(shù)據(jù)驅(qū)動的自動化測試的研究方案實現(xiàn)
[ 通信界 / 維庫開發(fā)網(wǎng) / www.k-94.cn / 2010/7/21 16:13:06 ]
 

  摘要:本文介紹了基于數(shù)據(jù)驅(qū)動的自動化測試以及其實現(xiàn)方法,包括軟件是否適合自動化測試的可行性分析;開發(fā)測試前的需求分析;基于數(shù)據(jù)驅(qū)動的測試框架的實現(xiàn)以及其維護和擴充。自動化測試是一個比較新的研究領(lǐng)域,也是近來很具爭議性的研究話題,對于自動化測試引入之后的利弊,眾說紛紜。當然自動化測試也在爭議中顯現(xiàn)出了強大的生命力,其測試效率高、重用性好等優(yōu)點得到了廣泛的認同。本文中所介紹的自動化測試框架結(jié)構(gòu)在很多大型的軟件系統(tǒng)中得到了應用,取得了良好的效果。

0 引言

  隨著社會的不斷發(fā)展和信息化的不斷普及,各種軟件越來越多,在日常生活中也起著越來越重要的作用,再加上客觀系統(tǒng)的復雜性,無論經(jīng)驗多豐富的開發(fā)人員、無論采用哪種開發(fā)模型開發(fā)出來的軟件,每個階段的技術(shù)復審也不可能毫不遺漏地查出和糾正所有的錯誤,因此如何才能把新的軟件做得更穩(wěn)定、錯誤更少呢?測試!統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。

  測試是軟件能否通向市場的最后也是最重要的一關(guān)。傳統(tǒng)的測試方法是手工測試,目前大部分都是采用此方法,其特點就是簡單,但是它存在的問題非常多。手工測試可能引入人為的輸入錯誤,尤其在數(shù)據(jù)量大的情況下;另外大量重復性的手工測試可能成本較高,如果考慮軟件發(fā)生改動而需要重復手工測試的情況,這個成本還會更高;沒有辦法對組件進行隔離的測試,從而導致發(fā)現(xiàn)問題和解決問題的成本都太高。在很多項目中,測試人員的所有任務實際上都是手動處理的,而實際上有很大一部分重復性強的測試工作是可以獨立出來自動實現(xiàn)的。

  針對手工測試的缺點,自動化測試應運而生。相比手工測試,自動化測試的優(yōu)勢很多;規(guī)范測試流程,提高測試效率、測試覆蓋率等。很多人對自動化測試存在誤區(qū),把其理解為找到一種自動化測試工具,把它應用到軟件工程項目中,自動化測試工具只是被看作是一種錄制和回放的工具。事實上自動化測試遠不止這么簡單,錄制和回放僅是自動化測試中的最低級別。目前常把自動化測試分為5個級別,如圖1所示。

 

  現(xiàn)在常用的是基于數(shù)據(jù)驅(qū)動的測試,它是以數(shù)據(jù)來控制自動化測試的流程和動作的測試,其中數(shù)據(jù)是獨立于測試用例腳本的,通常以文本文件形式、Excel文件形式、XML文件等形式存在。

1 基于數(shù)據(jù)驅(qū)動自動化測試的實施

1.1 可行性分析

  基于對自動化測試優(yōu)點的分析,很多人對自動化測試存在另一個誤區(qū),認為對于所有的軟件都適合引入自動化測試,且只要引入自動化測試,就會提高測試的效率,降低測試的成本。實際上并非如此,自動化測試也需要開發(fā)和搭建測試框架,創(chuàng)建測試用例,這也就意味著成本的投入。對于一個項目周期很緊的測試項目,按測試方案進行手工測試的效率可能要比自動化測試工具錄制腳本再測試的效率好得多。那么自動化測試工具的價值在什么地方?

  對于一個一次性開發(fā)、沒有后續(xù)版本更新的軟件而言,自動化測試是毫無意義的。但是現(xiàn)在很多軟件都會不斷推出新的版本,在推出新版本的過程中,每次除了測試新加或修改過的模塊,相關(guān)聯(lián)的舊模塊同樣需要測試,才能保證產(chǎn)品的質(zhì)量,這樣就需要做大量的重復工作,自動化測試此時就可以創(chuàng)建測試中的可重用模塊,同時還可以覆蓋大部分的功能測試,這樣可以使測試人員從回歸測試中解脫出來,專注于新模塊的測試。所以可以說自動化測試的最大價值在于回歸測試。

  因此,對于一個軟件或其中某些模塊是否適合自動化測試必須要先進行可行性分析,以證明你所選的測試方法的正確性,通?蛇M行自動化測試的軟件需要滿足以下幾點:

  (1)手工測試復雜度高:

  (2)所選測試用例,實現(xiàn)自動測試的難度低;

  (3)軟件用于自動化測試的模塊界面變化相對不大;

  (4)軟件生命周期長,經(jīng)常推出新的版本;

  (5)軟件開發(fā)已基本完成,主要用于測試升級版本;

  (6)所選自動化測試框架必須對所測軟件應用界面有有效的支持,且維護管理成本較低。

  另外自動化測試前期需要投入時間和一定的成本投入,故不要一開始就期望有高的回報,其效應會在不斷完善積累中顯現(xiàn)。而且不要期待自動化測試可以發(fā)現(xiàn)每個版本中的大部分錯誤,因為自動化測試主要用于回歸測試,而且產(chǎn)品中每個新版本的大部分bug會在新模塊中出現(xiàn),所以自動化測試在于長期效應,能保證每個版本產(chǎn)品質(zhì)量的穩(wěn)定。

1.2 需求分析

  正如開發(fā)軟件需要有需求分析一樣,基于數(shù)據(jù)驅(qū)動的自動化測試本質(zhì)上也是開發(fā),所以在制定測試方案之前也需要收集測試需求,這樣才能保證自動化測試的成功。

  隨著IT技術(shù)的發(fā)展,傳統(tǒng)的開發(fā)人員兼任測試人員的模式已經(jīng)不能滿足需求,目前大多數(shù)較正規(guī)的軟件公司均已采用獨立的測試人員來對軟件進行測試,所以形成了開發(fā)人員、開發(fā)管理者、測試人員、測試管理者的模式。如圖2示。

 

  規(guī)范的測試過程需要上述人員的通力配合,因此在做自動化測試之前應該有一份規(guī)范的文檔,用來描述測試內(nèi)容、人員安排、測試流程、缺陷管理等。其中開發(fā)管理人員和測試管理人員分別作為開發(fā)團隊和測試團隊的接口,協(xié)調(diào)兩個團隊的工作,一般來說開發(fā)人員需要在每次對軟件更新后提供詳細的功能文檔,開發(fā)人員還需要提供自動化測試所需要的數(shù)據(jù)等相關(guān)資源,測試人員根據(jù)功能文檔創(chuàng)建適合做自動化的測試用例,并建立基于數(shù)據(jù)驅(qū)動的自動化測試工程。

1.3 數(shù)據(jù)驅(qū)動的自動化測試框架結(jié)構(gòu)以及實現(xiàn)

  基于數(shù)據(jù)驅(qū)動的自動化測試不是簡單的錄制回放,而且通過編程的形式來實現(xiàn)每個測試用例,其中數(shù)據(jù)文件獨立于測試用例,這樣數(shù)據(jù)的更新對整個測試工程的維護會降低到最小。因此創(chuàng)建自動化測試框架需要有一定的編程基礎(chǔ)。

  本文自動化測試中采取的是三層框架結(jié)構(gòu),如圖3所示。

 

  其中最底層為UI Driver層,主要負責定義基本的通用元素庫,如按鈕、下拉框、文本框等在每個軟件中都會出現(xiàn)的基本元素;對這些元素的基本操作以及通用操作(如等待某段時間的函數(shù)等)。這一層和測試的軟件沒有關(guān)系,因此通用性很強,既可以自己開發(fā)也可以用前人開發(fā)好的底層自動化Driver。

  第二層為代理(Agent)層,這一層是建立在被測軟件上,對被測軟件的每一界面(UI)均建立相關(guān)的類和對象,方便最上層調(diào)用,這一層需根據(jù)軟件的不斷更新而更改。

  最上層為測試用例層(TEST Cases),這一層建立在代理層上,代理層建立好之后,可以提供給測試用例層所需的界面元素,使測試用例可以通過對界面元素的操作完成自動化測試過程。這一層是測試用例的實現(xiàn)層,如果有了比較完善、結(jié)構(gòu)合理的底層以及代理層,此層實現(xiàn)起來就會非常簡單。

  其中測試數(shù)據(jù)以及軟件中元素的ID信息是存放在獨立的XML文件中,測試用例層或者代理層需要用數(shù)據(jù)時,可以通過統(tǒng)一的接口讀取。這樣的方式不僅可以使整個測試工程結(jié)果清晰,最重要的是可以降低整個測試系統(tǒng)的維護費用,這樣才能確保自動化測試的投入回報不斷提升。

1.4 自動化測試的維護和擴充

  自動化測試工程會由于軟件的不斷擴充而必須加以維護和擴充。其中維護是指由于新版本的升級導致的舊的測試用例無法通過,必須加以維護才能正常運行。而擴充則是指由于版本的不斷升級,某些功能已經(jīng)非常穩(wěn)定,適合于自動化測試,需要新添加一些測試用例來覆蓋這些功能。

  擴充和維護是一個長期的過程,其中需特別注意的是每次自動運行測試用例,必須有個詳細的結(jié)果日志來記錄測試用例的通過情況,對于運行失敗的用例,記錄失敗的原因,這樣有利于測試人員通過結(jié)果來判斷產(chǎn)品的bug。這里需要特別注意的是,有的測試用例表面上是通過了,但是實際上卻執(zhí)行失敗了,并且結(jié)果日志上記錄的是通過,如果出現(xiàn)這樣的情況,而測試人員卻毫無察覺,這就是失敗的自動化,所以對于每次自動化測試的結(jié)果,最好能夠建立起核查機制,以確保結(jié)果的可靠性。

2 總結(jié)

  自動化測試是一個比較新的研究領(lǐng)域,也是近來很具爭議性的研究話題,對于自動化測試引入之后的利弊,眾說紛紜。當然自動化測試也在爭議中顯現(xiàn)出了強大的生命力,其測試效率高、重用性好等優(yōu)點得到了廣泛的認同。本文中所介紹的自動化測試框架結(jié)構(gòu)在很多大型的軟件系統(tǒng)中得到了應用,取得了良好的效果。

 

作者:維庫開發(fā)網(wǎng) 合作媒體:維庫開發(fā)網(wǎng) 編輯:顧北

 

 

 
 熱點技術(shù)
普通技術(shù) “5G”,真的來了!牛在哪里?
普通技術(shù) 5G,是偽命題嗎?
普通技術(shù) 云視頻會議關(guān)鍵技術(shù)淺析
普通技術(shù) 運營商語音能力開放集中管理方案分析
普通技術(shù) 5G網(wǎng)絡(luò)商用需要“無憂”心
普通技術(shù) 面向5G應運而生的邊緣計算
普通技術(shù) 簡析5G時代四大關(guān)鍵趨勢
普通技術(shù) 國家網(wǎng)信辦就《數(shù)據(jù)安全管理辦法》公開征求意見
普通技術(shù) 《車聯(lián)網(wǎng)(智能網(wǎng)聯(lián)汽車)直連通信使用5905-5925MHz頻段管理規(guī)定(
普通技術(shù) 中興通訊混合云解決方案,滿足5G多元業(yè)務需求
普通技術(shù) 大規(guī)模MIMO將帶來更多無線信道,但也使無線信道易受攻擊
普通技術(shù) 蜂窩車聯(lián)網(wǎng)的標準及關(guān)鍵技術(shù)及網(wǎng)絡(luò)架構(gòu)的研究
普通技術(shù) 4G與5G融合組網(wǎng)及互操作技術(shù)研究
普通技術(shù) 5G中CU-DU架構(gòu)、設(shè)備實現(xiàn)及應用探討
普通技術(shù) 無源光網(wǎng)絡(luò)承載5G前傳信號可行性的研究概述
普通技術(shù) 面向5G中傳和回傳網(wǎng)絡(luò)承載解決方案
普通技術(shù) 數(shù)據(jù)中心布線系統(tǒng)可靠性探討
普通技術(shù) 家庭互聯(lián)網(wǎng)終端價值研究
普通技術(shù) 鎏信科技CEO劉舟:從連接層構(gòu)建IoT云生態(tài),聚焦CMP是關(guān)鍵
普通技術(shù) SCEF引入需求分析及部署應用
  版權(quán)與免責聲明: ① 凡本網(wǎng)注明“合作媒體:通信界”的所有作品,版權(quán)均屬于通信界,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。已經(jīng)本網(wǎng)授權(quán)使用作品的,應在授權(quán)范圍內(nèi)使用,并注明“來源:通信界”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責任。 ② 凡本網(wǎng)注明“合作媒體:XXX(非通信界)”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責。 ③ 如因作品內(nèi)容、版權(quán)和其它問題需要同本網(wǎng)聯(lián)系的,請在一月內(nèi)進行。
通信視界
華為余承東:Mate30總體銷量將會超過兩千萬部
趙隨意:媒體融合需積極求變
普通對話 苗圩:建設(shè)新一代信息基礎(chǔ)設(shè)施 加快制造業(yè)數(shù)字
普通對話 華為余承東:Mate30總體銷量將會超過兩千萬部
普通對話 趙隨意:媒體融合需積極求變
普通對話 韋樂平:5G給光纖、光模塊、WDM光器件帶來新機
普通對話 安筱鵬:工業(yè)互聯(lián)網(wǎng)——通向知識分工2.0之路
普通對話 庫克:蘋果不是壟斷者
普通對話 華為何剛:挑戰(zhàn)越大,成就越大
普通對話 華為董事長梁華:盡管遇到外部壓力,5G在商業(yè)
普通對話 網(wǎng)易董事局主席丁磊:中國正在引領(lǐng)全球消費趨
普通對話 李彥宏:無人乘用車時代即將到來 智能交通前景
普通對話 中國聯(lián)通研究院院長張云勇:雙輪驅(qū)動下,工業(yè)
普通對話 “段子手”楊元慶:人工智能金句頻出,他能否
普通對話 高通任命克里斯蒂安諾·阿蒙為公司總裁
普通對話 保利威視謝曉昉:深耕視頻技術(shù) 助力在線教育
普通對話 九州云副總裁李開:幫助客戶構(gòu)建自己的云平臺
通信前瞻
楊元慶:中國制造高質(zhì)量發(fā)展的未來是智能制造
對話亞信科技CTO歐陽曄博士:甘為橋梁,攜"電
普通對話 楊元慶:中國制造高質(zhì)量發(fā)展的未來是智能制造
普通對話 對話亞信科技CTO歐陽曄博士:甘為橋梁,攜"電
普通對話 對話倪光南:“中國芯”突圍要發(fā)揮綜合優(yōu)勢
普通對話 黃宇紅:5G給運營商帶來新價值
普通對話 雷軍:小米所有OLED屏幕手機均已支持息屏顯示
普通對話 馬云:我挑戰(zhàn)失敗心服口服,他們才是雙11背后
普通對話 2018年大數(shù)據(jù)產(chǎn)業(yè)發(fā)展試點示范項目名單出爐 2
普通對話 陳志剛:提速又降費,中國移動的兩面精彩
普通對話 專訪華為終端何剛:第三代nova已成為爭奪全球
普通對話 中國普天陶雄強:物聯(lián)網(wǎng)等新經(jīng)濟是最大機遇
普通對話 人人車李。航衲臧l(fā)力金融 拓展汽車后市場
普通對話 華為萬飚:三代出貴族,PC產(chǎn)品已走在正確道路
普通對話 共享退潮單車入冬 智享單車卻走向盈利
普通對話 Achronix發(fā)布新品單元塊 推動eFPGA升級
普通對話 金柚網(wǎng)COO邱燕:天吳系統(tǒng)2.0真正形成了社保管