天天看點

軟體自動化測試工具的曆史演義

軟體測試最早可以追溯到1958年的美國第一個載人航天計劃-水星計劃,當時在該計劃中首次誕生了軟體測試團隊。當然,在此之前也肯定是有軟體測試存在的,但遠沒有這次有了自己的江湖地位。但這也僅僅是軟體測試的萌芽,遠沒有到開宗立派的地步。因為你想想這時候軟體也隻是萌芽階段,各種軟體的理論,标準都還沒有誕生,是以更别提軟體測試了,是以很長一段時間内,軟體測試時間内是沒有什麼發展的。

時間到了1975年,這一年,軟體行業的一個超級豪門誕生了-微軟。我不知道微軟是不是第一家純軟體開發的公司,但微軟确實使軟體開發得到了快速的發展。也是從那時候起,美國的軟體行業一騎絕塵。随着軟體行業的蓬勃發展,軟體的規模越來越大,複雜度也越來越高,随着而來的是軟體的品質被逐漸的關注起來,軟體測試的理論逐漸得到積累。到了1979年,梅爾斯出版了軟體測試第一版本著作《軟體測試的藝術》這本書,第一次明确的給出了軟體測試的定義“The process of executing a program or system with the intent of finding errors”,至此軟體測試算是正式的開宗立派, 有了自己的江湖地位。個人認為現代測試的開端應該就由此開始。推薦大家都去讀一讀這本書,不一定能學到多少新東西,但是就憑它的江湖地位就足以讓大家去瞻仰一下了。

軟體測試的開宗立派,蓬勃的發展也給軟體自動化測試提供了豐富的土壤。江湖一直有着這麼一句名言“天下武功,唯快不破",而如何快呢,程式比人快,自然而然的想到了讓程式測試程式。1985年這一年,一款叫AutoTester的測試工具出現了,當然那時候還是Dos系統。早期的測試工具的功能和效用确實因為太過于久遠而不可考,但這種萌芽的開端卻給後來自動化測試以及測試工具的豐富打下了好的基礎。

軟體自動化測試工具的曆史演義

自動化測式工具的曆史演進

在1989年,一家叫Mercury Interactive的公司在美國的加利福尼亞州成立,同年這家公司釋出一款工具-LoadRunner, 是的,就是那款你知道的工具(有不知道的嗎?)。都說一入江湖歲月催,長江後浪推前浪,但這确實一款始終沒有被拍死在沙灘上的前浪,至今仍是一款舉足輕重的性能測試解決方案。正如江湖中的屠龍刀,倚天不出,誰與争鋒!是以,軟體測試自動化是從性能測試開始的,當然這也是必然,功能測試自動化并不像性能測試自動化那麼急迫,那麼不可替代。時至今日,性能測試這一武林秘技依然是軟體測試江湖的進階貨。

随着軟體行業的發展,特别是IEEE标準的完善,CMM模型,V模型,Rational模型的誕生,軟體測試也被提到了一個比較高的地位上。軟體測試的發展也催生了衆多流派的誕生,單元測試,功能測試,性能測試,自動化測試可謂百花齊放。

Mercury Interactive公司-(該公司早期的Winruner,loadrunner,TestDirector真的可以成為測試三劍客,囊括了測試管理,功能測試,性能測試)。 時隔6年,1995年,Mercury Interactive釋出了另一款重磅産品:winrunner。winrunner是一款實作了錄制/回放的功能自動化測試工具,早期的測試人員肯定或多或少的都聽說過這個工具,而早期的自動化測試也大多以錄制/回放這種架構來進行。我記得在07年的時候,這款工具都還是比較流行的,當時所在的公司做的是Delphi的程式,使用Winruner進行測試還是比較給力的,但是當時winrunner的頹勢已現。Mercury Interactive另一款工具QuickTest Professional已經占據主流,即使是現在,大家對QTP也應該不會陌生,QTP這款工具也提供了錄制/回放功能,最為令人興奮的是它首次引入了關鍵字驅動測試架構。它把每個測試步驟都換分為操作對象,行為以及操作的資料,并以表格的形式展現出來,而且對每個測試步驟都可以進行可視化的編輯。這已經是相當高層次的自動化測試架構了。

2001年2月,Martin Fowler,Jim Highsmith等17位著名的軟體開發專家齊聚在美國猶他州雪鳥滑雪聖地,舉行了一次靈活方法發起者和實踐者的聚會。在這次會議上面,他們正式提出了Agile(靈活開發)這個概念,并共同簽署了《靈活宣言》。随着時間的推移,軟體開發模型已逐漸由瀑布模型為主導的轉向靈活開發模型。華為在2009年時候也在大力推進靈活開發模型,營運商BG部門在軟體開發的部分階段中開展靈活流程。網際網路公司更是全流程開展了靈活的開發模式。由此帶來了軟體行業發展的大暴發,與此同時軟體變更速度也在加快。一些傳統的自動化測試工具顯示力不從心,很難應付軟體開發的快速疊代和變更,導緻一些公司開展自動化測試,徒勞無功。主要原因有:自動化用例建設速度慢,跟不上軟體新增内容;軟體變更頻繁導緻用例維護成本巨大;學習成本高。所有這些都是自動化測試在中國軟體業難以建樹的主要原因。

2018年,深圳市奇林軟體有限公司推出了一款智能化驅動的kylinTOP軟體,該軟體具有快速生成用例、智能元素定位、步驟等待時間智能判斷等一系列智能化特征,很好的适應了軟體靈活開發時代的需要。通過kylinTOP,使用者隻要按正常的業務操作即可生成用例,後期即使定位元素重複或變更也不會影響自動化測試的執行,開啟了軟體自動化測試的智能化時代。

軟體自動化測試工具的曆史演義

軟體自動化測試的四個階段

軟體自動化測試從1985年算起已經有35年的曆程,自動化測試工具緊随軟體開發時代的變化而變化。每個時代都有每個時代特征。每個自動化測試工具的出現都有他存在的理由,随着的時代的變遷,有的已退出曆史舞台,有的為适應時代的變化,在不斷的改變自我。曆史就是這樣,隻有你适應這個時代才能生存下去。