目前軟件測試自動化在C/S結構和Web環境中變得越來越流行了。隨著軟件需求的持續變化和測試窗口越來越小,項目經理發現測試自動化越來越有必要。這當然對我們這些從事測試自動化工作的人來說是好消息,然而,我擔心這僅僅只是一個消息。
神話和事實
在軟件測試自動化的各個方面有大量的文章和書籍, James Bach的“Test Automation Snake Oil”是關于測試自動化神話的佼佼者。我想討論一下這些神話,并打算指出這些神話后面的事實。我還會討論一些我的觀察結果,期望能給出一些可能的解決方案。這些觀察結果和解決方案是基于我從事的若干個測試自動化項目的經驗。
-查找更多的缺陷:一些質量管理人員認為通過自動化工作他們能找到更多缺陷。這是一個神話。讓我們稍微想一下這個問題。測試自動化過程包含創建測試用例集。在大多數情況下,這些測試用例是熟悉所測程序的測試工程師寫的。接下來這些測試用例會交給自動化工程師。在大多數情況下,自動化工程師不熟悉他們將要執行的測試用例。從測試用例到測試腳本,在這個過程中自動化沒有為找到更多缺陷提供任何幫助。測試腳本只有和測試用例一樣好時才在發現缺陷方面有效。因此,是測試用例發現缺陷(或未能發現缺陷),而不是測試腳本。
-降低甚至消除手工測試者:為了評價測試自動化工作,有些人指出自動化長遠來看應該能降低甚至消除手工測試,從而在過程中能節省成本。這個看法絕對錯誤。減少和消除手工測試不是測試自動化的目標。這跟我前面的論述是同一個道理:測試腳本最多只能跟測試用例一樣好,而測試用例是手工創建的。手工測試者才是懂得程序的人,如果“手工測試者數量因為測試自動化而降低”的論調橫行,那么大量手工測試者會離開,隨之而去的是軟件質量。
觀察
我見過了很多有過失敗的自動化經歷的質量經理。對他們來說,工具沒有做應該做的事情。這里有一個真實的故事,我曾經跟一個顧客一起共事,這個顧客發現他們才買的工具不能支持他們所要測試的程序。居然發生了這種情況!事實是,這種情況的發生比我們所能想象的還要多。當我下面討論可能的解決方案時還會回到這個案例來。前一段時間我采訪了一個大型電信公司的經理,他告訴我雖然三年里花了上百萬美元,他還在自動化方面苦苦掙扎。這很可悲,更可悲的是我認為還有很多人跟他一樣在掙扎。
解決方案/建議
讓我們討論一下造成這些沮喪的原因,并尋找一些解決方案。
-不切實際的期望:大多數經理在第一次看到自動化工具的演示版本的時候,這些版本都是完美和簡單的。但是當他們嘗試在工作中試用這些工具的時候,事情就不是這么完美和簡單了。自動化工具的銷售人員只會講些你想聽到的話(工具多么容易使用,安裝如何簡單,如何能節省時間和金錢,如何有助于找到更多缺陷,等等)。這樣造成了對工具的虛假的期望值。
-缺乏計劃:從工具的選擇到實施需要大量的計劃。Elisabeth Hendrickson的“Evaluating Tools”是一篇關于選擇工具的很好的文章。在她提出的若干步驟中,“工具審計”是其中重要的一步。這可以成為選擇工具的一種良好方式。用戶的參與在工具審計中是非常重要的,因為他們才是天天要和工具打交道的人。我很相信如果用戶在工具選擇過程中充分參與,我的那個顧客遇到的麻煩本不會發生。
-過程缺乏:過程缺乏可能也會引起自動化失敗。很多公司都有固定的過程。大多數情況下,程序員根據需求編寫代碼。如果需求不要求GUI變更,那么程序中的GUI就不應該有任何變更。但是如果GUI隨著版本不停變化,而需求沒有變化,這樣的過程就存在問題。如果有這樣不完善的過程,就算你有最好的工具和最好的架構,自動化工作還是會遇到很多困難。
結論:
我認為質量保證經理有必要學習一下自動化的好處和局限。但是問題在于,咨詢顧問很多時候是被召來解決前面工作中的問題,而不是從一開始就發生作用。為了避免痛苦的經歷,我建議質量經理多花一些時間來對自動化的類型和技術進行調研,找到一個適合具體環境將的構架。毫無疑問,自動化工作對總體質量過程有很大的幫助,但是如果對自動化過程如果沒有足夠的理解,如果沒有自動化計劃,那么自動化也會成為一個噩夢。
Software Test Automation Myths and Facts
Introduction
Today software test automation is becoming more and more popular in both C/S and web environment. As the requirements keep changing (mostly new requirements are getting introduced on daily basis) constantly and the testing window is getting smaller and smaller everyday, the managers are realizing a greater need for test automation. This is good news for us (people who do test automation). But, I am afraid this is the only good news.
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/