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