Posted on 2009-01-27 22:28
S.l.e!ep.¢% 閱讀(352)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
test
我們先看三個(gè)小故事:
1. 某1整天加班為了一個(gè)自動(dòng)化測(cè)試項(xiàng)目,所有的事情都是他自己做,他得不到一個(gè)測(cè)試工具,但是最后軟件部門(mén)給他幫助派個(gè)工程師一起工作,很多個(gè)月過(guò)去了,但是某1拒絕使用自動(dòng)化測(cè)試了
2. 年輕能干的某2接管了這項(xiàng)工作,做自動(dòng)化測(cè)試有趣嗎?然后他做了個(gè)很大的庫(kù)和復(fù)雜的測(cè)試系統(tǒng),然后使用這個(gè)測(cè)試工具也能發(fā)現(xiàn)bug了,但是最后某2因?yàn)槟芰ν怀鲭x開(kāi)這個(gè)職位到一個(gè)開(kāi)發(fā)的職位了。
3.最后某3接管了這個(gè)測(cè)試集,他費(fèi)了九牛二虎之力才搞懂怎么去運(yùn)行測(cè)試,但是由于項(xiàng)目改變讓自動(dòng)化擱淺了,大部分的測(cè)試都失敗了,某3得到幫助,測(cè)試集被修復(fù),這些測(cè)試最終都通過(guò)了,但是忽略了很多軟件問(wèn)題,因此最后客戶惱怒了,項(xiàng)目失敗了。
從第一個(gè)故事中我們看到故事123中,所有的自動(dòng)化測(cè)試項(xiàng)目都是一個(gè)人搞,第一個(gè)因?yàn)槿狈?jīng)驗(yàn),而不愿意使用自動(dòng)化測(cè)試,第二個(gè)有熱情和能力去搞,但是他的作用沒(méi)有留下任何有意義的東西,他沒(méi)能使他的才能和智慧得到保留和傳承,第三個(gè)問(wèn)題是忽略了自動(dòng)化測(cè)試的目的。
所以從上面的例子來(lái)看我們必須重視:自動(dòng)化測(cè)試是個(gè)團(tuán)隊(duì)行為,比如我現(xiàn)在做的東西,我很怕會(huì)失敗,因?yàn)轭I(lǐng)導(dǎo)沒(méi)有給我那么多人,我的培訓(xùn)還沒(méi)有時(shí)間去執(zhí)行,不能傳承目前,還有我的自動(dòng)化測(cè)試的很多會(huì)失敗,但是后來(lái)人如果把我的延時(shí)改動(dòng)的話完全對(duì)我的腳本曲解。
所以:1.要有測(cè)試團(tuán)隊(duì), 2.要傳承,3.要保證測(cè)試的有效性,不是pass率
測(cè)試自動(dòng)化不能從根本上代替測(cè)試人員,更無(wú)法保證產(chǎn)品的質(zhì)量。那么自動(dòng)化測(cè)試能做什么?產(chǎn)品的質(zhì)量又是如何保證的?自動(dòng)化測(cè)試的主要應(yīng)用范圍是回歸測(cè)試,也就是說(shuō)測(cè)試曾經(jīng)正常的功能在產(chǎn)品加入新功能或者有了bug fixing以后是不是依然能夠工作。這是自動(dòng)化測(cè)試的主要目的,而自動(dòng)化測(cè)試的Case依然需要測(cè)試人員的智慧來(lái)編寫(xiě),所以可以說(shuō)自動(dòng)化測(cè)試只是一個(gè)輔助性的工具。當(dāng)然,在某些軟件的壓力測(cè)試上也需要自動(dòng)化測(cè)試工具。產(chǎn)品質(zhì)量其實(shí)在設(shè)計(jì)之間就已經(jīng)被決定了,這其中的決定因素就是團(tuán)隊(duì)本身的素質(zhì)和團(tuán)隊(duì)成員在這個(gè)具體項(xiàng)目上的經(jīng)驗(yàn)。測(cè)試只能幫助一個(gè)設(shè)計(jì)良好的產(chǎn)品不會(huì)因?yàn)樾〉腷ug而大幅度的降低可用性,而無(wú)法挽救一個(gè)設(shè)計(jì)就很差的產(chǎn)品成為優(yōu)秀的產(chǎn)品。
并不是所有的測(cè)試都能用或者必須用自動(dòng)化測(cè)試,有時(shí)候自動(dòng)化測(cè)試會(huì)吃力不討好的,我們要評(píng)估某些測(cè)試的頻度,和自動(dòng)化測(cè)試的不足,然后人工測(cè)試的case要彌補(bǔ)這些不足,比如哦某些測(cè)試頻度很少,case又多,難于開(kāi)發(fā)這樣就不用去做自動(dòng)化測(cè)試,因?yàn)榫S護(hù)需要很多工作量,項(xiàng)目不斷的前行,特別是以GUI操作的測(cè)試工具來(lái)說(shuō)尤為是這樣。任何一處改變都會(huì)帶來(lái)很多case失敗。
每個(gè)人、每個(gè)工具談?wù)撟詣?dòng)化的時(shí)候都在說(shuō)如何真實(shí)模擬用戶使用產(chǎn)品的情況,這很好,絕對(duì)需要關(guān)心。不過(guò)我得問(wèn)一句:測(cè)試的最后結(jié)果是什么?如果你回答“各種使用產(chǎn)品的場(chǎng)景已經(jīng)運(yùn)行過(guò)“就嘎然而止的話,你就漏掉了一大塊:最起碼還得加上“產(chǎn)品能工作/不能工作“!所以模擬用戶使用產(chǎn)品的各種情況,只是解決上述問(wèn)題的第一部分;如何得出測(cè)試通過(guò)/不通過(guò)的最終結(jié)論,才是解決問(wèn)題第二部分的基礎(chǔ)部分,還有詳細(xì)缺陷描述、上下文數(shù)據(jù)收集等沒(méi)做到呢!
所以讓機(jī)器像人一樣使用產(chǎn)品,并沒(méi)有解決全部問(wèn)題,剩下的事情還有多少,這是需要視情況而定的。如果只是解決了第一個(gè)問(wèn)題就認(rèn)為萬(wàn)事大吉,那簡(jiǎn)直就是在賭運(yùn)氣——有些時(shí)候自動(dòng)驗(yàn)證是小菜一碟,但很多時(shí)候不是。
令事情惡化的是,自動(dòng)驗(yàn)證了產(chǎn)品的一些指標(biāo),并不能反映產(chǎn)品的真實(shí)質(zhì)量。有時(shí)驗(yàn)證過(guò)的指標(biāo)通過(guò)了,其實(shí)其他地方暴露了問(wèn)題卻沒(méi)有檢查
自動(dòng)化測(cè)試需要規(guī)劃和管理不能亂了章法,比如幾個(gè)版本后需要改動(dòng)的話代價(jià)有多少(別有嘩嘩的跑了很多人),投入產(chǎn)出比是多少,我們要看到效果,測(cè)試有效性有多高,過(guò)程可控嗎?回答了這些問(wèn)題其實(shí)就把自動(dòng)化測(cè)試項(xiàng)目管理搞懂一部分了。
不要津津樂(lè)道于某個(gè)版本的輝煌,適應(yīng)新的軟件才是有價(jià)值的:
要了解啥能用上,啥用不上,它是做什么的是否能為我所用,找些零件對(duì)付一個(gè)新的老爺車,別中途散了架,舊的不是不能用,要關(guān)注測(cè)試有效性,別走上了我們的故事3中的后果!切記!