下屬測試工作總結(jié)中的部分內(nèi)容,寫得不錯,有些想法。

  一、測試的困惑

  以前我時常反思,測試組的工作多嗎?我的回答是多。測試小組的工作成果的好壞和工作任務(wù)的多少成正比嗎?終的回答卻并非成正比。我們的測試工作成果往往并不理想,甚至是差。那么為什么事倍功半?這問題很難找到清晰的答案。

  參與了外部培訓(xùn)之后,發(fā)現(xiàn)了自己在對測試的工作有了新層次的理解。對之前工作成果差的問題思考也有了新的方向!皽y試的高境界是找出所有BUG嗎?不是,測試的高境界是不需要進(jìn)行測試。為什么不需要進(jìn)行測試?是因為所有的問題都已經(jīng)在軟件各階段中介入的測試工作中給預(yù)防解決了。由此引申,測試的定位并不是找出BUG,而是預(yù)防BUG。” 這是我培訓(xùn)報告中的一部分。如果測試的出發(fā)點只為是發(fā)現(xiàn)BUG,那么測試工作將會如何?辛苦的發(fā)現(xiàn)了一個BUG,之后開發(fā)針對性的修正了這個BUG,再回重新測試的過程,又會有多少人會重新被卷入,又會有多少BUG因此而產(chǎn)生,又需要花費多少時間,答案可想而知。這是我們忙又不見成果的主要原因。所以改善這個問題的出發(fā)點是改變對測試工作的認(rèn)識??測試的目標(biāo)并不是為了找出BUG,而是預(yù)防BUG的出現(xiàn)。

  如何理解正確的測試目標(biāo)是預(yù)防BUG的出現(xiàn)。首先可以從軟件測試的階段劃分來看。軟件測試的階段劃分為需求、設(shè)計、編碼、測試、驗收。但按此劃分來定位測試是錯誤的。假如在編碼階段完成后測試出的BUG屬于設(shè)計問題(這也是我們測試工作中經(jīng)常遇到的情況),那么我們已經(jīng)編碼完成的產(chǎn)品要面臨著傷筋動骨的修改,這樣的修改會帶出多少個新的BUG出現(xiàn)?為這個修改我們又要重復(fù)的測試我們的新提交版本多少次?想必都有很深刻及慘痛的答案了。由此可以說明需求設(shè)計階段的測試比編碼階段測試重要的多。在需求上出現(xiàn)的BUG很有可能足以推翻整個產(chǎn)品。那么如果在需求設(shè)計階段測試人員能發(fā)現(xiàn)產(chǎn)品設(shè)計的BUG,那么可以避免了因此而衍生的產(chǎn)品BUG,達(dá)到預(yù)防BUG這種測試?yán)砟畹哪繕?biāo)。

  那么又如何能做好以預(yù)防BUG為目標(biāo)的測試工作。“測試工作不只是一種技術(shù),也不僅是一種活動。測試工作的成功也不能取決于測試成果,測試的BUG越多并不能證明測試工作做的好,所以由此引申,測試工作要站在團(tuán)隊的高度來開展,在團(tuán)隊中做好測試,而不是在測試小組中做好測試!边@是我培訓(xùn)報告中的另一部分。要做好以預(yù)防BUG為目標(biāo)的測試工作,首先要盡早的參與到項目中,其次是需要各部門及小組的大力支持,與業(yè)務(wù)、項目、代碼人員共同形成團(tuán)隊,在團(tuán)隊中影響其他小組提高產(chǎn)品質(zhì)量,更好的完成以預(yù)防產(chǎn)品出現(xiàn)BUG為目標(biāo)的測試活動。

  總結(jié)來看,我個人覺得擁有這樣的測試?yán)砟羁梢越忾_我們的疑惑,帶領(lǐng)我們走出目前的困境。

  二、自動化測試迷失

  隨著工作、發(fā)展、提高等等多方面的需要,我接到了開展自動化測試的研究工作。概念上來說自動化測試是一種測試度量體系。現(xiàn)實點來說,自動化測試可以為我們自動、無誤的運作完成大量且需要重復(fù)執(zhí)行的測試用例。這是多么讓人振奮的概念。甚至可以解開我上文所提到的有關(guān)測試工作的困惑。我很興奮的去展開研究目前流行的自動化測試工具之一QTP。甚至設(shè)計出了管理中心的三個重要功能的自動化測試腳本,并且運行無誤在自動化測試討論會上興奮的向大家演示。之后還用工具按鍵精靈設(shè)計出了前端的A類測試用于實際的測試。但很讓人沮喪的是終這些腳本全被遺棄在電腦硬盤的角落,再也沒派上用場。為什么?因為他們維護(hù)起來很困難,因為他們編寫它們的時間與實現(xiàn)的價值并沒有超過手工測試。這是自動化測試嗎?怎么不可行啊,我有點不太相信這種結(jié)局,所以我再一次困惑了。

  外部培訓(xùn)的老師這樣告訴我們:“我們并沒有理性的看待自動化測試,自動化測試并不是我們看上去的那樣美。首先自動化測試能直接的節(jié)約成本、讓測試人員變輕松的想法是一個誤區(qū)。因為原本用于手工測試的時間用來編寫及維護(hù)測試腳本了,而完善的自動化測試腳本編寫或維護(hù)的時間很可能會超過手工測試的時間。再者自動化測試腳本用例是測試人員所編寫,自動化測試只能是沿著該測試人員的“足跡”前進(jìn)。所以用自動代測試來發(fā)現(xiàn)更多軟件產(chǎn)品問題的想法也是一個誤區(qū)。其次并不是所有的測試都能自動化,測試的自動化也不一定是解決問題的佳手段!