自動(dòng)化測(cè)試的根本目標(biāo):
測(cè)試環(huán)境中,保證新增接口功能正確性缴阎,原有接口的回歸(保證原有接口不被修改“壞”)允瞧;
生產(chǎn)環(huán)境中,保證接口層面服務(wù)可用蛮拔,功能的正確性(保證服務(wù)掛掉時(shí)述暂,及時(shí)發(fā)現(xiàn))
面對(duì)這個(gè)問(wèn)題,首先要思考的是幾個(gè)問(wèn)題是:
第一建炫、什么項(xiàng)目適合自動(dòng)化畦韭?
業(yè)界普遍認(rèn)為一下幾種情況比較適合自動(dòng)化測(cè)試:
回歸測(cè)試為主的支持維護(hù)項(xiàng)目,即需要長(zhǎng)期做支持維護(hù)的產(chǎn)品肛跌∫张洌或者有過(guò)去版本需要長(zhǎng)期做支持維護(hù)的產(chǎn)品。這種產(chǎn)品(比如企業(yè)軟件衍慎,操作系統(tǒng)等)一個(gè)版本在發(fā)布之后往往需要支持好多年转唉,做bug fix和patch。這個(gè)時(shí)候每次小版本的開(kāi)發(fā)都會(huì)增加迭代次數(shù)稳捆,并且每次產(chǎn)品變動(dòng)都非常有限赠法,維護(hù)成本相對(duì)偏低,自動(dòng)化收益就非常好眷柔。這也是很多企業(yè)級(jí)軟件或者硬件產(chǎn)品有專門(mén)自動(dòng)化團(tuán)隊(duì)的原因期虾。因?yàn)楫a(chǎn)品的支持維護(hù)開(kāi)發(fā)的回歸測(cè)試基本靠自動(dòng)化接口比較穩(wěn)定的產(chǎn)品,同上手動(dòng)測(cè)試特別費(fèi)時(shí)費(fèi)力驯嘱,甚至無(wú)法達(dá)到測(cè)試目的的項(xiàng)目。比如壓力測(cè)試喳坠,大數(shù)據(jù)或者大量重復(fù)數(shù)據(jù)測(cè)試鞠评,必須有自動(dòng)化工具的支持。
第二壕鹉、什么時(shí)間點(diǎn)適合自動(dòng)化介入剃幌?
一個(gè)項(xiàng)目的初期可能不太適合自動(dòng)化聋涨,why?
因?yàn)轫?xiàng)目初始階段用戶界面和接口沒(méi)有穩(wěn)定,自動(dòng)化代碼會(huì)被動(dòng)的被要求頻繁改變负乡,維護(hù)成本非常高牍白,自動(dòng)化收益不好。而反而手動(dòng)測(cè)試能夠快速發(fā)現(xiàn)問(wèn)題抖棘,反饋給開(kāi)發(fā)人員茂腥。而到了項(xiàng)目后期和維護(hù)期,項(xiàng)目偏于穩(wěn)定狀態(tài)切省,測(cè)試用例會(huì)逐漸增加到很多最岗,自動(dòng)化再介入選取穩(wěn)定的模塊,為回歸測(cè)試做準(zhǔn)備朝捆,可以最大化自動(dòng)化收益般渡。
第三、團(tuán)隊(duì)成員的能力芙盘,使用的工具和硬件基礎(chǔ)設(shè)施
其實(shí)這個(gè)因素是做所有事情都必須考慮的驯用。自動(dòng)化測(cè)試本身就是軟件開(kāi)發(fā)。好的自動(dòng)化測(cè)試框架儒老,架構(gòu)設(shè)計(jì)很重要蝴乔。這些會(huì)決定自動(dòng)化的開(kāi)發(fā)成本和維護(hù)成本。這些都要求很強(qiáng)的開(kāi)發(fā)能力贷盲。如果你的團(tuán)隊(duì)只有很有限的開(kāi)發(fā)能力淘这,那么怎么去做自動(dòng)化,是做最原始的錄制回放巩剖,還是數(shù)據(jù)驅(qū)動(dòng)铝穷。復(fù)雜自動(dòng)化也需要良好的基礎(chǔ)設(shè)施支持。比如你有很好的DevOps的虛機(jī)管理系統(tǒng)佳魔,就不用自己去開(kāi)發(fā)曙聂,省下的資源和人力也是很可觀的。
工具是另外一塊鞠鲜,如果公司有實(shí)力支持商業(yè)測(cè)試軟件和管理軟件宁脊,就可以降低編程要求(當(dāng)然這會(huì)帶來(lái)一些其他問(wèn)題)。如果沒(méi)有辦法用商業(yè)工具贤姆,只能考慮開(kāi)源和自己開(kāi)發(fā)榆苞,這個(gè)對(duì)自動(dòng)化測(cè)試開(kāi)發(fā)的能力要求就高∠技瘢總之必須選擇和團(tuán)隊(duì)坐漏,技能儲(chǔ)備,基礎(chǔ)設(shè)施與工具匹配的自動(dòng)化策略。
思考完上述這個(gè)問(wèn)題后赊琳,如何降低自動(dòng)化維護(hù)成本街夭?好像能得到一些答案了:
第一、在選取將用例 自動(dòng)化時(shí)就要注意躏筏,盡可能的選取比較穩(wěn)定的接口/內(nèi)容做自動(dòng)化測(cè)試板丽;
第二、測(cè)試人員在編寫(xiě)測(cè)試腳本時(shí)對(duì)腳本質(zhì)量的要求趁尼,重用性埃碱,復(fù)用性,搭建高質(zhì)量的測(cè)試框架弱卡;
第三乃正、測(cè)試工具的選取使用(比如選取專業(yè)的/商業(yè)話的測(cè)試軟件工具),以及硬件服務(wù)的配套使用婶博;
第四瓮具、加強(qiáng)提高測(cè)試人員的編碼開(kāi)發(fā)實(shí)力,這樣能夠創(chuàng)造出更多有用的測(cè)試工具, 所以有時(shí)間還是得多學(xué)學(xué)如何寫(xiě)代碼呀凡人。