如何使用 IBM Rational Robot 建立自動化功能測試框架

發表于:2009-09-23來源:作者:點擊數: 標簽:ibmIBM自動化框架rational
1. 前言 測試 本身就是一項異常艱苦的工作,而成功的進行自動化的 功能測試 ,對很多軟件 開發 組織來講,更是困難重重。本文介紹了構建在IBM Rational Robot 基礎之上的自動化功能 測試框架 ,來幫助組織更好的進行自動化的功能測試。 2. 現實的挑戰 2.1 自
1. 前言

測試本身就是一項異常艱苦的工作,而成功的進行自動化的功能測試,對很多軟件開發組織來講,更是困難重重。本文介紹了構建在IBM Rational Robot基礎之上的自動化功能測試框架,來幫助組織更好的進行自動化的功能測試。

2. 現實的挑戰

2.1 自動化測試的迫切需求

隨著業務的變化,軟件產品的種類越來越多,軟件產品的升級越來越快,在很多的軟件開發組織中,測試部門承受著巨大的壓力,他們一方面要測試越來越多的軟件產品,一方面要應對越來越短的測試時間,同時,還要面對捉襟見肘的測試資源。

每個版本發布都包括新增加的功能和已有的功能,已有的功能已經在以前的版本中進行過測試,但是還需要在此版本中執行回歸測試。在這種情況下,測試部門往往會考慮到,既然回歸測試的測試用例都已經存在并且已經在上一個版本中執行過,那么在新版本中能否自動的執行這些測試?如果能這樣的話,將極大的節省時間和資源,將有限的資源投入到新功能的測試上,緩解測試的壓力。

通常情況下,軟件開發組織會使用自動化測試工具,使用錄制回放方式來進行功能測試的自動化。但是錄制回放方式并不能解決全部問題。

2.2 錄制回放中存在的問題

業界的經驗表明,雖然錄制回放方式能夠快速的生成測試,但是僅僅單純的使用錄制回放是不夠的。

首先,也是最主要的原因,就是使用錄制回放方式,往往需要耗費時間和資源來調試、維護腳本。這些工作量隨著腳本數量的增加,可能會增大到幾乎不可能再對腳本進行有效維護的地步;其次,使用錄制回放方式,要求應用已經開發完成并且在錄制中不出現錯誤,但是往往當應用達到此條件時已經沒有足夠的時間進行測試;最后,使用錄制回放方式,要求每個測試人員均會使用測試腳本語言“編程”,而當前大多數軟件開發組織測試人員專注于業務,往往沒有興趣和精力來“編程”。

所以,錄制回放方式并不能解決所有的問題,在自動化的功能測試上,需要有測試框架的支持。

3. 解決之道

3.1 概述

IBM Rational Robot是一款優秀的自動化測試工具,自動化功能測試框架是基于Robot之上構建的。如下圖:

圖 1. 基于Robot的自動化功能測試框架


 業務測試人員類似于當前軟件開發組織中使用手工執行測試的測試人員??梢钥吹?,在解決方案中,除傳統的業務測試人員外,增加了技術測試人員角色。技術測試人員偏重于自動化測試相關技術,實際上并不直接執行測試。

解決方案的核心是使用Robot的SQABasic腳本開發的Robot測試技術框架。此Robot測試技術框架以表驅動為指導思想,讀入動態結構,解釋并執行動態結構中的每一項,是自動化測試的引擎。同時,為了提高Robot測試技術框架的易用性,在解決方案中還包括測試設計工具,它是使用其它編程語言,比如JAVA、Dephi等開發的應用程序。在測試設計工具中,測試技術人員首先建立和待測試應用一一對應的靜態結構,此靜態結構以頁面為單位,隨后業務測試人員從靜態結構中選擇不同的頁面,組成測試動態結構,即測試用例,隨后,此動態結構被Robot測試技術框架讀入并解釋執行。

3.2 Robot測試技術框架

3.2.1 表驅動介紹

Robot測試技術框架是基于表驅動測試思想。表驅動測試就是預先在表中定義清楚代表每一步執行操作的關鍵字,然后由腳本讀入表中的每一行,根據關鍵字來執行對應的動作。以CQ Web登錄界面為例:

圖 2. ClearQuest Web登錄界面

 

 當要自動執行“登錄”按鈕時,可以如下圖來定義此表:

登錄

然后在Robot的腳本中,打開表,讀入此行并執行。這樣的話,Robot便去點擊界面上的“登錄”按鈕了。

clearcase/" target="_blank" >cccccc>

'打開文件
Dim sData() as string
InFileName = getExcelFileName
ReadExcelData InFileName, sData()

===============================

‘解釋并執行
Select Case (sKeyWord)
Case "登錄"
Window SetContext, "currentwindow", ""
PushButton Click, "Text=登錄", ""

以上是表驅動的簡單示例。在自動化測試中,基于表驅動,還需要解決以下問題:對象識別、驗證點、數據池、分支執行、數據關聯、日志記錄、調用其它腳本、腳本結束。本節將分別展示其在Robot測試技術框架中的實現方式。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97