新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 自動(dòng)化測(cè)試體系整體解決方案探討

自動(dòng)化測(cè)試體系整體解決方案探討

作者: 時(shí)間:2017-01-09 來(lái)源:網(wǎng)絡(luò) 收藏
自動(dòng)化測(cè)試已經(jīng)越來(lái)越深入人心,其重要性也是不言而喻的。性能測(cè)試中大規(guī)模并發(fā)的要 求,壓力測(cè)試中的大規(guī)模壓力的模擬,回歸測(cè)試中的大規(guī)模測(cè)試用例的反復(fù)執(zhí)行都要求實(shí)現(xiàn)一個(gè)高可用、高可擴(kuò)展性的自動(dòng)化測(cè)試框架體系。因此,如何在一個(gè)開(kāi)放 的框架下,構(gòu)建一個(gè)完整的自動(dòng)化測(cè)試體系是我們需要研究的方向。

  一個(gè)完整的自動(dòng)化測(cè)試框架體系包含以下幾個(gè)部分:1、自動(dòng)化測(cè)試框架;2、測(cè)試腳本以及測(cè)試數(shù)據(jù)管理;3、測(cè)試腳本的執(zhí)行管理系統(tǒng);4、測(cè)試結(jié)果的顯示與分析系統(tǒng)。其中最重要的是自動(dòng)化測(cè)試框架部分。

本文引用地址:http://butianyuan.cn/article/201701/337537.htm

  第一部分,自動(dòng)化測(cè)試框架。自動(dòng)化測(cè)試框架要解決的問(wèn)題,從本質(zhì)上來(lái)說(shuō),是實(shí)現(xiàn)分布 式資源透明化的過(guò)程。由于性能測(cè)試、壓力測(cè)試的要求,我們往往需要構(gòu)建一個(gè)分布式的測(cè)試環(huán)境,在這個(gè)分布式的測(cè)試環(huán)境中,我們需要多種測(cè)試平臺(tái)(例如:多 臺(tái)windows,多臺(tái)linux等)。自動(dòng)化測(cè)試框架的作用就在于將分布式環(huán)境中的各種資源變成相應(yīng)的服務(wù)對(duì)象。例如一臺(tái)windows機(jī)器,在自動(dòng)化 測(cè)試的框架中,我們看到的將不再是一臺(tái)windows機(jī)器,而是綁定到某一個(gè)IP地址上的一個(gè)服務(wù)對(duì)象。通過(guò)這個(gè)對(duì)象,我們可以通過(guò)一個(gè)通用的調(diào)用方法 (本地調(diào)用一個(gè)遠(yuǎn)程提供的方法,需要采用對(duì)象映射的技術(shù)),告訴這個(gè)對(duì)象,讓它做我們希望它去做的事情,例如啟動(dòng)一個(gè)指定的測(cè)試腳本(這個(gè)測(cè)試腳本可能是 我們?nèi)粘?xiě)的某一個(gè)測(cè)試用例,也可能是其他操作)。在自動(dòng)化測(cè)試框架的實(shí)現(xiàn)上,其主要是建立了一個(gè)以提供服務(wù)為主的底層的通訊網(wǎng)絡(luò)。而在服務(wù)的應(yīng)用上,我 們可以采用插件模式,以及對(duì)象映射的技術(shù),可以動(dòng)態(tài)的無(wú)限的擴(kuò)展我們的服務(wù)。根據(jù)我個(gè)人的實(shí)踐,STAF + python的開(kāi)發(fā)模式可以很好的實(shí)現(xiàn)這個(gè)框架。STAF主要構(gòu)建了一個(gè)網(wǎng)絡(luò)體系,使得各種機(jī)器資源之間可以自由的通訊。而python則可以在STAF 的基礎(chǔ)上進(jìn)行二次開(kāi)發(fā),可以構(gòu)建一個(gè)動(dòng)態(tài)插入的服務(wù)體系。

  第二部分,測(cè)試腳本及測(cè)試數(shù)據(jù)的管理。首先要選擇一種合適的自動(dòng)化腳本語(yǔ)言。一般來(lái) 說(shuō),需要考慮以下幾個(gè)方面:(1)高可讀性,(2)無(wú)需編譯,(3)可擴(kuò)展性,(4)強(qiáng)大的第三方支持,尤其是對(duì)各種數(shù)據(jù)源的支持。我們可以采用CVS或 者SVN的方式來(lái)實(shí)現(xiàn)對(duì)測(cè)試腳本和測(cè)試數(shù)據(jù)的管理。在這里,主要依靠高度組織化的目錄結(jié)構(gòu)來(lái)實(shí)現(xiàn),尤其是需要和實(shí)際測(cè)試過(guò)程中的測(cè)試套件,測(cè)試模塊以及測(cè) 試用例的組織結(jié)構(gòu)進(jìn)行匹配,分級(jí)管理。形成一個(gè)完整的測(cè)試腳本和測(cè)試用例的資源庫(kù)。對(duì)于測(cè)試腳本的編寫(xiě),有一些基本的要求:1、形成一套測(cè)試腳本的編寫(xiě)規(guī) 范;2、測(cè)試腳本采取分層設(shè)計(jì)思想,持久層(數(shù)據(jù)資源庫(kù),對(duì)象資源庫(kù),統(tǒng)一IO),邏輯層(封裝基本業(yè)務(wù)邏輯,實(shí)現(xiàn)API級(jí)調(diào)用),腳本層(實(shí)現(xiàn)測(cè)試用例 過(guò)程,主要是描述測(cè)試步驟)。通過(guò)這些,測(cè)試工程師編寫(xiě)測(cè)試腳本將會(huì)變得十分輕松,測(cè)試的效率也會(huì)有大幅度的提升,大規(guī)?;貧w,甚至是在第一輪測(cè)試就實(shí)現(xiàn) 自動(dòng)化測(cè)試也不再是夢(mèng)想。

  第三部分,測(cè)試腳本的執(zhí)行管理系統(tǒng)。大量的測(cè)試腳本編制好了以后,一個(gè)很重要的步驟 就是大批量的執(zhí)行這些測(cè)試腳本。通過(guò)CVS或者SVN的管理,我們生成了一個(gè)測(cè)試資源庫(kù),一個(gè)測(cè)試用例將是一個(gè)測(cè)試腳本。測(cè)試腳本執(zhí)行管理系統(tǒng)的目的,就 是要在用戶(hù)定制的時(shí)間去執(zhí)行用戶(hù)選定的測(cè)試用例。測(cè)試腳本執(zhí)行管理系統(tǒng)也應(yīng)該能動(dòng)態(tài)的追蹤到當(dāng)前正在運(yùn)行的任務(wù)的狀態(tài),例如執(zhí)行百分比等等;還可以實(shí)現(xiàn)多 用戶(hù)管理,例如同時(shí)執(zhí)行多個(gè)用戶(hù)提交的測(cè)試需求。同時(shí),測(cè)試腳本管理系統(tǒng)還應(yīng)該實(shí)現(xiàn)測(cè)試環(huán)境自動(dòng)部署的功能。一般來(lái)說(shuō),我們?cè)谶M(jìn)行大規(guī)模的自動(dòng)化測(cè)試之 前,需要準(zhǔn)確部署測(cè)試環(huán)境,這里就要求用最新的代碼版本來(lái)進(jìn)行測(cè)試。因此,測(cè)試環(huán)境的自動(dòng)部署也是很重要的。

  第四部分,測(cè)試結(jié)果的顯示與分析系統(tǒng)。通過(guò)統(tǒng)一的IO調(diào)用,我們可以將測(cè)試過(guò)程中產(chǎn) 生的錯(cuò)誤信息,日志信息,以及測(cè)試結(jié)果動(dòng)態(tài)的放到我們想要存放的地方。測(cè)試結(jié)果的顯示與分析系統(tǒng)正是基于這些數(shù)據(jù)進(jìn)行處理的系統(tǒng)。每一個(gè)測(cè)試用例在執(zhí)行的 過(guò)程中,需要輸出大量的日志信息,這些日志信息是非常重要的。通常,我們判斷一個(gè)測(cè)試用例執(zhí)行結(jié)束以后,是否有Bug,常常需要深入分析這些日志信息。在 測(cè)試用例執(zhí)行的過(guò)程中,不光要打印相關(guān)的測(cè)試數(shù)據(jù),實(shí)際獲取到的數(shù)據(jù),還要打印相應(yīng)的測(cè)試步驟,這樣才便于對(duì)測(cè)試結(jié)果進(jìn)行分析。至于顯示系統(tǒng),主要是對(duì)測(cè) 試結(jié)果的一個(gè)分類(lèi)檢索功能,可以生成各類(lèi)報(bào)表,例如,一個(gè)300個(gè)測(cè)試用例的模塊中有多少通過(guò)的,有多少是失敗的等等。有一個(gè)基本原則是很重要的,自動(dòng)化 測(cè)試不是為了自動(dòng)化,而是為了發(fā)現(xiàn)Bug。如果自動(dòng)化測(cè)試不能發(fā)現(xiàn)Bug,那么花費(fèi)大量的人力物力實(shí)現(xiàn)自動(dòng)化,也是沒(méi)有什么實(shí)際意義的。因此,深入收集測(cè) 試用例執(zhí)行的過(guò)程中產(chǎn)生的各種信息是非常重要的。個(gè)人的實(shí)踐經(jīng)驗(yàn)表明,這些信息對(duì)于發(fā)現(xiàn)Bug起著至關(guān)重要的作用(測(cè)試步驟的描述也不容忽視)。

  自動(dòng)化測(cè)試體系不是一個(gè)工具,一種自動(dòng)化測(cè)試腳本語(yǔ)言就可以實(shí)現(xiàn)的。它需要一個(gè)完整的解決方案才能實(shí)現(xiàn)。個(gè)人的實(shí)踐經(jīng)驗(yàn)表明,自動(dòng)化測(cè)試框架的引入、強(qiáng)大的資源整合能力和有效的自動(dòng)化測(cè)試體系的設(shè)計(jì)將是實(shí)現(xiàn)自動(dòng)化測(cè)試的十分重要的因素。



評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉