一般來說,手動測試是入門級別,自動化測試是進(jìn)階,手動測試到自動化測試是一個由低向高逐漸進(jìn)化的過程。

目前手動測試完全依靠的是專門的測試人員操作移動端設(shè)備或者PC端設(shè)備進(jìn)行產(chǎn)品測試,而自動化測試是由測試人員使用相關(guān)的測試工具或者測試人員編寫代碼生成的工具進(jìn)行測試,而能夠編寫代碼進(jìn)行產(chǎn)品測試是每一個測試人員的終極目標(biāo),即高級測試。

接下來說下什么是自動化測試工程師,自動化測試的從業(yè)要求有哪些,為什么自動化測試要會編寫程序,哪些模塊可以進(jìn)行自動進(jìn)化測試等問題

一.什么是自動化測試工程師

是一種自動化測試系統(tǒng)的設(shè)計與建設(shè)的人員。首先,負(fù)責(zé)自動化測試系統(tǒng)的設(shè)計與建設(shè),完成自動化測試用例與腳本的設(shè)計與編寫。其次,確保TD-SCDMA Operation & Maintenance system軟件質(zhì)量。對被測系統(tǒng)進(jìn)行,壓力測試,穩(wěn)定性測試。

另外,掌握QTP工具Lordrunner、Robot、QTP等自動測試工具的應(yīng)用、Tcl/Perl/VB編程等語言

二.自動化測試進(jìn)階歷程

初級階段:會使用測試工具的測試人員,不能夠稱為真正的自動化測試人員,一般可稱為“工具小子”,

中級階段:會使用測試工具的同時,能夠根據(jù)業(yè)務(wù)進(jìn)行簡單腳本的編寫

高級階段:除了中級階段部分,測試人員能夠編寫一些復(fù)雜工具供其他測試人員使用,并且結(jié)合實際業(yè)務(wù),幫助他們解決問題

三.自動化測試從業(yè)要求

(1)、熟悉主流開發(fā)技術(shù)與自動化測試框架

(2)、熟悉主流自動測試工具,能熟練運用工具從事過相關(guān)測試工作

(3)、一年以上編程經(jīng)驗;至少一年腳本編程經(jīng)驗(Tcl/Perl/VB優(yōu)先),至少2年以上開發(fā)或自動化測試經(jīng)驗;

(4)、熟悉ORACLE 或MYSQL、SQL SERVER數(shù)據(jù)庫,并能熟練編寫SQL語句,具備linux/unix、windows多平臺開發(fā)、測試經(jīng)驗;

(5)、熟悉UNIX平臺,能熟練使用UNIX操作系統(tǒng)。有相關(guān)行業(yè)背景者優(yōu)先考慮

(6)、具有很強的溝通理解能力和協(xié)調(diào)能力、前瞻創(chuàng)新能力,學(xué)習(xí)能力強,工作積極主動;

四.自動化測試為什么要會編程

自動化測試人員一定要有開發(fā)能力,而這恰恰是目前市場反饋測試人員所欠缺的。沒有開發(fā)能力的測試人員雖然也可以做一些所謂的自動化,但也僅僅是一些皮毛,沒有辦法做到活學(xué)活用,更無法勝任高職位。根據(jù)某機構(gòu)的調(diào)查數(shù)據(jù),目前所有從事測試工作的人中,90%的人都沒有任何開發(fā)能力。根據(jù)目前的市場行情,如果在精通一門開發(fā)語言,能夠從純手工測試轉(zhuǎn)型為自動化測試工程師,月薪至少增加3~5k。這一點,已經(jīng)從朋友的職業(yè)經(jīng)歷得到驗證。

五.自動化測試模塊級別有哪些

自動化測試分為三個層級:單元測試、接口測試和UI測試,這三層成一個金字塔形狀分布。UI測試在最上層,接口測試在中間,最底層是單元測試。三個層面有何區(qū)別?下面通過表格來對比

手工測試人員怎么轉(zhuǎn)測試開發(fā)
 

單元測試

單元測試無疑是最適合做自動化的,但是,現(xiàn)實情況下,單元測試在絕大多數(shù)時候,都是由研發(fā)人員自己完成。單元測試的代碼行覆蓋率能夠達(dá)到70%,就是一個非常不錯的程度了。不過,測試人員不做單元測試,但是可以嘗試推動測試人員來編寫單元測試用例,可提高編寫代碼能力

單元測試常用的框架——XUnit,比如Java的JUnit,PHP的PHPUnit,Python的UnitTest等等;

一個測試用例通常由三部分組成——setUp,測試邏輯,tearDown。setUp用于準(zhǔn)備測試數(shù)據(jù),tearDown用于清理數(shù)據(jù);

一般單元測試框架都支持裝飾器設(shè)計模式的注解,比如跳過執(zhí)行,測試套件的組織,測試用例依賴管理等等

UI測試

目前,大部分的測試人員關(guān)注的多是UI的自動化測試。在傳統(tǒng)的測試行業(yè),測試工程師都是從UI下手,來完成所有的測試工作,所以到自動化領(lǐng)域,大家也理所當(dāng)然的喜歡從UI層來進(jìn)行自動化。做UI自動化。UI測試有以下幾點思想供參考

分布式思想——— 一般當(dāng)我們的case變得越來越多的時候,如何高效快速執(zhí)行這些case成為關(guān)鍵,這就涉及分布式,Selenium,官方提供了一個Grid,可以適當(dāng)研究下,理解一些原理

數(shù)據(jù)驅(qū)動思想—— 業(yè)務(wù)邏輯在某種程度上存在共性,同一段代碼的業(yè)務(wù)邏輯可以通過更換數(shù)據(jù)輸入,來生成多個測試用例,我們只需維護(hù)測試數(shù)據(jù)就可以維護(hù)case,這種框架思想在很多測試工具中都有實現(xiàn)

接口測試

接口自動化,是目前最適合測試工程師進(jìn)行自動化的一層。接口不但變化小,運行速度快,出現(xiàn)問題后能夠很快定位。

六.什么時候做自動化

需要明確一點,自動化是為了保證各項功能模塊正常而做的工作。

1.項目穩(wěn)定時,此時自動化可以參與其中,因為這時針對已有功能,項目功能模塊比較穩(wěn)定,即便后續(xù)更改也是迭代,自動化測試變更基本不大,而對新功能,不確定性風(fēng)險高

2.需要反復(fù)進(jìn)行某項測試,可以考慮使用局部自動化

3.某項功能測試,需要多個輸入時,可以考慮使用自動化測試

最后,自動化測試之路是漫長的,涉及的知識面也是比較廣的,不過,只要有信心,每天一小步,每天進(jìn)步一點點,長此以往,你會發(fā)現(xiàn)自己越來越成長,越來越優(yōu)秀。