国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)于圖形用戶界面自動(dòng)化測(cè)試探討

2017-07-07 11:13李嵐
電子測(cè)試 2017年9期
關(guān)鍵詞:圖形界面圖形用戶界面測(cè)試工具

李嵐

(達(dá)州職業(yè)技術(shù)學(xué)院,四川達(dá)州,635001)

關(guān)于圖形用戶界面自動(dòng)化測(cè)試探討

李嵐

(達(dá)州職業(yè)技術(shù)學(xué)院,四川達(dá)州,635001)

圖形用戶界面是當(dāng)前客戶端軟件開(kāi)發(fā)常用的技術(shù)之一,而圖形用戶界面的測(cè)試是軟件開(kāi)發(fā)的重要過(guò)程,也是提升軟件質(zhì)量的重要保證,通過(guò)對(duì)圖形用戶界面測(cè)試的內(nèi)容與測(cè)試流程進(jìn)行分析,探究了圖形用戶界面自動(dòng)測(cè)試的關(guān)鍵技術(shù),為圖形用戶界面軟件開(kāi)發(fā)提供借鑒。

測(cè)試自動(dòng)化;圖形用戶界面;測(cè)試腳本

0 引言

隨著軟件開(kāi)發(fā)技術(shù)的發(fā)展,圖形化的用戶界面操作成為軟件開(kāi)發(fā)的重要組成部分,如何有效的保證圖形用戶自動(dòng)化的運(yùn)行,是軟件開(kāi)發(fā)需要解決的一個(gè)重要問(wèn)題。在基于圖形用戶界面的系統(tǒng)開(kāi)發(fā)中,就需要對(duì)程序開(kāi)發(fā)過(guò)程進(jìn)行嚴(yán)格的控制,但是基于圖形界面的系統(tǒng)開(kāi)發(fā)也變得越來(lái)越復(fù)雜,如果不能有效的對(duì)程序開(kāi)發(fā)進(jìn)行測(cè)試,就會(huì)在發(fā)布、實(shí)施與維護(hù)的過(guò)程中出現(xiàn)嚴(yán)重的問(wèn)題,因此,基于圖形用戶界面自動(dòng)化測(cè)試成為人們關(guān)注的重點(diǎn)問(wèn)題。

1 圖形用戶界面測(cè)試內(nèi)容分析

圖形用戶界面(Graphical User Interface)的測(cè)試是對(duì)圖形軟件的相關(guān)應(yīng)用接口技術(shù)進(jìn)行測(cè)試分析,保證測(cè)試對(duì)象是否能正確地接受鍵盤(pán)、鼠標(biāo)操作,能夠快速的對(duì)事件做出響應(yīng),并且能夠保證用戶與軟件進(jìn)行相應(yīng)的邏輯交互,完成用戶指定的操作功能。在對(duì)圖形用戶界面進(jìn)行測(cè)試時(shí),產(chǎn)品界面的各種響應(yīng)情況都在測(cè)試之列,它與其他應(yīng)用軟件的測(cè)試有著明顯的區(qū)別,而且對(duì)于圖像界面軟件的測(cè)試也比較復(fù)雜。GUI的測(cè)試包括功能性測(cè)試與可用性測(cè)試,圖形用戶界面測(cè)試需要注意如下幾個(gè)方面。

GUI頁(yè)面程序有很多狀態(tài)轉(zhuǎn)換,而且要求每一次測(cè)試都能夠快速的響應(yīng),測(cè)試時(shí)需要每個(gè)細(xì)節(jié)都涉及到,要求根據(jù)圖形頁(yè)面的轉(zhuǎn)換,能夠自動(dòng)的跳轉(zhuǎn),跳轉(zhuǎn)頁(yè)面的響應(yīng)時(shí)間不能超過(guò)1s,而且要求測(cè)試的兼容性能夠滿足要求。

GUI頁(yè)面輸入和選擇事件的排列組合數(shù)目巨大,存在一對(duì)多、多對(duì)多等復(fù)雜的路徑,這樣就會(huì)導(dǎo)致測(cè)試的頁(yè)面跳轉(zhuǎn)的路徑也比復(fù)雜,可能出現(xiàn)隨機(jī)性的問(wèn)題也比較多,擁有非常多的執(zhí)行路徑,在頁(yè)面跳轉(zhuǎn)的執(zhí)行過(guò)程也表復(fù)雜。

GUI軟件接口依賴性很高,程序設(shè)計(jì)比較復(fù)雜,要求有正確性的指令,才能進(jìn)行界面接口之間的跳轉(zhuǎn),一個(gè)狀態(tài)的測(cè)試與操作,必須執(zhí)行了相關(guān)操作才能進(jìn)入下一個(gè)狀態(tài)進(jìn)行轉(zhuǎn)換,這樣才能完成相關(guān)的頁(yè)面指令操作。如果不能正確的執(zhí)行每一步操作就會(huì)影響整個(gè)圖形界面軟件的測(cè)試。

GUI狀態(tài)的轉(zhuǎn)換基于事件和消息過(guò)程也是一個(gè)比較復(fù)雜的過(guò)程,只有通過(guò)鍵盤(pán)輸入、鼠標(biāo)點(diǎn)擊事件或者其他操作方式驅(qū)動(dòng)GUI頁(yè)面的轉(zhuǎn)換,在這個(gè)過(guò)程中要求頁(yè)面之間的鏈接路徑必須正確,才有可能發(fā)生頁(yè)面的轉(zhuǎn)換,也可以通過(guò)發(fā)送系統(tǒng)消息驅(qū)動(dòng)執(zhí)行頁(yè)面的跳轉(zhuǎn)操作,但是這種操作具有的不確定性很大。

由于排列組合的無(wú)限事件問(wèn)題,在具體的應(yīng)用中往往會(huì)出現(xiàn)一些不可預(yù)測(cè)的問(wèn)題,這對(duì)圖形界面軟件的測(cè)試影響是十分巨大的,對(duì)所有的事件測(cè)試是無(wú)法實(shí)現(xiàn)的,在測(cè)試的過(guò)程中,對(duì)重點(diǎn)的測(cè)試對(duì)進(jìn)行測(cè)試分析。

圖形用戶界面(GUI)對(duì)軟件測(cè)試的要求比較高,也提出了更高的挑戰(zhàn),在測(cè)試時(shí)要求能夠全面、細(xì)致的進(jìn)行測(cè)試,綜合分析可能出現(xiàn)的問(wèn)題。GUI組件的大量采用及重用,可以節(jié)省開(kāi)發(fā)的時(shí)間,也使得圖像界面能夠更加貼近用戶的使用習(xí)慣,但在測(cè)試的過(guò)程,往往會(huì)出現(xiàn)跳轉(zhuǎn)不正確的問(wèn)題?;谶@些因素,使得圖像界面的測(cè)試變得更加困難與難以執(zhí)行,所以,在對(duì)圖形用戶界面進(jìn)行測(cè)試時(shí),需要根據(jù)圖形界面的跳轉(zhuǎn)情況,綜合分析程序設(shè)計(jì)存在的問(wèn)題。

2 圖形用戶界面自動(dòng)化測(cè)試的流程

對(duì)于圖形用戶界面的自動(dòng)化測(cè)試可以采用軟件進(jìn)行測(cè)試,能夠自動(dòng)的對(duì)測(cè)試數(shù)據(jù)進(jìn)行收集,測(cè)試圖形界面運(yùn)行的腳本,在測(cè)試時(shí)只需要少數(shù)的人工就可以完成圖形用戶界面的測(cè)試工作,Web應(yīng)用程序提供GUI部件的接口,在選擇自動(dòng)化測(cè)試軟件之后,軟件就會(huì)根據(jù)可測(cè)試的GUI部件命名、文件屬性等信息進(jìn)行顯示,如果測(cè)試的圖形界面文件發(fā)生變化,可以重新選擇軟件進(jìn)行測(cè)試,并測(cè)試的順序進(jìn)行小范圍的修改并保存。測(cè)試時(shí),對(duì)測(cè)試的腳本設(shè)置好事件的序列,這樣可以采用鼠標(biāo)單擊與鍵盤(pán)輸入的方式進(jìn)行測(cè)試操作。具體的測(cè)試流程如下圖1所示。

圖1 圖形用戶界面測(cè)試流程

(1)GUI控件支持函數(shù)庫(kù)。GUI測(cè)試控件的功能就是支持自動(dòng)化測(cè)試工具對(duì)圖形界面軟件進(jìn)行測(cè)試,在測(cè)試的過(guò)程中可以采用鼠標(biāo)、鍵盤(pán)進(jìn)行操作,根據(jù)操作的方式選擇后臺(tái)函數(shù)的調(diào)用方式來(lái)完成測(cè)試的操作動(dòng)作,并在測(cè)試過(guò)程中收集測(cè)試的GUI的名稱、屬性、動(dòng)作、響應(yīng)、位置信息等。GUI控件支持函數(shù)是自動(dòng)測(cè)試的基礎(chǔ),是保證每一個(gè)GUI部件測(cè)試的前提條件。

(2)GUI部件搜索及指定事件序列。在對(duì)GUI進(jìn)行測(cè)試時(shí),需要提前獲取GUI的屬性、名稱、特征與其他信息,這樣測(cè)試工具才能有效的探測(cè)到GUI控件的基本屬性特征。測(cè)試人員根據(jù)GUI的特征屬性、名稱等信息,制定自動(dòng)化測(cè)試的事件序列,然后才能對(duì)GUI的腳本進(jìn)行自動(dòng)化測(cè)試。

(3)測(cè)試腳本封裝生成。測(cè)試腳本是GUI測(cè)試的關(guān)鍵內(nèi)容,它能夠模擬用戶在界面圖形上進(jìn)行的各種操作,以及能夠分析用戶在圖形界面操作過(guò)程中的各種行為,在測(cè)試時(shí),能夠自動(dòng)的搜索到GUI部件的信息與GUI事件之間的跳轉(zhuǎn)信息,并對(duì)它們進(jìn)行事件、動(dòng)作、特征序列封裝,然后采用自動(dòng)化測(cè)試工具進(jìn)行測(cè)試,根據(jù)指定事件的序列,然后生成自動(dòng)化測(cè)試用例。

(4)測(cè)試腳本驅(qū)動(dòng)。測(cè)試腳本驅(qū)動(dòng)的主要功能是保證腳本能夠正常運(yùn)行,即能夠保證開(kāi)發(fā)的圖形界面軟件能夠在測(cè)試軟件的環(huán)境下運(yùn)行,能夠保證測(cè)試工具的執(zhí)行器能夠正常執(zhí)行圖形界面軟件測(cè)試,由于已經(jīng)定義了測(cè)試腳本的屬性、名稱、特征等信息,在測(cè)試的過(guò)程中,通過(guò)調(diào)用測(cè)試腳本的變量名稱就可以分析測(cè)試的腳步特征屬性。

(5)測(cè)試腳本解析執(zhí)行。測(cè)試驅(qū)動(dòng)是測(cè)試腳步與測(cè)試工具之間的橋梁,測(cè)試腳本在測(cè)試驅(qū)動(dòng)的作用下運(yùn)行,并對(duì)腳步進(jìn)行測(cè)試,它能夠解析測(cè)試腳本事件源的屬性特征,根據(jù)指定的GUI部件序列實(shí)現(xiàn)測(cè)試界面的友好互動(dòng),執(zhí)行測(cè)試用例,并能夠?qū)y(cè)試的結(jié)果輸出,應(yīng)該與用戶界面圖形上的操作相一致,這樣就能夠方便程序開(kāi)發(fā)人員分析圖形用戶界面存在的問(wèn)題。

3 圖形用戶界面自動(dòng)化測(cè)試的相關(guān)技術(shù)

3.1 Win32 API函數(shù)開(kāi)發(fā)GUI測(cè)試技術(shù)

在Win32 API中,包含了能夠識(shí)別圖形用戶界面(GUI)的接口函數(shù)和測(cè)試工具,其中user32.dll是Win32 API編程常用函數(shù)之一,也是圖形用戶界面測(cè)試工具之一,它對(duì)圖形用戶界面進(jìn)行調(diào)用的DLL,采用該動(dòng)態(tài)鏈接庫(kù)DLL就可以調(diào)用windows操作系統(tǒng)中的圖形界面函數(shù)。API中包含了user32.dll動(dòng)態(tài)鏈接程序,gdi32.dll,ntdll.dll和kernel32.d11是user32.dll依賴的三個(gè)圖形界面的函數(shù)DLL動(dòng)態(tài)鏈接程序。user32.dll的功能是用戶接口函數(shù),用來(lái)執(zhí)行各個(gè)圖形界面函數(shù)的鏈接,gdi32. dll的功能是執(zhí)行圖形、文字之間的輸出以及圖像與窗口之間的操作,ntdll.dll是API函數(shù)的外殼,主要功能用于獲取網(wǎng)頁(yè)、圖形、圖像、文檔以及文件之間的關(guān)聯(lián)信息函數(shù),kernel32.d11是Windocs32基本API庫(kù)的核心,主要功能用于完成內(nèi)存的管理,測(cè)試程序的調(diào)入以及任務(wù)的調(diào)度功能。

3.2 對(duì)象序列化方法

圖形用戶界面程序的應(yīng)用都是將數(shù)據(jù)對(duì)象化,在對(duì)圖形化測(cè)試的時(shí)候都是將測(cè)試用例與被測(cè)的GUI控件作為對(duì)象進(jìn)行處理與操作,根據(jù)函數(shù)具體調(diào)用的情況來(lái)調(diào)用GUI函數(shù)。可以將指定的測(cè)試用例序列對(duì)其進(jìn)行對(duì)象化處理并序列化,在對(duì)圖形用戶界面進(jìn)行測(cè)試時(shí)進(jìn)行逆序列化進(jìn)行處理,對(duì)測(cè)試的腳本進(jìn)行重新構(gòu)造,使得程序能夠重復(fù)使用。采用編程語(yǔ)言能實(shí)現(xiàn)圖形化界面的序列化處理,并將其存在內(nèi)存空間或者物理空間中,將它們轉(zhuǎn)換成序列化的流和對(duì)象,方便測(cè)試時(shí)利用函數(shù)進(jìn)行調(diào)用,在自動(dòng)化圖像界面程序測(cè)試中,采用的方法主要有二進(jìn)制序列化方法、SOAP序列化方法和XML序列化方法等。

3.3 映射機(jī)制

對(duì)于自動(dòng)測(cè)試工具的映射機(jī)制,主要采用數(shù)據(jù)一一對(duì)應(yīng)的方式進(jìn)行的,它是通過(guò)檢查圖形用戶界面托管代碼中程序集、模塊、成員、參數(shù)等數(shù)據(jù)模塊,以及軟件中其他元數(shù)據(jù)來(lái)分析圖形文件的數(shù)據(jù)類型與結(jié)構(gòu),選擇合適的數(shù)據(jù)測(cè)試調(diào)用程序。在.NET中System.Reflection命名空間的調(diào)用,依據(jù)調(diào)用函數(shù)的屬性與特征信息來(lái)分析圖形界面的特征,主要是通過(guò)檢查來(lái)分析后臺(tái)的類與方法來(lái)進(jìn)行測(cè)試,以此來(lái)獲取程序代碼中數(shù)據(jù)類型及其成員的數(shù)據(jù)列表,為后期的程序測(cè)試提供標(biāo)準(zhǔn),該列表中主要包括類、結(jié)構(gòu)、枚舉、域、方法、函數(shù)的屬性等信息,這是自動(dòng)化測(cè)試工具必須要調(diào)取的信息。

3.4 延遲綁定技術(shù)

延遲綁定技術(shù)主要在函數(shù)測(cè)試的過(guò)程中把函數(shù)的調(diào)用并綁定在測(cè)試軟件中,能夠有效的實(shí)現(xiàn)圖形界面的自動(dòng)測(cè)試,提高了函數(shù)的測(cè)試效率,這項(xiàng)策略可以執(zhí)行更豐富的語(yǔ)法、類型、屬性、特征等方面的檢查。它們將消息名綁定到一個(gè)測(cè)試對(duì)象上,并在測(cè)試的過(guò)程中進(jìn)行實(shí)現(xiàn),而不是從調(diào)用綁定到類型再到實(shí)現(xiàn),提高了測(cè)試的效率。然后,將該對(duì)象綁定到一個(gè)名稱或標(biāo)記,然后采用該名稱與標(biāo)記對(duì)該函數(shù)進(jìn)行測(cè)試檢測(cè),如果能夠發(fā)現(xiàn)該函數(shù)的應(yīng)用之后,檢測(cè)該函數(shù)在GUI中的應(yīng)用類型,就可以采用動(dòng)態(tài)調(diào)用的方法來(lái)訪問(wèn)該函數(shù)的屬性與操作域。

3.5 XML文件

XML是標(biāo)準(zhǔn)的通用的可擴(kuò)展標(biāo)記語(yǔ)言,在圖像用戶界面開(kāi)發(fā)中應(yīng)用十分廣泛,它可以靈活的采用數(shù)據(jù)驅(qū)動(dòng)的方式對(duì)多種類型的數(shù)據(jù)進(jìn)行交換與記錄,并能夠開(kāi)始的實(shí)現(xiàn)數(shù)據(jù)之間的調(diào)用。在XML文檔中的數(shù)據(jù)調(diào)用與保存,數(shù)據(jù)的組織方式與HTML中的組織方式相似,都采用的是標(biāo)記結(jié)構(gòu),而且XML中的元素屬性和特征更加靈活,用戶可以根據(jù)自己的需要進(jìn)行定制,它可以記錄下測(cè)試文件的操作。一個(gè)完整的XML文檔應(yīng)該包括特征、元素、嵌套與標(biāo)記等因素。

4 結(jié)束語(yǔ)

隨著人們對(duì)于圖形化用戶界面的質(zhì)量要求越來(lái)越高,軟件測(cè)試技術(shù)在圖形化界面的軟件開(kāi)發(fā)中就顯得十分重要,測(cè)試技術(shù)是提高軟件的質(zhì)量的重要保證,能夠有效的提高圖像用戶界面開(kāi)發(fā)的效率,由于現(xiàn)在的很多軟件一般都是采用圖形用戶界面來(lái)編寫(xiě)的,如何有效的對(duì)圖形用戶界面進(jìn)行測(cè)試分析就是十分重要的,利用自動(dòng)化的圖形用戶軟件測(cè)試工具對(duì)開(kāi)發(fā)的軟件進(jìn)行測(cè)試,可以減少軟件開(kāi)發(fā)的工作量,提高軟件開(kāi)發(fā)的質(zhì)量與效率。子科技,2014(5).

[2]宋群,朱怡安,袁文成.關(guān)鍵字驅(qū)動(dòng)腳本技術(shù)的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2014(8).

[3]劉超.程序交互執(zhí)行流程圖及其測(cè)試覆蓋準(zhǔn)則[J].軟件學(xué)報(bào),2015(2).

[4]羅杰紅.基于圖形用戶界面的軟件測(cè)試技術(shù)[J].河南科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(12).

[1]侯勇,張海林.自動(dòng)化測(cè)試中的關(guān)鍵字驅(qū)動(dòng)腳本技術(shù)[J].電

Discussion on automatic testing of graphical user interface

Li Lan
(Dazhou Vocational and Technical College, Dazhou Sichuan,635001)

The graphical user interface is one of the commonly used client software development technology, and the graphical user interface testing is an important process in software development, but also an important guarantee to enhance the quality of software, based on the graphical user interface content and test flow test, explores the key technology of automated GUI test, provide a reference for the graphical user interface software development.

test automation; graphical user interface; test script

猜你喜歡
圖形界面圖形用戶界面測(cè)試工具
圖形用戶界面外觀設(shè)計(jì)專利保護(hù)問(wèn)題探析——以“奇虎訴江民案”為例
Http并發(fā)連接測(cè)試工具
用VMRun快速置備千臺(tái)虛擬機(jī)
淺談圖形用戶界面的保護(hù)
圖形用戶界面法律保護(hù)問(wèn)題與對(duì)策
手車(chē)式真空斷路器回路電阻測(cè)試電流線接頭研究
重看圖形界面“扁平化”與“擬物化”之爭(zhēng)——關(guān)于設(shè)計(jì)思維的探討
VxWorks系統(tǒng)下基于WindML的窗口化圖形界面設(shè)計(jì)
福祿克推出先進(jìn)的連接式測(cè)試工具系統(tǒng)
基于數(shù)據(jù)驅(qū)動(dòng)的圖形界面開(kāi)發(fā)方案
稷山县| 泰来县| 登封市| 蒙阴县| 全椒县| 武清区| 长岛县| 永清县| 十堰市| 靖边县| 灌云县| 汶川县| 达日县| 吉木萨尔县| 内乡县| 安阳市| 新龙县| 武鸣县| 怀集县| 宝鸡市| 昌宁县| 德钦县| 贡嘎县| 全南县| 丹东市| 马关县| 龙游县| 财经| 天柱县| 泗洪县| 湘西| 寿宁县| 澄城县| 泰兴市| 钦州市| 通海县| 屏东县| 紫阳县| 武冈市| 祁东县| 新沂市|