自动化工具 软件自动化测试工具的历史演进

spasvo · 2020年06月23日 · 1723 次阅读

软件测试最早可以追溯到 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 部门在软件开发的部分阶段中开展敏捷流程。互联网公司更是全流程开展了敏捷的开发模式。由此带来了软件行业发展的大暴发,与此同时软件变更速度也在加快。一些传统的自动化测试工具显示力不从心,很难应付软件开发的快速迭代和变更,导致一些公司开展自动化测试,徒劳无功。主要原因有:自动化用例建设速度慢,跟不上软件新增内容;软件变更频繁导致用例维护成本巨大;学习成本高。所有这些都是自动化测试在中国软件业难以建树的主要原因。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册