为了可持续的测试自动化,透过表面看本质(译)
當(dāng)提到可接受的測(cè)試自動(dòng)化,最重要的一步是在適當(dāng)?shù)奈恢糜幸粋€(gè)適當(dāng)?shù)臏y(cè)試自動(dòng)化團(tuán)隊(duì)框架。這篇文章對(duì)一些不同的自動(dòng)化測(cè)試適用場(chǎng)景有一些已證明的項(xiàng)目——由一個(gè)自動(dòng)化或者回歸團(tuán)隊(duì)主導(dǎo),以敏捷的適應(yīng)性——幫助組織享受長(zhǎng)期的測(cè)試自動(dòng)化的成功。
公司發(fā)起一項(xiàng)新的測(cè)試自動(dòng)化倡議——任何銷售人員設(shè)計(jì)銷售相關(guān)的工具——傾向認(rèn)為他們的成功取決于完美的上線。作為一個(gè)測(cè)試自動(dòng)化顧問(wèn),我喜歡提供一個(gè)真實(shí)的基于我在領(lǐng)域里所見(jiàn)的檢查。如果你沒(méi)有準(zhǔn)備好,最初的上線可能是坎坷崎嶇的路,但是在長(zhǎng)期中,那不是要制造而是破壞你的測(cè)試自動(dòng)化倡議。
近來(lái)我親眼看到一些公司沒(méi)有準(zhǔn)備就開(kāi)始出現(xiàn)測(cè)試自動(dòng)化。執(zhí)行這個(gè)“策略”的風(fēng)險(xiǎn)是測(cè)試者們可能要因?yàn)檫@些原因堅(jiān)持測(cè)試自動(dòng)化:
- 他們覺(jué)得沒(méi)有它生活得很好
- 他們不想要(或沒(méi)有時(shí)間)學(xué)習(xí)新工具
- 他們擔(dān)心它太復(fù)雜而且需要獲取跟上進(jìn)度的努力超過(guò)了感知到的好處
一個(gè)不充分的計(jì)劃——或者完全不計(jì)劃——上線很明顯不是最好的發(fā)起一個(gè)測(cè)試自動(dòng)化倡議的最好方法。無(wú)論如何,我發(fā)現(xiàn)了從堅(jiān)固的上線中恢復(fù)比沒(méi)有一個(gè)恰當(dāng)?shù)臏y(cè)試自動(dòng)化退隊(duì)結(jié)構(gòu)而去獲得持續(xù)的測(cè)試自動(dòng)化來(lái)得簡(jiǎn)單些。
我喜歡去為一些不同的測(cè)試自動(dòng)化采用場(chǎng)景去分享一些已證明的實(shí)踐,幫助了很多機(jī)構(gòu)享受長(zhǎng)期的成功——甚至當(dāng)最初的上線不理想時(shí)。
自動(dòng)化團(tuán)隊(duì)正一個(gè)接一個(gè)項(xiàng)目地上線我們的測(cè)試自動(dòng)化
?
??
我能提供的最好一條建議是從小事開(kāi)始,然后做大的。已證明的第一個(gè)實(shí)踐是從創(chuàng)建自動(dòng)化團(tuán)隊(duì)開(kāi)始。
這個(gè)團(tuán)隊(duì)將從不同的項(xiàng)目迭代并且開(kāi)始從最重要的測(cè)試用例起自動(dòng)化。這讓你證明在倡議中的進(jìn)度并且讓你看到了一些應(yīng)用程序的改變?nèi)绾斡绊懼鲬?yīng)用程序功能性。
我建議從最有影響力的測(cè)試用例開(kāi)始:覆蓋你的頭等業(yè)務(wù)風(fēng)險(xiǎn)的那些。這創(chuàng)造了強(qiáng)有力的回歸文件夾的建立,它提供了最快的應(yīng)用程序變化是否先破壞了正在工作的功能的反饋。
自動(dòng)化團(tuán)隊(duì)?wèi)?yīng)該包含至少一位測(cè)試設(shè)計(jì)專家,他通過(guò)回顧需求并使用測(cè)試用例設(shè)計(jì)方法制定出應(yīng)該被自動(dòng)化的測(cè)試用例。然后,測(cè)試設(shè)計(jì)專家或者兩個(gè)或三個(gè)自動(dòng)化專家中的一位能評(píng)估是否需要測(cè)試數(shù)據(jù)管理,然后他們能合作指定測(cè)試用例。同時(shí),測(cè)試設(shè)計(jì)專家將關(guān)注下一個(gè)項(xiàng)目。
取決于你想要測(cè)試的軟件以及你定制它多少,一個(gè)自動(dòng)化工程師是必要的。他們將確保常規(guī)的控制被創(chuàng)建然后被維護(hù)。
團(tuán)隊(duì)的大小將會(huì)隨著擴(kuò)大,取決于測(cè)試用例和團(tuán)隊(duì)處理的項(xiàng)目的數(shù)量。這些建議只是為了最初的上線。一旦上線開(kāi)始進(jìn)行,你們將會(huì)想開(kāi)始招募盡可能多的人員。
一旦測(cè)試用例被自動(dòng)化,他們能通宵在虛擬機(jī)上運(yùn)行,然后在日常基礎(chǔ)上報(bào)告執(zhí)行結(jié)果。為使測(cè)試自動(dòng)化加入與運(yùn)轉(zhuǎn)的最重要的事情是確實(shí)在執(zhí)行測(cè)試用例!假如你不是正執(zhí)行你的用例,你不會(huì)從它們得到任何價(jià)值,不論你的測(cè)試集設(shè)計(jì)得如何好并且它如何好地覆蓋你的主要業(yè)務(wù)風(fēng)險(xiǎn)。
取決于你的公司架構(gòu)(敏捷或不是,測(cè)試團(tuán)隊(duì)或者獨(dú)立的測(cè)試員們),自動(dòng)化團(tuán)隊(duì)可能主要以教導(dǎo)每個(gè)人關(guān)于上線自動(dòng)化最佳實(shí)踐的實(shí)施以及當(dāng)他們開(kāi)始他們自己的測(cè)試自動(dòng)化時(shí)的需要考慮的項(xiàng)目多樣性為主。
在測(cè)試人員開(kāi)始采用測(cè)試自動(dòng)化之前,必須做個(gè)決定:誰(shuí)負(fù)責(zé)這些測(cè)試用例?這是主要的。假如自動(dòng)化團(tuán)隊(duì)(或者后來(lái)回歸團(tuán)隊(duì))是負(fù)責(zé)的,然后他們不得不與測(cè)試人員們和商務(wù)方面做更多的溝通。假如它是測(cè)試員們的的責(zé)任,他們需要足夠的時(shí)間去保證所有的測(cè)試用例在執(zhí)行并且符合業(yè)務(wù)需求。每一個(gè)組織需要去決定什么是對(duì)他們最好的,取決于他們的架構(gòu)和工作模式。
不管你負(fù)責(zé)哪個(gè)方向,確保節(jié)約足夠的時(shí)間來(lái)溝通。一方面,新的測(cè)試用例需要被回歸團(tuán)隊(duì)審核然后為執(zhí)行而創(chuàng)建。另一方面,回歸測(cè)試結(jié)果(尤其失敗的測(cè)試用例)需要被共享使得負(fù)責(zé)的團(tuán)隊(duì)成員或者測(cè)試員們能審查它們并必要時(shí)更新測(cè)試。至少,確保測(cè)試員們獨(dú)立地檢查回歸結(jié)果并做合適的調(diào)整,這樣回歸團(tuán)隊(duì)能從共享文件夾里推出新的測(cè)試用例,自己審核它們。
回歸團(tuán)隊(duì)在每個(gè)項(xiàng)目上領(lǐng)導(dǎo)和指導(dǎo)測(cè)試員們
?
?
?我所見(jiàn)過(guò)的最有效率的設(shè)置是建立一支初始的自動(dòng)化團(tuán)隊(duì),它包含一個(gè)回歸團(tuán)隊(duì),一旦測(cè)試自動(dòng)化基金會(huì)被成立,其他就要準(zhǔn)備驅(qū)動(dòng)它向前。
回歸團(tuán)隊(duì)仍然為在最初的項(xiàng)目里創(chuàng)建測(cè)試用例負(fù)責(zé),維護(hù)存在的測(cè)試用例,執(zhí)行測(cè)試用例,保護(hù)測(cè)試架構(gòu),并且監(jiān)督拓寬的測(cè)試自動(dòng)化建立和項(xiàng)目。你能把這個(gè)團(tuán)隊(duì)叫做優(yōu)秀測(cè)試中心。
關(guān)于這個(gè)建立,可能有項(xiàng)目和更大的改變由測(cè)試設(shè)計(jì)專家指導(dǎo)著,他關(guān)注正確的格式并提供它應(yīng)該看起來(lái)像什么的預(yù)覽。他們就像軟件藝術(shù)家(或者以我們?yōu)槔?#xff0c;測(cè)試藝術(shù)家)。
回歸團(tuán)隊(duì)是“定位群”,假如你有關(guān)于問(wèn)題的疑問(wèn)或者你想要引進(jìn)新的創(chuàng)新。所有者和責(zé)任應(yīng)該應(yīng)該是回歸團(tuán)隊(duì)的,因?yàn)樗麄冇袦y(cè)試文件夾的最好概覽。
從一個(gè)資源的角度,你在回歸團(tuán)隊(duì)里需要高技能的人,但是你能僥幸逃離經(jīng)驗(yàn)少的作為測(cè)試員的團(tuán)隊(duì)成員。假如測(cè)試員們需要比培訓(xùn)提供的更多的知識(shí),他們能經(jīng)常問(wèn)回歸團(tuán)隊(duì),他們?nèi)缓竽芡ㄟ^(guò)共享他們建立起的知識(shí)提供幫助。
敏捷環(huán)境的適應(yīng)
對(duì)于敏捷團(tuán)隊(duì),測(cè)試自動(dòng)化被團(tuán)隊(duì)里的敏捷測(cè)試員驅(qū)動(dòng)。這個(gè)人應(yīng)該比一個(gè)自動(dòng)化專家更先進(jìn)——他們需要理解測(cè)試用例設(shè)計(jì)、需求、測(cè)試用例創(chuàng)作和執(zhí)行,以及核心的測(cè)試最佳實(shí)踐,并且他們需要一個(gè)測(cè)試什么以及如何有效測(cè)試它的好的理解。
我建議一個(gè)開(kāi)發(fā)和測(cè)試從一個(gè)Sprint到另一個(gè)Sprint持續(xù)的建立:
?
?
?
?
當(dāng)開(kāi)發(fā)結(jié)束了Sprint n-1的特性,測(cè)試開(kāi)始。同時(shí),開(kāi)發(fā)能持續(xù)特性2(Sprint n),等等。只是確保為修復(fù)bug和更深入改進(jìn)保留時(shí)間。
我們分離開(kāi)發(fā)和測(cè)試嗎?
最后,當(dāng)談到架構(gòu),我想要給頻繁發(fā)生的一對(duì)問(wèn)題增加我的兩分錢(qián):我們的開(kāi)發(fā)需要測(cè)試嗎,或者我們需要分離開(kāi)發(fā)和測(cè)試嗎?我們?cè)跍y(cè)試中使用軟件開(kāi)發(fā)工程師(簡(jiǎn)稱SDETs)嗎?
理論上,你也可以通過(guò)有開(kāi)發(fā)測(cè)試來(lái)節(jié)約時(shí)間和金錢(qián)因?yàn)殚_(kāi)發(fā)最知道代碼。但是實(shí)話實(shí)說(shuō):開(kāi)發(fā)從沒(méi)有足夠的時(shí)間去完成每個(gè)人想要完成的開(kāi)發(fā)任務(wù)。假如他們也為測(cè)試自動(dòng)化負(fù)責(zé),那意味著他們甚至沒(méi)有時(shí)間去完成那些任務(wù)。而且即使開(kāi)發(fā)們最知道代碼,你確定他們能檢查邊界條件嗎?預(yù)計(jì)風(fēng)險(xiǎn)并嘗試詢問(wèn)合適的問(wèn)題?探究系統(tǒng)并把它推向失敗?
我的意見(jiàn)是有些人不寫(xiě)代碼更適合做這個(gè)。那些其他人關(guān)注于通過(guò)應(yīng)用程序獲取實(shí)際的業(yè)務(wù)目標(biāo)并嘗試思考每一個(gè)能導(dǎo)向系統(tǒng)一個(gè)錯(cuò)誤的指導(dǎo)的可能性。從我所在領(lǐng)域里見(jiàn)過(guò)的,那通常不是一個(gè)開(kāi)發(fā)的強(qiáng)項(xiàng)。
旋轉(zhuǎn)桌子
所有這些建議是基于我的幫助用戶適應(yīng)測(cè)試自動(dòng)化的個(gè)人經(jīng)驗(yàn)。我知道每個(gè)讀者可能有關(guān)于這的不同觀點(diǎn)——而且我鼓勵(lì)你在下面去分享關(guān)于它的想法。什么幫助你最多了?你如何在你的公司建立測(cè)試自動(dòng)化?你面對(duì)的挑戰(zhàn)是什么?
轉(zhuǎn)載于:https://www.cnblogs.com/fengye151/p/11519115.html
總結(jié)
以上是生活随笔為你收集整理的为了可持续的测试自动化,透过表面看本质(译)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CentOS上Nginx服务器安装php
- 下一篇: 测试后台展示页小结