如何學習自動化測試

發表于:2009-04-24來源:作者:點擊數: 標簽:自動化學習
從事了幾年測試工作,也著實見證了測試的發展,如今測試行業對從業者的要求是越來越高,不再僅僅局限于要求會寫 測試用例 、會細致的執行測試、能有效的發現系統 缺陷 等;越來越多的企業對應聘者本身的技能要求也越來越高,招聘信息中諸如“精通 VB scrīpt
從事了幾年測試工作,也著實見證了測試的發展,如今測試行業對從業者的要求是越來越高,不再僅僅局限于要求會寫測試用例、會細致的執行測試、能有效的發現系統缺陷等;越來越多的企業對應聘者本身的技能要求也越來越高,招聘信息中諸如“精通VBscrīpt、Perl/Rbuy等至少一門腳本語言”、“至少熟悉一門開發語言”、“精通QTP、LR自動化測試工具”、“有大型項目自動化實施成功經驗”此類的字眼也逐漸增多。目前看來,除白盒測試內容和測試管理外,主流的方向有兩個:功能自動化測試和性能測試。這就要求從業人員能夠在短時間內快速的掌握這些知識,才能獲取到更好的工作機會。本人是名功能自動化測試的工程師,以自己學習、工作的過程結合QTP講講該如何學習自動化測試。

  首先,想從事自動化測試,必須先了解What/Why/How,也就是常說的去了解什么是自動化測試、為什么要進行自動化測試、該如何進行自動化測試,這類的資料在網上有很多,這里就不做重復了;

  其次,需要根據項目的特點,選擇合適的自動化測試工具,并了解工具的特性。以QTP為例,該如何去掌握它呢?對于初學者,大多數都是通過錄制的方式來生成腳本,這個階段應該掌握的基礎知識有:

  1)     QTP是如何去識別對象的,對于新手經常會出現錄制的腳本回放的時候報錯的現象,這個時候就應該考慮為什么呢?如果很了解QTP識別對象的原理啊,我想就能很快定位到原因了

  2)     去掌握一些QTP對象的方法,如GetROPreperty、GetTOPreperty、ChildObjects等等,對于相似的方法應該去搞清楚到底區別在哪?像GetROPreperty、GetTOPreperty有什么區別等

  3)     什么是Action參數、什么又是Test參數?兩者有什么區別,又有什么聯系,在同一Test和不同Test間這些參數如何工作

  4)     什么是環境變量?環境變量是如何建立和使用的,環境變量在參數傳遞中和action參數、test參數有什么不同

  5)     了解檢查點的知識,明白什么是內置檢查點,什么又是自定義檢查點。并搞清楚在什么時候該如何使用檢查點

  6)     掌握對象庫的操作,了解對象庫對于測試的意義,象是否啟用智能識別對測試腳本有何影響、為什么同一對象識別起來會有_1、_2之類的后綴等都是需要去研究清楚的問題

  這幾個問題都搞清楚的話,那基本就能夠利用QTP生成正確的腳本了,當然以上只是部分必須掌握的內容,其實還是很多細節的設置,就需要在實際運用中去掌握了。

  接下來,就可以進一步提升自己的QTP運用水平了,這個階段就需要去學習vbs知識和如何運用描述性編程實現腳本了,同時在這個過程中還需要去學習html知識、DOM、XML、以及像excel、word等的API知識了,總的來說,這個階段應該掌握的內容大體上包括:

  1)     VBscrīpt的基礎知識,熟悉常用的方法和函數,掌握文件對象的操作等

  2)     熟練掌握XML技術;excel、word等API對象,可以根據需要創建日志等

  3)     熟練掌握DOM和HTML知識,能夠結合這些技術對Web頁面進行解析

  4)     掌握數據庫的基本操作語句,能夠利用ADO對象進行數據操縱

  5)     熟練掌握正則表達式,很多時候處理對象問題相當方便

  6)     掌握如何調用dll進行工作

  7)     能夠利用QTP的自動化對象模型創建出需要的運行模式

  8)     掌握WMI知識

  以上只是我考慮到的部分,并不全面,呵呵,供大家參考,當然這些技術主要是針對Web系統運行,因為我們的系統就是B/S的,呵呵。如果這些知識都能夠扎實的掌握的話,個人認為,基本上能夠處理自動化過程中的絕大多數問題了,這個時候你對自動化測試的技術應該是有一定積累了。

  接下來就需要考慮自動化測試框架問題了。當腳本規模到了一定的程度,就會面臨一些問題,如:

  1)     如何有效的管理并調度腳本

  2)     如何實現腳本運行的無人值守,測試過程中能夠自動進行錯誤處理并進行日志記錄

  3)     如何生成簡介明確的測試報告

  4)     如何能夠更加高效的維護測試腳本

  5)     實現框架代碼和業務代碼的分層、業務腳本和業務數據的分離

  這個階段主要體現的是測試人員的測試思想,是可以脫離工具獨立存在的過程。當然各個公司項目的實際情況不同,導致設計出來的思想不同,但總體上來說一般包括數據驅動和關鍵字驅動兩種模式。后者實現的技術難度大于前者,大多數公司目前都采用的數據驅動模式。這個階段不應局限于技術運用上,而需要從測試全局考慮,進行分層設計、模塊化實現,減少代碼之間的耦合。

  如果以上三個方面都能夠做的很好的話,那么恭喜你,你已經可以獨立負責項目的自動化測試建立工作了,呵呵!

  總之,學習自動化測試需要在實際項目中進行,這樣提高的會比較快,項目中運用了很多種技術,自動化實施過程會碰見各種各樣的問題,是很好的學習機會,關鍵要善于總結、積累經驗,只要能夠把各個細節做好,那么你一定能夠成為一名優秀的自動化測試工程師。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97