999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

自動化測試實現研究

2016-10-15 04:20:40付曉楊海根
中國市場 2016年34期
關鍵詞:實現

付曉+楊海根

[摘要]隨著軟件技術的發展,需要消耗大量的人力才能進行的大量重復測試帶來的低效率,使進行自動化測試成為軟件測試的必然趨勢。理想的自動化測試能夠按計劃完全自動地運行,在開發人員和測試人員不可能實行三班倒的情況下,自動化測試可以勝任這個任務,充分地利用了公司的資源,也避免了開發和測試之間的等待。對于功能已經完整和成熟的軟件,每發布一個新的版本,其中大部分功能和界面都和上一個版本相似或完全相同,這部分功能特別適合于自動化測試,從而可以讓測試達到測試每個特征的目的。

[關鍵詞]自動化測試;實現;需求

[DOI]10.13939/j.cnki.zgsc.2016.34.096

軟件測試一個特點是重復性,重復測試讓我們產生厭倦心理,因此人們想到用工具來解決重復的問題。另外手工還存在精確性的問題,尤其是面對大量數據需要檢查時候,人工的比較和搜索存在效率問題,易出錯,覆蓋面低。手工測試存在效率問題,這在軟件產品的研發后期階段尤其明顯,隨著功能日趨增多,需要檢查的點和測試內容也越來越多,人工回歸測試難度增大,很難在短時間完成大面積測試覆蓋。當然,手工測試也有不可替代的地方,比如測試用例的設計,界面和用戶體驗性測試,正確性的檢查,而自動化通過計算能力,不知疲倦地運行,對于數據能精確運行。因此,在需要重復執行界面操作、計算、數值比較、搜索等方面。我們需要充分利用自動化測試工具的高效率來幫助測試人員完成測試用例的執行,加快回歸速度,提高測試覆蓋率。

1 自動化測試準備

在進行項目自動化測試之前,首先要考慮以下5個方面,其次是衡量項目開展自動化的一些條件。

(1)測試自動化類似于軟件開發過程

錄制/回放腳本開發方式是不可能應付所有自動化測試需求的,因此需要測試人員掌握必要的開發知識和代碼。

(2)測試自動化是一個長期的過程

自動化測試只有長期多次運行才能體現出價值,同時需要考慮自動化測試維護成本。

(3)確保自動化測試的資源,包括人員和技能

最好有專門的自動化測試工程師來保證測試自動化持續,需要對項目負責,設計測試框架和腳本結構,解決各種測試腳本開發問題。

(4)循序漸進開展自動化測試

(5)確保測試過程的成熟度

2 自動化測試開展

自動化測試只有在多次運行后,才能體現出自動化的優勢,只有不斷地運行自動測試,才能有效預防缺陷,減輕測試人員手工的回歸測試工作量,如果一個項目是短期的,則不適合開展,另外,不宜在一個進度非常緊迫的項目中開展自動化測試。

自動化測試不應該在界面尚未穩定的時候開始,但是此時可以著手準備自動化測試計劃和準備工作,自動化測試工具評估使用。

首先分析項目的特點,軟件系統采用的開發工具、語言、技術平臺等,結合測試的類型,測試的要求,同時還要了解目前存在的各種測試工具的情況,根據選擇的測試工具,進行試用,制訂一份詳細的測試工具使用計劃。

3 自動化測試工具

軟件測試可以按照自動化工具類型進行分類,軟件自動化測試工具是實現軟件自動化測試必不可少的關鍵,因此,選擇一個優秀的、適合自己的測試項目的測試工具是實現成功自動化測試的第一步。

3.1 按用途分類

軟件自動化測試工具按安裝用途可分為

測試管理工具

自動化功能測試工具

性能測試工具

單元測試工具

白盒測試工具

測試用例設計工具

自動化測試工具可基于GUI層面進行測試,也可基于代碼層面進行測試,只要實現了自動化執行測試用例,自動檢測測試數據的測試工具,替代人工進行測試步驟的執行,從而驗證應用程序是否滿足了特定功能的測試工具。

3.2 基于代碼層面的功能自動化測試工具

基于代碼層面的功能自動化測試工具主要是一些單元測試工具,例如junit,這些工具直接訪問被測試的應用程序的代碼,對其中的類和函數進行調用,輸入各種測試數據,檢查函數的返回值,通過比較返回值與期待值是否一致來判斷測試是否通過。

3.3 基于瀏覽器和DOM 對象模型的功能自動化測試工具

例如selenium,這些測試工具直接訪問Web瀏覽器,利用腳本語言操作瀏覽器和Web頁面中包含的DOM對象,從而達到模擬用戶控制瀏覽導航、頁面元素的操作等效果,并直接獲取DOM對象的屬性,從而獲得Web頁面元素的各種屬性,通過這些屬性判斷測試步驟結果是否正確。

3.4 基于GUI對象識別的測試工具

目前,大部分自動化功能測試工具,尤其是商業的測試工具,如QTP都是基于GUI對象識別技術來設計的,基于GUI層面的測試需要與各種節目元素打交道,而且不同的編程語言和開發工具在界面的表現、事件的響應上都略有不同。

QTP同樣是通過查找應用程序界面中的各個控件的屬性來判斷是否與測試對象匹配,還可以根據控件的類型,把其擁有的可操作方法列舉出來,針對不同平臺和語言編寫的控件,依據該控件與其他控件能區分的屬性來判斷其身份,例如控件的類名、控件的文本等。

QTP自動化測試工具是一種自動測試工具。使用QTP的目的是想用它來執行重復的手動測試,主要是用于回歸測試和測試同一軟件的新版本。因此在測試前要考慮好如何對應用程序進行測試,例如要測試哪些功能、操作步驟、輸入數據和期望的輸出數據等。QuickTest針對的是GUI應用程序,包括傳統的Windows應用程序,以及現在越來越流行的Web應用。它可以覆蓋絕大多數的軟件開發技術,簡單高效,并具備測試用例可重用的特點。其中包括:創建測試、插入檢查點、檢驗數據、增強測試、運行測試、分析結果和維護測試等方面。

4 自動化測試基本流程

基本流程圖如下。

4.1 制訂測試計劃

在展開自動化測試之前,我們需要做個測試計劃,明確測試對象、測試目的、測試的項目內容、測試的方法、測試的進度要求,并確保測試所需的人力、硬件、數據等資源都準備充分。

4.2 分析測試需求

用例設計者根據測試計劃和需求說明書,分析測試需求,設計測試需求樹,以便用例設計時能夠覆蓋所有的需求點。一般來講,基于Web功能測試需要覆蓋以下幾個方面:

(1)頁面鏈接測試,確保各個鏈接正常;

(2)頁面控件測試,確保各個控件可靠;

(3)頁面功能測試,確保各項操作正常;

(4)數據處理測試,確保數據顯示準確、處理精確可靠;

(5)模塊業務邏輯測試,確保各個業務流程暢通。

4.3 設計測試用例

通過分析測試需求,設計出能夠覆蓋所有需求點的測試用例,形成專門的測試用例文檔。由于不是所有的測試用例都能用自動化來執行,所以需要將能夠執行自動化測試的用例匯總成自動化測試用例。必要時,要將登錄系統的用戶、密碼、產品、客戶等參數信息獨立出來形成測試數據,便于腳本開發。

4.4 搭建測試環境

自動化測試人員在用例設計工作開展的同時即可著手搭建測試環境。因為自動化測試的腳本編寫需要錄制頁面控件,添加對象。測試環境的搭建,包括被測系統的部署、測試硬件的調用、測試工具的安裝盒設置、網絡環境的布置等。

4.5 編寫測試腳本

根據自動化測試用例和問題的難易程度,采取適當的腳本開發方法編寫測試腳本。一般先通過錄制的方式獲取測試所需要的頁面控件,然后再用結構化語句控制腳本的執行,插入檢查點和異常判定反饋語句,將公共普遍的功能獨立成共享腳本,必要時對數據進行參數化。當然還可以用其他高級功能編輯腳本。腳本編寫好了之后,需要反復執行,不斷調試,直到運行正常為止。腳本的編寫和命名要符合管理規范,以便統一管理和維護。

4.6 分析測試結果、記錄測試問題

應該及時分析自動化測試結果,建議測試人員每天抽出一定時間,對自動化測試結果進行分析,以便盡早地發現缺陷。如果采用開源自動化測試工具,建議對其進行二次開發,以便與測試部門選定的缺陷管理工具緊密結合。理想情況下,自動化測試案例運行失敗后,自動化測試平臺就會自動上報一個缺陷。測試人員只需每天抽出一點時間,確認這些自動上報的缺陷,是否是真實的系統缺陷。如果是系統缺陷就提交開發人員修復,如果不是系統缺陷,就檢查自動化測試腳本或者測試環境。

4.7 跟蹤測試BUG

測試記錄的BUG要記錄到缺陷管理工具中去,以便定期跟蹤處理。開發人員修復后,需要對此問題執行回歸測試,就是重復執行一次該問題對應的腳本,執行通過則關閉,否則繼續修改。如果問題的修改方案與客戶達成一致,但與原來的需求有所偏離,那么在回歸測試前,還需要對腳本進行必要的修改和調試。

5 自動化測試架構

真正的自動化測試框架可以不是一個程序,它僅僅是一種思想和方法的集合,說白了,就是一個架構,它定義了幾層架構,定義了各層互相通信的方式。通過這個架構我們才能在上面進行拓展我們的測試對象(核心體)、測試庫(鏈接庫)、測試用例集(各個windows進程)、測試用例(線程),而其之間通過參數的傳遞進行通信(即相當于系統中的消息傳遞)。

5.1 幾種自動化測試框架思想

(1)模塊化思想

就是將一個測試用例中的幾個不同的測試點拆分并且將其單個點的測試步驟進行了封裝,形成了一個模塊。

例如:一個測試用例要對一個登錄程序進行測試,其中包括:用戶名輸入、密碼輸入以及確定登錄。

那么就可以將用戶名輸入、密碼輸入、確定登錄、取消登錄四個操作分別封裝在四個不同的模塊中。測試時,只需調用其模塊即可。這樣的話,當一個模塊有變化,你只需單獨維護那個模塊即可,也可以根據模塊的不同組合成不同的測試用例。

(2)庫思想

就是模塊化思想的升華,其為應用程序的測試創造了庫文件(可以是APIs、DLLs等),這些庫文件為一系列函數的集合。其與模塊化思想不同的是,其拓展了接口思想,即可以通過接口去傳遞參數,而不是一個封死的模塊,可以說是一個多了一個“門”的交互型模塊。

例如:登錄場景,只是將用戶名輸入、密碼輸入、確定登錄、取消登錄封裝成一個庫,這個庫含有一個函數Login,這個函數Login接收兩個參數“用戶名、密碼”,對輸入不同的用戶名和密碼可以進行不同的測試用例。也可以用另外一個函數Cancle。

(3)數據驅動思想

就是變量不變的數據驅動結果,不同的數據導致了不同的結果的產生。而對于數據的導入,可以通過很多方式,例如:Excle表、XML(用在Web中)、數據庫(DB)、CSV文件、TXT等都可以。

(4)關鍵字驅動思想

關鍵字驅動就是一種面向對象的思想,例如:QTP、RFT中,對象可以為一個數據或者一個關鍵字,對對象的抓取,可以將其測試對象封裝為一個關鍵字,這樣可以對其關鍵對象進行各種操作了,不同的對象可以驅動不同的測試流向與結果。

5.2 自動化測試發展

(1)第一代自動化測試,即自動化測試思想剛開始誕生時,依靠的是傳統的“錄制—回放”技術,這種技術與現在的工具的“錄制—回放”思想不一樣,其實就是一個“模擬”的過程,即模擬對PC的操作而形成的,其基于你對鍵盤的輸入與對鼠標的操作,原理與按鍵精靈等類似,這種機制對環境的依賴性太強,對變化性太過敏感,因此不可能發展成一種規模。

(2)第二代自動化測試,即腳本化的自動化測試,利用腳本進行結構化的自動化測試,此可以應用于CLI與API的自動化測試,在此就開始集成了模塊化與庫思想。

(3)第三代自動化測試,開始產生了各種自動化測試思想,包括數據驅動與關鍵字驅動思想,其伴隨著對象化思想的產生,也造就了現在一系列的自動化測試軟件,其中都集成了這些思想,從這時候開始,自動化就開始實現了一定的規模,開始運用在各個行業,并且發展趨勢越來越快。

5.3 構建自動化測試框架的策略

做一個自動化測試框架主要是從分層上去考慮,而不是簡簡單單地應用一種思想,它是各種思想的集合體。而其中,可以貫穿著自動化測試的各種思想,例如:對象層中有關鍵字的思想、可以將對象庫標示在Excel表中進行管理,或者應用動態搜索的方式傳遞對象識別參數。tasks層中可以封裝各種方法,形成一個大型的方法庫,而每個方法中可以應用數據驅動的思想。

6 結 論

自動化測試的優點是能夠很快、很廣泛地查找缺陷,同時可以做很多重復性的工作,自動化功能測試工具無須大量的軟件測試人員手動地再次執行測試用例,極大地提高了工作效率。可以執行一些手工測試困難或不可能進行的測試。比如,對于大量用戶的測試,不可能同時讓足夠多的測試人員同時進行測試,但是卻可以通過自動化測試模擬同時有許多用戶,從而達到測試的目的。更好地利用資源。將煩瑣的任務自動化,可以提高準確性和測試人員的積極性,將測試技術人員解脫出來投入更多精力設計更好的測試用例。

參考文獻:

[1]張月親.建立自動化測試系統的必要性[J].國外電子測量技術,2000(6).

[2]常征.功能測試中自動化測試框架的分析與應用[D].北京:北京林業大學,2007.

[3]應杭.軟件自動化測試技術及應用研究[D].杭州:浙江大學,2006.

猜你喜歡
實現
小學音樂教學過程中對情感教育的應用分析
青年時代(2016年29期)2016-12-09 22:50:42
唐山市氣象服務系統的設計與實現
基于天地圖API的航空無線電干擾區域定位平臺設計與實現
智能制造中的關鍵技術及實現途徑探析
初探勘察測繪科技檔案管理系統設計與實現
新課改下小學數學如何實現教學生活化
信息系統安全評價系統設計及實現
高校聲像檔案數字化管理的實現路徑
辦公室業務(2016年9期)2016-11-23 10:44:30
辦公室人員尚需制定個人發展規劃
辦公室業務(2016年9期)2016-11-23 09:15:57
蘇州信息學院教務管理系統的設計與實現
主站蜘蛛池模板: 亚洲无码91视频| 久久99热这里只有精品免费看| 日韩毛片在线视频| 18禁色诱爆乳网站| 亚洲欧美日韩高清综合678| 国产精品人莉莉成在线播放| 国产麻豆永久视频| 亚洲高清在线播放| 久久成人18免费| 国产精品开放后亚洲| 一级毛片高清| 一级片一区| 91青草视频| 国产精品精品视频| 欧美不卡视频一区发布| 男人天堂伊人网| 欧洲欧美人成免费全部视频| 亚洲国产日韩欧美在线| 国产成人无码AV在线播放动漫| a级毛片免费在线观看| 亚洲精品动漫| 无码中文AⅤ在线观看| 亚洲伊人电影| 91精品国产一区| 国产簧片免费在线播放| 色悠久久综合| 中文无码影院| 亚洲欧美一区二区三区蜜芽| 久草青青在线视频| 色135综合网| 欧美成人在线免费| 青青久久91| 国产成人AV男人的天堂| 精品91自产拍在线| 久久大香伊蕉在人线观看热2| 成年人视频一区二区| 亚洲成在线观看| 免费啪啪网址| 国产精品v欧美| JIZZ亚洲国产| 久草视频中文| 欧美a级在线| 色婷婷电影网| 久久久久久国产精品mv| 中日韩一区二区三区中文免费视频 | 91精品国产麻豆国产自产在线 | 国产一二三区视频| 在线观看网站国产| 在线播放精品一区二区啪视频| 国产精品浪潮Av| 国产亚洲现在一区二区中文| 伊人久久福利中文字幕| av无码久久精品| 成人在线第一页| 欧美三级不卡在线观看视频| 亚洲一区二区三区香蕉| 亚洲高清中文字幕| 国产在线小视频| a天堂视频在线| 在线一级毛片| 国产成人盗摄精品| 午夜国产小视频| 99热这里只有精品5| 91青青草视频| 精品国产成人av免费| 日本一区中文字幕最新在线| 国产农村妇女精品一二区| 二级毛片免费观看全程| 久久频这里精品99香蕉久网址| 99精品福利视频| 亚洲第一色网站| 99精品国产电影| 亚洲va欧美va国产综合下载| 免费在线看黄网址| 97影院午夜在线观看视频| 黄色三级网站免费| 91久久偷偷做嫩草影院电| 日本中文字幕久久网站| 国产国语一级毛片| 精品国产www| 网久久综合| 无码国产偷倩在线播放老年人|