www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 測試測量 > 測試測量
[導讀]所謂自動化測試框架,是由一些假設(shè),概念和為自動化測試提供支持的實踐組成的集合。接下來將描述一下幾種比較常用的自動化測試框架:  1.錄制/回放的神話  每一家自動化測試工具廠商都會宣傳,他們的工具非常容易

所謂自動化測試框架,是由一些假設(shè),概念和為自動化測試提供支持的實踐組成的集合。接下來將描述一下幾種比較常用的自動化測試框架:

  1.錄制/回放的神話

  每一家自動化測試工具廠商都會宣傳,他們的工具非常容易使用,沒有技術(shù)背景的測試人員只要簡單錄制測試的操作過程,然后播放錄制好的測試腳本,就可以輕松自動化所有的測試。這樣的說法是非常不負責的。

  現(xiàn)在我們來分析一下自動化測試不能單單只依靠錄制/回放來完成的原因。

  通過錄制建立的腳本,基本上都是用腳本語言以硬編碼的方式編寫的,當應用程序變動時,這些硬編碼也隨之需要更改。因此,維護這些錄制好的腳本,成本是非常高的,高到幾乎不能接受。

  所有的測試腳本都必須是在應用程序可以正確執(zhí)行時才能錄制,如果在錄制過程中發(fā)現(xiàn)缺陷.測試人員必須向缺陷管理機制報告,等到該缺陷修正了,整個錄制腳本的動作才能繼續(xù)下去。在這樣的情況下,如果僅僅依靠錄制腳本來進行測試,效率是十分低下的。

  同時,這些錄制好的腳本不是非常可靠,甚至在應用程序完全沒有變動的情況下直接播放,也可能因為一些意外狀況而無法執(zhí)行。如果錄制腳本時測試人員使用了錯誤的腳本語言,則腳本就必須重新錄制。

  綜上所述,通過錄制的方式來建立自動化測試腳本的方式看似容易,但實際上會遇到下列問題:①測試人員大多不具備技術(shù)背景,難以完全掌握測試工具;②應用程序必須達到一定的穩(wěn)定性,才能開始錄制測試腳本;③錄制的測試腳本與測試數(shù)據(jù)耦合得太緊密;④維護自動化測試腳本的成本非常高。

  因此,僅僅依靠錄制/回放來完成自動化測試是遠遠不夠的,我們應找到一種能解決上述問題并能很好地執(zhí)行自動化測試的方法。

  2.數(shù)據(jù)驅(qū)動的自動化測試框架

  數(shù)據(jù)驅(qū)動的自動化測試是針對上述開發(fā)與測試之間緊密耦合問題提出的測試方法。通過建立測試與開發(fā)定義的軟件元數(shù)據(jù)的關(guān)聯(lián)——元數(shù)據(jù)映射表,在測試與開發(fā)之間建立松耦合關(guān)系。不論測試人員修改測試腳本,還是開發(fā)人員修改軟件,只需要修改元數(shù)據(jù)映射表,既可以滿足測試與開發(fā)同步進行。這樣,可以減少測試腳本調(diào)試的工作量,更好的實現(xiàn)自動化測試。

  ●什么是數(shù)據(jù)驅(qū)動的自動化測試框架

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

  ●數(shù)據(jù)驅(qū)動腳本

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

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

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

  2) 高度技術(shù)化的、重復的測試設(shè)計

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

  ●優(yōu)點與缺點

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

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

 

 

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

  關(guān)鍵字驅(qū)動的自動化測試的整個過程所包含的功能都是由關(guān)鍵字驅(qū)動的,關(guān)鍵字控制了整個測試過程。下面以“Post a Payment”為例,說明這種自動化測試方法是如何運作的(表1)。

  優(yōu)劣分析

  關(guān)鍵字驅(qū)動的自動化測試框架是一種截然不同的思想,它把傳統(tǒng)測試腳本中變化的與不變的東西進行了分離,這種分離使得分工更明確,并且避免了它們相互之間的影響。 這種模型的開發(fā)和實現(xiàn)與傳統(tǒng)的測試流程相比可能是困難的,最耗時的,因為,我們正在努力地將我們的測試和自動化工具以及應用程序本身的變化完全隔離開來。為了實現(xiàn)這個目標,最重要的是要增強自動化工具所提供的組件功能,例如,錯誤糾正、避免和數(shù)據(jù)同步。但是這樣的投資是一次性的,一旦開發(fā)結(jié)束并投入使用,它給我們帶來的效益是巨大的,是自動化測試框架中最容易維護和使用的,而且可以反復運用于各種應用中,長期發(fā)揮作用。

  另外,現(xiàn)在已經(jīng)有一些符合需求的商業(yè)化產(chǎn)品可供使用,減少了實現(xiàn)這種框架的困難。利用關(guān)鍵字驅(qū)動的自動化測試框架,測試人員不需要錄制測試腳本,而是設(shè)計測試腳本。

  4.混合的自動化測試框架

  結(jié)合以上幾種自動化測試框架的比較,目前最為成功的自動化測試框架應是綜合使用數(shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動的自動化測試框架:以數(shù)據(jù)驅(qū)動的腳本作為輸入,通過關(guān)鍵字驅(qū)動框架的處理得到測試結(jié)果,完成自動化測試過程。這樣可以使數(shù)據(jù)驅(qū)動的腳本利用關(guān)鍵字驅(qū)動框架通常所提供的庫和工具。這些框架工具可以使數(shù)據(jù)驅(qū)動的腳本更為緊湊,而且也不容易失敗。

  關(guān)鍵字驅(qū)動的自動化測試框架模型

  下面將介紹一種以關(guān)鍵字驅(qū)動自動化測試框架思想為指導的自動化測試實現(xiàn)方案——關(guān)鍵字驅(qū)動的自動化測試模型,它是由SAS Institute的Carl Nagle開發(fā)的。圖2描述了該測試模型的結(jié)構(gòu)。

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

  ●應用映射表

  應用映射表是自動化測試模型中最關(guān)鍵的組件之一。在進行測試設(shè)計之前,測試人員首先對應用中的每一個對象定義一套命名規(guī)范,并利用映射表把這些名字和自動化工具識別的對象名聯(lián)系起來,使工具能準確地定位和操縱對象。我們的測試腳本只需進行單點維護。在上面的例子中,如果按鈕的名字或顯示文字發(fā)生了變化,那么腳本中所有涉及這些名字的地方都要進行修改。如果我們建立這樣一個映射,用邏輯對象SavePushButton表示真實的確認保存的按鈕對象,那么這個例子就可以寫成“Click SavePushButton”。當按鈕的名字或顯示文字改變時,只需要快速修改一下映射表中對應的識別方法就可以了,而不用修改腳本(表2)

  ●組件函數(shù)

  組件函數(shù)是實現(xiàn)用戶對界面對象操作指令的函數(shù),一個組件對象的類型對應一個組件函數(shù)庫。例如對于一個文本框?qū)ο螅瑴y試人員可能會對它執(zhí)行多種操作:輸入文本、驗證文本框的值、驗證文本框的某些屬性等,實現(xiàn)這些操作行為的函數(shù)就被放在文本框的組件函數(shù)庫中。一般的測試工具都提供了這樣的函數(shù),而我們可以在其中加入額外的代碼來檢測錯誤、糾正錯誤和幫助同步,這類代碼是實現(xiàn)無人職守的自動化測試所必需的。

  組件函數(shù)相當于在應用和自動化工具之間提供了一個隔離層,如果沒有這個隔離層,自動化工具本身的改變或提高就會影響已有的腳本,但是有了組件函數(shù),我們可以增加一對修補代碼來適應這些變化,轉(zhuǎn)移對測試的破壞。組件函數(shù)關(guān)鍵字和它們的參數(shù)構(gòu)成自動化模型最低層的詞庫,了解了低層詞庫和映射表,就可以建立在它們基礎(chǔ)之上的測試表。

  ●測試表和核心數(shù)據(jù)驅(qū)動引擎

  測試表分低層、中層和高層。低層測試表指定了測試的每一步指令的細節(jié),這些指令都是直接作用在界面對象上的,是無法再細分的指令。中層測試表把低層測試表組裝起來執(zhí)行更多有用的任務(wù)。同一個低層表可以用于多個中層表,所以我們應該開發(fā)盡可能少的低層表,然后把它們按照不同的目的組裝起來,實現(xiàn)最大的重用性。同樣的,高層測試表把中層表組裝起來,形成一個測試循環(huán),每個循環(huán)都是完整的,可以定制不同類型和數(shù)量的測試。

  例如打開網(wǎng)頁、登錄、關(guān)閉網(wǎng)頁這3個動作可以用3個低層表來表示,每個表定義了實現(xiàn)相應動作的具體步驟,所以低層表又叫做步驟表。低層表中使用了映射表中定義的對象名,和由組件函數(shù)定義的低層關(guān)鍵字詞庫。表3是一個實現(xiàn)登錄動作的低層表。而這個表示“登錄”的低層表關(guān)鍵字很可能會出現(xiàn)在“驗證錯誤登錄”、“驗證正確登錄”、“驗證空白登錄”等中層表中,這些中層表合起來構(gòu)成了“驗證權(quán)限”高層表。

  對應于以上這3個測試表,核心數(shù)據(jù)驅(qū)動引擎相應地分成了高層驅(qū)動器、中層驅(qū)動器和低層驅(qū)動器。高層驅(qū)動器讀取高層表的每個記錄,如果遇到中間表關(guān)鍵字,就把這個表傳遞給中層驅(qū)動器,依此類推,直至到達低層表,低層驅(qū)動器調(diào)用關(guān)鍵字詞庫中的低層指令所對應的組件函數(shù)來完成最后的執(zhí)行。最后要說明的是這樣一種層次結(jié)構(gòu)并不是固定不變的,可以根據(jù)實際應用情況進行調(diào)整。

  ●支持庫

  支持庫是一些程序和工具,例如文件處理、字符串處理、緩沖處理、數(shù)據(jù)庫訪問、日志記錄工具等,它們?yōu)樽詣踊P吞峁┳罨A(chǔ)的支持。

  結(jié) 語

  自動化測試框架無疑是企業(yè)實施自動化測試的一個必然的發(fā)展方向,它對于產(chǎn)生成功的測試自動化的適當基礎(chǔ)是重要的。為了選擇一個合適的自動化測試框架,企業(yè)需要綜合考慮維護成本、測試數(shù)據(jù)、可測試性、測試人員的技能等諸多因素?;仡?strong>自動化測試發(fā)展的過程,以往的經(jīng)驗告訴我們,無法依靠簡單的錄制/回放的測試方法或傳統(tǒng)的測試腳本工具來完成測試,因為錄制產(chǎn)生的腳本維護困難,而且生存期很短。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

杭州 2025年7月16日 /美通社/ -- 近日,當美國加征關(guān)稅,歐美市場增長持續(xù)承壓之際,米奧蘭特以"會展+AI"的創(chuàng)新模式在越南、印尼、阿聯(lián)酋三地相繼啟動新興市場開拓行動。依托技術(shù)賦能與本地化...

關(guān)鍵字: AI 中國制造 ST 數(shù)據(jù)驅(qū)動

-Strada報告顯示,在HCM轉(zhuǎn)型推動下,人工智能應用及數(shù)據(jù)驅(qū)動型人力資源決策呈現(xiàn)激增態(tài)勢 邁阿密 2025年5月14日 /美通社/ -- Strada和ISG的一份新報告顯示,現(xiàn)代HCM轉(zhuǎn)型正在推動人力資源團隊運...

關(guān)鍵字: 數(shù)據(jù)驅(qū)動 AI 人工智能 AD

在科技日新月異的今天,數(shù)據(jù)已成為驅(qū)動各行各業(yè)發(fā)展的核心動力。特別是在機器對機器(M2M)通信系統(tǒng)中,大數(shù)據(jù)的分析與處理正引領(lǐng)著一場前所未有的變革。M2M系統(tǒng),通過設(shè)備間的直接通信,實現(xiàn)了數(shù)據(jù)的實時采集、傳輸與分析,為各行...

關(guān)鍵字: M2M 數(shù)據(jù)驅(qū)動

AI賦能高效研發(fā),更好地滿足可持續(xù)發(fā)展和消費者需求 北京2025年1月21日 /美通社/ -- 近日,IBM(紐約證券交易所:IBM)與全球領(lǐng)先的化妝品公司歐萊雅(L'Or...

關(guān)鍵字: IBM 數(shù)據(jù)驅(qū)動 AI模型 BSP

嵌入式計算機軟件測試在運行時,為了能夠快速處理大量的信息,對計算機硬件有著較高的要求,因而在運行嵌入式計算機軟件的時候,應考慮到這一問題,對受測計算機軟件進行內(nèi)存分析,測試受測計算機軟件對內(nèi)存的需求,是否能夠合理的分配和...

關(guān)鍵字: 嵌入式軟件 軟件測試

當今軟件開發(fā)生命周期的一個重要組成部分是自動化測試。自動化重復測試用例可以大大縮短開發(fā)周期,提高準確性,并釋放人力資源來執(zhí)行更困難的測試任務(wù)。本文有助于探索自動化測試的不同類型和戰(zhàn)術(shù)用途。

關(guān)鍵字: 自動化測試 安全通信

數(shù)據(jù)屏蔽過程涉及四個階段。首先,您確定需要保護的敏感信息。其次,您為該場景選擇正確的掩蔽技術(shù)。第三,部署所選的數(shù)據(jù)脫敏方法并隱藏信息。第四,您生成審計報告以供分析和合規(guī)性。?

關(guān)鍵字: 軟件測試 數(shù)據(jù)脫敏

單元測試是防止錯誤的第一道防線。這種級別的保護至關(guān)重要,因為它為以下測試過程奠定了基礎(chǔ):集成測試、驗收測試以及最后的手動測試,包括探索性測試。

關(guān)鍵字: 軟件質(zhì)量 自動化測試

傳統(tǒng)上,自動化測試分為單元測試、集成測試和端到端測試。這種分類是基于測試的范圍,盡管不同類型之間的區(qū)別并不總是很清楚。單元測試的范圍很窄,通常測試單個方法或類。集成測試驗證不同組件之間的交互。端到端測試通常在平臺或 We...

關(guān)鍵字: 自動化測試 單元測試

在嵌入式軟件開發(fā)過程中,一般來說,花在測試和花在編碼的時間比為3:1(實際上可能更多)。這個比例隨著你的編程和測試水平的提高而不斷下降,但不論怎樣,軟件測試對一般人來講很重要。

關(guān)鍵字: 嵌入式軟件 軟件測試
關(guān)閉