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

