软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试工具>>Mercury>>正文
专注于业务需求的自动化测试——Mercury Business Process Testing
文章出处:blog 作者:oldsidney 发布时间:2006-11-28

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

 

传动自动化测试的限制

 

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

 

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

 

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

 

以下為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 NameDescriptionExpected Result

 

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

 

 

建立Business Process Test

 

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

 

輸入此測試個案的描述。

 

Business Component加入Business Process Test

 

Test Script點選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 ScriptedWinRunner

 

轉成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的執行腳本如下。

 

也同步更新了Business ComponentDesign Steps(可惜不是中文)。

 

連登入視窗的畫面也加進去方便要使用Busniess Component的測試人員更容易瞭解此元件的操作畫面。

 

到此這個LoginBusiness Component已經完成,而且可以被其他的Business Process Test使用了。

 

Business Component除錯

 

當完成Business Component的自動畫腳本後,通常會試著執行看看此Business Component是否可以順利執行,假如執行有任何問題則可以進行除錯,看看是不是Test Object選錯了還是Value值給錯了。

 

參數化

 

由於Business Component可以被其他的Business Process Test重複使用,所以通常也會將輸入資料設定為參數的方式來輸入。例如Login可以設定其接受帳號與密碼二個參數,而且在使用時,可以輸入多組的帳號密碼,然後當執行不同的Iteration時就會使用不同的帳號密碼作登入的動作。以下畫面在設定Login Component在此Business Process Test所使用的帳號密碼參數值。

 

Test ScriptInput出現了剛剛輸入的參數值。

 

執行Business Process Test

 

最後就可以執行Business Process Test並且檢視測試結果了。

 

以上是Mercury Business Process Testing的使用方法。


站内搜索
相关文章
◎如何查看LoadRunner虚拟用户(vuser)类型
◎使用LoadRunner测试TUXEDO
◎对LR回放中highest severity level was"ERROR"的解决方法
◎使用Winrunner进行性能测试
◎如何区分Server Time 和 Network Time
◎利用LR测试程序基类的性能
◎如何用LR监视服务器LINUX的方法
◎如何在QC中调用QTP进行测试
◎WinRunner使用经验介绍
◎使用LoadRunner来测试BEA TUXEDO(LoadRunner7.6)
◎MI测试工具介绍
◎VB 调用 QuickTestpro 脚本
◎QTP的登陆脚本设计
◎QTP的登陆脚本设计
◎loadruner报错:Step download timeout(120 seconds)的解决方法
◎QuickTestPro SP考试心得
◎LoadRunner本机录制http协议程序遇到的问题以及解决方法
◎关于"The RPC server is unavailable"的探讨及解决方案
◎QuickTestPro处理带有IFRAME的问题
◎QuickTestPro处理带有IFRAME的问题(续)
◎如何用QTP解析PDF
◎利用loadrunner测试ORACLE存储过程的性能
◎MERCURY最终用户管理:以最终用户为出发点,将业务和IT紧密结合
◎仅有基础架构管理是不够的:新的IT运作方式势在必行
◎美科利质量中心服务最佳实践白皮书
◎无代理监控:监控关键系统的全新典范
◎应用实施:卓越中心的发展
◎实施全面的J2EE监控和诊断解决方案
◎美科利客户的见解
◎改进质量和测试管理
◎错误警报不复存在:成功实施应用管理战略
◎代理和无代理系统管理的比较:运营总成本
◎高级测试管理的工具和技术
◎ERP功能测试最佳实践:10个步骤确保ERP系统的可靠性
◎美科利和SAP:优化业务成果
◎四款主流测试工具的测试流程
◎WinRunner如何实现自动化测试
◎TD 7.x 升级到 TD 8.0 的一些经验(SQLSERVER 下)
◎winsock的buffer简单解析
◎何谓 Keyword-Driven Testing?
◎QuickTestPro中的快捷键
◎协议的选择的问题谈话
◎winsock协议错误编码解析
◎Loadrunner中参数的设置
◎使用LoadRunner来测试BEATUXEDO (LoadRunner 7.6)
◎主流测试工具介绍(3)
◎主流测试工具介绍(2)
◎主流测试工具介绍(1)
◎LoadRunner的一个解决方案
◎jboss tomcat weblogic websphere 性能对比测试
热门文章
◎主流测试工具介绍(1)
◎Winrunner经验总结
◎主流测试工具介绍(2)
◎主流测试工具介绍(3)
◎Winrunner TSL命令简介(一)
◎WinRunner的问题整理
◎LoadRunner监视的性能计数器
◎四款主流测试工具的测试流程
◎Loadrunner中参数的设置
◎LoadRunner的一个解决方案
◎让LoadRunner走下神坛
◎WinRunner 脚本标准格式
◎LoadRunner简化国泰航空测试流程
◎WinRunner如何实现自动化测试
◎利用loadrunner测试ORACLE存储过程的性能
◎jboss tomcat weblogic websphere 性能对比测试
◎Winrunner TSL命令简介(四)
◎Winrunner TSL命令简介(二)
◎使用LoadRunner测试TUXEDO
◎TestDirector项目数据迁移完整过程
◎LoadRunner函数介绍
◎关于"RPC server is unavailable"的解决方案
◎Winrunner TSL命令简介(三)
◎使用Winrunner进行性能测试
◎TD7.6 字段中英文对照表
◎Winrunner Context Sensitive命令列表
◎LoadRunner本机录制http协议程序遇到的问题以及解决方法
◎WinRunner使用经验介绍
◎TD中Case的复用
◎对脚本的建议
◎MI测试工具介绍
◎QTP的登陆脚本设计
◎如何用QTP解析PDF
◎winsock协议错误编码解析
◎TD 7.x 升级到 TD 8.0 的一些经验(SQLSERVER 下)
◎QuickTestPro SP考试心得
◎loadruner报错:Step download timeout(120 seconds)的解决方法
◎使用LoadRunner来测试BEATUXEDO (LoadRunner 7.6)
◎QuickTestPro中的快捷键
◎ERP功能测试最佳实践:10个步骤确保ERP系统的可靠性
◎高级测试管理的工具和技术
◎winsock的buffer简单解析
◎何谓 Keyword-Driven Testing?
◎LoadRunner学习——LoadRunner的安装
◎QTP的学习历程
◎使用LoadRunner来测试BEA TUXEDO(LoadRunner7.6)
◎LoadRunner函数介绍续
◎QTP的登陆脚本设计
◎关于"The RPC server is unavailable"的探讨及解决方案
◎改进质量和测试管理

Google提供的广告