欢迎光临51testing软件测试网,网站有任何问题,请与我联系

专注于业务需求的自动化测试——Mercury Business Process Testing

上一篇 / 下一篇  2006-12-01 15:12:13

MercuryQuality Center 8.0时就推出Business Process Testing,到现在已经进步到9.0的版本了。为什么Mercury发展出Business Process Testing呢?Business Process Testing的好处在哪?要如何使用Business Process Testing?我将在以下的文章为大家做个介紹。

 

传动自动化测试的限制

 

軟體的自動化測試在過去一段時間中有長足的進步。每個世代的產品都成功解決了某些重要的挑戰,但是同時也引進了不同的問題等待解決。

 

第一代的自動化測試大概在15年前開始,透過硬體的方式錄製鍵盤的輸入並播放,但缺少檢查點(checkpoint)的功能,而且測試腳本很難維護。

 

第二代的自動化測試則大約在10年前開始的,這時已經由硬體轉變成透過軟體錄製/播放(capture/playback)的方式產生測試腳本(scrīpt),並且也增加了檢查點的功能,可以對軟體做驗證,測試的範圍也比硬體方式的自動化方式大了許多。比較大的問題是測試腳本也是一種程式語言,所以測試人員也需要懂程式語言,換句話說就是要會寫程式。而且當軟體有變動時,測試腳本也需要同步更新,這對測試人員來說是一大挑戰,測試人員常常就是整個測試腳本再重新錄製一遍。

 

以下為Mercury WinRunner測試腳本的範例

 

 

2001年開始了第三代的自動化測試稱為「測試框架(test framework)」,主要是把測試腳本給抽象化(abstraction)(註:如Keyword-Driven Test),讓非技術人員(如系統分析師、使用者等)即使不懂測試腳本,不會寫程式的情況下,也可以使用自動化測試工具建立自動化測試個案。

 

舉個Mercury QuickTest Professional Keyword-Driven Test的測試腳本為例子,測試人員不管是錄製、編輯或是看到的測試腳本都是以「click the “OK” button」這樣的關鍵字所呈現的。

 

「測試框架」確實是增加了測試團隊的生產力,但是還是有些缺點:

n          Keyword方式建立的測試腳本還是在測試步驟的層次,當設計一個複雜的商業流程測試個案可能還是需要大量的Keyword。對測試人員而言還是需要耗費大量的時間。

n          「測試框架」對於測試人員而言,只是測試腳本長得不再像是程式原始碼,而像是在Excel中填入Keyword罷了,其實還是在寫測試腳本。

n          支援「測試框架」的自動化測試工具通常與之前的測試工具做法不同,例如不提供錄製的功能,而限制了其彈性。再者,測試人員在使用這類工具時也常常不知其所以然,在不瞭解內部的運作下,很難對Keyword做客製化。

n          「測試框架」即使已經被抽象化了,但是其層次還是停留在「步驟」的層次,尚未提升到「業務流程」的層次,迫使測試人員在建立測試腳本時,還是需要以「程式人員」的思考方式建立測試腳本,而不是以「業務人員」的角度來建立測試腳本。

n          「測試框架」的測試腳本沒有與測試文件建立關聯性,測試人員還是需要花費大量的工時在建立與維護測試文件的工作上。

 

從上面的問題,可以看出「測試框架」這樣的方式,對於具備技術背景的測試人員也許還OK,但是對沒有技術背景的測試人員如(業務人員或是使用者),還是有其使用上的困難。

 

Mercury Business Process Testing –是一種轉變而非一種新技術

 

Mercury很快地意識到這些挑戰,並非只有單單改進第三代自動化測試工具就能解決,需要的是一個全新的方式。所以從測試腳本的設計、自動化、維護以及文件化做一個全面且根本的進化,進而發展出第四代的自動化測試工具「Mercury Business Process Testing

 

相較於Keyword-Driven TestingBusiness Process Testing的抽象化層次更高,到達了「業務流程」的層次。

 

以下的例子可以看出一個有登入動作的測試個案,使用Keyword-Driven Testing的方式,至少需要4個步驟:開啟應用程式登入視窗、輸入帳號、輸入密碼、按下OK按鈕來完成登入的動作。但是以Business Process Testing的方式,登入的動作就成為一個可以接受以帳號、密碼為參數而且可以重複使用的業務流程元件。

 

 

 

Business Process Testing的優點

 

使用Business Process Testing的自動化測試主要有以下的優點:

n          透過非技術性、元件化、以業務流程層次的方式設計測試個案,讓業務人員以及一般使用者也可以參與自動化測試的工作。

n          業務元件可以被不同的測試個案所使用,加快建立自動化測試腳本的時間,並降低維護的成本。

n          建立或維護測試腳本時也會同時更新測試個案文件,大大縮短維護測試文件的時間。

 


 

如何Mercury Business Process Testing

 

Business Process Testing需要Mercury Quality CenterQuickTest Professional配合才能運作。同時測試團隊中也需要二種角色,一是熟悉QuickTest Professional測試工具的人員(Automation Engineer),負責建立並維護Application Area、物件庫(object repository)、library filesrecovery scenarios,另外也需要負責對Business Component進行除錯的工作;另一是非常熟悉業務流程的人員(Subject Matter Expert),透過Quality Center介面,設計Business Component以及Business Process Test並運用Application Area將其自動化。

 

使用Business Process Test的流程如下:

 

 

建立Business Component

 

首先建立一個名為LoginBusiness Component,並且填入相關資訊,如SummaryPre-ConditionPost-Condition,讓想要使用此Business Component的人員知道其目的、用途以及使用條件與限制。

 

 

輸入測試步驟

 

點選上方的Design Steps,開始輸入測試步驟,含Step NameDescrīptionExpected Result

 

點選New Step將其餘的測試步驟也一併輸入,最後可以看到此Busniess Component的執行步驟如下。

 

 

建立Business Process Test

 

點選Mercury Quality CenterTest Plan,建立一個名為「預定機位」的Business Process Test

 

輸入此測試個案的描述。

 

Business Component加入Business Process Test

 

Test scrīpt點選Select Component,將剛剛建立的Busniess Component依序以滑鼠拖拉到中間的區塊。此Business Process TestLoginCreate OrderUpdate OrderLogout 4Business Component所組成。

 

Business Component自動化

 

再回到Business Components將其轉成自動化測試腳本,在Design Steps點選QuickTest Keyword-Driven,將此Business Components轉成QuickTest Keyword-Driven類型的測試腳本。Business Components支援三種類型的腳本:QuickTest Keyword-DrivenQuickTest scrīptedWinRunner

 

轉成QuickTest Keyword-Driven腳本後,點選Automation就可以看到其Keyword-Driven的腳本,目前都還是ManualStep

 

選擇Application Area。這個Application Area內含測試物件(Test Object)、Keyword steps、函式庫等等。

 

Keyword-Driven步驟加入Business Component

 

直接在Keyword View上透過選取ItemOperation、輸入Value的方式建立Keyword-Driven腳本。

第一個步驟為執行Flight Reservation程式,在Item欄位就不是選取Test Object,而是選取Operation,然後在Operation欄位選擇OpenApp表示此步驟是要執行一個程式,同時在Value欄位輸入這個程式的路徑,這樣第一個步驟就完成了。

Item選取Login DiaglogTest Object,然後在Operation選取Activate,表示此步驟為開啟登入視窗,Value欄位則不需要輸入任何值。

 

選取AgentNameEditBoxOperation則是Set,表示要在Agent Name這個EditBox輸入資料,至於要輸入什麼資料就直接輸入在Value欄位中。

 

 

Value欄位輸入mercury

 

以相同的方式加入其他的步驟,完成後整個Business Component的執行腳本如下。


1

1

TAG:

引用 删除 zjgjingyi   /   2014-03-20 15:30:45
繁体字看的累死了
mr_tank的个人空间 引用 删除 mr_tank   /   2012-04-16 15:11:51
貌似这种做法是GUI自动化测试的主流了
mr_tank的个人空间 引用 删除 mr_tank   /   2012-04-16 15:11:22
5
xiongxiongyym的个人空间 引用 删除 xiongxiongyym   /   2008-09-10 11:44:05
作者似乎是台湾人
网络游侠的个人空间 引用 删除 网络游侠   /   2006-12-19 15:55:56
因为是别人写的,楼住只是转贴
老A 引用 删除 archonwang   /   2006-12-04 14:04:01
帖子很不错,推荐一读!
引用 删除 enjoytest   /   2006-12-02 12:29:58
为什么要用繁体呢,看起来很不习惯呢
 

评分:0

我来说两句

风在吹

风在吹

51Testing网站负责人,负责51testing全站.

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 55740
  • 日志数: 34
  • 图片数: 2
  • 文件数: 2
  • 书签数: 16777215
  • 建立时间: 2006-11-21
  • 更新时间: 2016-12-16

RSS订阅

Open Toolbar