![rft軟件功能自動(dòng)化測(cè)試入門課件_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/c4696ac7-1a45-45ce-accc-cb809080f854/c4696ac7-1a45-45ce-accc-cb809080f8541.gif)
![rft軟件功能自動(dòng)化測(cè)試入門課件_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/c4696ac7-1a45-45ce-accc-cb809080f854/c4696ac7-1a45-45ce-accc-cb809080f8542.gif)
![rft軟件功能自動(dòng)化測(cè)試入門課件_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/c4696ac7-1a45-45ce-accc-cb809080f854/c4696ac7-1a45-45ce-accc-cb809080f8543.gif)
![rft軟件功能自動(dòng)化測(cè)試入門課件_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/c4696ac7-1a45-45ce-accc-cb809080f854/c4696ac7-1a45-45ce-accc-cb809080f8544.gif)
![rft軟件功能自動(dòng)化測(cè)試入門課件_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/c4696ac7-1a45-45ce-accc-cb809080f854/c4696ac7-1a45-45ce-accc-cb809080f8545.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、RFTRFT軟件功能自動(dòng)化測(cè)試培訓(xùn)軟件功能自動(dòng)化測(cè)試培訓(xùn)廣州卓業(yè)信息技術(shù)有限公司項(xiàng)目合作處Zerozhang 2013-4-8目目 錄錄RFT概述IBM Rational Functional Tester: (簡稱RFT)是Rational軟件公司(現(xiàn)在Rational公司被IBM并購,是IBM 軟件集團(tuán)旗下之第五大軟件品牌)創(chuàng)造的一款先進(jìn)的、自動(dòng)化的功能和回歸測(cè)試工具;操作平臺(tái)(Eclipse): 與IBM Rational整個(gè)測(cè)試生命周期軟件完美集成,實(shí)現(xiàn)了一個(gè)平臺(tái)統(tǒng)一整個(gè)軟件開發(fā)團(tuán)隊(duì)的能力;測(cè)試人員只要在開發(fā)人員工作的Eclipse環(huán)境中打開Functional Test透視圖,就會(huì)馬
2、上擁有專業(yè)的自動(dòng)化功能測(cè)試工具所擁有的全部功能;Rational Functional Tester 的基礎(chǔ):l針對(duì)于Java、.NET的對(duì)象技術(shù)和基于 Web 應(yīng)用程序的錄制、回放功能;Rational Functional Tester 腳本語言和開發(fā)環(huán)境: 選擇 Eclipse 框架中的 Java 或 Microsoft Visual Studio .NET 開發(fā)環(huán)境中的 Microsoft Visual Basic .NET。這意味著不論開發(fā)人員選擇的是什么語言或平臺(tái),都應(yīng)該能夠?qū)㈤_發(fā)和自動(dòng)測(cè)試整合在一起,并利用開發(fā)工具的一些特點(diǎn);基于Wizard的智能數(shù)據(jù)驅(qū)動(dòng)的軟件測(cè)試技術(shù);提高測(cè)試
3、腳本重用的ScriptAssurance技術(shù);目前為 IBM 的專有技術(shù),通過對(duì)用戶界面細(xì)節(jié)的識(shí)別閾值的定制,來實(shí)現(xiàn)了一種先進(jìn)的查找最合理候選對(duì)象的匹配機(jī)制,使得腳本的維護(hù)工作不再囿于界面的頻繁改動(dòng),變得更加輕松。與其它生命周期管理軟件的完美集成:lIBM Rational的自動(dòng)化功能測(cè)試工具基于Eclipse平臺(tái),提供了和需求管理工具(RequisitePro)、建模工具、代碼級(jí)測(cè)試工具和變更及配置管理工具(ClearQuest和ClearCase)的完美集成,這使得系統(tǒng)測(cè)試人員能夠和整個(gè)軟件開發(fā)團(tuán)隊(duì)在同一個(gè)軟件平臺(tái)上,實(shí)現(xiàn)系統(tǒng)功能測(cè)試,完成測(cè)試腳本的配置管理和缺陷追蹤。自動(dòng)化測(cè)試自動(dòng)化測(cè)試
4、自動(dòng)化測(cè)試定義:把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程;與手工測(cè)試相比,測(cè)試自動(dòng)化的優(yōu)勢(shì):首先自動(dòng)化測(cè)試可以提高測(cè)試效率,使測(cè)試人員更加專注于新的測(cè)試模塊的建立和開發(fā),從而提高測(cè)試覆蓋率;其次,自動(dòng)化測(cè)試更便于測(cè)試資產(chǎn)的數(shù)字化管理,使得測(cè)試資產(chǎn)在整個(gè)測(cè)試生命周期內(nèi)可以得到復(fù)用,這個(gè)特點(diǎn)在功能測(cè)試和回歸測(cè)試中尤其具有意義;此外,測(cè)試流程自動(dòng)化管理可以使機(jī)構(gòu)的測(cè)試活動(dòng)開展更加過程化,這很符合CMMI過程改進(jìn)的思想;實(shí)施自動(dòng)化測(cè)試之前需要對(duì)軟件開發(fā)過程進(jìn)行分析,以觀察其是否適合使用自動(dòng)化測(cè)試,通常需要同時(shí)滿足以下條件: l1) 軟件需求變動(dòng)不頻繁。 ;l2) 項(xiàng)目周期足夠長。 ;l3) 自動(dòng)
5、化測(cè)試腳本可重復(fù)使用。 通常適合于軟件測(cè)試自動(dòng)化的場(chǎng)合: l(1)回歸測(cè)試,重復(fù)單一的數(shù)據(jù)錄入或是擊鍵等測(cè)試操作造成了不必要的時(shí)間浪費(fèi)和人力浪費(fèi); l(2)此外測(cè)試人員對(duì)程序的理解和對(duì)設(shè)計(jì)文檔的驗(yàn)證通常也要借助于測(cè)試自動(dòng)化工具; l(3)采用自動(dòng)化測(cè)試工具有利于測(cè)試報(bào)告文檔的生成和版本的連貫性; l(4)自動(dòng)化工具能夠確定測(cè)試用例的覆蓋路徑,確定測(cè)試用例集對(duì)程序邏輯流程和控制流程的覆蓋;自動(dòng)化測(cè)試過程自動(dòng)化測(cè)試過程自動(dòng)化測(cè)試過程:與軟件開發(fā)過程從本質(zhì)上來講是一樣的,利用自動(dòng)化測(cè)試工具(相當(dāng)于軟件開發(fā)工具),經(jīng)過對(duì)測(cè)試需求的分析(軟件過程中的需求分析),設(shè)計(jì)出自動(dòng)化測(cè)試用例(軟件過程中的需求規(guī)格
6、),從而搭建自動(dòng)化測(cè)試的框架(軟件過程中的概要設(shè)計(jì)),設(shè)計(jì)與編寫自動(dòng)化腳本(詳細(xì)設(shè)計(jì)與編碼),測(cè)試腳本的正確性,從而完成該套測(cè)試腳本(即主要功能為測(cè)試的應(yīng)用軟件)l1)自動(dòng)化測(cè)試需求分析 測(cè)試需求說明書l2)測(cè)試計(jì)劃確定自動(dòng)化測(cè)試的范圍以及相應(yīng)的測(cè)試用例、測(cè)試數(shù)據(jù),并形成詳細(xì)的文檔;l3)自動(dòng)化測(cè)試框架的搭建確定自動(dòng)化測(cè)試框架需要調(diào)用哪些文件、結(jié)構(gòu),調(diào)用的過程,以及文件結(jié)構(gòu)如何劃分;l4) 測(cè)試用例設(shè)計(jì)編寫測(cè)試用例或開發(fā)測(cè)試腳本;l5) 測(cè)試調(diào)試測(cè)試(針對(duì)自動(dòng)化測(cè)試腳本);l6)評(píng)估評(píng)估測(cè)試結(jié)果并改進(jìn)測(cè)試過程;自動(dòng)化測(cè)試框架自動(dòng)化測(cè)試框架:由一個(gè)或多個(gè)自動(dòng)化測(cè)試基礎(chǔ)模塊、自動(dòng)化測(cè)試管理模塊、自
7、動(dòng)化測(cè)試統(tǒng)計(jì)模塊等組成的工具集合。定義了在使用該套腳本時(shí)需要調(diào)用哪些文件、結(jié)構(gòu),調(diào)用的過程,以及文件結(jié)構(gòu)如何劃分等;測(cè)試框架的典型要素:l公用的對(duì)象;不同的測(cè)試用例具有的一些可被重復(fù)使用的相同的對(duì)象;l公用的環(huán)境;獨(dú)立封裝可重復(fù)使用的測(cè)試環(huán)境;l公用的方法;經(jīng)常重復(fù)使用獨(dú)立編寫的方法;l測(cè)試數(shù)據(jù);多個(gè)測(cè)試數(shù)據(jù)放在一個(gè)獨(dú)立的文件中由測(cè)試用例執(zhí)行時(shí)讀取到;自動(dòng)化測(cè)試框架的其他定義:l一套自動(dòng)化測(cè)試管理系統(tǒng)被稱之為測(cè)試框架;l一個(gè)自動(dòng)化測(cè)試工具被冠以關(guān)鍵字驅(qū)動(dòng)框架之名;l一段程序也被聲稱其實(shí)現(xiàn)了數(shù)據(jù)驅(qū)動(dòng)的框架;l自動(dòng)化測(cè)試框架猶如盲人摸象中的那頭大象一樣,有人說它是一個(gè)軟件,只不過它的功能是測(cè)試另外
8、一個(gè)軟件,有人認(rèn)為它是一套流程和規(guī)范;l所謂“自動(dòng)化測(cè)試框架”這個(gè)概念只是一個(gè)封裝了很多東西的盒子,這個(gè)盒子的外觀和形狀對(duì)我們來說無關(guān)緊要,我們最更關(guān)心怎樣構(gòu)建一個(gè)高效務(wù)實(shí)的自動(dòng)化測(cè)試解決方案。STAF自動(dòng)化測(cè)試框架Software Test Automation Framework (STAF) :一個(gè)開源的、跨平臺(tái)、支持多語言的自動(dòng)化測(cè)試框架,它是基于可重用的組件來構(gòu)建的;基于 RFT 和 STAF 進(jìn)行的無需人工干預(yù)的跨平臺(tái)自動(dòng)化回歸測(cè)試;在拿到新版本的軟件之后自動(dòng)觸發(fā)回歸測(cè)試,自動(dòng)記錄執(zhí)行結(jié)果 , 并且發(fā)送通知;自動(dòng)觸發(fā)回歸測(cè)試 定時(shí)檢測(cè)服務(wù)器端的軟件版本,一旦檢測(cè)到服務(wù)器端已經(jīng)上載完
9、全的新版本的軟件,就可以調(diào)用 STAF 的信號(hào)量服務(wù)來觸發(fā)自動(dòng)回歸測(cè)試;自動(dòng)發(fā)送測(cè)試結(jié)果 在執(zhí)行完回歸測(cè)試的自動(dòng)腳本并且將結(jié)果記入數(shù)據(jù)庫之后,在將結(jié)果傳回 STAF 服務(wù)器的同時(shí),還可以發(fā)送郵件將測(cè)試結(jié)果通知給相關(guān)人員;STAF測(cè)試流程圖自動(dòng)化測(cè)試流程圖RFT功能自動(dòng)化測(cè)試本質(zhì)對(duì)象識(shí)別:從開發(fā)的角度看,lGUI 通常都是基于某一 GUI 開發(fā)庫(SWT/SWING/AWT),這些庫通常是按照面向?qū)ο蟮姆绞竭M(jìn)行建模的,它將每一個(gè) GUI 元素映射成該庫中某一個(gè)類的對(duì)象;從測(cè)試的角度看,l所有的 GUI 元素,無論基于何種 GUI 庫,都被 RFT 映射成對(duì)象,RFT 提供一個(gè)對(duì)象模型框架管理各種
10、 GUI 元素;驗(yàn)證點(diǎn):在RFT中,驗(yàn)證點(diǎn)是腳本(Script)中非常重要的組成部分,它完成對(duì)被測(cè)試程序生成的實(shí)際數(shù)據(jù)和期望數(shù)據(jù)的比較,并將比較結(jié)果寫入日志。一般情況下,測(cè)試的結(jié)果是通過對(duì)驗(yàn)證點(diǎn)的執(zhí)行而得到的;靜態(tài)驗(yàn)證點(diǎn)(Static Verification Point)RFT功能自動(dòng)化測(cè)試本質(zhì)數(shù)據(jù)驅(qū)動(dòng):用一個(gè)數(shù)據(jù)文件把測(cè)試腳本驅(qū)動(dòng)起來,來達(dá)到更接近用戶化更智能的測(cè)試其目的是把測(cè)試人員從維護(hù)復(fù)雜的腳本程序中解放出來,只需維護(hù)好數(shù)據(jù)文件即可,減少了很多修改腳本的麻煩; 關(guān)鍵字驅(qū)動(dòng):l1)界面元素名與測(cè)試內(nèi)部對(duì)象名的分離;l2)測(cè)試描述與具體實(shí)現(xiàn)細(xì)節(jié)的分離;l3)腳本與數(shù)據(jù)的分離;RFT對(duì)象識(shí)別
11、從開發(fā)的角度看,lGUI 通常都是基于某一 GUI 開發(fā)庫(SWT/SWING/AWT),這些庫通常是按照面向?qū)ο蟮姆绞竭M(jìn)行建模的,它將每一個(gè) GUI 元素映射成該庫中某一個(gè)類的對(duì)象;從測(cè)試的角度看,l所有的 GUI 元素,無論基于何種 GUI 庫,都被 RFT 映射成對(duì)象,RFT 提供一個(gè)對(duì)象模型框架管理各種 GUI 元素;RFT 對(duì)象識(shí)別:基于 RFT 的自動(dòng)化測(cè)試,都會(huì)采用 IBM 推薦的 ITCL 框架。在這個(gè)框架下,所有的腳本被劃分為三個(gè)層次:對(duì)象層,任務(wù)層,用例層。對(duì)象識(shí)別就是在 RFT 的對(duì)象模型框架下,得到被測(cè)程序的 GUI 對(duì)象。它是對(duì)象層開發(fā)中最核心的任務(wù)。常用的 RFT
12、的對(duì)象識(shí)別技術(shù):l可以分為兩大類:靜態(tài)識(shí)別與動(dòng)態(tài)識(shí)別。l動(dòng)態(tài)和靜態(tài)方法各有優(yōu)缺點(diǎn),l靜態(tài)方法識(shí)別效率高、開發(fā)成本比較低,但是腳本的可維護(hù)性比較差;l而動(dòng)態(tài)方法剛好相反;常用的對(duì)象識(shí)別技術(shù):l可以識(shí)別出大部分的 GUI 元素,但有時(shí)也會(huì)遇到 RFT 無法識(shí)別的 GUI 元素,事實(shí)上識(shí)別這類用常用對(duì)象識(shí)別技術(shù)無法識(shí)別的 GUI 元素占用了 RFT 腳本開發(fā)的大部分時(shí)間,不同的對(duì)象識(shí)別技術(shù):lIWindow 接口用于識(shí)別 windows 標(biāo)準(zhǔn)控件;lInvoke 方法用于識(shí)別應(yīng)用程序定制的 GUI 控件;RFT對(duì)象識(shí)別使用 RFT 經(jīng)常聽到的一個(gè)謬論就是 RFT 只能測(cè)試基于 java 的 GUI
13、程序,對(duì)于 C/C+ 或者 windows 標(biāo)準(zhǔn)控件,RFT 無法識(shí)別。事實(shí)上,RFT 提供了 IWindow 接口用于識(shí)別平臺(tái)相關(guān)的控件;IWindow 接口介紹:IWindow 接口也繼承自 IGraphical 接口,從這點(diǎn)看,IWindow 接口具有與 GuiTestObject 類似的功能。使用 IWindow 接口能夠識(shí)別平臺(tái)相關(guān)的 GUI 控件,但是其接口函數(shù)的具體實(shí)現(xiàn)與平臺(tái)相關(guān),windows 與 linux 上的實(shí)現(xiàn)就不一樣;Invoke 方法介紹:在進(jìn)行 GUI 自動(dòng)化測(cè)試時(shí),一個(gè)經(jīng)常遇到的問題就是如何測(cè)試開發(fā)者定制的控件?通常一組定制的控件,是作為一個(gè)整體被 RFT 識(shí)別
14、出來,可以對(duì)這個(gè)整體作一些操作,但是如何識(shí)別出每一個(gè)具體的定制控件呢?可以使用 TestObject 類提供的方法:Invoke 函數(shù)。Invoke 方法類似于 java 中的反射機(jī)制,它可以在運(yùn)行時(shí)而不是編譯時(shí)調(diào)用函數(shù)。通俗地說,在 RFT 中,它可以根據(jù)字符串來調(diào)用相應(yīng)的函數(shù)。這使得不僅可以調(diào)用某些確定的方法(如 GuiTestObject 的方法),還可以主動(dòng)查詢定制控件本身提供的方法,大大加強(qiáng)了對(duì)象識(shí)別能力。AutoIt 介紹 :AutoIt 是一種在 windows 平臺(tái)上,針對(duì) C/C+ 以及 windows 標(biāo)準(zhǔn)控件的,免費(fèi)、開源的自動(dòng)化管理工具。AutoIt 本身有一種非常簡單
15、的腳本語言,這種腳本語言類于 Basic,并且其腳本可以直接轉(zhuǎn)化為可執(zhí)行程序且不依賴于任何庫。事實(shí)上,AutoIt 的這些功能,RFT 提供的 IWindow 接口也能夠完成,但 AutoIt 具有更高的效率;驗(yàn)證點(diǎn)在RFT中,驗(yàn)證點(diǎn)是腳本(Script)中非常重要的組成部分,它完成對(duì)被測(cè)試程序生成的實(shí)際數(shù)據(jù)和期望數(shù)據(jù)的比較,并將比較結(jié)果寫入日志。一般情況下,測(cè)試的結(jié)果是通過對(duì)驗(yàn)證點(diǎn)的執(zhí)行而得到的;靜態(tài)驗(yàn)證點(diǎn)(Static Verification Point):l靜態(tài)驗(yàn)證點(diǎn)是在錄制(Record)RFT腳本的過程中通過向?qū)Р迦氲尿?yàn)證點(diǎn),它在腳本回放(Playback)的過程中自動(dòng)被驗(yàn)證;以錄
16、制-回放(Record-Playback)模式使用RFT進(jìn)行圖形界面(GUI)的自動(dòng)化回歸測(cè)試(Regression Test),較常用的是靜態(tài)驗(yàn)證點(diǎn)。手動(dòng)驗(yàn)證點(diǎn)(Manual Verification Point):l如果驗(yàn)證點(diǎn)所要驗(yàn)證的內(nèi)容是由腳本開發(fā)人員在腳本中所提供的,則需要建立手動(dòng)驗(yàn)證點(diǎn)對(duì)其進(jìn)行驗(yàn)證。例如待驗(yàn)證數(shù)據(jù)來自外部數(shù)據(jù)源的情況,腳本開發(fā)人員需將數(shù)據(jù)讀取后以參數(shù)的形式顯式傳給驗(yàn)證點(diǎn);非圖形化界面存在的大量的用戶自定義類型對(duì)象,這些被測(cè)試對(duì)象并不能在錄制過程中被插入對(duì)象映射表(ObjectMap)中,也就是不能使用靜態(tài)驗(yàn)證點(diǎn)來進(jìn)行驗(yàn)證,這就需要我們使用手動(dòng)驗(yàn)證點(diǎn)來比較它們。動(dòng)態(tài)驗(yàn)
17、證點(diǎn)(Dynamic Verification Point):l動(dòng)態(tài)驗(yàn)證點(diǎn)用來處理普通驗(yàn)證點(diǎn)的期望值隨著輸入?yún)?shù)不同而發(fā)生變化的情況,可以再在驗(yàn)證點(diǎn)中使用正則表達(dá)式或使用數(shù)據(jù)驅(qū)動(dòng)的方法建立動(dòng)態(tài)驗(yàn)證點(diǎn)。動(dòng)態(tài)驗(yàn)證點(diǎn)是在腳本首次回放時(shí)建立的,驗(yàn)證點(diǎn)一旦建立,其行為就和靜態(tài)驗(yàn)證點(diǎn)相同了。驗(yàn)證點(diǎn)動(dòng)態(tài)實(shí)現(xiàn)驗(yàn)證點(diǎn)測(cè)試的基本思路:首先測(cè)試人員可以將被測(cè)試控件和預(yù)期結(jié)果分別配置在兩個(gè)文件中。因?yàn)閹缀趺總€(gè)被測(cè)試的控件通常都和某些特征標(biāo)簽文本相鄰,我們只需要在文件中清楚地配置出這種相對(duì)位置關(guān)系即可。在運(yùn)行的時(shí)候,主程序會(huì)讀取這兩個(gè)配置文件,并在測(cè)試對(duì)象樹上面搜索被測(cè)試控件。一旦搜索到該控件,則從該控件的屬性集合中取
18、出對(duì)應(yīng)的屬性值,和配置文件中的預(yù)期結(jié)果進(jìn)行比對(duì),最終得以判斷該校驗(yàn)點(diǎn)是否通過;動(dòng)態(tài)驗(yàn)證點(diǎn)用來處理普通驗(yàn)證點(diǎn)的期望值隨著輸入?yún)?shù)不同而發(fā)生變化的情況。靜態(tài)方法和動(dòng)態(tài)方法對(duì)比:JAVA語言基礎(chǔ) 了解一些基本的java語言概念對(duì)較好的掌握RFT有很大的幫助。面向?qū)ο蟮木幊陶Z言 利用類和對(duì)象將問題的數(shù)據(jù)和操作封裝起來,并用標(biāo)準(zhǔn)接口與外界交互,使代表客觀世界實(shí)體的各種類在程序中能獨(dú)立和繼承;抽象 抽象是從眾多的事物中抽取出共同的、本質(zhì)性的特征,而舍棄其非本質(zhì)的特征。抽象的角度取決于分析問題的目的;對(duì)編程者來講,重要的是理解現(xiàn)實(shí)系統(tǒng)如何抽象轉(zhuǎn)化為軟件系統(tǒng);在編程階段,通過抽象找出各種類,再對(duì)各種類之間的消
19、息進(jìn)行收集和處理,把問題分解為許多標(biāo)準(zhǔn)接口 的構(gòu)件,當(dāng)問題有變化時(shí)通過解除和更換現(xiàn)實(shí)軟件的某些構(gòu)件代碼來適應(yīng)變化。封裝 將抽象得到的數(shù)據(jù)和行為(或功能)相結(jié)合,形成一個(gè)有機(jī)的整體,也就是將數(shù)據(jù)與操作數(shù)據(jù)的源代碼進(jìn)行有機(jī)的結(jié)合,形成“類”,通過一個(gè)公用接口和消息與其他對(duì)象通信;通過封裝使一部分成員(修飾符public等)充當(dāng)類與外部的接口,而將其他的成員隱蔽起來,這樣就達(dá)到了對(duì)成員訪問權(quán)限的合理控制,使不同類之間的相互影響減少到最低限度,進(jìn)而增強(qiáng)數(shù)據(jù)的安全性和簡化程序的編寫工作。程序封裝的最小單位“類”;繼承 子類的派生過程稱為類的繼承,繼承是抽象分層管理的實(shí)現(xiàn)機(jī)制;繼承允許一個(gè)新類包含另一個(gè)已
20、有類的狀態(tài)和行為;多態(tài) 允許一個(gè)類中有多個(gè)同名方法,但方法的具體實(shí)現(xiàn)卻不同的機(jī)制; 方法的重載(復(fù)雜的多態(tài))/方法的覆蓋(簡單的多態(tài))JAVA語言基礎(chǔ)類、對(duì)象與實(shí)例 類是對(duì)具有相同特性對(duì)象的封裝組合,是java程序的基本單位;類是對(duì)象的抽象; 對(duì)象是類的實(shí)例;對(duì)象與實(shí)例是兩個(gè)同義詞;類聲明及修飾符 public/abstract/final extends/implements成員變量及修飾符l成員變量定義了類的特性,修飾符說明使用該變量的權(quán)限和規(guī)則;lpublic/protected/private/static/成員方法及修飾符l成員方法定義了類的操作;lpublic/protected/
21、private/static/abstract/native/synchronized/finall返回類型及參數(shù)列表;對(duì)象的主要屬性l狀態(tài)和行為是對(duì)象的主要屬性;l對(duì)象的狀態(tài)用變量表示,又稱為對(duì)象的靜態(tài)屬性;l對(duì)象的 行為用方法表示,又稱為對(duì)象的動(dòng)態(tài)屬性;包 包是java語言對(duì)一組相關(guān)的類,接口和子包進(jìn)行封裝的機(jī)制;java利用包來管理類名空間,有利于類和接口的安全擴(kuò)展和引用,包是有唯一命名的類的集合;JAVA語言基礎(chǔ)接口: 為了實(shí)現(xiàn)多繼承并簡化其復(fù)雜性,其主要功能有,l不管類的層次,不同的類可以有相同的接口,接口只聲明方法,但并不實(shí)現(xiàn)任何方法;l一個(gè)類可實(shí)現(xiàn)許多接口,但只有同一個(gè)父類;l接
22、口不僅是抽象類,其用途遠(yuǎn)勝于抽象類;u當(dāng)用一個(gè)類去實(shí)現(xiàn)接口時(shí),該類必須實(shí)現(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存儲(chǔ)一系列同類型數(shù)據(jù)元素的一種數(shù)據(jù)結(jié)構(gòu);l一維數(shù)組聲明:type arrayName ;type arrayName;l創(chuàng)建一維數(shù)組語法:arrayName = new typearraySize;異常l為了盡量減少因程序出錯(cuò)而停止運(yùn)行,java語言提供了異常機(jī)制;
23、l為那些可預(yù)料和非預(yù)料的異常提供統(tǒng)一的程序出口;l將異常情況在方法調(diào)用中進(jìn)行傳遞,將異常情況傳遞到合適的位置再進(jìn)行處理;配置RFT測(cè)試環(huán)境RFTRFT的安裝的安裝操作平臺(tái)(操作平臺(tái)(vmwarevmware虛擬機(jī)平臺(tái)):虛擬機(jī)平臺(tái)):一款功能強(qiáng)大的桌面虛擬計(jì)算機(jī)軟件,提供用戶可在單一的一款功能強(qiáng)大的桌面虛擬計(jì)算機(jī)軟件,提供用戶可在單一的桌面上同時(shí)運(yùn)行桌面上同時(shí)運(yùn)行 不同的操作系統(tǒng),和進(jìn)行開發(fā)、測(cè)試不同的操作系統(tǒng),和進(jìn)行開發(fā)、測(cè)試 、部署新的應(yīng)用程序的最佳解決方案。、部署新的應(yīng)用程序的最佳解決方案。VMware VMware Workstation Workstation 可在一部實(shí)體機(jī)器上模擬
24、完整的網(wǎng)絡(luò)環(huán)境,以及可便于攜帶的虛擬機(jī)器,其更好的靈活性可在一部實(shí)體機(jī)器上模擬完整的網(wǎng)絡(luò)環(huán)境,以及可便于攜帶的虛擬機(jī)器,其更好的靈活性與先進(jìn)的技術(shù)勝過了市面上其他的虛擬計(jì)算機(jī)軟件。與先進(jìn)的技術(shù)勝過了市面上其他的虛擬計(jì)算機(jī)軟件。操作系統(tǒng):操作系統(tǒng):在在vmwarevmware虛擬機(jī)安裝虛擬機(jī)安裝winxpwinxp操作系統(tǒng);操作系統(tǒng);集成開發(fā)環(huán)境:集成開發(fā)環(huán)境:EclipseEclipse;著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(;著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(IDEIDE)。本身只是一個(gè)框架平臺(tái),但)。本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得是眾多插件的支持使得EclipseEclipse擁有其
25、他功能相對(duì)固定的擁有其他功能相對(duì)固定的IDEIDE軟件很難具有的靈活性。軟件很難具有的靈活性。lEclipseEclipse的基礎(chǔ)是富客戶機(jī)平臺(tái)(的基礎(chǔ)是富客戶機(jī)平臺(tái)(Rich Client Platform, Rich Client Platform, 即即RCPRCP)。)。lEclipseEclipse采用的技術(shù)是采用的技術(shù)是IBMIBM公司開發(fā)的(公司開發(fā)的(SWTSWT),這是一種基于),這是一種基于JavaJava的窗口組件,類似的窗口組件,類似JavaJava本身提供的本身提供的AWTAWT和和SwingSwing窗口組件;窗口組件;lEclipseEclipse的插件機(jī)制是輕型
26、軟件組件化架構(gòu)的插件機(jī)制是輕型軟件組件化架構(gòu)lEclipseEclipse的思想是:一切設(shè)計(jì)皆插件。的思想是:一切設(shè)計(jì)皆插件。EclipseEclipse核心很小,其它所有功能都以插件的形式附加于核心很小,其它所有功能都以插件的形式附加于EclipseEclipse核核心之上心之上JavaJava開發(fā)環(huán)境(開發(fā)環(huán)境(JDKJDK): :java Development kitjava Development kit(簡稱(簡稱JDKJDK),),RFTRFT安裝包自帶,一般不需另外安裝;安裝包自帶,一般不需另外安裝;lJDK JDK 是整個(gè)是整個(gè)JavaJava的核心,包括了的核心,包括了Ja
27、vaJava運(yùn)行環(huán)境,運(yùn)行環(huán)境,JavaJava工具和工具和JavaJava基礎(chǔ)的類庫?;A(chǔ)的類庫。lJDKJDK版本:版本: SE(J2SE) SE(J2SE),standard editionstandard edition;標(biāo)準(zhǔn)版;標(biāo)準(zhǔn)版; EE(J2EE) EE(J2EE),enterprise editionenterprise edition;企業(yè)版;企業(yè)版ME(J2ME)ME(J2ME),micro editionmicro edition;調(diào)整視圖及相關(guān)配置啟動(dòng)RFT運(yùn)行環(huán)境:雙擊“java scripting”;調(diào)整視圖(幾個(gè)重要的視圖):Functional test項(xiàng)目視
28、圖:默認(rèn)視圖;l點(diǎn)擊 Window Open Perspective Other,來打開 Functional Test 視圖。l在 Open 視圖中,選擇 Functional Test ,然后點(diǎn)擊 OK,Open 視角窗口調(diào)整視圖及相關(guān)配置腳本資源管理器視圖;l在 RFT 中,對(duì) SWT 原生態(tài)控件的識(shí)別是通過測(cè)試對(duì)象映射來實(shí)現(xiàn)的。當(dāng)用戶創(chuàng)建一個(gè) Functional Test 腳本后,在腳本資源管理器視圖中就會(huì)出現(xiàn)與這個(gè)腳本相關(guān)的測(cè)試資源。而這個(gè)腳本專用的測(cè)試對(duì)象映射就包含在測(cè)試對(duì)象文件夾下面,如下圖所示。l圖 1. 腳本資源管理器視圖l除了腳本資源管理器,用戶還可以從“腳本”菜單中打開
29、測(cè)試對(duì)象映射。雙擊打開專用測(cè)試對(duì)象映射,在“測(cè)試對(duì)象”菜單中點(diǎn)擊“插入對(duì)象”,得到對(duì)象查找器。調(diào)整視圖及相關(guān)配置Java編輯器;lFunctional Tester 的 Java Development Tooling (JDT)提供了一個(gè)編輯器,使用它能夠使用 Java 語言進(jìn)行測(cè)試腳本的編輯。這個(gè)編輯器有以下特性:l語法突出表示:幫助查找和編輯腳本中的不同元素。不同的語法元素(比如,注釋、關(guān)鍵字和內(nèi)建類型等)使用不同的顏色進(jìn)行突出表示,這樣能夠使更容易的查看和編輯腳本。 l內(nèi)容(代碼)助手:當(dāng)輸入某些代碼片斷時(shí),內(nèi)容(代碼)助手自動(dòng)幫助完成代碼。在想要自動(dòng)完成代碼的地方按住鍵。下圖中的一個(gè)
30、列表顯示出來,可以在列表中選擇需要的選項(xiàng)。l代碼格式化:當(dāng)正在編輯一個(gè)腳本時(shí),這個(gè)特性可以通過上下文菜單得到。右鍵點(diǎn)擊想要格式化的代碼,以顯示上下文菜單。能夠通過窗口首選項(xiàng)Java 代碼格式器來設(shè)置代碼格式化的配置。l文本提示:當(dāng)將鼠標(biāo)光標(biāo)放到一個(gè)對(duì)象或者方法上時(shí),將會(huì)顯示出這個(gè)對(duì)象的屬性或者方法被定義在哪個(gè)Java包中。l顯示所有/顯示部分源碼:能夠隱藏需要看到的腳本部分??梢酝ㄟ^點(diǎn)擊代碼左側(cè)的下拉箭頭來顯示和隱藏某些代碼部分。l導(dǎo)入助手:能夠通過導(dǎo)入向?qū)韺⒏鞣N外部的資源導(dǎo)入到選定的項(xiàng)目中。調(diào)整視圖及相關(guān)配置Java編輯器;l集成開發(fā)環(huán)境l可以使用 Java 編輯器來編輯一個(gè)腳本。l正在編
31、輯的腳本的名字出現(xiàn)在編輯器窗口頂端的標(biāo)簽頁上。名字左邊的星號(hào)(*)代表這個(gè)腳本已經(jīng)被修改但沒被保存。 l能夠在Java編輯器中同時(shí)打開多個(gè)腳本,然后通過點(diǎn)擊標(biāo)簽頁在這些腳本間進(jìn)行切換。 l如果腳本存在問題,一個(gè)問題標(biāo)記將出現(xiàn)在有問題的代碼行上。 l右鍵點(diǎn)擊 Java 編輯器將顯示能夠幫助編輯腳本的菜單。 l問題視圖將顯示錯(cuò)誤、警告和其他被編譯器自動(dòng)產(chǎn)生的信息。l為了打開問題視圖,點(diǎn)擊Test 透視圖中的問題標(biāo)簽,或者點(diǎn)擊窗口顯示視圖基本問題。 當(dāng)雙擊問題視圖中的某一個(gè)問題項(xiàng)時(shí),F(xiàn)unctional Tester 將定位到這個(gè)問題在腳本中的代碼行上。 缺省情況下,問題視圖顯示所有的項(xiàng)目中的問題,
32、可以通過點(diǎn)擊過濾器按鈕來應(yīng)用一個(gè)過濾器。 能夠在腳本中使用一些方法(命令)來控制回放選項(xiàng)(參數(shù)設(shè)置):lgetOption 返回當(dāng)前的一個(gè)選項(xiàng)的設(shè)置值。 lsetOption 為一個(gè)選項(xiàng)指定值。 lresetOption 重置一個(gè)選項(xiàng)的值到它的缺省值。 調(diào)整視圖及相關(guān)配置Java編輯器; Functional Tester 測(cè)試腳本的類層次結(jié)構(gòu)lRational TestScript 提供了基礎(chǔ)的功能,它是所有Functional Tester測(cè)試腳本的根層次。每一個(gè)測(cè)試腳本都從這個(gè)類擴(kuò)展而來,例如,能夠重載缺省的事件處理器(event handler)來提供自己的應(yīng)用程序特定的事件處理器。
33、lhelper super 類 (可選的)提供了對(duì)基礎(chǔ)級(jí)別方法的重載的支持。 lscript helper 類 提供了為訪問測(cè)試對(duì)象和驗(yàn)證點(diǎn)特定的腳本方法。這些特定腳本的方法簡化了腳本命令并改進(jìn)了Functional Tester 腳本的可讀性。但是不應(yīng)該去編輯 script helper 類。 lFunctional Tester script包含了被錄制的或者腳本化的命令,這些命令構(gòu)成了一個(gè)特定的功能測(cè)試。能夠通過與Functional Tester項(xiàng)目相關(guān)聯(lián)的模板文件定制 Functional Tester script 類和 script helper 類的格式調(diào)整視圖及相關(guān)配置Jav
34、a編輯器; Functional Tester 腳本包含的內(nèi)容:l一個(gè) Functional Tester 腳本是一個(gè)由 Java 語句組成的文本文件,它是由Functional Tester 在錄制腳本過程中生成的,并且可以向其中手工添加語句。當(dāng)測(cè)試腳本被回放時(shí),F(xiàn)unctional Tester 通過執(zhí)行腳本中的語句來重現(xiàn)功能測(cè)試的動(dòng)作。l一個(gè)Functional Tester 腳本包括四個(gè)主要的語句分類:l由RationalTestScript 繼承的方法,比如,startApp() 和logTestResult()。 l在測(cè)試對(duì)象上調(diào)用的方法,比如Click()或者 Drag()。 l
35、執(zhí)行驗(yàn)證點(diǎn)的語句。 l任何需要的但沒有被Functional Tester 生成的 Java 代碼。 搭建RFT層次結(jié)構(gòu)新建一個(gè)“functional test項(xiàng)目”;新建一個(gè)“測(cè)試文件夾”(同java包的定義);新建一個(gè)“測(cè)試數(shù)據(jù)池”(數(shù)據(jù)驅(qū)動(dòng));新建一個(gè)“測(cè)試對(duì)象映射”(對(duì)象地圖);新建一個(gè)“幫助程序超類”(幫助父類,可繼承);新建一個(gè)“空的functional test腳本”;簡化的腳本編制:lSimplified Scripts就是以一種更簡單的自然語言來描述Script腳本,以這種方式創(chuàng)建的腳本在視圖中有Script和Java兩種編輯模式。這種方式一個(gè)最直接的缺點(diǎn)就是project視
36、圖中不顯示script.java文件,而是script.rftss,如果直接在工具欄點(diǎn)擊運(yùn)行按鈕運(yùn)行腳本,腳本內(nèi)容會(huì)被自動(dòng)修改,無法運(yùn)行。但是可以通過以下兩種方式來繼續(xù)運(yùn)行:lproject視圖中右鍵單擊想要執(zhí)行的腳本,點(diǎn)擊run;l 對(duì)script做改動(dòng)后不要保存,直接按工具欄按鈕run,彈出是否要保存的對(duì)話框,點(diǎn)擊是確認(rèn)保存即可成功運(yùn)行,腳本也不會(huì)被修改。l如果想要取消該功能,菜單欄-Windows-Preferences-Functional Test -Simplified Scripting 取消選擇。如果想要對(duì)已經(jīng)enable Simplified Scripts的腳本取消該功能,
37、在RFT視圖中Discconnect 項(xiàng)目,然后刪除*.rftss文件,重新鏈接項(xiàng)目到RFT視圖即可。配置RFT系統(tǒng)參數(shù)啟用“web瀏覽器”;啟用“java環(huán)境”;啟用“Eclipse平臺(tái)”;配置RFT應(yīng)用程序添加“html應(yīng)用程序”;添加“名稱”;添加“url地址”;添加“瀏覽器”;記錄/回放RFT線性腳本 線性腳本:錄制手工執(zhí)行的測(cè)試用例得到的腳本。這種腳本包含所有用戶的鍵盤和鼠標(biāo)輸入。線性腳本有以下的優(yōu)點(diǎn): l1、不需要深入的工作或計(jì)劃l2、可以加快開始自動(dòng)化l3、對(duì)實(shí)際執(zhí)行操作可以審計(jì)跟蹤l4、用戶不必是編程人員l5、提供良好的(軟件或工具)的演示線性腳本適用于以下情況:l1、演示或培
38、訓(xùn)l2、執(zhí)行量較少,且環(huán)境變化小的測(cè)試l3、數(shù)據(jù)轉(zhuǎn)換,如將數(shù)據(jù)從Notes數(shù)據(jù)庫中轉(zhuǎn)換到EXCEL表格中線性腳本有以下缺點(diǎn):l1、過程繁瑣l2、一切依賴于每次捕獲的內(nèi)容l3、測(cè)試輸入和比較是“捆綁”在腳本中的l4、無共享或重用腳本l5、線性腳本容易受軟件變化的影響l6、線性腳本修改代價(jià)大,維護(hù)成本高l7、非常容易受意外事件的影響,引起整個(gè)測(cè)試失敗記錄/回放RFT線性腳本記錄functional test腳本;設(shè)置腳本名稱;設(shè)置“測(cè)試對(duì)象映射”;設(shè)置“幫助程序超類”;設(shè)置“測(cè)試數(shù)據(jù)池”;設(shè)置“數(shù)據(jù)池記錄選擇順序”;選擇啟動(dòng)應(yīng)用程序;記錄/回放RFT線性腳本記錄操作過程;暫停記錄;插入驗(yàn)證點(diǎn)或操作
39、命令;插入數(shù)據(jù)驅(qū)動(dòng)的命令;插入腳本支持命令;顯示幫助;顯示監(jiān)視器;停止記錄;編輯回放腳本;日志日志:在腳本回放結(jié)束時(shí),能夠在日志中查看結(jié)果。結(jié)果包括任何被記錄的事件,比如日志:在腳本回放結(jié)束時(shí),能夠在日志中查看結(jié)果。結(jié)果包括任何被記錄的事件,比如驗(yàn)證點(diǎn)失敗、腳本異常、對(duì)象識(shí)別警告和其他任何回放的信息驗(yàn)證點(diǎn)失敗、腳本異常、對(duì)象識(shí)別警告和其他任何回放的信息; ;日志類型lText - Text - 在在Functional Test Functional Test 腳本窗口以腳本窗口以 ASCII ASCII 的格式顯示日志的格式顯示日志; ;lHTML - HTML - 以以 HTML HTML
40、 格式在的缺省瀏覽器中顯示日志格式在的缺省瀏覽器中顯示日志; ;lTest Manager - Test Manager - 在在 Test Manager Test Manager 的測(cè)試日志窗口顯示的測(cè)試日志窗口顯示 Functional Test Functional Test 日志信息日志信息; ;日志參數(shù)設(shè)置l1. 在Functional Test 中,點(diǎn)擊 窗口 首先項(xiàng)。l2. 在首選項(xiàng)的左側(cè)區(qū)域展開Functional Test,展開 回放,并點(diǎn)擊 日志記錄。l3. 選擇腳本回放后顯示日志查看器選項(xiàng)使測(cè)試回放后日志被自動(dòng)的打開。l4. 選擇任何其他的日志選項(xiàng)。日志查看日志中的結(jié)果
41、l為了查看 Functional Test 日志,完成下面的日志參數(shù)設(shè)置:l1. 在Functional Test 中,點(diǎn)擊 窗口 首先項(xiàng)。l2. 在首選項(xiàng)的左側(cè)區(qū)域展開Functional Test,展開 回放,并點(diǎn)擊 日志記錄。l3. 選擇腳本回放后顯示日志查看器選項(xiàng)使測(cè)試回放后日志被自動(dòng)的打開。l4. 選擇任何其他的日志選項(xiàng)。l5. 在日志類型列表中設(shè)定查看參數(shù):lA. 為了不使用 Test Manager 查看日志,清除使用缺省值檢查框,并選擇Text 或 HTML。lB. 為了從 Test Manager 的測(cè)試日志視圖查看日志,選擇 Test Manager(如果Test Mana
42、ger被安裝這是缺省的行為)。Test Manager 將這些日志作為 Rational 項(xiàng)目的一部分存儲(chǔ),并在測(cè)試日志窗口中打開日志。l6. 點(diǎn)擊應(yīng)用來保存新的設(shè)置,并繼續(xù)改變其他的選項(xiàng),或者點(diǎn)擊確定,保存新的設(shè)置并關(guān)閉首先項(xiàng)對(duì)話框。驗(yàn)證點(diǎn)比較器驗(yàn)證點(diǎn)比較器被用來在回放帶有驗(yàn)證點(diǎn)的腳本后驗(yàn)證驗(yàn)證點(diǎn)的數(shù)據(jù),并更新基線文件。如果驗(yàn)證點(diǎn)失敗,比較器將顯示出期望值和實(shí)際值,因此能夠分析他們之間的不同。然后,能夠加載基線文件,并編輯它或者使用來自實(shí)際的數(shù)據(jù)值更新基線文件; 驗(yàn)證點(diǎn)比較器的窗口和工具欄 :l測(cè)試對(duì)象(Test Objects);這是驗(yàn)證點(diǎn)比較器窗口左上方的區(qū)域。他是腳本的對(duì)象地圖的一個(gè)部分版本。這個(gè)層次結(jié)果僅僅包括你的驗(yàn)證點(diǎn)中的對(duì)象。l識(shí)別數(shù)據(jù) (Recognition Data);這是比較器窗口左下方的一個(gè)區(qū)域。識(shí)別(Recognition)標(biāo)簽顯示了被Functio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 用電設(shè)備智能化檢測(cè)技術(shù)在企業(yè)中的實(shí)施效果
- 2025年度講師培訓(xùn)品牌合作推廣合同
- 電商平臺(tái)用戶體驗(yàn)的持續(xù)優(yōu)化策略
- 生產(chǎn)線效率提升與資源調(diào)度分析
- 生產(chǎn)現(xiàn)場(chǎng)5S管理提升員工素質(zhì)的途徑
- 現(xiàn)代城市雕塑與夜間光影藝術(shù)的結(jié)合
- 現(xiàn)代商業(yè)環(huán)境下的心理調(diào)適與中醫(yī)養(yǎng)生法
- 現(xiàn)代農(nóng)業(yè)裝備技術(shù)教育與創(chuàng)新培訓(xùn)案例
- 2025年度建筑泥工工程勞務(wù)及綠色建筑認(rèn)證服務(wù)合同
- 湘教版數(shù)學(xué)九年級(jí)下冊(cè)《2.2.3圓周角定理的推論》聽評(píng)課記錄
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫含答案解析
- 2023年高一物理期末考試卷(人教版)
- 2023版押品考試題庫必考點(diǎn)含答案
- 植物之歌觀后感
- 空氣能熱泵安裝示意圖
- 建筑工程施工質(zhì)量驗(yàn)收規(guī)范檢驗(yàn)批填寫全套表格示范填寫與說明
- 2020年中秋國慶假日文化旅游市場(chǎng)安全生產(chǎn)檢查表
- 辦公家具項(xiàng)目實(shí)施方案、供貨方案
- 七年級(jí)英語下冊(cè)閱讀理解10篇
- 節(jié)后開工收心會(huì)
- 設(shè)計(jì)質(zhì)量、進(jìn)度保證措施
評(píng)論
0/150
提交評(píng)論