久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 千鋒軟件測(cè)試培訓(xùn)技術(shù)分享:數(shù)據(jù)驅(qū)動(dòng)和關(guān)鍵字驅(qū)動(dòng)

千鋒軟件測(cè)試培訓(xùn)技術(shù)分享:數(shù)據(jù)驅(qū)動(dòng)和關(guān)鍵字驅(qū)動(dòng)

來源:千鋒教育
發(fā)布人:千鋒老師
時(shí)間: 2018-12-10 13:58:00 1544421480

  初學(xué)者應(yīng)該如何理解自動(dòng)化測(cè)試數(shù)據(jù)驅(qū)動(dòng)與關(guān)鍵字驅(qū)動(dòng)的區(qū)別?本文將由千鋒教育軟件測(cè)試培訓(xùn)老師給大家分享一下。

  一、關(guān)鍵字驅(qū)動(dòng)KDT(Keyword-driven testing)

  1、自動(dòng)化測(cè)試框架發(fā)展的第三個(gè)階段是關(guān)鍵字驅(qū)動(dòng)測(cè)試框架階段,它是當(dāng)前比較流行的一種框架之一,并且現(xiàn)在的自動(dòng)化測(cè)試工具已經(jīng)將關(guān)鍵字驅(qū)動(dòng)框架融入到工具中。在錄制過程中自動(dòng)化測(cè)試工具會(huì)將對(duì)象及操作屬性保存到對(duì)象庫中。

  2、關(guān)鍵字驅(qū)動(dòng)測(cè)試是數(shù)據(jù)驅(qū)動(dòng)測(cè)試的一種改進(jìn)類型, 用關(guān)鍵字的形式將測(cè)試邏輯封裝在數(shù)據(jù)文件中,測(cè)試工具只要能夠解釋這些關(guān)鍵字即可對(duì)其應(yīng)用自動(dòng)化。

  以某工具自帶的飛機(jī)訂票系統(tǒng)為例,錄制完成后的每個(gè)測(cè)試步驟主要有三個(gè)元素組成:

  Item:指對(duì)象名,可以是一個(gè)窗口、按鈕等;

  Operation:指要執(zhí)行的動(dòng)作,如Select、Click等;

  Value:操作動(dòng)作所輸入的數(shù)據(jù)值;

  錄制其登錄過程,生成的代碼如下:

  Dialog("Login").WinEdit("Agent Name:").Set "test"

  Dialog("Login").WinEdit("Password:").SetSecure

  Dialog("Login").WinButton("OK").Click

  這是以關(guān)鍵驅(qū)動(dòng)的方式生成的代碼,關(guān)鍵字驅(qū)動(dòng)測(cè)試最核心的是關(guān)鍵字表格。以飛機(jī)訂票系統(tǒng)的登錄為例,其關(guān)鍵字表格見表:

圖片1

  關(guān)鍵字驅(qū)動(dòng)的思路是將關(guān)鍵字表中的對(duì)象及數(shù)據(jù)提取出來并構(gòu)造成每個(gè)測(cè)試步驟,如步驟:Dialog("Login").WinEdit("Agent Name:").Set "test"。需要將關(guān)鍵字表中的對(duì)象、屬性及輸入的數(shù)據(jù)讀取出來,將它們構(gòu)造同以上格式的代碼步驟,通過這種方式來實(shí)現(xiàn)關(guān)鍵字驅(qū)動(dòng)的功能。

  下面是調(diào)試好的一個(gè)的關(guān)鍵字驅(qū)動(dòng)的框架,代碼如下:

  —————————————————————————————————

  ''

  ' 工程名:關(guān)鍵字驅(qū)動(dòng)

  '

  ' 方法:

  ' GetExcelCells —————讀取單元格中的值

  ' GetExcleSheetRowsCount—————獲取關(guān)鍵字驅(qū)動(dòng)表中的行數(shù)

  ' oParentObject—————構(gòu)造父對(duì)象

  ' oChildObject—————構(gòu)造子對(duì)象

  ' oEventObject —————對(duì)對(duì)象屬性賦值

  '

  '———————————————————————————————————

  ''

  ' 函數(shù)名:GetExcelCells

  '

  ' 參數(shù):

  ' ExcelPath —————關(guān)鍵字驅(qū)動(dòng)表的路徑

  ' SheetName—————關(guān)鍵字驅(qū)動(dòng)表的sheet名

  ' SheetRow—————單元格中的行

  ' SheetColumn—————單元格中的列

  3、 在關(guān)鍵字驅(qū)動(dòng)框架里,你可以創(chuàng)建一些關(guān)鍵字以及相關(guān)聯(lián)的一些方法和函數(shù)。然后你創(chuàng)建一個(gè)函數(shù)庫,它里面包含一個(gè)讀取關(guān)鍵字的邏輯,然后調(diào)用相關(guān)的動(dòng)作。

  關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試(也稱為表驅(qū)動(dòng)測(cè)試自動(dòng)化),是數(shù)據(jù)驅(qū)動(dòng)自動(dòng)化測(cè)試的變種,可支持由不同序列或多個(gè)不同路徑組成的測(cè)試。它是一種獨(dú)立于應(yīng)用程序的自動(dòng)化框架,在處理自動(dòng)化測(cè)試的同時(shí)也要適合手工測(cè)試。關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試框架建立在數(shù)據(jù)驅(qū)動(dòng)手段之上,表中包含指令(關(guān)鍵詞),而不只是數(shù)據(jù)。這些測(cè)試被開發(fā)成使用關(guān)鍵字的數(shù)據(jù)表,它們獨(dú)立于執(zhí)行測(cè)試的自動(dòng)化工具。關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試是對(duì)數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試的有效改進(jìn)和補(bǔ)充。

  這種自動(dòng)化測(cè)試的模型主要由核心數(shù)據(jù)驅(qū)動(dòng)引擎、組件函數(shù)、支持庫和應(yīng)用映射表組成。自動(dòng)化測(cè)試首先由初始腳本開始執(zhí)行,這個(gè)腳本把高層測(cè)試表傳遞給高層驅(qū)動(dòng)器,高層驅(qū)動(dòng)器在處理這些表的過程中,遇到中層測(cè)試表后就調(diào)用中層驅(qū)動(dòng)器,中層驅(qū)動(dòng)器處理中層表時(shí)也作類似的處理。當(dāng)?shù)蛯域?qū)動(dòng)器處理低層表時(shí),它嘗試著使應(yīng)用與測(cè)試保持同步。當(dāng)?shù)蛯域?qū)動(dòng)器遇到對(duì)某一個(gè)組件的低層關(guān)鍵字組件時(shí),它判斷這個(gè)組件的類型并調(diào)用相應(yīng)的組件函數(shù)模塊來處理這個(gè)指令操作。所有這些元素都要依靠映射表中的信息,它是自動(dòng)化測(cè)試模型和被測(cè)應(yīng)用程序的橋梁。支持庫主要完成一些文件處理,日志記錄和郵件發(fā)送等等的功能。

  二、數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架

  什么是數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架

  數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架是這樣的一個(gè)框架,從某個(gè)數(shù)據(jù)文件(例如ODBC源文件、Excel文件、Csv文件、ADO對(duì)象文件等)中讀取輸入、輸出的測(cè)試數(shù)據(jù),然后通過變量傳入事先錄制好的或手工編寫的測(cè)試腳本中。其中,這些變量被用作傳遞(輸入/輸出)用來驗(yàn)證應(yīng)用程序的測(cè)試數(shù)據(jù)。在這個(gè)過程中,數(shù)據(jù)文件的讀取、測(cè)試狀態(tài)和所有測(cè)試信息都被編寫進(jìn)測(cè)試腳本里;測(cè)試數(shù)據(jù)只包含在數(shù)據(jù)文件中,而不是腳本里,測(cè)試腳本只是一個(gè)“驅(qū)動(dòng)”,或者說是一個(gè)傳送數(shù)據(jù)的機(jī)制。

  數(shù)據(jù)驅(qū)動(dòng)腳本

  數(shù)據(jù)驅(qū)動(dòng)腳本就是那些和應(yīng)用程序相關(guān)聯(lián)的腳本。這些腳本通過錄制或手工編寫寫進(jìn)自動(dòng)化工具私有的語言,然后對(duì)其中的變量賦予合適的數(shù)值,作為測(cè)試數(shù)據(jù)的輸入。這些變量作為一些關(guān)鍵應(yīng)用程序輸入的媒介,使腳本能通過外部的數(shù)據(jù)來驅(qū)動(dòng)應(yīng)用程序。

  可變數(shù)據(jù),硬編碼組件標(biāo)志

  這些數(shù)據(jù)驅(qū)動(dòng)的腳本經(jīng)常包含硬編碼的數(shù)據(jù),有時(shí)是一些窗口組件中非常脆弱的識(shí)別字符串。出現(xiàn)這種情況時(shí),腳本很容易由于程序的更改而失去作用。

  高度技術(shù)化的、重復(fù)的測(cè)試設(shè)計(jì)

  數(shù)據(jù)驅(qū)動(dòng)腳本的另一個(gè)共同特點(diǎn)就是,所有在測(cè)試設(shè)計(jì)上所作的努力最終都體現(xiàn)在自動(dòng)化工具的腳本語言中,或者復(fù)制到手工和自動(dòng)化測(cè)試腳本中。這意味著每個(gè)和自動(dòng)化測(cè)試開發(fā)或執(zhí)行有關(guān)的人必須對(duì)測(cè)試環(huán)境和自動(dòng)化工具的編程語言非常精通。

  優(yōu)點(diǎn)與缺點(diǎn)

  1) 優(yōu)點(diǎn): ①在應(yīng)用程序開發(fā)的同時(shí)就可以同步建立測(cè)試腳本,而且當(dāng)應(yīng)用功能變動(dòng)時(shí),只需要修改業(yè)務(wù)功能部分的腳本;②利用模型化的設(shè)計(jì),避免重復(fù)的腳本,減少建立或維護(hù)腳本的成本;③測(cè)試輸入數(shù)據(jù),驗(yàn)證數(shù)據(jù)和預(yù)期的測(cè)試結(jié)果與腳本分開,存放在另外的數(shù)據(jù)文件里,利于測(cè)試人員修改和維護(hù);④透過判斷功能回傳值是“True”或“False”,可作錯(cuò)誤處理,增加了測(cè)試腳本的健壯性;⑤自動(dòng)化測(cè)試開發(fā)人員創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)的測(cè)試過程,測(cè)試員創(chuàng)建測(cè)試數(shù)據(jù);⑥在測(cè)試的過程中收集測(cè)試結(jié)果,并在輸入數(shù)據(jù)的語境中表示測(cè)試結(jié)果,這樣可以簡化手工結(jié)果分析。

  2) 缺點(diǎn): ①對(duì)自動(dòng)化測(cè)試工具里的腳本語言必須非常精通;②每個(gè)腳本都會(huì)對(duì)應(yīng)多個(gè)數(shù)據(jù)文件,這些數(shù)據(jù)文件需要根據(jù)腳本的功能類別存放在各自的目錄中,增加了使用的復(fù)雜性;③測(cè)試人員除了需要根據(jù)具體測(cè)試數(shù)據(jù)維護(hù)相應(yīng)的測(cè)試計(jì)劃,還要將這些數(shù)據(jù)寫入各個(gè)需求不同的數(shù)據(jù)文件中;④在編輯數(shù)據(jù)文件時(shí),必須注意測(cè)試腳本所要求的傳輸格式,否則會(huì)在處理腳本時(shí)產(chǎn)生錯(cuò)誤。如由專門的技術(shù)人員對(duì)其進(jìn)行維護(hù),依賴于數(shù)據(jù)驅(qū)動(dòng)腳本的自動(dòng)化測(cè)試框架實(shí)現(xiàn)起來更簡單、快捷。但是,維護(hù)工作困難,而且還需要保持這種數(shù)據(jù)驅(qū)動(dòng)的模式,這樣,即便長時(shí)間的維持也會(huì)導(dǎo)致失敗。

  學(xué)習(xí)軟件測(cè)試,可以參考千鋒提供的軟件測(cè)試學(xué)習(xí)路線,內(nèi)容包含軟件測(cè)試環(huán)境配置與管理,數(shù)據(jù)庫測(cè)試技術(shù),軟件測(cè)試編程技術(shù),應(yīng)用程序測(cè)試技術(shù),互聯(lián)網(wǎng)/移動(dòng)互聯(lián)網(wǎng)測(cè)試技術(shù)等,根據(jù)千鋒軟件測(cè)試培訓(xùn)機(jī)構(gòu)提供的學(xué)習(xí)路線圖,可以讓你對(duì)學(xué)好軟件測(cè)試需要掌握的知識(shí)有個(gè)清晰的了解,并能快速入門軟件測(cè)試

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
云原生存儲(chǔ)和云存儲(chǔ)有什么區(qū)別?

一、架構(gòu)設(shè)計(jì)不同云原生存儲(chǔ)是指在云原生環(huán)境下設(shè)計(jì)和構(gòu)建的存儲(chǔ)系統(tǒng)。它是基于云原生計(jì)算模式和原則進(jìn)行設(shè)計(jì),充分利用容器、微服務(wù)和自動(dòng)化管...詳情>>

2023-10-14 06:50:34
如何刪除需要使用管理員權(quán)限才能刪除的文件?

如何刪除需要使用管理員權(quán)限才能刪除的文件在Windows系統(tǒng)中,有時(shí)候我們可能會(huì)遇到一些需要管理員權(quán)限才能刪除的文件。這是因?yàn)檫@些文件可能是...詳情>>

2023-10-14 06:27:57
有什么好用的redis可視化管理工具?

一、Redis Desk較好 ManagerRedis Desk較好 Manager是一款非常受歡迎的Redis數(shù)據(jù)庫管理工具。它支持直接進(jìn)行數(shù)據(jù)修改、刪除和新增等操作,而且...詳情>>

2023-10-14 06:24:43
市場上C++主要是用來做什么的?

C++是一種廣泛應(yīng)用于市場上的編程語言,具有高性能和強(qiáng)大的功能。它的設(shè)計(jì)目標(biāo)是提供高效的底層控制和與硬件交互的能力,同時(shí)保持可移植性和可...詳情>>

2023-10-14 06:01:51
為什么說PHP與Swoole是優(yōu)異組合?

PHP與Swoole在Web開發(fā)和網(wǎng)絡(luò)編程領(lǐng)域中,共同構(gòu)成了一種強(qiáng)大的解決方案。什么是PHPPHP是一種廣泛使用的開源服務(wù)器端腳本語言,特別適用于Web開...詳情>>

2023-10-14 05:08:41
快速通道