做自動(dòng)化測(cè)試的人,經(jīng)常碰到這樣的問(wèn)題:
上司:“腳本跑得如何了?找到BUG沒(méi)有?”
員工:“沒(méi)有?!?BR> 上司:“沒(méi)找到BUG?!不可能吧?是不是你腳本寫(xiě)得不夠好?”
員工:“自動(dòng)化是拿來(lái)確保后期產(chǎn)品的質(zhì)量的,不是來(lái)找BUG的”(心里一百個(gè)不情愿,埋怨上司不懂什么叫自動(dòng)化,網(wǎng)上都這么說(shuō))
上司:(我給你哪么多時(shí)間你搭建的自動(dòng)化就給我一個(gè)這樣的結(jié)果?)
自然,這樣的對(duì)話會(huì)讓上司覺(jué)得普及自動(dòng)化的意義的存在與是否再愿意投入。
自動(dòng)化測(cè)試的意義,在很早以前就被自動(dòng)化老手定位在回歸測(cè)試中,或者說(shuō)是由于主流的測(cè)試工具帶來(lái)的負(fù)面影響,目的在于確保工程質(zhì)量。因此這個(gè)理念也隨著時(shí)間的推移根深蒂固,很多人不愿意思考,自動(dòng)化就是回歸測(cè)試的人力代替品,這樣也導(dǎo)致了自動(dòng)化普及成了一個(gè)瓶頸。敢說(shuō)現(xiàn)在很多公司對(duì)自動(dòng)化的重視遠(yuǎn)遠(yuǎn)沒(méi)有手工測(cè)試來(lái)得多,在這里與自動(dòng)化的定位脫不了干系。
在這里先說(shuō)下場(chǎng)景測(cè)試用例與功能測(cè)試用例,場(chǎng)景用例是測(cè)試建立在某種已模擬的環(huán)境上,包括數(shù)據(jù)準(zhǔn)備,數(shù)據(jù)傳遞等的流程用例。而功能測(cè)試用例更偏重的是某個(gè)環(huán)節(jié),控件等的可操作性與功能的測(cè)試用例。
普遍按照剛才的自動(dòng)化回歸論,就是基本建立在場(chǎng)景用例的基礎(chǔ)上,“錄制-回放”的模式。我們需要的是產(chǎn)品的定型,穩(wěn)定后,我們的自動(dòng)化工作才能展開(kāi)。自然,在團(tuán)隊(duì)開(kāi)發(fā)中,自動(dòng)化工程師就成了一個(gè)單打獨(dú)斗的角色,并且自動(dòng)化的優(yōu)勢(shì)被這樣的定位完全弱勢(shì)化,自動(dòng)化工程師早期就在哪里涼菜,后期又跟著別人后面跑,如果你是領(lǐng)導(dǎo),你會(huì)被說(shuō)服去讓產(chǎn)品如此自動(dòng)化嗎?
我們?cè)陂L(zhǎng)期的實(shí)踐中,我們慢慢摸索出如何讓自動(dòng)化的更為容易被大家所接受,普及并改進(jìn)。在這里我們重新對(duì)自動(dòng)化測(cè)試定位:
獨(dú)立于產(chǎn)品的成熟與穩(wěn)定
早期能建立在功能測(cè)試用例基礎(chǔ)上,并開(kāi)展測(cè)試,后期建立于場(chǎng)景用例基礎(chǔ)上
更大的貫穿軟件生命周期
可維護(hù)性
通用性
敏捷性
高效性
為什么如此定位而且我們要如何做到呢。
一、定位能獨(dú)立與產(chǎn)品的成熟與穩(wěn)定,這點(diǎn)是很多自動(dòng)化工程師所期望的,與第二點(diǎn)其實(shí)有著必然的聯(lián)系,也是因?yàn)槲覀兘⒃诠δ軠y(cè)試用例的基礎(chǔ)上,讓我們能不局限于產(chǎn)品的現(xiàn)態(tài)。關(guān)于產(chǎn)品的穩(wěn)定,我們使用了基于功能測(cè)試的自動(dòng)化腳本,主要需要把握的是對(duì)異常的捕獲,它越不穩(wěn)定,我們抓到的BUG會(huì)更多,自然也需要考慮到錯(cuò)誤恢復(fù)。
二、我們要如何做到基于功能能測(cè)試用例的基礎(chǔ)上并讓腳本更通用,敏捷。
簡(jiǎn)單舉個(gè)例子:輸入框測(cè)試功能測(cè)試用例大概包括:這個(gè)輸入框是否可輸入,是否為密碼框,長(zhǎng)度,最小長(zhǎng)度允許是否正確,是否隱藏,是否能輸入全角,是否能輸入數(shù)字,是否能輸入特殊字符等等自然想實(shí)現(xiàn)這樣的自動(dòng)化測(cè)試腳本,我們需要一定的編碼基礎(chǔ),建議不要太指望自動(dòng)化測(cè)試工具,他們只是給你一種測(cè)試的思想,而我們現(xiàn)在做的和它們截然不同。
1)腳本編寫(xiě):根據(jù)功能測(cè)試用例編寫(xiě)測(cè)試腳本。2)通用性 :把對(duì)象,以及我們的期望值傳給腳本。
3)敏捷性 :在傳遞對(duì)象,期望值能“高效快速實(shí)現(xiàn)”與“簡(jiǎn)便”,這樣可以很快投入測(cè)試中并考慮到以后給其它黑盒測(cè)試人員使用。
4)可維護(hù)性:搭建優(yōu)秀的測(cè)試框架,把通用性,敏捷性囊括其中。
三、自動(dòng)化測(cè)試更大貫穿在軟件的生命周期中,為了達(dá)到這樣的目的,我們需要再把腳本細(xì)化成另外的2部分并讓它們?cè)谶\(yùn)行過(guò)程中結(jié)合起來(lái),分別是功能測(cè)試與流程測(cè)試,這樣才能很在軟件周期中占據(jù)更多。
同樣我們需要考慮到手工測(cè)試與自動(dòng)化腳本帶來(lái)的效益,區(qū)別:
手工測(cè)試的即興發(fā)揮找到BUG比腳本找到的更多。
腳本編寫(xiě)是一個(gè)漫長(zhǎng)的過(guò)程,更考慮到可拓展與通用,成本高。
手工測(cè)試的缺乏規(guī)范,會(huì)出現(xiàn)漏測(cè)問(wèn)題。
手工測(cè)試效果被測(cè)試員情緒影響著。
自動(dòng)化測(cè)試能減少勞力與乏味重復(fù)測(cè)試。
自動(dòng)化測(cè)試能在早期比全面而迅速找到BUG。
隨著腳本規(guī)范的增多,腳本測(cè)試面增光,能找到更多的BUG。
隨著自動(dòng)化的普及與提高,我們憧憬的一幕:
上司:“怎么這么準(zhǔn)時(shí)就走呢?工作缺乏激情呀!”
員工:“腳本下午已經(jīng)4點(diǎn)到5點(diǎn)已經(jīng)整個(gè)系統(tǒng)跑完一次,BUG提交并開(kāi)發(fā)已經(jīng)在改了,估計(jì)周末他們要加班(周五是無(wú)BUG日)。”
上司:“這系統(tǒng)環(huán)境不是下午3點(diǎn)才搭建的嗎?怎么哪么快呢?!”
員工:“是呀,凌晨1點(diǎn)會(huì)跑第2次,到時(shí)候會(huì)自動(dòng)發(fā)郵件給您和開(kāi)發(fā)員,是否需要加班您再定吧”
走出電梯,快步消失….
上司:“腳本跑得如何了?找到BUG沒(méi)有?”
員工:“沒(méi)有?!?BR> 上司:“沒(méi)找到BUG?!不可能吧?是不是你腳本寫(xiě)得不夠好?”
員工:“自動(dòng)化是拿來(lái)確保后期產(chǎn)品的質(zhì)量的,不是來(lái)找BUG的”(心里一百個(gè)不情愿,埋怨上司不懂什么叫自動(dòng)化,網(wǎng)上都這么說(shuō))
上司:(我給你哪么多時(shí)間你搭建的自動(dòng)化就給我一個(gè)這樣的結(jié)果?)
自然,這樣的對(duì)話會(huì)讓上司覺(jué)得普及自動(dòng)化的意義的存在與是否再愿意投入。
自動(dòng)化測(cè)試的意義,在很早以前就被自動(dòng)化老手定位在回歸測(cè)試中,或者說(shuō)是由于主流的測(cè)試工具帶來(lái)的負(fù)面影響,目的在于確保工程質(zhì)量。因此這個(gè)理念也隨著時(shí)間的推移根深蒂固,很多人不愿意思考,自動(dòng)化就是回歸測(cè)試的人力代替品,這樣也導(dǎo)致了自動(dòng)化普及成了一個(gè)瓶頸。敢說(shuō)現(xiàn)在很多公司對(duì)自動(dòng)化的重視遠(yuǎn)遠(yuǎn)沒(méi)有手工測(cè)試來(lái)得多,在這里與自動(dòng)化的定位脫不了干系。
在這里先說(shuō)下場(chǎng)景測(cè)試用例與功能測(cè)試用例,場(chǎng)景用例是測(cè)試建立在某種已模擬的環(huán)境上,包括數(shù)據(jù)準(zhǔn)備,數(shù)據(jù)傳遞等的流程用例。而功能測(cè)試用例更偏重的是某個(gè)環(huán)節(jié),控件等的可操作性與功能的測(cè)試用例。
普遍按照剛才的自動(dòng)化回歸論,就是基本建立在場(chǎng)景用例的基礎(chǔ)上,“錄制-回放”的模式。我們需要的是產(chǎn)品的定型,穩(wěn)定后,我們的自動(dòng)化工作才能展開(kāi)。自然,在團(tuán)隊(duì)開(kāi)發(fā)中,自動(dòng)化工程師就成了一個(gè)單打獨(dú)斗的角色,并且自動(dòng)化的優(yōu)勢(shì)被這樣的定位完全弱勢(shì)化,自動(dòng)化工程師早期就在哪里涼菜,后期又跟著別人后面跑,如果你是領(lǐng)導(dǎo),你會(huì)被說(shuō)服去讓產(chǎn)品如此自動(dòng)化嗎?
我們?cè)陂L(zhǎng)期的實(shí)踐中,我們慢慢摸索出如何讓自動(dòng)化的更為容易被大家所接受,普及并改進(jìn)。在這里我們重新對(duì)自動(dòng)化測(cè)試定位:
獨(dú)立于產(chǎn)品的成熟與穩(wěn)定
早期能建立在功能測(cè)試用例基礎(chǔ)上,并開(kāi)展測(cè)試,后期建立于場(chǎng)景用例基礎(chǔ)上
更大的貫穿軟件生命周期
可維護(hù)性
通用性
敏捷性
高效性
為什么如此定位而且我們要如何做到呢。
一、定位能獨(dú)立與產(chǎn)品的成熟與穩(wěn)定,這點(diǎn)是很多自動(dòng)化工程師所期望的,與第二點(diǎn)其實(shí)有著必然的聯(lián)系,也是因?yàn)槲覀兘⒃诠δ軠y(cè)試用例的基礎(chǔ)上,讓我們能不局限于產(chǎn)品的現(xiàn)態(tài)。關(guān)于產(chǎn)品的穩(wěn)定,我們使用了基于功能測(cè)試的自動(dòng)化腳本,主要需要把握的是對(duì)異常的捕獲,它越不穩(wěn)定,我們抓到的BUG會(huì)更多,自然也需要考慮到錯(cuò)誤恢復(fù)。
二、我們要如何做到基于功能能測(cè)試用例的基礎(chǔ)上并讓腳本更通用,敏捷。
簡(jiǎn)單舉個(gè)例子:輸入框測(cè)試功能測(cè)試用例大概包括:這個(gè)輸入框是否可輸入,是否為密碼框,長(zhǎng)度,最小長(zhǎng)度允許是否正確,是否隱藏,是否能輸入全角,是否能輸入數(shù)字,是否能輸入特殊字符等等自然想實(shí)現(xiàn)這樣的自動(dòng)化測(cè)試腳本,我們需要一定的編碼基礎(chǔ),建議不要太指望自動(dòng)化測(cè)試工具,他們只是給你一種測(cè)試的思想,而我們現(xiàn)在做的和它們截然不同。
1)腳本編寫(xiě):根據(jù)功能測(cè)試用例編寫(xiě)測(cè)試腳本。2)通用性 :把對(duì)象,以及我們的期望值傳給腳本。
3)敏捷性 :在傳遞對(duì)象,期望值能“高效快速實(shí)現(xiàn)”與“簡(jiǎn)便”,這樣可以很快投入測(cè)試中并考慮到以后給其它黑盒測(cè)試人員使用。
4)可維護(hù)性:搭建優(yōu)秀的測(cè)試框架,把通用性,敏捷性囊括其中。
三、自動(dòng)化測(cè)試更大貫穿在軟件的生命周期中,為了達(dá)到這樣的目的,我們需要再把腳本細(xì)化成另外的2部分并讓它們?cè)谶\(yùn)行過(guò)程中結(jié)合起來(lái),分別是功能測(cè)試與流程測(cè)試,這樣才能很在軟件周期中占據(jù)更多。
同樣我們需要考慮到手工測(cè)試與自動(dòng)化腳本帶來(lái)的效益,區(qū)別:
手工測(cè)試的即興發(fā)揮找到BUG比腳本找到的更多。
腳本編寫(xiě)是一個(gè)漫長(zhǎng)的過(guò)程,更考慮到可拓展與通用,成本高。
手工測(cè)試的缺乏規(guī)范,會(huì)出現(xiàn)漏測(cè)問(wèn)題。
手工測(cè)試效果被測(cè)試員情緒影響著。
自動(dòng)化測(cè)試能減少勞力與乏味重復(fù)測(cè)試。
自動(dòng)化測(cè)試能在早期比全面而迅速找到BUG。
隨著腳本規(guī)范的增多,腳本測(cè)試面增光,能找到更多的BUG。
隨著自動(dòng)化的普及與提高,我們憧憬的一幕:
上司:“怎么這么準(zhǔn)時(shí)就走呢?工作缺乏激情呀!”
員工:“腳本下午已經(jīng)4點(diǎn)到5點(diǎn)已經(jīng)整個(gè)系統(tǒng)跑完一次,BUG提交并開(kāi)發(fā)已經(jīng)在改了,估計(jì)周末他們要加班(周五是無(wú)BUG日)。”
上司:“這系統(tǒng)環(huán)境不是下午3點(diǎn)才搭建的嗎?怎么哪么快呢?!”
員工:“是呀,凌晨1點(diǎn)會(huì)跑第2次,到時(shí)候會(huì)自動(dòng)發(fā)郵件給您和開(kāi)發(fā)員,是否需要加班您再定吧”
走出電梯,快步消失….