當(dāng)前位置: 首頁(yè) > 行業(yè)動(dòng)態(tài)
自動(dòng)化測(cè)試的成本高,效果差,是一個(gè)相對(duì)的,而針對(duì)某些具體項(xiàng)目,是必須要接入自動(dòng)化測(cè)試的。
首先說(shuō)一些什么時(shí)候會(huì)需要自動(dòng)化測(cè)試。
首先咱們討論這個(gè)問(wèn)題之前要帶著一個(gè)疑問(wèn):決定要不要做自動(dòng)化測(cè)試的因素有哪些?
應(yīng)該說(shuō)時(shí)間才是一個(gè)衡量比重比較大的因素。
假如一個(gè)項(xiàng)目從立項(xiàng)到結(jié)束只有一個(gè)月的時(shí)間,而這一個(gè)月的時(shí)間可能相當(dāng)長(zhǎng)的時(shí)間都是用來(lái)看需求文檔,改需求文檔,編寫測(cè)試用例等,真正留給測(cè)試的時(shí)間是不多的。所以這個(gè)時(shí)候如果強(qiáng)行要做自動(dòng)化測(cè)試,可能用例設(shè)計(jì)還沒(méi)有完成,后面跟隨改動(dòng)頭就更大了。
所以對(duì)于時(shí)間成本和工作效率而言,手工測(cè)試是較好選擇。
但是呢,一旦項(xiàng)目穩(wěn)定下來(lái),就要考慮接入自動(dòng)化測(cè)試了。因?yàn)檫@個(gè)時(shí)候項(xiàng)目比較穩(wěn)定,做自動(dòng)化就可以參照著手工用例去做了。
拋去了時(shí)間,就要考慮成本和效率了。
那么講到這里,也就明白了自動(dòng)化測(cè)試的一些特點(diǎn):
1、自動(dòng)化測(cè)試是為了確保項(xiàng)目可以正常上線,項(xiàng)目的主流程沒(méi)有bug,而手工測(cè)試就是為了發(fā)現(xiàn)很多很多的bug。
2、從理論上來(lái)說(shuō),自動(dòng)化是可以覆蓋到所有的手工測(cè)試的流程的,但是相應(yīng)的如果每一次測(cè)試都用自動(dòng)化,靠著公司的一到兩個(gè)自動(dòng)化工程師,成本和效率反而會(huì)打折扣,跟不上迭代的速度。這也就是題主說(shuō)的自動(dòng)化成本高,效果差的反映。
3、如果是一名自動(dòng)化測(cè)試人員,自身的價(jià)值不是簡(jiǎn)單用腳本來(lái)體現(xiàn)的。無(wú)論搭建環(huán)境、搭建web框架、開發(fā)應(yīng)用程序,都是能力的體現(xiàn),說(shuō)白了,自動(dòng)化測(cè)試工程師是要發(fā)揮創(chuàng)造力的工作。
那么說(shuō)什么樣的項(xiàng)目直接就可以拿來(lái)做自動(dòng)化測(cè)試呢?
自動(dòng)化測(cè)試之所以能在很多大公司實(shí)施起來(lái),就是有它適合自動(dòng)化測(cè)試的特點(diǎn)和高的投資回報(bào)率。
? 產(chǎn)品型項(xiàng)目。產(chǎn)品型的項(xiàng)目,每個(gè)項(xiàng)目只改進(jìn)少量的功能,但每個(gè)項(xiàng)目必須反反復(fù)復(fù)的測(cè)試那些沒(méi)有改動(dòng)過(guò)的功能。這部分測(cè)試完全可以讓自動(dòng)化測(cè)試來(lái)承擔(dān), 同時(shí)可以把新加入的功能的測(cè)試也慢慢地加入到自動(dòng)化測(cè)試當(dāng)中。
? 增量式開發(fā)、持續(xù)集成項(xiàng)目。由于這種開發(fā)模式是頻繁的發(fā)布新版本進(jìn)行測(cè)試,也就需要頻繁的自動(dòng)化測(cè)試,以便把人從中解脫出來(lái)測(cè)試新的功能。
? 能夠自動(dòng)編譯、自動(dòng)發(fā)布的系統(tǒng)。要能夠完全實(shí)現(xiàn)自動(dòng)化測(cè)試,必須具有能夠自動(dòng)化編譯,自動(dòng)化發(fā)布系統(tǒng)進(jìn)行測(cè)試的功能。 當(dāng)然,不能達(dá)到這個(gè)要求也可以在手工干預(yù)的情況下進(jìn)行自動(dòng)化測(cè)試。
? 回歸測(cè)試?;貧w測(cè)試是自動(dòng)化測(cè)試的強(qiáng)項(xiàng),它能夠很好的驗(yàn)證你是否引入了新的缺陷,老的缺陷是否修改過(guò)來(lái)了。在某種程度上可以把自動(dòng)化測(cè)試工具叫做回歸測(cè)試工具。
? 多次重復(fù)、機(jī)械性動(dòng)作,將煩瑣的任務(wù)轉(zhuǎn)化為自動(dòng)化測(cè)試。自動(dòng)化測(cè)試較適用于多次重復(fù)、機(jī)械性動(dòng)作,這樣的測(cè)試對(duì)它來(lái)說(shuō)從不會(huì)失敗。比如要向系統(tǒng)輸入大量的相似數(shù)據(jù)來(lái)測(cè)試壓力和報(bào)表。
? 需要頻繁運(yùn)行測(cè)試。在一個(gè)項(xiàng)目中需要頻繁的運(yùn)行測(cè)試,測(cè)試周期按天算,就能較大限度的利用測(cè)試腳本
那么說(shuō)不適合做自動(dòng)化測(cè)試的項(xiàng)目是什么特點(diǎn)呢?
? 定制型項(xiàng)目(一次性的)。為客戶定制的項(xiàng)目,維護(hù)期由客戶方承擔(dān)的,甚至采用的開發(fā)語(yǔ)言、運(yùn)行環(huán)境也是客戶特別要求的,即公司在這方面的測(cè)試積累就少,這樣的項(xiàng)目不適合作自動(dòng)化測(cè)試。
? 項(xiàng)目周期很短的項(xiàng)目。項(xiàng)目周期很短,測(cè)試周期很短,就不值得花精力去投資自動(dòng)化測(cè)試,好不容易建立起的測(cè)試腳本,不能得到重復(fù)的利用是不現(xiàn)實(shí)的。
? 業(yè)務(wù)規(guī)則復(fù)雜的對(duì)象。業(yè)務(wù)規(guī)則復(fù)雜的對(duì)象,有很多的邏輯關(guān)系、運(yùn)算關(guān)系,工具就很難測(cè)試。
? 美觀、聲音、易用性測(cè)試。人的感觀方面的:界面的美觀、聲音的體驗(yàn)、易用性的測(cè)試,也只有人來(lái)測(cè)試。
? 測(cè)試很少運(yùn)行。測(cè)試很少運(yùn)行,對(duì)自動(dòng)化測(cè)試就是一種浪費(fèi)。自動(dòng)化測(cè)試就是讓它不厭其煩的、反反復(fù)復(fù)的運(yùn)行才有效率。
? 軟件不穩(wěn)定。軟件不穩(wěn)定,則會(huì)由于這些不穩(wěn)定因素導(dǎo)致自動(dòng)化測(cè)試失敗。只有當(dāng)軟件達(dá)到相對(duì)的穩(wěn)定,沒(méi)有界面性嚴(yán)重錯(cuò)誤和中斷錯(cuò)誤才能開始自動(dòng)化測(cè)試。
? 涉及物理交互。工具很難完成與物理設(shè)備的交互,比如刷卡的測(cè)試等。
相信討論到這里,題主的疑惑肯定是解決的非常清晰了。下面咱們就延伸的說(shuō)一說(shuō),談?wù)?span style="user-select: text !important; font-weight: 600;">手工測(cè)試與自動(dòng)化測(cè)試的區(qū)別以及目前行業(yè)內(nèi)外對(duì)于自動(dòng)化測(cè)試存在的一些誤區(qū)
一、手工測(cè)試與自動(dòng)化測(cè)試的區(qū)別
1、手工測(cè)試與自動(dòng)化測(cè)試并不是對(duì)立的
很多人會(huì)誤以為有了自動(dòng)化測(cè)試就不需要手工測(cè)試了,手工測(cè)試做的好也用不到自動(dòng)化測(cè)試,其實(shí)不然。二者并不是對(duì)立的,什么手段效率高,就用什么手段。自動(dòng)化測(cè)試發(fā)展了這么多年,也沒(méi)有把手工測(cè)試給取代。
2、手工測(cè)試的特點(diǎn)
手工測(cè)試有較強(qiáng)的異常處理能力,能通過(guò)人為的邏輯判斷效驗(yàn)當(dāng)前的步驟是否正確,同時(shí)用例的執(zhí)行具有一定步驟跳躍性,能夠步步跟蹤,細(xì)致定位問(wèn)題。
如果修正缺陷所需時(shí)間稍長(zhǎng),那么想將手工測(cè)試應(yīng)用于回歸測(cè)試將變得異常困難。這是因?yàn)樾枰獪y(cè)試的測(cè)試用例太多。
難以對(duì)不可視對(duì)象或?qū)ο蟮牟豢梢晫傩赃M(jìn)行測(cè)試。
3、自動(dòng)化測(cè)試的特點(diǎn)
執(zhí)行的對(duì)象是腳本,能通過(guò)人為的邏輯判斷效驗(yàn)當(dāng)前的步驟是否正確實(shí)現(xiàn),用例步驟之間關(guān)聯(lián)性強(qiáng),不像手工測(cè)試用例那么跳躍。另外也是用來(lái)保證產(chǎn)品主體功能正確和完整,讓測(cè)試人員從繁重的工作中解脫出來(lái)。
可以更好的利用資源。在夜間執(zhí)行自動(dòng)測(cè)試用例。測(cè)試具有移植性和可重復(fù)性。好的測(cè)試腳本往往具有較好的平臺(tái)移植性。可以更快地將軟件推向市場(chǎng)。因?yàn)樽詣?dòng)測(cè)試節(jié)省了大量的時(shí)間。但是自動(dòng)化測(cè)試要求的先期投入比較大,而且要求人員必須經(jīng)過(guò)嚴(yán)格的培訓(xùn)。
4、自動(dòng)化測(cè)試與手工測(cè)試的關(guān)系
自動(dòng)化測(cè)試不能完全替代手工測(cè)試,自動(dòng)化測(cè)試的目的僅僅在于讓測(cè)試人員從繁瑣重復(fù)的測(cè)試流程中解脫出來(lái),把更多的時(shí)間和精力放在更有價(jià)值的測(cè)試中,例如探索性測(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è)試工具銷售們迷惑,認(rèn)為自動(dòng)化的軟件測(cè)試就是簡(jiǎn)單地按一個(gè)錄制的按鈕,產(chǎn)生測(cè)試腳本。而事實(shí)上并沒(méi)有那么簡(jiǎn)單。
區(qū)分自動(dòng)化測(cè)試所需要的技巧與手工測(cè)試所需要的技巧是非常重要的。重要的是,自動(dòng)化測(cè)試工程師需要掌握軟件開發(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)殚_展自動(dòng)化測(cè)試初期需要投入一定的人力進(jìn)行自動(dòng)化測(cè)試腳本開發(fā),并逐漸將自動(dòng)化測(cè)試腳本用于日常的測(cè)試中,逐步減少手工測(cè)試人員從事重復(fù)勞動(dòng)的時(shí)間和人數(shù)。為了縮短自動(dòng)化測(cè)試腳本的開發(fā)時(shí)間,可以考慮將自動(dòng)化測(cè)試腳本的開發(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)能”的
很多人一聽到自動(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ò)捕獲(錄制)客戶端操作生成腳本,且腳本不加編輯就可用于回放使用。事實(shí)上,自動(dòng)化測(cè)試不是那么簡(jiǎn)單的,捕獲的操作是否正確,以及腳本編輯是否合理都會(huì)影響測(cè)試結(jié)果。因此,自動(dòng)化測(cè)試需要更多的技能,也需要更多的培訓(xùn)。
7、自動(dòng)化能提供99.99的測(cè)試覆蓋率
并非所有內(nèi)容都可以被自動(dòng)化地測(cè)試到。不可能覆蓋所有可能的輸入,所有可能的組合和路徑。
自動(dòng)化測(cè)試可以增加測(cè)試的廣度和深度,但是仍然無(wú)法達(dá)到完美的測(cè)試覆蓋率,因?yàn)闆](méi)有足夠的時(shí)間或資源。
8、忘記了測(cè)試的最終目標(biāo):找到BUG
在自動(dòng)化測(cè)試中,同樣要注意把邊界值分析、等價(jià)類分析、基于風(fēng)險(xiǎn)的測(cè)試方法、挑選合適的測(cè)試用例等技術(shù)應(yīng)用起來(lái)。
通常在自動(dòng)化測(cè)試過(guò)程中,我們都忙著搭建自動(dòng)化框架和編寫測(cè)試腳本,但是我們往往忘記了測(cè)試的本來(lái)目的:找bug。
項(xiàng)目經(jīng)理可能雇傭了較好的自動(dòng)化開發(fā)人員來(lái)搭建框架,使用了新的自動(dòng)化開發(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è),先進(jìn)企業(yè)的自動(dòng)化測(cè)試率有的能達(dá)到80%左右,但仍有20%左右的測(cè)試用例需要手工來(lái)進(jìn)行。在國(guó)外,通常從開發(fā)第一版測(cè)試用例時(shí),就同步進(jìn)行自動(dòng)化測(cè)試腳本的開發(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è)試工具或者開發(fā)自動(dòng)化測(cè)試框架才能達(dá)到自動(dòng)化測(cè)試的目的。商業(yè)和開源的測(cè)試工具能夠用來(lái)進(jìn)行自動(dòng)化測(cè)試,但是我們需要根據(jù)自身產(chǎn)品的特點(diǎn),開發(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è)試更多地還是依賴手工測(cè)試。
除了以上列舉的常見誤區(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)大量新缺陷,或者不愿在初期投入比較大的開支等,則自動(dòng)化測(cè)試一定會(huì)讓我們大失所望。
相信通過(guò)這樣的解答,明白了什么時(shí)候用手工測(cè)試,什么時(shí)候用自動(dòng)化測(cè)試,并且知道了自動(dòng)化測(cè)試的局限性,這樣就不會(huì)對(duì)做自動(dòng)化測(cè)試的意義產(chǎn)生質(zhì)疑了。
鼎麟電子值得信賴!
電話咨詢:18777168640 18914008640
投訴建議:0512-67209651
公司地址:蘇州金芳路18號(hào)C 521
版權(quán)所有 鼎麟(蘇州)電子設(shè)備有限公司 蘇ICP備18029261號(hào)-2