




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、輕量級(jí)自動(dòng)化測(cè)試框架QTP BasediSoftStone Information Service Corporation Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.目錄問題描述解決方案 框架圖示 數(shù)據(jù)的組織 驅(qū)動(dòng)的邏輯 優(yōu)勢(shì)和缺點(diǎn)參考資料問題描述Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.問題描述前段時(shí)間,完成了一些自動(dòng)化測(cè)試的工作,發(fā)現(xiàn)了幾個(gè)問題:腳本文件過大經(jīng)過檢查分析,主要是兩方面原因?qū)е?,一是?duì)象庫(kù)的文件,默認(rèn)生成得每個(gè)
2、空的對(duì)象庫(kù)文件為192K,這樣一個(gè)空的QTP腳本文件就至少需要192K*2=384K的空間(Action0和Action1),如果分割的Action多的話,占用的空間就更多。二是Excel的文件,同樣由于分割A(yù)ction,每個(gè)Action需要使用一個(gè)獨(dú)立的Sheet,包括腳本中調(diào)用的Action,這個(gè)在復(fù)雜的腳本中,表現(xiàn)得更加明顯,往往一個(gè)貸款發(fā)放的腳本會(huì)占用34M空間。文件數(shù)量過多一個(gè)最簡(jiǎn)單的QTP腳本,共有4個(gè)文件夾,13個(gè)文件,當(dāng)分割A(yù)ction較多時(shí),文件數(shù)與Action的個(gè)數(shù)呈正比上升。Confidential 2008 iSoftStone Holdings Ltd. All Ri
3、ghts Reserved.問題描述這兩個(gè)問題,直接導(dǎo)致最終完成的工程文件達(dá)到700800M,文件數(shù)以萬計(jì)。這還只包括了信貸與結(jié)算的主要業(yè)務(wù)。而其中真正有用的腳本,全部用文本來存儲(chǔ)的話,不會(huì)超過10M。使用Action復(fù)用的方式帶來了維護(hù)、轉(zhuǎn)移、版本的巨大困難。解決方案Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.解決方案概述用VBS的Function代替QTP腳本中的Action。不使用Action復(fù)用,而使用Function的加載和調(diào)用。直接減少Q(mào)TP腳本的數(shù)量。使用單一的QTP腳本入口。這樣整個(gè)工程中,就只有
4、一個(gè)QTP腳本,其他的都是VBS文件,并且沒有了過多的Excel文件。確保冗余文件達(dá)到最少。數(shù)據(jù)文件統(tǒng)一維護(hù)。將所有腳本需要用到的測(cè)試數(shù)據(jù)統(tǒng)一放到一個(gè)或多個(gè)Excel文件中,方便了維護(hù),同時(shí)也減少了Excel文件的數(shù)量。Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.框架圖示Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.框架說明采用了(TestCase - Task)的模塊化設(shè)計(jì)思想,業(yè)務(wù)數(shù)據(jù)驅(qū)動(dòng)腳本的指導(dǎo)思想??蚣懿]有太多的新意,對(duì)A
5、UT測(cè)試對(duì)象的處理,全部交給測(cè)試工具和Script去處理,框架只處理業(yè)務(wù)層面的測(cè)試數(shù)據(jù)。當(dāng)頁面元素是動(dòng)態(tài)生成,或者寫得不規(guī)范時(shí),Web對(duì)象的識(shí)別是困難的,而且用Excel表格來記錄一個(gè)個(gè)的Web對(duì)象,亦不見得實(shí)用。因此,對(duì)于Web對(duì)象的識(shí)別就全部放到腳本中去處理。幸好QTP提供的功能足以勝任這個(gè)工作。框架中,最核心的可能是Driver腳本,但是在整個(gè)測(cè)試中,最核心的不是Driver,不是Script,而是業(yè)務(wù)測(cè)試數(shù)據(jù)。孤立的來看自動(dòng)化測(cè)試框架,是沒有任何意義的。什么樣的測(cè)試用例,決定什么樣的框架。Confidential 2008 iSoftStone Holdings Ltd. All Ri
6、ghts Reserved.體系結(jié)構(gòu)Test Set驅(qū)動(dòng)腳本驅(qū)動(dòng)腳本 初始化 解析Test Set的數(shù)據(jù)文件 調(diào)用TestCase驅(qū)動(dòng)腳本,向它傳遞測(cè)試用例的文件名 如果有必要,調(diào)用框架所必需的庫(kù)函數(shù)TestCase驅(qū)動(dòng)腳本驅(qū)動(dòng)腳本 解析TestCase的數(shù)據(jù)文件 根據(jù)TestCase的解析結(jié)果,加載測(cè)試腳本,加載測(cè)試數(shù)據(jù) 根據(jù)TestCase的內(nèi)容,調(diào)用Task的測(cè)試腳本,并且把測(cè)試數(shù)據(jù)的集合傳遞給測(cè)試腳本 如果有必要,調(diào)用框架所必需的庫(kù)函數(shù)Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.體系結(jié)構(gòu)Task測(cè)試腳本測(cè)
7、試腳本 執(zhí)行指定的任務(wù)(如輸入數(shù)據(jù),點(diǎn)擊按鈕等) 生成日志,以及測(cè)試報(bào)告 如果需要?jiǎng)t調(diào)用用戶自定義庫(kù)函數(shù)庫(kù)函數(shù)庫(kù)函數(shù) 一般的和具體應(yīng)用程序的函數(shù)可以被調(diào)用,以執(zhí)行指定的任務(wù)。Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.框架的存儲(chǔ)結(jié)構(gòu)Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.框架的存儲(chǔ)結(jié)構(gòu)Project文件夾,整個(gè)工程的最高一級(jí)目錄,名稱可以修改。Driver目錄,這個(gè)是QuickTest的腳本文件,整個(gè)框架的入口。這個(gè)腳本包含了t
8、estSet和testcase的驅(qū)動(dòng)腳本。frameUtil目錄,存放用來支持框架的一些函數(shù)庫(kù)。logs目錄,存放腳本運(yùn)行日志testData目錄,存放測(cè)試用例以及測(cè)試數(shù)據(jù)的Excel文件testScript目錄,存放task腳本,全部存儲(chǔ)為vbs文件。driver.vbs文件,使用了QTP的automation object model,也是整個(gè)框架的入口??梢灾苯訄?zhí)行該vbs腳本,因此可以做成Windows的自動(dòng)任務(wù),在指定時(shí)間點(diǎn)執(zhí)行。testData和testScript目錄下的內(nèi)容,是真正需要開發(fā)的。Confidential 2008 iSoftStone Holdings Ltd.
9、All Rights Reserved.數(shù)據(jù)的組織Test SetTestCaseTest DataTest DataConfidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.Test Set 數(shù)據(jù)文件Test Set數(shù)據(jù)文件是用來管理測(cè)試用例文件的,在這里,扮演了TD的管理測(cè)試用例和腳本的角色。很顯然,這個(gè)數(shù)據(jù)文件沒有TD的功能強(qiáng)大,不能體現(xiàn)測(cè)試用例對(duì)需求的覆蓋,沒有測(cè)試用例之間的樹形結(jié)構(gòu)但是作為一個(gè)輕量級(jí)的測(cè)試框架,只要能夠記錄、管理50100個(gè)測(cè)試用例文件,就暫時(shí)夠用了。IDX:index,“”表示該行數(shù)據(jù)有效,“x”表
10、示該行數(shù)據(jù)無效。主要是考慮到Excel直接面對(duì)人,用0,1來標(biāo)識(shí)有效無效,很不直觀。name:測(cè)試用例的名字,用中文標(biāo)示即可,這個(gè)字段只是讓人看起來比較直觀,并不會(huì)被用到。table:這個(gè)字段非常重要,它指向測(cè)試用例所在的Excel的文件名??梢詭Ш缶Y,也可以不帶后綴。不需要指定文件所在的路徑。sheet:表示測(cè)試用例在Excel文件的Sheet名稱。如果不填寫的話,默認(rèn)為第一個(gè)Sheet??紤]到有些測(cè)試用例極其復(fù)雜,僅僅使用Excel形式的測(cè)試用例是遠(yuǎn)遠(yuǎn)不能實(shí)現(xiàn)其復(fù)雜的邏輯,也可以把測(cè)試用例寫成vbs文件,直接執(zhí)行該vbs腳本。目前暫未實(shí)現(xiàn)。Confidential 2008 iSoftSt
11、one Holdings Ltd. All Rights Reserved.TestCase數(shù)據(jù)文件TestCase數(shù)據(jù)文件中記錄的就是測(cè)試用例,只要不是太過于復(fù)雜的測(cè)試流程,都可以直接寫在Excel文件中,當(dāng)然,需要符合一定的規(guī)范,很顯然,這離自然語言還是有一定的距離 。這種形式比較適合step-by-step的測(cè)試用例,并且粒度比較粗,減少了測(cè)試用例的步驟數(shù)。IDX:index,“”表示該行數(shù)據(jù)有效,“x”表示該行數(shù)據(jù)無效。bizName:被測(cè)試的業(yè)務(wù)的名稱,比如說“銀行收款”這個(gè)業(yè)務(wù)。事實(shí)上,這個(gè)名稱需要與存儲(chǔ)改業(yè)務(wù)的task腳本的名稱保持一致,而且需要與task腳本中定義的class的
12、名稱也保持一致。在沒有做名稱的中英文對(duì)照字典之前,bizName最好使用英文名,所以最好使用“collection”,而不是“銀行收款”。taskName:task的名稱,原子業(yè)務(wù)的名稱,比如新增、修改、刪除等。這個(gè)名稱與task腳本中定義的各個(gè)Function的名稱應(yīng)該保持一致。同樣,暫時(shí)也最好不要使用中文。Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.TestCase數(shù)據(jù)文件bizDataTable:測(cè)試數(shù)據(jù)所在的Excel的Sheet名稱。比如說進(jìn)行登陸操作時(shí),需要輸入用戶名和密碼等數(shù)據(jù),這些數(shù)據(jù)單獨(dú)放在某個(gè)
13、Excel文件中的某個(gè)Sheet中,把這個(gè)Sheet的名稱寫到bizDataTable這個(gè)字段中即可,框架會(huì)自動(dòng)去加載這個(gè)Sheet中的所有數(shù)據(jù)。filter:測(cè)試數(shù)據(jù)的過濾條件??赡軠?zhǔn)備的測(cè)試數(shù)據(jù)比較多,但是在當(dāng)前這一個(gè)step中,只需要執(zhí)行某一條或幾條數(shù)據(jù),就可以使用filter這個(gè)條件。比如說,登陸時(shí),想用錯(cuò)誤的用戶名和密碼來登陸,那么可以這樣寫:用戶類型=baduser。當(dāng)然“用戶類型”是測(cè)試數(shù)據(jù)所在Excel表格中定義過了的字段。老實(shí)說,在這次完成的框架中,只有filter這個(gè)想法,覺得有點(diǎn)意思。感謝提出這個(gè)需求的同事。Confidential 2008 iSoftStone Hol
14、dings Ltd. All Rights Reserved.Test data數(shù)據(jù)文件Test data數(shù)據(jù)文件,用來存放測(cè)試數(shù)據(jù)。沒有區(qū)分輸入數(shù)據(jù)、驗(yàn)證數(shù)據(jù)、以及輸出數(shù)據(jù),總之,只要是測(cè)試過程中,需要用到的數(shù)據(jù),都一古腦的做成一行,放到這個(gè)文件中。一是覺得這樣在設(shè)計(jì)測(cè)試數(shù)據(jù)時(shí),比較方便和直觀,二是也沒有更好的設(shè)計(jì)思想。對(duì)業(yè)務(wù)的驗(yàn)證,按照設(shè)想,是通過日志文件和測(cè)試報(bào)告來體現(xiàn)的。所以把驗(yàn)證數(shù)據(jù)與輸入數(shù)據(jù)放到一起,亦不會(huì)有太大的不妥。Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.數(shù)據(jù)文件總結(jié)基于把測(cè)試設(shè)計(jì)和腳本開發(fā)分
15、開的思路,設(shè)計(jì)了這三個(gè)Excel表格。測(cè)試設(shè)計(jì)時(shí),主要是設(shè)計(jì)testcase和test data這兩個(gè)Excel表格。畢竟,這才是自動(dòng)化測(cè)試最核心的價(jià)值所在。腳本寫得再完美,沒有好的測(cè)試設(shè)計(jì)、測(cè)試數(shù)據(jù),對(duì)測(cè)試本身并不會(huì)有太大的幫助。因此,希望盡可能把這些Excel表格做得更易用。所謂的框架,就是把這3個(gè)Excel表格串起來的東西。Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.驅(qū)動(dòng)腳本的邏輯Test Set 驅(qū)動(dòng)腳本偽碼TestCase 驅(qū)動(dòng)腳本偽碼Task 腳本說明Confidential 2008 iSoftSt
16、one Holdings Ltd. All Rights Reserved.Test Set 驅(qū)動(dòng)腳本偽碼將test set數(shù)據(jù)所在的整個(gè)Sheet加載到QuickTest的Runtime Table中。檢查test set數(shù)據(jù)文件中一共有多少行記錄需要執(zhí)行。讀取一行數(shù)據(jù)。如果該行的IDX的值為“”,那么調(diào)用執(zhí)行TestCase驅(qū)動(dòng)腳本,并且把測(cè)試用例所在的Excel文件名和Sheet名作為參數(shù)傳給TestCase腳本。轉(zhuǎn)向第3步,直到所有數(shù)據(jù)被執(zhí)行完畢。刪除加載到Runtime Table中的所有數(shù)據(jù)。Confidential 2008 iSoftStone Holdings Ltd. Al
17、l Rights Reserved.TestCase 驅(qū)動(dòng)腳本偽碼將TestCase所在的Sheet加載到QuickTest的RunTime Table中。檢查TestCase數(shù)據(jù)文件中一共有多少行記錄需要執(zhí)行。遍歷整個(gè)Sheet,加載所有需要被用到的Task腳本:逐行讀取有效數(shù)據(jù)(IDX=“”),如果bizName的值所指向的Task腳本沒有被加載,那么加載之,直到所有數(shù)據(jù)被執(zhí)行完畢。遍歷整個(gè)Sheet,加載所有需要被用到的Test data數(shù)據(jù):逐行讀取有效數(shù)據(jù)(IDX=“”),如果bizDataTable的值所指向的Sheet(該Sheet的名稱應(yīng)該在本測(cè)試用例中是唯一的)沒有被加載到R
18、unTime Table中,那么加載之,直到所有數(shù)據(jù)被執(zhí)行完畢。獲取一行的測(cè)試步驟的數(shù)據(jù)。如果該行的IDX的值為“”,那么解析filter信息,形成條件語句。逐行讀取test data所在的Sheet,如果該行數(shù)據(jù)是滿足條件語句的,那么調(diào)用Task腳本,執(zhí)行對(duì)應(yīng)的操作。轉(zhuǎn)向第5步,直到所有數(shù)據(jù)被執(zhí)行完畢。刪除加載到Runtime Table中的所有Sheet。Confidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.Task 腳本說明Task 腳本的模板如下:Class collection 銀行收款-新增的taskFunction toInsert(Sheet_Name)Msgbox(DataTable(“序號(hào)”,Sheet_Name)End Function銀行收款-復(fù)核的taskFunction toCheck(Sheet_Name)Msgbox(DataTable(“序號(hào)”,Sheet_Name)End FunctionEnd ClassConfidential 2008 iSoftStone Holdings Ltd. All Rights Reserved.Task 腳本說明Task 腳本中,必須定義一個(gè)Class,這個(gè)Class的名稱應(yīng)該與文件的名稱保持一致。目的主要
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)產(chǎn)業(yè)園可行性分析報(bào)告
- 建筑給排水設(shè)計(jì)規(guī)范gb50015
- 商業(yè)街區(qū)商業(yè)規(guī)劃手冊(cè)
- 智能生產(chǎn)線設(shè)備維護(hù)指南
- 三農(nóng)文化傳播策略方案
- 重慶高新技術(shù)產(chǎn)業(yè)
- 開題可行性分析報(bào)告模板
- 醫(yī)療設(shè)備操作與使用說明手冊(cè)
- 農(nóng)業(yè)產(chǎn)業(yè)鏈協(xié)同發(fā)展方案
- 衛(wèi)星導(dǎo)航定位系統(tǒng)技術(shù)應(yīng)用文檔
- 關(guān)于優(yōu)化員工溝通渠道的通知
- 工藝品加工合同6篇
- 2025年第六屆全國(guó)國(guó)家版圖網(wǎng)絡(luò)知識(shí)競(jìng)賽題庫(kù)及答案(中小學(xué)組)
- 3《鴻門宴》課件 2024-2025學(xué)年統(tǒng)編版高一語文必修下冊(cè)
- 【新】部編人教版小學(xué)4四年級(jí)《道德與法治》下冊(cè)全冊(cè)教案
- 2025年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)審定版
- 安徽省六校2024-2025學(xué)年高三下學(xué)期2月素質(zhì)檢測(cè)考試生物學(xué)試題(含解析)
- 【道 法】做自信的人 課件-2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下冊(cè)
- 醫(yī)保電子憑證培訓(xùn)
- 施工現(xiàn)場(chǎng)交叉作業(yè)安全防護(hù)管理措施
- 特殊學(xué)生檔案
評(píng)論
0/150
提交評(píng)論