自動化測試實施步驟和實踐[3]

字號:

千萬不要強行在測試的每個部分都采用自動化方式。尋找能夠帶來回報的部分,部分的采用自動化測試是的方法?;蛟S你可能發(fā)現(xiàn)采用自動化執(zhí)行和手動確認(rèn)測試執(zhí)行結(jié)果的方式是個很好的選擇,或許你可以采用自動化確認(rèn)測試結(jié)果和手工測試執(zhí)行相結(jié)合和方式。我聽到有人講,除非測試的各個環(huán)節(jié)都采用自動化方式,否則不是真正意義上的自動化測試,這真是胡言亂語。如果僅僅是為了尋找挑戰(zhàn),可以嘗試在測試的每個環(huán)節(jié)都采用自動化方法。但是,如果尋找成功測試的方法,請關(guān)注那些可以快速建立的,可以反復(fù)利用的自動化測試。
     定義自動化測試項目的需求要求我們?nèi)娴?、清楚地考慮各種情況,然后給出權(quán)衡后的需求,并且可以使測試相關(guān)人員更加合理的提出自己對自動化測試的期望。通過定義自動化測試需求,距離成功的自動化測試近了一步。
    3. 驗證概念
     在前面的故事當(dāng)中,那個自動化測試人員在對測試方向一片茫然的情況下一頭扎進了自動化測試項目中。不過,在項目的進行中,他得到了來自各個方面的支持。
     可能還沒有認(rèn)識到這一點,不過,你必須驗證自動化測試項目的可行性。驗證過程花費的時間往往比人們預(yù)期的要長,并且需要來自你身邊的各種人的幫助。
     很多年前,我從事一個測試自動化項目的工作,參加項目的人員有各種各樣的好點子。我們設(shè)計了一個復(fù)雜的自動化測試系統(tǒng),并且非常努力工作去實現(xiàn)系統(tǒng)的每個模塊。我們定期的介紹測試自動化的設(shè)計思路和工作進度,甚至演示已經(jīng)完成的部分功能。但是,我們沒有演示如何利用該套測試自動化系統(tǒng)如何開展實際的測試工作。最后,整個項目被取消了,此后,我再也沒有犯這個錯誤。
     你需要盡可能快地驗證你采用的測試工具和測試方法的可行性,站在產(chǎn)品的角度驗證你所測試的產(chǎn)品采用自動化測試的可行性。這通常是很困難的,需要盡快地找出可行性問題的答案,需要確定你的測試工具和測試方法對于被測試的產(chǎn)品和測試人員是否合適。你需要做是驗證概念 —— 一個快速、有說服力的測試套可以證明你選在測試工具和測試方法的正確性,從而驗證了你的測試概念。你選擇的用來驗證概念的測試套是評估測試工具的的方式。
     對 于很多人來說,自動化測試意味著 GUI 自動化測試,我不同意這種觀點。我曾經(jīng)做過 GUI 和非 GUI 自動化測試,并驚奇的發(fā)現(xiàn)這兩類測試的測試計劃有很大的互補性。不過, GUI 測試工具很昂貴、并且過分講究。選擇合適的 GUI 測試工具是很重要的,因為,如果沒有選擇合適的測試工具,你會遇到很多不可預(yù)測的困難。 Elisabeth Hendrickson 曾經(jīng)寫過一篇關(guān)于選擇測試的工具的指導(dǎo)性文章 [Hendrickson 1999] 。我建議在評估測試工具中,找出能夠驗證你的想法的證據(jù)是很重要的環(huán)節(jié)。這需要測試工具至少有一個月試用期,你可能打算現(xiàn)在購買一份測試工具,然后直到評估完成后再購買更多份。你需要在付出大筆金錢購買測試工具的之前,找出工具存在的問題。這樣,你可以從測試工具供應(yīng)商得到更好的幫助,當(dāng)你打算更換工具的時候,你不會感覺很為難。
     下面是一些候選的驗證概念的試驗:
     * 回歸測試:你準(zhǔn)備在每個版本運行同樣的測試用例嗎?回歸測試是最宜采用自動化測試的環(huán)節(jié)。
     * 配置測試:你的軟件支持多少種不同的平臺?你打算在所有支持的平臺上測試執(zhí)行所有的測試用例嗎?如果是的,那么采用自動化測試是有幫助的。
     * 測試環(huán)境建立:對于大量不同的測試用例,可能需要相同的測試環(huán)境搭建過程。在開展自動化測試執(zhí)行之前,先把測試環(huán)境搭建實現(xiàn)自動化。
     * 非 GUI 測試:實現(xiàn)命令行和 API 的測試自動化比 GUI 自動化測試容易的多。
    無論采用什么測試方法,定義一個看得見的目標(biāo),然后集中在這個目標(biāo)上。驗證你自動化測試概念可以使自動化更進一步邁向成功之路。