首先目前的話主要可以大的可以分為兩個(gè)方向,要么是基于Java的自動(dòng)化,要么是基于Python的自動(dòng)化,很多做培訓(xùn)在培訓(xùn)的時(shí)候也是這樣去劃分,不過(guò)這個(gè)倒是不重要,歸根結(jié)底都是為了解決問(wèn)題的。
本文從3個(gè)面向去解答這個(gè)問(wèn)題:
一、自動(dòng)化測(cè)試的學(xué)習(xí)步驟;
二、自動(dòng)化測(cè)試需要掌握的技術(shù)能力;
三、自動(dòng)化測(cè)試的認(rèn)識(shí)誤區(qū)
首先要說(shuō)的就是自動(dòng)化測(cè)試的學(xué)習(xí)步驟
1. 做好手工測(cè)試(了解各種測(cè)試的知識(shí))->? 2. 學(xué)習(xí)編程語(yǔ)言-> 3. 學(xué)習(xí)Web基礎(chǔ)-> 4. 學(xué)習(xí)自動(dòng)化測(cè)試工具 ->5. 學(xué)習(xí)自動(dòng)化測(cè)試框架 -> 6. 實(shí)現(xiàn)自動(dòng)化測(cè)試用例 -> 7. 開(kāi)發(fā)自動(dòng)化測(cè)試工具 ->8. 開(kāi)發(fā)自動(dòng)化測(cè)試框架
按照這個(gè)步驟來(lái)說(shuō),基本上到第7步,難度就比較大了,這個(gè)時(shí)候也可以稱(chēng)呼自己為“測(cè)試開(kāi)發(fā)”。
下面說(shuō)說(shuō)第二個(gè)問(wèn)題,做自動(dòng)化測(cè)試需要掌握哪些技能。當(dāng)初自己做的時(shí)候一直是基于Python去做的自動(dòng)化,同時(shí)Python自動(dòng)化也比java自動(dòng)化更為容易上手一些,在這里我就按照Python自動(dòng)化的思路去說(shuō)一下如何學(xué)習(xí)自動(dòng)化,解答完這個(gè)問(wèn)題,文章的后半部分也會(huì)分享一下做自動(dòng)化測(cè)試中容易出現(xiàn)的一些問(wèn)題。老規(guī)矩,思維導(dǎo)圖放在文末。
一、首先要學(xué)會(huì)一門(mén)語(yǔ)言,java或者Python,這里針對(duì)Python去說(shuō)。如果要能夠滿足自動(dòng)化測(cè)試的需求,不要求Python的能力上來(lái)就達(dá)到精通的水平,但是最起碼的使用是要有的,然后在后期在逐步根據(jù)測(cè)試工具進(jìn)行進(jìn)階。
二、需要掌握前端的一些知識(shí),無(wú)論學(xué)習(xí)語(yǔ)言還是前端知識(shí),都是為了接下來(lái)的腳本和框架做鋪墊。
三、數(shù)據(jù)庫(kù)的重要性不言而喻,MySQL必須掌握
四、web端自動(dòng)化測(cè)試工具selenium
五、接口測(cè)試自動(dòng)化工具jmeter、postman等
六、移動(dòng)端自動(dòng)化測(cè)試appium
在這里主要就是把自動(dòng)化劃分為了web自動(dòng)化測(cè)試、接口自動(dòng)化和移動(dòng)端自動(dòng)化,我把完整的學(xué)習(xí)流程放上來(lái)。需要原圖可以直接私我。
好了,明確完自動(dòng)化測(cè)試的學(xué)習(xí)思路和流程,下面再額外的說(shuō)一下在學(xué)習(xí)自動(dòng)化之前,最容易出現(xiàn)的一些認(rèn)識(shí)誤區(qū),如果這些問(wèn)題不糾正的話,對(duì)于自動(dòng)化測(cè)試的影響將影響比較大。
二、自動(dòng)化測(cè)試的12個(gè)認(rèn)識(shí)誤區(qū)
1、自動(dòng)化的軟件測(cè)試與手工的軟件測(cè)試過(guò)程一樣
自動(dòng)化測(cè)試所需要的技巧與手工測(cè)試所需要的技巧是不一樣的。
通常,你的項(xiàng)目經(jīng)理會(huì)被那些測(cè)試工具銷(xiāo)售們迷惑,認(rèn)為自動(dòng)化的軟件測(cè)試就是簡(jiǎn)單地按一個(gè)錄制的按鈕,產(chǎn)生測(cè)試腳本。而事實(shí)上并沒(méi)有那么簡(jiǎn)單。
區(qū)分自動(dòng)化測(cè)試所需要的技巧與手工測(cè)試所需要的技巧是非常重要的。最重要的是,自動(dòng)化測(cè)試工程師需要掌握軟件開(kāi)發(fā)技巧,沒(méi)有接受任何培訓(xùn)的手工測(cè)試人員,或者沒(méi)有編程背景的手工測(cè)試人員,在實(shí)施自動(dòng)化測(cè)試時(shí)會(huì)碰到很多困難。
2、自動(dòng)化測(cè)試一定會(huì)馬上大量減少測(cè)試人員數(shù)量
自動(dòng)化測(cè)試不會(huì)馬上大量減少測(cè)試人員數(shù)量。因?yàn)殚_(kāi)展自動(dòng)化測(cè)試初期需要投入一定的人力進(jìn)行自動(dòng)化測(cè)試腳本開(kāi)發(fā),并逐漸將自動(dòng)化測(cè)試腳本用于日常的測(cè)試中,逐步減少手工測(cè)試人員從事重復(fù)勞動(dòng)的時(shí)間和人數(shù)。為了縮短自動(dòng)化測(cè)試腳本的開(kāi)發(fā)時(shí)間,可以考慮將自動(dòng)化測(cè)試腳本的開(kāi)發(fā)工作借助外包的力量來(lái)早日實(shí)現(xiàn)大規(guī)模的自動(dòng)化測(cè)試。
3、測(cè)試自動(dòng)化就是錄制和回放
僅僅錄制得到的不是有效的自動(dòng)化腳本。
很多項(xiàng)目經(jīng)理仍然把測(cè)試自動(dòng)化等同于使用錄制回放工具。而事實(shí)上,錄制得到的腳本通常是不可重用的腳本,腳本中充滿了硬編碼的值,這些值應(yīng)該被參數(shù)化,否則腳本僅僅適用于一個(gè)測(cè)試情況,腳本還應(yīng)該加入條件判斷、循環(huán)等結(jié)構(gòu),以便增強(qiáng)測(cè)試腳本的靈活性。
4、自動(dòng)化測(cè)試找不到bug
自動(dòng)化測(cè)試不直接找bug,而是通過(guò)解放有經(jīng)驗(yàn)的測(cè)試工程師的生產(chǎn)力,讓其從重復(fù)的回歸測(cè)試中解放出來(lái),從事新的測(cè)試方法和測(cè)試手段的研究。通過(guò)自動(dòng)化測(cè)試解放出測(cè)試人員的時(shí)間和精力來(lái)間接地找到更多、更深層次的新bug,將產(chǎn)品質(zhì)量再提高一個(gè)檔次。
5、自動(dòng)化測(cè)試工具是“萬(wàn)能”的
很多人一聽(tīng)到自動(dòng)化測(cè)試,就認(rèn)為自動(dòng)化測(cè)試工具可以完成一切測(cè)試工作,從測(cè)試計(jì)劃到測(cè)試執(zhí)行再到測(cè)試結(jié)果分析,都不需要任何人工干預(yù)。顯然,這是一種理想狀態(tài),現(xiàn)實(shí)中還沒(méi)有哪個(gè)測(cè)試工具有這個(gè)能力,并且將來(lái)也不會(huì)有。在現(xiàn)實(shí)中有關(guān)的測(cè)試設(shè)計(jì)、測(cè)試案例,以及一些關(guān)鍵的測(cè)試任務(wù)還是需要人工參與的,即自動(dòng)化測(cè)試是對(duì)手工測(cè)試的輔助和補(bǔ)充,它永遠(yuǎn)也不可能完全取代手工測(cè)試。
6、自動(dòng)化測(cè)試工具容易使用
對(duì)于這一點(diǎn),很多測(cè)試工程師有同樣的錯(cuò)誤觀點(diǎn),認(rèn)為測(cè)試工具可以簡(jiǎn)單地通過(guò)捕獲(錄制)客戶(hù)端操作生成腳本,且腳本不加編輯就可用于回放使用。事實(shí)上,自動(dòng)化測(cè)試不是那么簡(jiǎn)單的,捕獲的操作是否正確,以及腳本編輯是否合理都會(huì)影響測(cè)試結(jié)果。因此,自動(dòng)化測(cè)試需要更多的技能,也需要更多的培訓(xùn)。
7、自動(dòng)化能提供百分百的測(cè)試覆蓋率
并非所有內(nèi)容都可以被自動(dòng)化地測(cè)試到。不可能覆蓋所有可能的輸入,所有可能的組合和路徑。
自動(dòng)化測(cè)試可以增加測(cè)試的廣度和深度,但是仍然無(wú)法達(dá)到100%的測(cè)試覆蓋率,因?yàn)闆](méi)有足夠的時(shí)間或資源。
8、忘記了測(cè)試的最終目標(biāo):找到BUG
在自動(dòng)化測(cè)試中,同樣要注意把邊界值分析、等價(jià)類(lèi)分析、基于風(fēng)險(xiǎn)的測(cè)試方法、挑選最合適的測(cè)試用例等技術(shù)應(yīng)用起來(lái)。
通常在自動(dòng)化測(cè)試過(guò)程中,我們都忙著搭建自動(dòng)化框架和編寫(xiě)測(cè)試腳本,但是我們往往忘記了測(cè)試的本來(lái)目的:找bug。
項(xiàng)目經(jīng)理可能雇傭了最好的自動(dòng)化開(kāi)發(fā)人員來(lái)搭建框架,使用了最新最好的自動(dòng)化開(kāi)發(fā)技術(shù),創(chuàng)建了成千上萬(wàn)的自動(dòng)化測(cè)試腳本。但是如果BUG仍然被遺漏了,那些本該被自動(dòng)化測(cè)試腳本捕捉到的BUG,結(jié)果沒(méi)有被捕捉到,那么你的自動(dòng)化測(cè)試仍然會(huì)被認(rèn)為是失敗的。
9、所有測(cè)試用例都可以自動(dòng)化
不是所有的測(cè)試用例和測(cè)試步驟都可以轉(zhuǎn)化為自動(dòng)化測(cè)試。在自動(dòng)化測(cè)試投入較多的行業(yè),領(lǐng)先企業(yè)的自動(dòng)化測(cè)試率有的能達(dá)到80%左右,但仍有20%左右的測(cè)試用例需要手工來(lái)進(jìn)行。在國(guó)外,通常從開(kāi)發(fā)第一版測(cè)試用例時(shí),就同步進(jìn)行自動(dòng)化測(cè)試腳本的開(kāi)發(fā),所以自動(dòng)化測(cè)試率普遍比中國(guó)企業(yè)高。
10、只有性能測(cè)試才需要自動(dòng)化
自動(dòng)化測(cè)試不光進(jìn)行性能測(cè)試,更被大量應(yīng)用于功能測(cè)試驗(yàn)證,在國(guó)外超過(guò)半數(shù)的自動(dòng)化測(cè)試腳本都是用于功能驗(yàn)證測(cè)試的。
11、測(cè)試工具可適用于所有的測(cè)試
每種自動(dòng)化測(cè)試工具都有它的應(yīng)用范圍和可用對(duì)象,所以不能認(rèn)為一種自動(dòng)化測(cè)試工具能夠滿足所有測(cè)試的需求。針對(duì)不同的測(cè)試目的和測(cè)試對(duì)象,應(yīng)該選擇合適的測(cè)試工具來(lái)對(duì)它進(jìn)行測(cè)試。在很多情況下,需要利用多種測(cè)試工具或者開(kāi)發(fā)自動(dòng)化測(cè)試框架才能達(dá)到自動(dòng)化測(cè)試的目的。商業(yè)和開(kāi)源的測(cè)試工具能夠用來(lái)進(jìn)行自動(dòng)化測(cè)試,但是我們需要根據(jù)自身產(chǎn)品的特點(diǎn),開(kāi)發(fā)自動(dòng)化測(cè)試框架,在框架中提供常用的測(cè)試用例,加快測(cè)試速度,達(dá)到測(cè)試用例復(fù)用,這是今后測(cè)試自動(dòng)化發(fā)展的道路。
12、自動(dòng)化測(cè)試能發(fā)現(xiàn)大量新缺陷
發(fā)現(xiàn)更多的新缺陷應(yīng)該是手工測(cè)試的主要目的,不能期望自動(dòng)化測(cè)試去發(fā)現(xiàn)更多新缺陷。事實(shí)上,自動(dòng)化測(cè)試主要用于發(fā)現(xiàn)原來(lái)的缺陷。自動(dòng)化測(cè)試用于回歸測(cè)試,而大量的新業(yè)務(wù)測(cè)試更多地還是依賴(lài)手工測(cè)試。
除了以上列舉的常見(jiàn)誤區(qū)外,還有其他不同的認(rèn)識(shí)誤區(qū)。自動(dòng)化測(cè)試認(rèn)識(shí)誤區(qū)的產(chǎn)生,歸根到底最本質(zhì)的原因是由于對(duì)自動(dòng)化測(cè)試不現(xiàn)實(shí)的期望,也就是期望過(guò)高造成的。
如果沒(méi)有建立一個(gè)正確的軟件測(cè)試自動(dòng)化的觀念,認(rèn)為測(cè)試自動(dòng)化可以完全代替手工測(cè)試,或者認(rèn)為測(cè)試自動(dòng)化可以發(fā)現(xiàn)大量新缺陷,或者不愿在初期投入比較大的開(kāi)支等,則自動(dòng)化測(cè)試一定會(huì)讓我們大失所望。
相信通過(guò)這樣的解答,明白了什么時(shí)候用手工測(cè)試,什么時(shí)候用自動(dòng)化測(cè)試,并且知道了自動(dòng)化測(cè)試的局限性,這樣就不會(huì)對(duì)做自動(dòng)化測(cè)試的意義產(chǎn)生質(zhì)疑了。
最后呢,再給大家一些自動(dòng)化測(cè)試的相關(guān)資料:
自動(dòng)化測(cè)試相關(guān)資料,密碼:ofdg
接口測(cè)試相關(guān)資料,密碼:dgfa
軟件測(cè)試視頻教程資料大合集,密碼:hlcy
送給你們一些學(xué)習(xí)的資料,只求最后能給我點(diǎn)個(gè)贊哈,不勝感激!
聯(lián)系客服