江湖易老,彈指十年。不覺(jué)間已經(jīng)在軟件測(cè)試行當(dāng)中闖蕩了十來(lái)年,同時(shí)也見(jiàn)證了中國(guó)測(cè)試行業(yè)這波瀾壯闊的激情歲月。最近癡迷于高曉松的《曉說(shuō)》,追溯本源,談古論今,端的是的風(fēng)流倜儻,當(dāng)然要忽略掉他那張沒(méi)有脖子的大餅?zāi)?。由此,忽然間對(duì)軟件測(cè)試的江湖史萌發(fā)了興趣,我們一直對(duì)現(xiàn)在測(cè)試江湖流行的各種秘籍而癡迷,卻往往忽略了秘籍到底是怎么來(lái)的。所以我們今天就來(lái)扒一扒軟件測(cè)試江湖當(dāng)中軟件自動(dòng)化測(cè)試這一流派的前世今生,也僅以此獻(xiàn)給那些給這一流派做出極大貢獻(xiàn)的前輩們。
軟件自動(dòng)化測(cè)試是軟件測(cè)試江湖的一種流派,所以我們就先來(lái)說(shuō)一說(shuō)軟件測(cè)試的江湖史。軟件測(cè)試最早可以追溯到1958年的美國(guó)第一個(gè)載人航天計(jì)劃-水星計(jì)劃,當(dāng)時(shí)在該計(jì)劃中首次誕生了軟件測(cè)試團(tuán)隊(duì)。當(dāng)然,在此之前也肯定是有軟件測(cè)試存在的,但遠(yuǎn)沒(méi)有這次有了自己的江湖地位。但這也僅僅是軟件測(cè)試的萌芽,遠(yuǎn)沒(méi)有到開(kāi)宗立派的地步。因?yàn)槟阆胂脒@時(shí)候軟件也只是萌芽階段,各種軟件的理論,標(biāo)準(zhǔn)都還沒(méi)有誕生,所以更別提軟件測(cè)試了,因此很長(zhǎng)一段時(shí)間內(nèi),軟件測(cè)試時(shí)間內(nèi)是沒(méi)有什么發(fā)展的。
時(shí)間到了1975年,這一年,軟件行業(yè)的一個(gè)超級(jí)豪門誕生了-微軟。我不知道微軟是不是第一家純軟件開(kāi)發(fā)的公司,但微軟確實(shí)使軟件開(kāi)發(fā)得到了快速的發(fā)展。也是從那時(shí)候起,美國(guó)的軟件行業(yè)一騎絕塵。隨著軟件行業(yè)的蓬勃發(fā)展,軟件的規(guī)模越來(lái)越大,復(fù)雜度也越來(lái)越高,隨著而來(lái)的是軟件的質(zhì)量被逐漸的關(guān)注起來(lái),軟件測(cè)試的理論逐漸得到積累。到了1979年,梅爾斯出版了軟件測(cè)試第一版本著作《軟件測(cè)試的藝術(shù)》這本書(shū),第一次明確的給出了軟件測(cè)試的定義“The process of executing a program or system with the intent of finding errors”,至此軟件測(cè)試算是正式的開(kāi)宗立派, 有了自己的江湖地位。個(gè)人認(rèn)為現(xiàn)代測(cè)試的開(kāi)端應(yīng)該就由此開(kāi)始。推薦大家都去讀一讀這本書(shū),不一定能學(xué)到多少新東西,但是就憑它的江湖地位就足以讓大家去瞻仰一下了。
軟件測(cè)試的開(kāi)宗立派,蓬勃的發(fā)展也給軟件自動(dòng)化測(cè)試提供了豐富的土壤。江湖一直有著這么一句名言“天下武功,唯快不破",而如何快呢,程序比人快,自然而然的想到了讓程序測(cè)試程序。1985年這一年,一款叫AutoTester的測(cè)試工具出現(xiàn)了,當(dāng)然那時(shí)候還是Dos系統(tǒng)。在同一年還有一款工具的誕生是需要知道的-Excel。Excel雖然不是專門的測(cè)試工具,然而在相當(dāng)一段時(shí)間內(nèi),它都被軟件測(cè)試人員當(dāng)作測(cè)試工具來(lái)使用,用于測(cè)試用例管理和執(zhí)行的載體,直到如今也有相當(dāng)一部分人或公司還在使用著。早期的測(cè)試工具的功能和效用確實(shí)因?yàn)樘^(guò)于久遠(yuǎn)而不可考,但這種萌芽的開(kāi)端卻給后來(lái)自動(dòng)化測(cè)試以及測(cè)試工具的豐富打下了好的基礎(chǔ)。
在1989年,一家叫Mercury Interactive的公司在美國(guó)的加利福尼亞州成立,同年這家公司發(fā)布一款工具-LoadRunner, 是的,就是那款你知道的工具(有不知道的嗎?)。都說(shuō)一入江湖歲月催,長(zhǎng)江后浪推前浪,但這確實(shí)一款始終沒(méi)有被拍死在沙灘上的前浪,至今仍是一款舉足輕重的性能測(cè)試解決方案。正如江湖中的屠龍刀,倚天不出,誰(shuí)與爭(zhēng)鋒!所以,軟件測(cè)試自動(dòng)化是從性能測(cè)試開(kāi)始的,當(dāng)然這也是必然,功能測(cè)試自動(dòng)化并不像性能測(cè)試自動(dòng)化那么急迫,那么不可替代。時(shí)至今日,性能測(cè)試這一武林秘技依然是軟件測(cè)試江湖的高級(jí)貨。隨著軟件行業(yè)的發(fā)展,特別是IEEE標(biāo)準(zhǔn)的完善,CMM模型,V模型,Rational模型的誕生,軟件測(cè)試也被提到了一個(gè)比較高的地位上。軟件測(cè)試的發(fā)展也催生了眾多流派的誕生,單元測(cè)試,功能測(cè)試,性能測(cè)試,自動(dòng)化測(cè)試可謂百花齊放。
Mercury Interactive公司-(該公司早期的Winruner,loadrunner,TestDirector真的可以成為測(cè)試三劍客,囊括了測(cè)試管理,功能測(cè)試,性能測(cè)試)
時(shí)隔6年,1995年,Mercury Interactive發(fā)布了另一款重磅產(chǎn)品:winrunner。winrunner是一款實(shí)現(xiàn)了錄制/回放的功能自動(dòng)化測(cè)試工具,早期的測(cè)試人員肯定或多或少的都聽(tīng)說(shuō)過(guò)這個(gè)工具,而早期的自動(dòng)化測(cè)試也大多以錄制/回放這種架構(gòu)來(lái)進(jìn)行。我記得在07年的時(shí)候,這款工具都還是比較流行的,當(dāng)時(shí)所在的公司做的是Delphi的程序,使用Winruner進(jìn)行測(cè)試還是比較給力的。但是當(dāng)時(shí)winrunner的頹勢(shì)已現(xiàn),當(dāng)時(shí)Mercury Interactive另一款工具QuickTest Professional已經(jīng)占據(jù)主流,即使是現(xiàn)在,大家對(duì)QTP也應(yīng)該不會(huì)陌生,QTP這款工具也提供了錄制/回放功能,最為令人興奮的是它首次引入了關(guān)鍵字驅(qū)動(dòng)測(cè)試框架。它把每個(gè)測(cè)試步驟都換分為操作對(duì)象,行為以及操作的數(shù)據(jù),并以表格的形式展現(xiàn)出來(lái),而且對(duì)每個(gè)測(cè)試步驟都可以進(jìn)行可視化的編輯。這已經(jīng)是相當(dāng)高層次的自動(dòng)化測(cè)試框架了。
其實(shí)說(shuō)起軟件自動(dòng)化測(cè)試,我們會(huì)發(fā)現(xiàn)理