自動化測試入門知識

自動化測試,作爲軟件測試的一種提高工作效率的方式,是一種由機器代替人工執行測試行爲的過程。由於接觸自動化測試也有一段時間了,就想從整體上來談一談自動化測試的學習心得:

  • 自動化測試與功能測試

自動化測試從根本上並沒有脫離功能測試而存在,它依託於功能測試的基礎實現。

從自動化的產生原因看,既然自動化測試是爲了提高執行效率,由機器去替代人力執行測試用例,那麼對於自動化測試用例是從功能測試的測試用例中挑選具備自動化條件,可以進行自動化的用例,將其以代碼的形式固定下來並定時執行代碼也變得理所當然。

從使用場景來看,自動化測試的實行通常是在功能測試模塊相對穩定、改動頻率較小時才進行的,且引入自動化測試的項目週期都比較長,若是在只有一兩個月的項目中使用自動化,最終只會浪費人力、時間和精力,其效果還不如純手工來得明顯。同樣的,對於變動非常頻繁(如:UI自動化的頁面樣式、接口自動化的接口參數及地址)的項目而言,使用自動化的的和成本也會是極高的,而當實施自動化的投入產出比過高,那麼自動化測試不僅沒有意義,反而會給項目的實施帶來負擔。

  • 自動化測試的優勢

1.方便進行迴歸測試,當軟件的版本發佈比較頻繁的時候,自動化的效果很明顯。

2.自動處理原本煩瑣、重複的任務,提高測試的準確性和測試人員的積極性。

3.具有複用性和一致性,可以在不同的版本上重複運行,保障測試內容的一致性。

 

  • 自動化測試的分類

自動化測試從測試對象可以分爲功能測試自動化、性能測試自動化和安全測試自動化等。

功能測試自動化,功能測試自動化常見的是UI和接口方面自動化測試,UI自動化也可以分爲對APP的UI自動化和WEB端的UI自動化,接口自動化的區分針對不同的協議,如HTTP、RPC、WebService,基於HTTP協議開發的接口現在應用是最爲廣泛的,這類API使用起來簡單明瞭,因爲它是輕量級的、跨平臺、跨語言的,但凡是第三方提供的API都會有HTTP版本的接口。

RESTful API也是基於HTTP協議的,只不過RESTful它並不是一種規範,它是一種設計準則,用不同的HTTP動詞(GET、POST、DELETE、PUT等)來表達不同的請求。

       性能測試自動化,主要是基於一些工具的,目前瞭解的性能測試方法有:apache的ab、Jmeter、LoadRunner、自己開發的工具,對於這幾種性能測試方案,目前個人瞭解比較多的是Jmeter,功能強大而且開源免費,網上見到最多的也就是它了,其他的不太瞭解,就不介紹了。

  • 自動化工具的選取(以功能的自動化爲例)

對於UI 界面的自動化來說,首先要根據測試對象是APP還是web頁面做區分,先說對APP做自動化,只有native 界面的APP,使用uiautomator,因爲uiautomator是google提供的測試框架,執行速度快,且jar包在sdk中就能找到,所以很方便使用;若包含webView界面,選擇使用appium會更好,appium的支持更全面。對於web的UI進行自動化主要使用selenium。

對於接口自動化而言,有postman、jmeter等工具,還有使用各種開發語言自己搭建框架定製, postman 適合於接口之間關聯性不強的情況,jmeter比 postman強大,但沒試過用它做自動化。

  • 就寫這些吧,之後有時間再補充。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章