rft軟件功能自動化測試入門課件_第1頁
rft軟件功能自動化測試入門課件_第2頁
rft軟件功能自動化測試入門課件_第3頁
rft軟件功能自動化測試入門課件_第4頁
rft軟件功能自動化測試入門課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、RFTRFT軟件功能自動化測試培訓軟件功能自動化測試培訓廣州卓業(yè)信息技術(shù)有限公司項目合作處Zerozhang 2013-4-8目目 錄錄RFT概述IBM Rational Functional Tester: (簡稱RFT)是Rational軟件公司(現(xiàn)在Rational公司被IBM并購,是IBM 軟件集團旗下之第五大軟件品牌)創(chuàng)造的一款先進的、自動化的功能和回歸測試工具;操作平臺(Eclipse): 與IBM Rational整個測試生命周期軟件完美集成,實現(xiàn)了一個平臺統(tǒng)一整個軟件開發(fā)團隊的能力;測試人員只要在開發(fā)人員工作的Eclipse環(huán)境中打開Functional Test透視圖,就會馬

2、上擁有專業(yè)的自動化功能測試工具所擁有的全部功能;Rational Functional Tester 的基礎(chǔ):l針對于Java、.NET的對象技術(shù)和基于 Web 應用程序的錄制、回放功能;Rational Functional Tester 腳本語言和開發(fā)環(huán)境: 選擇 Eclipse 框架中的 Java 或 Microsoft Visual Studio .NET 開發(fā)環(huán)境中的 Microsoft Visual Basic .NET。這意味著不論開發(fā)人員選擇的是什么語言或平臺,都應該能夠?qū)㈤_發(fā)和自動測試整合在一起,并利用開發(fā)工具的一些特點;基于Wizard的智能數(shù)據(jù)驅(qū)動的軟件測試技術(shù);提高測試

3、腳本重用的ScriptAssurance技術(shù);目前為 IBM 的專有技術(shù),通過對用戶界面細節(jié)的識別閾值的定制,來實現(xiàn)了一種先進的查找最合理候選對象的匹配機制,使得腳本的維護工作不再囿于界面的頻繁改動,變得更加輕松。與其它生命周期管理軟件的完美集成:lIBM Rational的自動化功能測試工具基于Eclipse平臺,提供了和需求管理工具(RequisitePro)、建模工具、代碼級測試工具和變更及配置管理工具(ClearQuest和ClearCase)的完美集成,這使得系統(tǒng)測試人員能夠和整個軟件開發(fā)團隊在同一個軟件平臺上,實現(xiàn)系統(tǒng)功能測試,完成測試腳本的配置管理和缺陷追蹤。自動化測試自動化測試

4、自動化測試定義:把以人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的一種過程;與手工測試相比,測試自動化的優(yōu)勢:首先自動化測試可以提高測試效率,使測試人員更加專注于新的測試模塊的建立和開發(fā),從而提高測試覆蓋率;其次,自動化測試更便于測試資產(chǎn)的數(shù)字化管理,使得測試資產(chǎn)在整個測試生命周期內(nèi)可以得到復用,這個特點在功能測試和回歸測試中尤其具有意義;此外,測試流程自動化管理可以使機構(gòu)的測試活動開展更加過程化,這很符合CMMI過程改進的思想;實施自動化測試之前需要對軟件開發(fā)過程進行分析,以觀察其是否適合使用自動化測試,通常需要同時滿足以下條件: l1) 軟件需求變動不頻繁。 ;l2) 項目周期足夠長。 ;l3) 自動

5、化測試腳本可重復使用。 通常適合于軟件測試自動化的場合: l(1)回歸測試,重復單一的數(shù)據(jù)錄入或是擊鍵等測試操作造成了不必要的時間浪費和人力浪費; l(2)此外測試人員對程序的理解和對設(shè)計文檔的驗證通常也要借助于測試自動化工具; l(3)采用自動化測試工具有利于測試報告文檔的生成和版本的連貫性; l(4)自動化工具能夠確定測試用例的覆蓋路徑,確定測試用例集對程序邏輯流程和控制流程的覆蓋;自動化測試過程自動化測試過程自動化測試過程:與軟件開發(fā)過程從本質(zhì)上來講是一樣的,利用自動化測試工具(相當于軟件開發(fā)工具),經(jīng)過對測試需求的分析(軟件過程中的需求分析),設(shè)計出自動化測試用例(軟件過程中的需求規(guī)格

6、),從而搭建自動化測試的框架(軟件過程中的概要設(shè)計),設(shè)計與編寫自動化腳本(詳細設(shè)計與編碼),測試腳本的正確性,從而完成該套測試腳本(即主要功能為測試的應用軟件)l1)自動化測試需求分析 測試需求說明書l2)測試計劃確定自動化測試的范圍以及相應的測試用例、測試數(shù)據(jù),并形成詳細的文檔;l3)自動化測試框架的搭建確定自動化測試框架需要調(diào)用哪些文件、結(jié)構(gòu),調(diào)用的過程,以及文件結(jié)構(gòu)如何劃分;l4) 測試用例設(shè)計編寫測試用例或開發(fā)測試腳本;l5) 測試調(diào)試測試(針對自動化測試腳本);l6)評估評估測試結(jié)果并改進測試過程;自動化測試框架自動化測試框架:由一個或多個自動化測試基礎(chǔ)模塊、自動化測試管理模塊、自

7、動化測試統(tǒng)計模塊等組成的工具集合。定義了在使用該套腳本時需要調(diào)用哪些文件、結(jié)構(gòu),調(diào)用的過程,以及文件結(jié)構(gòu)如何劃分等;測試框架的典型要素:l公用的對象;不同的測試用例具有的一些可被重復使用的相同的對象;l公用的環(huán)境;獨立封裝可重復使用的測試環(huán)境;l公用的方法;經(jīng)常重復使用獨立編寫的方法;l測試數(shù)據(jù);多個測試數(shù)據(jù)放在一個獨立的文件中由測試用例執(zhí)行時讀取到;自動化測試框架的其他定義:l一套自動化測試管理系統(tǒng)被稱之為測試框架;l一個自動化測試工具被冠以關(guān)鍵字驅(qū)動框架之名;l一段程序也被聲稱其實現(xiàn)了數(shù)據(jù)驅(qū)動的框架;l自動化測試框架猶如盲人摸象中的那頭大象一樣,有人說它是一個軟件,只不過它的功能是測試另外

8、一個軟件,有人認為它是一套流程和規(guī)范;l所謂“自動化測試框架”這個概念只是一個封裝了很多東西的盒子,這個盒子的外觀和形狀對我們來說無關(guān)緊要,我們最更關(guān)心怎樣構(gòu)建一個高效務(wù)實的自動化測試解決方案。STAF自動化測試框架Software Test Automation Framework (STAF) :一個開源的、跨平臺、支持多語言的自動化測試框架,它是基于可重用的組件來構(gòu)建的;基于 RFT 和 STAF 進行的無需人工干預的跨平臺自動化回歸測試;在拿到新版本的軟件之后自動觸發(fā)回歸測試,自動記錄執(zhí)行結(jié)果 , 并且發(fā)送通知;自動觸發(fā)回歸測試 定時檢測服務(wù)器端的軟件版本,一旦檢測到服務(wù)器端已經(jīng)上載完

9、全的新版本的軟件,就可以調(diào)用 STAF 的信號量服務(wù)來觸發(fā)自動回歸測試;自動發(fā)送測試結(jié)果 在執(zhí)行完回歸測試的自動腳本并且將結(jié)果記入數(shù)據(jù)庫之后,在將結(jié)果傳回 STAF 服務(wù)器的同時,還可以發(fā)送郵件將測試結(jié)果通知給相關(guān)人員;STAF測試流程圖自動化測試流程圖RFT功能自動化測試本質(zhì)對象識別:從開發(fā)的角度看,lGUI 通常都是基于某一 GUI 開發(fā)庫(SWT/SWING/AWT),這些庫通常是按照面向?qū)ο蟮姆绞竭M行建模的,它將每一個 GUI 元素映射成該庫中某一個類的對象;從測試的角度看,l所有的 GUI 元素,無論基于何種 GUI 庫,都被 RFT 映射成對象,RFT 提供一個對象模型框架管理各種

10、 GUI 元素;驗證點:在RFT中,驗證點是腳本(Script)中非常重要的組成部分,它完成對被測試程序生成的實際數(shù)據(jù)和期望數(shù)據(jù)的比較,并將比較結(jié)果寫入日志。一般情況下,測試的結(jié)果是通過對驗證點的執(zhí)行而得到的;靜態(tài)驗證點(Static Verification Point)RFT功能自動化測試本質(zhì)數(shù)據(jù)驅(qū)動:用一個數(shù)據(jù)文件把測試腳本驅(qū)動起來,來達到更接近用戶化更智能的測試其目的是把測試人員從維護復雜的腳本程序中解放出來,只需維護好數(shù)據(jù)文件即可,減少了很多修改腳本的麻煩; 關(guān)鍵字驅(qū)動:l1)界面元素名與測試內(nèi)部對象名的分離;l2)測試描述與具體實現(xiàn)細節(jié)的分離;l3)腳本與數(shù)據(jù)的分離;RFT對象識別

11、從開發(fā)的角度看,lGUI 通常都是基于某一 GUI 開發(fā)庫(SWT/SWING/AWT),這些庫通常是按照面向?qū)ο蟮姆绞竭M行建模的,它將每一個 GUI 元素映射成該庫中某一個類的對象;從測試的角度看,l所有的 GUI 元素,無論基于何種 GUI 庫,都被 RFT 映射成對象,RFT 提供一個對象模型框架管理各種 GUI 元素;RFT 對象識別:基于 RFT 的自動化測試,都會采用 IBM 推薦的 ITCL 框架。在這個框架下,所有的腳本被劃分為三個層次:對象層,任務(wù)層,用例層。對象識別就是在 RFT 的對象模型框架下,得到被測程序的 GUI 對象。它是對象層開發(fā)中最核心的任務(wù)。常用的 RFT

12、的對象識別技術(shù):l可以分為兩大類:靜態(tài)識別與動態(tài)識別。l動態(tài)和靜態(tài)方法各有優(yōu)缺點,l靜態(tài)方法識別效率高、開發(fā)成本比較低,但是腳本的可維護性比較差;l而動態(tài)方法剛好相反;常用的對象識別技術(shù):l可以識別出大部分的 GUI 元素,但有時也會遇到 RFT 無法識別的 GUI 元素,事實上識別這類用常用對象識別技術(shù)無法識別的 GUI 元素占用了 RFT 腳本開發(fā)的大部分時間,不同的對象識別技術(shù):lIWindow 接口用于識別 windows 標準控件;lInvoke 方法用于識別應用程序定制的 GUI 控件;RFT對象識別使用 RFT 經(jīng)常聽到的一個謬論就是 RFT 只能測試基于 java 的 GUI

13、程序,對于 C/C+ 或者 windows 標準控件,RFT 無法識別。事實上,RFT 提供了 IWindow 接口用于識別平臺相關(guān)的控件;IWindow 接口介紹:IWindow 接口也繼承自 IGraphical 接口,從這點看,IWindow 接口具有與 GuiTestObject 類似的功能。使用 IWindow 接口能夠識別平臺相關(guān)的 GUI 控件,但是其接口函數(shù)的具體實現(xiàn)與平臺相關(guān),windows 與 linux 上的實現(xiàn)就不一樣;Invoke 方法介紹:在進行 GUI 自動化測試時,一個經(jīng)常遇到的問題就是如何測試開發(fā)者定制的控件?通常一組定制的控件,是作為一個整體被 RFT 識別

14、出來,可以對這個整體作一些操作,但是如何識別出每一個具體的定制控件呢?可以使用 TestObject 類提供的方法:Invoke 函數(shù)。Invoke 方法類似于 java 中的反射機制,它可以在運行時而不是編譯時調(diào)用函數(shù)。通俗地說,在 RFT 中,它可以根據(jù)字符串來調(diào)用相應的函數(shù)。這使得不僅可以調(diào)用某些確定的方法(如 GuiTestObject 的方法),還可以主動查詢定制控件本身提供的方法,大大加強了對象識別能力。AutoIt 介紹 :AutoIt 是一種在 windows 平臺上,針對 C/C+ 以及 windows 標準控件的,免費、開源的自動化管理工具。AutoIt 本身有一種非常簡單

15、的腳本語言,這種腳本語言類于 Basic,并且其腳本可以直接轉(zhuǎn)化為可執(zhí)行程序且不依賴于任何庫。事實上,AutoIt 的這些功能,RFT 提供的 IWindow 接口也能夠完成,但 AutoIt 具有更高的效率;驗證點在RFT中,驗證點是腳本(Script)中非常重要的組成部分,它完成對被測試程序生成的實際數(shù)據(jù)和期望數(shù)據(jù)的比較,并將比較結(jié)果寫入日志。一般情況下,測試的結(jié)果是通過對驗證點的執(zhí)行而得到的;靜態(tài)驗證點(Static Verification Point):l靜態(tài)驗證點是在錄制(Record)RFT腳本的過程中通過向?qū)Р迦氲尿炞C點,它在腳本回放(Playback)的過程中自動被驗證;以錄

16、制-回放(Record-Playback)模式使用RFT進行圖形界面(GUI)的自動化回歸測試(Regression Test),較常用的是靜態(tài)驗證點。手動驗證點(Manual Verification Point):l如果驗證點所要驗證的內(nèi)容是由腳本開發(fā)人員在腳本中所提供的,則需要建立手動驗證點對其進行驗證。例如待驗證數(shù)據(jù)來自外部數(shù)據(jù)源的情況,腳本開發(fā)人員需將數(shù)據(jù)讀取后以參數(shù)的形式顯式傳給驗證點;非圖形化界面存在的大量的用戶自定義類型對象,這些被測試對象并不能在錄制過程中被插入對象映射表(ObjectMap)中,也就是不能使用靜態(tài)驗證點來進行驗證,這就需要我們使用手動驗證點來比較它們。動態(tài)驗

17、證點(Dynamic Verification Point):l動態(tài)驗證點用來處理普通驗證點的期望值隨著輸入?yún)?shù)不同而發(fā)生變化的情況,可以再在驗證點中使用正則表達式或使用數(shù)據(jù)驅(qū)動的方法建立動態(tài)驗證點。動態(tài)驗證點是在腳本首次回放時建立的,驗證點一旦建立,其行為就和靜態(tài)驗證點相同了。驗證點動態(tài)實現(xiàn)驗證點測試的基本思路:首先測試人員可以將被測試控件和預期結(jié)果分別配置在兩個文件中。因為幾乎每個被測試的控件通常都和某些特征標簽文本相鄰,我們只需要在文件中清楚地配置出這種相對位置關(guān)系即可。在運行的時候,主程序會讀取這兩個配置文件,并在測試對象樹上面搜索被測試控件。一旦搜索到該控件,則從該控件的屬性集合中取

18、出對應的屬性值,和配置文件中的預期結(jié)果進行比對,最終得以判斷該校驗點是否通過;動態(tài)驗證點用來處理普通驗證點的期望值隨著輸入?yún)?shù)不同而發(fā)生變化的情況。靜態(tài)方法和動態(tài)方法對比:JAVA語言基礎(chǔ) 了解一些基本的java語言概念對較好的掌握RFT有很大的幫助。面向?qū)ο蟮木幊陶Z言 利用類和對象將問題的數(shù)據(jù)和操作封裝起來,并用標準接口與外界交互,使代表客觀世界實體的各種類在程序中能獨立和繼承;抽象 抽象是從眾多的事物中抽取出共同的、本質(zhì)性的特征,而舍棄其非本質(zhì)的特征。抽象的角度取決于分析問題的目的;對編程者來講,重要的是理解現(xiàn)實系統(tǒng)如何抽象轉(zhuǎn)化為軟件系統(tǒng);在編程階段,通過抽象找出各種類,再對各種類之間的消

19、息進行收集和處理,把問題分解為許多標準接口 的構(gòu)件,當問題有變化時通過解除和更換現(xiàn)實軟件的某些構(gòu)件代碼來適應變化。封裝 將抽象得到的數(shù)據(jù)和行為(或功能)相結(jié)合,形成一個有機的整體,也就是將數(shù)據(jù)與操作數(shù)據(jù)的源代碼進行有機的結(jié)合,形成“類”,通過一個公用接口和消息與其他對象通信;通過封裝使一部分成員(修飾符public等)充當類與外部的接口,而將其他的成員隱蔽起來,這樣就達到了對成員訪問權(quán)限的合理控制,使不同類之間的相互影響減少到最低限度,進而增強數(shù)據(jù)的安全性和簡化程序的編寫工作。程序封裝的最小單位“類”;繼承 子類的派生過程稱為類的繼承,繼承是抽象分層管理的實現(xiàn)機制;繼承允許一個新類包含另一個已

20、有類的狀態(tài)和行為;多態(tài) 允許一個類中有多個同名方法,但方法的具體實現(xiàn)卻不同的機制; 方法的重載(復雜的多態(tài))/方法的覆蓋(簡單的多態(tài))JAVA語言基礎(chǔ)類、對象與實例 類是對具有相同特性對象的封裝組合,是java程序的基本單位;類是對象的抽象; 對象是類的實例;對象與實例是兩個同義詞;類聲明及修飾符 public/abstract/final extends/implements成員變量及修飾符l成員變量定義了類的特性,修飾符說明使用該變量的權(quán)限和規(guī)則;lpublic/protected/private/static/成員方法及修飾符l成員方法定義了類的操作;lpublic/protected/

21、private/static/abstract/native/synchronized/finall返回類型及參數(shù)列表;對象的主要屬性l狀態(tài)和行為是對象的主要屬性;l對象的狀態(tài)用變量表示,又稱為對象的靜態(tài)屬性;l對象的 行為用方法表示,又稱為對象的動態(tài)屬性;包 包是java語言對一組相關(guān)的類,接口和子包進行封裝的機制;java利用包來管理類名空間,有利于類和接口的安全擴展和引用,包是有唯一命名的類的集合;JAVA語言基礎(chǔ)接口: 為了實現(xiàn)多繼承并簡化其復雜性,其主要功能有,l不管類的層次,不同的類可以有相同的接口,接口只聲明方法,但并不實現(xiàn)任何方法;l一個類可實現(xiàn)許多接口,但只有同一個父類;l接

22、口不僅是抽象類,其用途遠勝于抽象類;u當用一個類去實現(xiàn)接口時,該類必須實現(xiàn)該接口的所有方法和它的父接口;流程控制l分支語句;if/if-else/if-else if/switch-case語句;l循環(huán)語句;while/do-while/for循環(huán)語句;l跳轉(zhuǎn)語句;break/continue/return語句;l嵌套及遞歸;數(shù)組l存儲一系列同類型數(shù)據(jù)元素的一種數(shù)據(jù)結(jié)構(gòu);l一維數(shù)組聲明:type arrayName ;type arrayName;l創(chuàng)建一維數(shù)組語法:arrayName = new typearraySize;異常l為了盡量減少因程序出錯而停止運行,java語言提供了異常機制;

23、l為那些可預料和非預料的異常提供統(tǒng)一的程序出口;l將異常情況在方法調(diào)用中進行傳遞,將異常情況傳遞到合適的位置再進行處理;配置RFT測試環(huán)境RFTRFT的安裝的安裝操作平臺(操作平臺(vmwarevmware虛擬機平臺):虛擬機平臺):一款功能強大的桌面虛擬計算機軟件,提供用戶可在單一的一款功能強大的桌面虛擬計算機軟件,提供用戶可在單一的桌面上同時運行桌面上同時運行 不同的操作系統(tǒng),和進行開發(fā)、測試不同的操作系統(tǒng),和進行開發(fā)、測試 、部署新的應用程序的最佳解決方案。、部署新的應用程序的最佳解決方案。VMware VMware Workstation Workstation 可在一部實體機器上模擬

24、完整的網(wǎng)絡(luò)環(huán)境,以及可便于攜帶的虛擬機器,其更好的靈活性可在一部實體機器上模擬完整的網(wǎng)絡(luò)環(huán)境,以及可便于攜帶的虛擬機器,其更好的靈活性與先進的技術(shù)勝過了市面上其他的虛擬計算機軟件。與先進的技術(shù)勝過了市面上其他的虛擬計算機軟件。操作系統(tǒng):操作系統(tǒng):在在vmwarevmware虛擬機安裝虛擬機安裝winxpwinxp操作系統(tǒng);操作系統(tǒng);集成開發(fā)環(huán)境:集成開發(fā)環(huán)境:EclipseEclipse;著名的跨平臺的自由集成開發(fā)環(huán)境(;著名的跨平臺的自由集成開發(fā)環(huán)境(IDEIDE)。本身只是一個框架平臺,但)。本身只是一個框架平臺,但是眾多插件的支持使得是眾多插件的支持使得EclipseEclipse擁有其

25、他功能相對固定的擁有其他功能相對固定的IDEIDE軟件很難具有的靈活性。軟件很難具有的靈活性。lEclipseEclipse的基礎(chǔ)是富客戶機平臺(的基礎(chǔ)是富客戶機平臺(Rich Client Platform, Rich Client Platform, 即即RCPRCP)。)。lEclipseEclipse采用的技術(shù)是采用的技術(shù)是IBMIBM公司開發(fā)的(公司開發(fā)的(SWTSWT),這是一種基于),這是一種基于JavaJava的窗口組件,類似的窗口組件,類似JavaJava本身提供的本身提供的AWTAWT和和SwingSwing窗口組件;窗口組件;lEclipseEclipse的插件機制是輕型

26、軟件組件化架構(gòu)的插件機制是輕型軟件組件化架構(gòu)lEclipseEclipse的思想是:一切設(shè)計皆插件。的思想是:一切設(shè)計皆插件。EclipseEclipse核心很小,其它所有功能都以插件的形式附加于核心很小,其它所有功能都以插件的形式附加于EclipseEclipse核核心之上心之上JavaJava開發(fā)環(huán)境(開發(fā)環(huán)境(JDKJDK): :java Development kitjava Development kit(簡稱(簡稱JDKJDK),),RFTRFT安裝包自帶,一般不需另外安裝;安裝包自帶,一般不需另外安裝;lJDK JDK 是整個是整個JavaJava的核心,包括了的核心,包括了Ja

27、vaJava運行環(huán)境,運行環(huán)境,JavaJava工具和工具和JavaJava基礎(chǔ)的類庫?;A(chǔ)的類庫。lJDKJDK版本:版本: SE(J2SE) SE(J2SE),standard editionstandard edition;標準版;標準版; EE(J2EE) EE(J2EE),enterprise editionenterprise edition;企業(yè)版;企業(yè)版ME(J2ME)ME(J2ME),micro editionmicro edition;調(diào)整視圖及相關(guān)配置啟動RFT運行環(huán)境:雙擊“java scripting”;調(diào)整視圖(幾個重要的視圖):Functional test項目視

28、圖:默認視圖;l點擊 Window Open Perspective Other,來打開 Functional Test 視圖。l在 Open 視圖中,選擇 Functional Test ,然后點擊 OK,Open 視角窗口調(diào)整視圖及相關(guān)配置腳本資源管理器視圖;l在 RFT 中,對 SWT 原生態(tài)控件的識別是通過測試對象映射來實現(xiàn)的。當用戶創(chuàng)建一個 Functional Test 腳本后,在腳本資源管理器視圖中就會出現(xiàn)與這個腳本相關(guān)的測試資源。而這個腳本專用的測試對象映射就包含在測試對象文件夾下面,如下圖所示。l圖 1. 腳本資源管理器視圖l除了腳本資源管理器,用戶還可以從“腳本”菜單中打開

29、測試對象映射。雙擊打開專用測試對象映射,在“測試對象”菜單中點擊“插入對象”,得到對象查找器。調(diào)整視圖及相關(guān)配置Java編輯器;lFunctional Tester 的 Java Development Tooling (JDT)提供了一個編輯器,使用它能夠使用 Java 語言進行測試腳本的編輯。這個編輯器有以下特性:l語法突出表示:幫助查找和編輯腳本中的不同元素。不同的語法元素(比如,注釋、關(guān)鍵字和內(nèi)建類型等)使用不同的顏色進行突出表示,這樣能夠使更容易的查看和編輯腳本。 l內(nèi)容(代碼)助手:當輸入某些代碼片斷時,內(nèi)容(代碼)助手自動幫助完成代碼。在想要自動完成代碼的地方按住鍵。下圖中的一個

30、列表顯示出來,可以在列表中選擇需要的選項。l代碼格式化:當正在編輯一個腳本時,這個特性可以通過上下文菜單得到。右鍵點擊想要格式化的代碼,以顯示上下文菜單。能夠通過窗口首選項Java 代碼格式器來設(shè)置代碼格式化的配置。l文本提示:當將鼠標光標放到一個對象或者方法上時,將會顯示出這個對象的屬性或者方法被定義在哪個Java包中。l顯示所有/顯示部分源碼:能夠隱藏需要看到的腳本部分??梢酝ㄟ^點擊代碼左側(cè)的下拉箭頭來顯示和隱藏某些代碼部分。l導入助手:能夠通過導入向?qū)韺⒏鞣N外部的資源導入到選定的項目中。調(diào)整視圖及相關(guān)配置Java編輯器;l集成開發(fā)環(huán)境l可以使用 Java 編輯器來編輯一個腳本。l正在編

31、輯的腳本的名字出現(xiàn)在編輯器窗口頂端的標簽頁上。名字左邊的星號(*)代表這個腳本已經(jīng)被修改但沒被保存。 l能夠在Java編輯器中同時打開多個腳本,然后通過點擊標簽頁在這些腳本間進行切換。 l如果腳本存在問題,一個問題標記將出現(xiàn)在有問題的代碼行上。 l右鍵點擊 Java 編輯器將顯示能夠幫助編輯腳本的菜單。 l問題視圖將顯示錯誤、警告和其他被編譯器自動產(chǎn)生的信息。l為了打開問題視圖,點擊Test 透視圖中的問題標簽,或者點擊窗口顯示視圖基本問題。 當雙擊問題視圖中的某一個問題項時,F(xiàn)unctional Tester 將定位到這個問題在腳本中的代碼行上。 缺省情況下,問題視圖顯示所有的項目中的問題,

32、可以通過點擊過濾器按鈕來應用一個過濾器。 能夠在腳本中使用一些方法(命令)來控制回放選項(參數(shù)設(shè)置):lgetOption 返回當前的一個選項的設(shè)置值。 lsetOption 為一個選項指定值。 lresetOption 重置一個選項的值到它的缺省值。 調(diào)整視圖及相關(guān)配置Java編輯器; Functional Tester 測試腳本的類層次結(jié)構(gòu)lRational TestScript 提供了基礎(chǔ)的功能,它是所有Functional Tester測試腳本的根層次。每一個測試腳本都從這個類擴展而來,例如,能夠重載缺省的事件處理器(event handler)來提供自己的應用程序特定的事件處理器。

33、lhelper super 類 (可選的)提供了對基礎(chǔ)級別方法的重載的支持。 lscript helper 類 提供了為訪問測試對象和驗證點特定的腳本方法。這些特定腳本的方法簡化了腳本命令并改進了Functional Tester 腳本的可讀性。但是不應該去編輯 script helper 類。 lFunctional Tester script包含了被錄制的或者腳本化的命令,這些命令構(gòu)成了一個特定的功能測試。能夠通過與Functional Tester項目相關(guān)聯(lián)的模板文件定制 Functional Tester script 類和 script helper 類的格式調(diào)整視圖及相關(guān)配置Jav

34、a編輯器; Functional Tester 腳本包含的內(nèi)容:l一個 Functional Tester 腳本是一個由 Java 語句組成的文本文件,它是由Functional Tester 在錄制腳本過程中生成的,并且可以向其中手工添加語句。當測試腳本被回放時,F(xiàn)unctional Tester 通過執(zhí)行腳本中的語句來重現(xiàn)功能測試的動作。l一個Functional Tester 腳本包括四個主要的語句分類:l由RationalTestScript 繼承的方法,比如,startApp() 和logTestResult()。 l在測試對象上調(diào)用的方法,比如Click()或者 Drag()。 l

35、執(zhí)行驗證點的語句。 l任何需要的但沒有被Functional Tester 生成的 Java 代碼。 搭建RFT層次結(jié)構(gòu)新建一個“functional test項目”;新建一個“測試文件夾”(同java包的定義);新建一個“測試數(shù)據(jù)池”(數(shù)據(jù)驅(qū)動);新建一個“測試對象映射”(對象地圖);新建一個“幫助程序超類”(幫助父類,可繼承);新建一個“空的functional test腳本”;簡化的腳本編制:lSimplified Scripts就是以一種更簡單的自然語言來描述Script腳本,以這種方式創(chuàng)建的腳本在視圖中有Script和Java兩種編輯模式。這種方式一個最直接的缺點就是project視

36、圖中不顯示script.java文件,而是script.rftss,如果直接在工具欄點擊運行按鈕運行腳本,腳本內(nèi)容會被自動修改,無法運行。但是可以通過以下兩種方式來繼續(xù)運行:lproject視圖中右鍵單擊想要執(zhí)行的腳本,點擊run;l 對script做改動后不要保存,直接按工具欄按鈕run,彈出是否要保存的對話框,點擊是確認保存即可成功運行,腳本也不會被修改。l如果想要取消該功能,菜單欄-Windows-Preferences-Functional Test -Simplified Scripting 取消選擇。如果想要對已經(jīng)enable Simplified Scripts的腳本取消該功能,

37、在RFT視圖中Discconnect 項目,然后刪除*.rftss文件,重新鏈接項目到RFT視圖即可。配置RFT系統(tǒng)參數(shù)啟用“web瀏覽器”;啟用“java環(huán)境”;啟用“Eclipse平臺”;配置RFT應用程序添加“html應用程序”;添加“名稱”;添加“url地址”;添加“瀏覽器”;記錄/回放RFT線性腳本 線性腳本:錄制手工執(zhí)行的測試用例得到的腳本。這種腳本包含所有用戶的鍵盤和鼠標輸入。線性腳本有以下的優(yōu)點: l1、不需要深入的工作或計劃l2、可以加快開始自動化l3、對實際執(zhí)行操作可以審計跟蹤l4、用戶不必是編程人員l5、提供良好的(軟件或工具)的演示線性腳本適用于以下情況:l1、演示或培

38、訓l2、執(zhí)行量較少,且環(huán)境變化小的測試l3、數(shù)據(jù)轉(zhuǎn)換,如將數(shù)據(jù)從Notes數(shù)據(jù)庫中轉(zhuǎn)換到EXCEL表格中線性腳本有以下缺點:l1、過程繁瑣l2、一切依賴于每次捕獲的內(nèi)容l3、測試輸入和比較是“捆綁”在腳本中的l4、無共享或重用腳本l5、線性腳本容易受軟件變化的影響l6、線性腳本修改代價大,維護成本高l7、非常容易受意外事件的影響,引起整個測試失敗記錄/回放RFT線性腳本記錄functional test腳本;設(shè)置腳本名稱;設(shè)置“測試對象映射”;設(shè)置“幫助程序超類”;設(shè)置“測試數(shù)據(jù)池”;設(shè)置“數(shù)據(jù)池記錄選擇順序”;選擇啟動應用程序;記錄/回放RFT線性腳本記錄操作過程;暫停記錄;插入驗證點或操作

39、命令;插入數(shù)據(jù)驅(qū)動的命令;插入腳本支持命令;顯示幫助;顯示監(jiān)視器;停止記錄;編輯回放腳本;日志日志:在腳本回放結(jié)束時,能夠在日志中查看結(jié)果。結(jié)果包括任何被記錄的事件,比如日志:在腳本回放結(jié)束時,能夠在日志中查看結(jié)果。結(jié)果包括任何被記錄的事件,比如驗證點失敗、腳本異常、對象識別警告和其他任何回放的信息驗證點失敗、腳本異常、對象識別警告和其他任何回放的信息; ;日志類型lText - Text - 在在Functional Test Functional Test 腳本窗口以腳本窗口以 ASCII ASCII 的格式顯示日志的格式顯示日志; ;lHTML - HTML - 以以 HTML HTML

40、 格式在的缺省瀏覽器中顯示日志格式在的缺省瀏覽器中顯示日志; ;lTest Manager - Test Manager - 在在 Test Manager Test Manager 的測試日志窗口顯示的測試日志窗口顯示 Functional Test Functional Test 日志信息日志信息; ;日志參數(shù)設(shè)置l1. 在Functional Test 中,點擊 窗口 首先項。l2. 在首選項的左側(cè)區(qū)域展開Functional Test,展開 回放,并點擊 日志記錄。l3. 選擇腳本回放后顯示日志查看器選項使測試回放后日志被自動的打開。l4. 選擇任何其他的日志選項。日志查看日志中的結(jié)果

41、l為了查看 Functional Test 日志,完成下面的日志參數(shù)設(shè)置:l1. 在Functional Test 中,點擊 窗口 首先項。l2. 在首選項的左側(cè)區(qū)域展開Functional Test,展開 回放,并點擊 日志記錄。l3. 選擇腳本回放后顯示日志查看器選項使測試回放后日志被自動的打開。l4. 選擇任何其他的日志選項。l5. 在日志類型列表中設(shè)定查看參數(shù):lA. 為了不使用 Test Manager 查看日志,清除使用缺省值檢查框,并選擇Text 或 HTML。lB. 為了從 Test Manager 的測試日志視圖查看日志,選擇 Test Manager(如果Test Mana

42、ger被安裝這是缺省的行為)。Test Manager 將這些日志作為 Rational 項目的一部分存儲,并在測試日志窗口中打開日志。l6. 點擊應用來保存新的設(shè)置,并繼續(xù)改變其他的選項,或者點擊確定,保存新的設(shè)置并關(guān)閉首先項對話框。驗證點比較器驗證點比較器被用來在回放帶有驗證點的腳本后驗證驗證點的數(shù)據(jù),并更新基線文件。如果驗證點失敗,比較器將顯示出期望值和實際值,因此能夠分析他們之間的不同。然后,能夠加載基線文件,并編輯它或者使用來自實際的數(shù)據(jù)值更新基線文件; 驗證點比較器的窗口和工具欄 :l測試對象(Test Objects);這是驗證點比較器窗口左上方的區(qū)域。他是腳本的對象地圖的一個部分版本。這個層次結(jié)果僅僅包括你的驗證點中的對象。l識別數(shù)據(jù) (Recognition Data);這是比較器窗口左下方的一個區(qū)域。識別(Recognition)標簽顯示了被Functio

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論