如何學習自動化測試(轉載)

測試行業經過這麼多年的發展,如今測試行業對從業者的要求是越來越高,不再僅僅侷限於要求會寫測試用例、會細緻的執行測試、能有效的發現系統缺陷等;越來越多的企業對應聘者本身的技能要求也越來越高,招聘信息中諸如“精通VBscrīpt、Perl/Rbuy等至少一門腳本語言”、“至少熟悉一門開發語言”、“精通QTP、LR等自動化測試工具”、“有大型項目自動化實施成功經驗”此類的字眼也逐漸增多。
目前看來,除白盒測試內容和測試管理外,主流的方向有兩個:功能自動化測試和性能測試。這就要求從業人員能夠在短時間內快速的掌握這些知識,才能獲取到更好的工作機會。


一、想從事自動化測試,必須先了解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知識

以上只是考慮到的一部分,並不全面,但技術基本是通用的,供大家參考。如果這些知識都能夠紮實的掌握的話,基本上能夠處理自動化過程中的絕大多數問題了,這個時候你對自動化測試的技術應該是有一定積累了。

四、接下來就需要考慮自動化測試框架問題了。當腳本規模到了一定的程度,就會面臨一些問題,如:
1)如何有效的管理並調度腳本
2)如何實現腳本運行的無人值守,測試過程中能夠自動進行錯誤處理並進行日誌記錄
3)如何生成簡介明確的測試報告
4)如何能夠更加高效的維護測試腳本
5)實現框架代碼和業務代碼的分層、業務腳本和業務數據的分離

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


五、自動化測試的實施,這點非常重要,如何讓自動化測試有條不紊地運行起來,這是需要自動化測試工程師關注的。

1)沒有自動化測試框架,那麼很難把自動化測試做得很好很規範的
2)當有了自動化測試框架,這並不代表什麼,更不能代表自動化測試就成功了,同一套框架,不同的經驗級別的自動化測試人員來實施,效果肯定是不同的
3)自動化測試的實施,應該是在基於一套符合公司業務特點的測試框架+良好的實施計劃+良好的實施方案
4)自動化測試的實施,千萬不能落入“只埋頭做事,不擡頭看路”的形態,不要落入技術的深淵,需要明白,不是所有的東西都能用技術解決,要充分發揮人的作用因素。
如果以上五個方面都能夠做的很好的話,那麼你已經可以獨立負責項目的自動化測試建立工作了,甚至可以開始考慮如何組織自動化測試團隊!

總之,學習自動化測試需要在實際項目中進行,這樣提高的會比較快,項目中運用了很多種技術,自動化實施過程會碰見各種各樣的問題,是很好的學習機會,關鍵要善於總結、積累經驗,只要能夠把各個細節做好,那麼你一定能夠成爲一名優秀的自動化測試工程師(主管)。
發佈了151 篇原創文章 · 獲贊 21 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章