最新RFT軟件功能自動(dòng)化測(cè)試入門_第1頁
最新RFT軟件功能自動(dòng)化測(cè)試入門_第2頁
最新RFT軟件功能自動(dòng)化測(cè)試入門_第3頁
最新RFT軟件功能自動(dòng)化測(cè)試入門_第4頁
最新RFT軟件功能自動(dòng)化測(cè)試入門_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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: (簡(jiǎn)稱rft)是rational軟件公司(現(xiàn)在rational公司被ibm并購(gòu),是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)目周期足夠長(zhǎ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ù)庫(kù)之后,在將結(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ā)庫(kù)(swt/swing/awt),這些庫(kù)通常是按照面向?qū)ο蟮姆绞竭M(jìn)行建模的,它將每一個(gè) gui 元素映射成該庫(kù)中某一個(gè)類的對(duì)象;從測(cè)試的角度看,l所有的 gui 元素,無論基于何種 gui 庫(kù),都被 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ā)庫(kù)(swt/swing/awt),這些庫(kù)通常是按照面向?qū)ο蟮姆绞竭M(jìn)行建模的,它將每一個(gè) gui 元素映射成該庫(kù)中某一個(gè)類的對(duì)象;從測(cè)試的角度看,l所有的 gui 元素,無論基于何種 gui 庫(kù),都被 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 本身有一種非常簡(jiǎn)單

15、的腳本語言,這種腳本語言類于 basic,并且其腳本可以直接轉(zhuǎn)化為可執(zhí)行程序且不依賴于任何庫(kù)。事實(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ù)的安全性和簡(jiǎn)化程序的編寫工作。程序封裝的最小單位“類”;繼承 子類的派生過程稱為類的繼承,繼承是抽象分層管理的實(shí)現(xiàn)機(jī)制;繼承允許一個(gè)新類包含另一個(gè)已

20、有類的狀態(tài)和行為;多態(tài) 允許一個(gè)類中有多個(gè)同名方法,但方法的具體實(shí)現(xiàn)卻不同的機(jī)制; 方法的重載(復(fù)雜的多態(tài))/方法的覆蓋(簡(jiǎn)單的多態(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)多繼承并簡(jiǎ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(簡(jiǎn)稱(簡(jiǎn)稱jdkjdk),),rftrft安裝包自帶,一般不需另外安裝;安裝包自帶,一般不需另外安裝;ljdk jdk 是整個(gè)是整個(gè)javajava的核心,包括了的核心,包括了ja

27、vajava運(yùn)行環(huán)境,運(yùn)行環(huán)境,javajava工具和工具和javajava基礎(chǔ)的類庫(kù)?;A(chǔ)的類庫(kù)。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除了腳本資源管理器,用戶還可以從“腳本”菜單中打開測(cè)試

29、對(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í),functional 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)用程序特定的事件處理器。 lh

33、elper super 類 (可選的)提供了對(duì)基礎(chǔ)級(jí)別方法的重載的支持。 lscript helper 類 提供了為訪問測(cè)試對(duì)象和驗(yàn)證點(diǎn)特定的腳本方法。這些特定腳本的方法簡(jiǎ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)配置java編

34、輯器; functional tester 腳本包含的內(nèi)容:l一個(gè) functional tester 腳本是一個(gè)由 java 語句組成的文本文件,它是由functional tester 在錄制腳本過程中生成的,并且可以向其中手工添加語句。當(dāng)測(cè)試腳本被回放時(shí),functional tester 通過執(zhí)行腳本中的語句來重現(xiàn)功能測(cè)試的動(dòng)作。l一個(gè)functional tester 腳本包括四個(gè)主要的語句分類:l由rationaltestscript 繼承的方法,比如,startapp() 和logtestresult()。 l在測(cè)試對(duì)象上調(diào)用的方法,比如click()或者 drag()。 l執(zhí)行

35、驗(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腳本”;簡(jiǎn)化的腳本編制:lsimplified scripts就是以一種更簡(jiǎn)單的自然語言來描述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的腳本取消該功能,在r

37、ft視圖中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、演示或培訓(xùn)l

38、2、執(zhí)行量較少,且環(huán)境變化小的測(cè)試l3、數(shù)據(jù)轉(zhuǎn)換,如將數(shù)據(jù)從notes數(shù)據(jù)庫(kù)中轉(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é)果l為

41、了查看 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 manage

42、r被安裝這是缺省的行為)。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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論