此文為原創(chuàng)文章挽唉,轉(zhuǎn)載請(qǐng)注明作者及原出處
這是一個(gè)老生常談的話題屏箍,如果你打開這篇文章昌妹,說明你正困惑于“如何開展自動(dòng)化”這類問題。相信目前測(cè)試業(yè)內(nèi)普遍認(rèn)同"自動(dòng)化并不是銀彈"的說法顷扩。也就是說自動(dòng)化并不能完美的解決測(cè)試的所有問題,但很多公司又都在搞自動(dòng)化慰毅,說明開展自動(dòng)化是需要具備一定條件的隘截。
適不適合開展自動(dòng)化測(cè)試
開展自動(dòng)化測(cè)試之前,你第一個(gè)要問自己的問題就是"我們的團(tuán)隊(duì)適不適合開展自動(dòng)化測(cè)試?"汹胃。并不是公司老板說我們需要開展自動(dòng)化測(cè)試來提高工作效率婶芭,節(jié)約公司成本,就匆匆忙忙的開始進(jìn)行自動(dòng)化測(cè)試着饥。你至少應(yīng)該從以下幾個(gè)方面考慮是否適合開展自動(dòng)化測(cè)試:
公司及業(yè)務(wù)的規(guī)模
一般說來,自動(dòng)化測(cè)試是大公司才能玩得轉(zhuǎn)的游戲犀农。因?yàn)樵谶@些公司,開發(fā)流程相對(duì)比較嚴(yán)謹(jǐn)和完善宰掉,有專門的自動(dòng)化測(cè)試團(tuán)隊(duì)來實(shí)施自動(dòng)化;同時(shí)也因?yàn)橐?guī)模大呵哨,可以使自動(dòng)化測(cè)試形成規(guī)模優(yōu)勢(shì),從而降低成本轨奄,提高效率
項(xiàng)目的規(guī)模和性質(zhì)
并不是所有項(xiàng)目都適合進(jìn)行孟害,一些短平快的項(xiàng)目不適合自動(dòng)化測(cè)試,一些需求長(zhǎng)期變動(dòng)頻繁的項(xiàng)目也不適合自動(dòng)化測(cè)試,只有迭代周期長(zhǎng)且需求變動(dòng)平穩(wěn)的項(xiàng)目才適合自動(dòng)化測(cè)試.
做好ROI(投資回報(bào)率)
做工作干事業(yè)挪拟,我們總是會(huì)考慮投入和產(chǎn)生的問題,自動(dòng)化測(cè)試自然也例外挨务。簡(jiǎn)單的概括,自動(dòng)化測(cè)試的ROI可以用如下公式來計(jì)算:
ROI=(手工測(cè)試成本-自動(dòng)化測(cè)試成本)/自動(dòng)化測(cè)試成本*100%
比如:現(xiàn)在有100條測(cè)試用例,設(shè)計(jì)這些用例需要耗費(fèi)3天時(shí)間,執(zhí)行一次需要耗費(fèi)1天時(shí)間,那么以1月執(zhí)行5次為例,
那么一個(gè)月手工測(cè)試成本為3+1*5=8人日玉组,而自動(dòng)化測(cè)試100條用例設(shè)計(jì)需要7天谎柄,執(zhí)行一次需要耗費(fèi)2小時(shí),
但由于業(yè)務(wù)需求更改,每次需要花費(fèi)半天進(jìn)行腳本調(diào)整惯雳,那么一個(gè)月的自動(dòng)化測(cè)試成本為7+0.5*5=9.5人日
由此可見,只有在需求盡量少變更(減少維護(hù)成本)谷誓,且需要多進(jìn)行自動(dòng)化測(cè)試的情況下,自動(dòng)化測(cè)試才會(huì)有比較高的回報(bào)率.
測(cè)試團(tuán)隊(duì)的技術(shù)水平
雖然目前自動(dòng)化測(cè)試框架的成熟度已經(jīng)很高,但依然需要測(cè)試人員具備一定的開發(fā)能力吨凑。如果在技術(shù)儲(chǔ)備不足的情況下開展自動(dòng)化測(cè)試捍歪,成功的幾率很低。
業(yè)務(wù)需求變動(dòng)頻繁
關(guān)于這點(diǎn),幾乎已經(jīng)是業(yè)界內(nèi)的共識(shí)鸵钝。對(duì)變更很頻繁的功能進(jìn)行自動(dòng)化測(cè)試糙臼,結(jié)局幾乎都是災(zāi)難性的。測(cè)試人員往往陷入到自動(dòng)化測(cè)試用例維護(hù)的漩渦中,結(jié)果就是自動(dòng)化測(cè)試沒有起到應(yīng)有的作用恩商,手工測(cè)試也被耽誤了变逃。
持續(xù)集成的項(xiàng)目
目前越來越多的團(tuán)隊(duì)實(shí)施了敏捷開發(fā)模式,敏捷開發(fā)中比較重要的觀點(diǎn)就是持續(xù)集成怠堪。由于持續(xù)集成的持續(xù)性和即時(shí)性揽乱,所以非常需要自動(dòng)化測(cè)試來持續(xù)的名眉,及時(shí)的反饋測(cè)試的結(jié)果。
節(jié)制且有策略的實(shí)施自動(dòng)化測(cè)試
很多公司都曾經(jīng)開展過自動(dòng)化測(cè)試凰棉,但取得成效的確很少损拢。其中一個(gè)很重要的原因就是缺乏策略性,倉促的就開展自動(dòng)化,甚至把自動(dòng)化測(cè)試作為KPI來考核撒犀,結(jié)果大家都一窩蜂的編寫自動(dòng)化測(cè)試用例福压,KPI是漂亮了,但開展自動(dòng)化測(cè)試對(duì)實(shí)際工作效率和效果的改善確沒有盡如人意或舞。其實(shí)荆姆,開展自動(dòng)化測(cè)試應(yīng)該一步一步來。先拿一個(gè)項(xiàng)目映凳,甚至一個(gè)模塊來做實(shí)踐胆筒,"實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)",那么花費(fèi)最小的代價(jià)來實(shí)踐出真理就是最好的結(jié)果。通過實(shí)踐诈豌,你總是會(huì)得到“自動(dòng)化測(cè)試適不適合你們公司”,“如何更好的開展自動(dòng)化測(cè)試”這些問題的答案腐泻。而且通過最佳實(shí)踐,你也更有底氣的在項(xiàng)目队询,甚至公司里廣泛的開展自動(dòng)化測(cè)試派桩。![timg.jpg]要選擇合適的自動(dòng)化測(cè)試
大家對(duì)上面這幅圖都應(yīng)該很熟悉,測(cè)試金字塔揭示了進(jìn)行測(cè)試的優(yōu)先級(jí)蚌斩。如果你們公司需要開展自動(dòng)化測(cè)試铆惑,那么如上圖所示,從單元測(cè)試開始是最好的選擇送膳。但單元測(cè)試是否實(shí)施以及如何實(shí)施的主動(dòng)權(quán)往往在開發(fā)的手里员魏。所以開展自動(dòng)化測(cè)試的最佳選擇往往是API測(cè)試(接口測(cè)試)。尤其是在現(xiàn)在越來越盛行基于服務(wù)的開發(fā)以及前后端分離叠聋,給接口測(cè)試實(shí)施自動(dòng)化帶來了極大的便利撕阎。對(duì)于UI自動(dòng)化測(cè)試,雖然關(guān)于UI自動(dòng)化測(cè)試討論以及相關(guān)技術(shù)和框架都比較多,但實(shí)施的效果往往都不盡如人意碌补。
你可能需要一個(gè)自己的框架
我們需要自己的框架并不是為了顯示自己逼格高虏束,而是當(dāng)自動(dòng)化測(cè)試規(guī)模到了一定的規(guī)模,維護(hù)自己的框架才會(huì)使你的自動(dòng)化測(cè)試更好的進(jìn)行厦章。你也不必自己從頭開始造輪子镇匀,在現(xiàn)有的測(cè)試框架上實(shí)現(xiàn)適合自己公司的功能就可以。比如說袜啃,使用Junit驅(qū)動(dòng)API測(cè)試用例的執(zhí)行汗侵,那么你可能需要一個(gè)平臺(tái)來管理你目前的用例,批量執(zhí)行測(cè)試以及測(cè)試報(bào)告的查看。
結(jié)束語
自動(dòng)化測(cè)試,你是否值得擁有晰韵,我想答案是肯定的发乔。但如何擁有,確有很長(zhǎng)的一段路要走雪猪。如何結(jié)合技術(shù)與實(shí)踐總結(jié)出適合工作的最佳方案是最終的目標(biāo)栏尚。