亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
使用TestNG-Abbot實現(xiàn)GUI測試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/1/5 13:52:28 ] 推薦標(biāo)簽:

    TestNG-Abbot 是一種測試框架,它為 GUI 組件的測試帶來了新的活力。本月,Andrew Glover 將帶領(lǐng)您親歷使用 TestNG-Abbot 測試 GUI 過程中難度大的部分,即理解用戶場景的實現(xiàn)過程。一旦理解了它,您會發(fā)現(xiàn)將 GUI 組件隔離并使用框架所含的極其方便的 fixture 對象對其進行驗證是多么地簡單。

使用 Swing、AWT 和類似的技術(shù)構(gòu)建用戶界面通常會給開發(fā)人員進行測試帶來挑戰(zhàn),原因如下:

    底層圖形框架的復(fù)雜性
    GUI 中表現(xiàn)形式和業(yè)務(wù)邏輯之間的耦合
    缺乏直觀的自動測試框架

當(dāng)然,前兩個原因并不新鮮 —— 圖形框架本來很復(fù)雜,而且向 GUI 應(yīng)用程序添加業(yè)務(wù)功能總是會給測試造成麻煩。另一方面,過去幾年中有許多方便的框架涌現(xiàn)出來,確實使 GUI 測試更加便利。

本月,我將介紹一種新的框架,它極大地減輕了 GUI 測試的痛苦。

TestNG-Abbot 簡介

TestNG-Abbot 源自于兩個成功的開發(fā)人員測試框架的結(jié)合:Abbot 和 TestNG。Abbot 是一種 JUnit 擴展框架,主要目的是使 GUI 組件實現(xiàn)編程隔離,它還提供了一種驗證 GUI 行為的簡易方法。舉例來說,可以使用它來獲取對按鈕組件的引用,使用編程的方法點擊按鈕,然后檢驗其操作。Abbot 還附帶了一個腳本記錄器,使用它能夠以 XML 格式布設(shè)測試場景,可以通過編程的方式運行它。
 
希望改善代碼質(zhì)量嗎?
那么千萬不要錯過 Andrew 的 改善 Java 代碼質(zhì)量論壇,在那里可以學(xué)到關(guān)于代碼度量標(biāo)準(zhǔn)、測試框架以及編寫質(zhì)量為先的代碼的第一手知識。

在本系列中,我已經(jīng)介紹了一些關(guān)于 TestNG 的內(nèi)容,這里將繼續(xù)介紹 TestNG。基本上,TestNG 是 JUnit 的一個替代物。除了所有預(yù)期的功能外,它還增加了一些額外功能。正如我在其他文章中提到的一樣,TestNG 特別適合于更高層次的測試,其中,它可以用來測試依賴關(guān)系并只返回失敗了的測試 —— 簡而言之,在測試 GUI 時,這類型測試非常方便。(參見 Resources 中有關(guān) TestNG 的更多內(nèi)容。)

它的起源如此讓人印象深刻,所以 TestNG-Abbot 成為測試工具中的神童沒什么好奇怪的了。同 Abbot 一樣,TestNG-Abbot 使 GUI 組件能夠進行編程隔離。同時,它使用了 TestNG 的斷言,將 GUI 操作細(xì)節(jié)提取到了簡單的 fixture 中,后者能夠公開驗證方法。如能正確使用,TestNG-Abbot 的直觀的 fixture 類能夠使 GUI 測試如同從小男孩手里偷一塊糖一樣簡單。(當(dāng)然,您不會想那么干的!)

直觀的 fixture 類

TestNG-Abbot 的當(dāng)前版本支持七種 fixture 類型,其中一種類型用于操作按鈕、菜單標(biāo)簽以及文本項組件,如文本字段。此外,這些 fixture 類型根據(jù)名字在邏輯上鏈接到了測試中的代碼(即 GUI 組件)。這使得 GUI 和其測試實現(xiàn)了松耦合,這樣做至少有以下兩個好處:

    測試不會依賴于特定位置的 GUI 組件 —— 這樣無需中斷測試可對其進行移動。
    可以在早期進行測試,并且不會受到開發(fā)期間布局和外觀改變的影響。

雖然目前只支持七種 fixture 類型,很快會支持其他 fixture 類型。更多的 fixture 類型只會增加 TestNG-Abbot 在編程驗證 GUI 方面的高效性。

GUI 驗證不再普通!

雖然 TestNG-Abbot 使得驗證 GUI 的過程更加簡單,這并不意味著這個過程很簡單。必須使 GUI 測試區(qū)別于單元或組件測試。驗證 GUI 中業(yè)務(wù)規(guī)則的過程變成了對用戶場景進行驗證;或者,換種說法,GUI 測試包括驗證可見狀態(tài)的改變。

比方說,如果按下了定單輸入 GUI 上的保存按鈕,業(yè)務(wù)規(guī)則會保證命令的內(nèi)容被保存到數(shù)據(jù)庫中。然而,在一個用戶場景中,會保證成功的狀態(tài)信息被插入了按鈕下 —— 這正是使用 TestNG-Abbot 能夠編寫的測試。事實上,如果 GUI 設(shè)計良好的話,可以測試被保存到數(shù)據(jù)庫中的命令內(nèi)容而無需 測試 GUI。接著您還可以同時并及早地編寫這兩個特別的測試。
 
加油!
記住 TestNG-Abbot 并不妨礙端對端測試(end-to-end)。可以輕松將 TestNG-Abbot 和 DbUnit 結(jié)合在一起,比如,創(chuàng)建一個同時驗證用戶場景和業(yè)務(wù)規(guī)則的可重復(fù)測試。

Word Finder GUI

為了使您了解 TestNG-Abbot 工作原理,我創(chuàng)建了一個簡單的 GUI,它執(zhí)行一種功能 —— 在底層字典(也是一個數(shù)據(jù)庫)中查閱一個給定的單詞并顯示其釋義。不管該應(yīng)用程序?qū)嶋H的代碼如何,測試該 GUI 用戶場景包括三個步驟:

    在文本框中輸入一個單詞。
    單擊 Find Word 按鈕。
    驗證是否給出了該單詞釋義。

當(dāng)然,也存在一些極端的例子,比如一個用戶按下了 Find Word 按鈕但沒有輸入單詞,或者,用戶輸入了一個無效的單詞。我將通過一些其他的測試案例說明如何處理這類場景。

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 黄色专区| 日韩欧美 在线播放 | 日本操穴| 国产福利免费视频 | 欧美专区在线 | 天天做天天操 | 一级片免 | 免费激情网址 | 亚洲天堂成人在线观看 | 日韩拍拍拍 | 成人欧美网站免费 | 天天色天天插 | 老司机亚洲精品影院 | 一级黄色片aaa | 成人在线免费播放 | 动漫精品一区二区三区四区 | 日本福利视频 | 国产黄三级三·级三级 | 添望write.as女装 | 99爱视频99爱在线观看免费 | 欧美xxx在线 | 特黄特黄视频 | 国产黄色一级大片 | 97视频免费观看 | 亚洲欧美日韩综合一区久久 | 91国内在线国内在线播放 | 欧美日韩高清在线观看 | 无遮挡h肉动漫在线播放内衣 | 18在线观看免费入口 | 九九在线精品 | 中文精品久久久久国产网址 | 精品久久久久国产免费 | 成人18视频在线 | 午夜视频体验区 | 久久久久久亚洲精品 | 九九成人免费视频 | 亚洲欧洲日产国码久在线观看 | 小明视频免费永久在线网 | 亚洲欧美丝袜综合精品第一页 | 国产在线a视频 | 免费观看欧美一级片 |