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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 软件测试最早可以追溯到1958年的美国第一个载人航天计划-水星计划,当时在该计划中首次诞生了软件测试团队。当然,在此之前也肯定是有软件测试存在的,但远没有这次有了自己的江湖地位。但这也仅仅是软件测试的萌芽,远没有到开宗立派的地步。

软件测试最早可以追溯到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年的历程,自动化测试工具紧随软件开发时代的变化而变化。每个时代都有每个时代特征,每个自动化测试工具的出现都有他存在的理由,随着的时代的变迁,有的已退出历史舞台,有的为适应时代的变化,在不断的改变自我。历史就是这样,只有你适应这个时代才能生存下去。
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
2月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
2月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
266 17
Selenium:强大的 Web 自动化测试工具
|
3月前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
78 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
2月前
|
缓存 监控 安全
公司电脑监控软件的 Gradle 构建自动化优势
在数字化办公环境中,公司电脑监控软件面临代码更新频繁、依赖管理和构建复杂等挑战。Gradle 构建自动化工具以其强大的依赖管理、灵活的构建脚本定制及高效的构建缓存与增量构建特性,显著提升了软件开发效率和质量,支持软件的持续更新与优化,满足企业对员工电脑使用情况的监控与管理需求。
51 3
|
2月前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
66 5
|
3月前
|
测试技术 持续交付
探索自动化测试在软件质量保证中的关键作用
本文深入探讨了自动化测试在现代软件开发生命周期中的重要性,以及它是如何成为确保软件产品质量的不可或缺的一环。通过分析自动化测试的优势、挑战和最佳实践,本文旨在为读者提供对自动化测试全面而深刻的理解,从而帮助他们在实际工作中更有效地应用自动化测试策略。
44 2
|
3月前
|
jenkins 测试技术 持续交付
自动化测试框架的构建与优化:提升软件交付效率的关键####
本文深入探讨了自动化测试框架的核心价值,通过对比传统手工测试方法的局限性,揭示了自动化测试在现代软件开发生命周期中的重要性。不同于常规摘要仅概述内容,本部分强调了自动化测试如何显著提高测试覆盖率、缩短测试周期、降低人力成本,并促进持续集成/持续部署(CI/CD)流程的实施,最终实现软件质量和开发效率的双重飞跃。通过具体案例分析,展示了从零开始构建自动化测试框架的策略与最佳实践,包括选择合适的工具、设计高效的测试用例结构、以及如何进行性能调优等关键步骤。此外,还讨论了在实施过程中可能遇到的挑战及应对策略,为读者提供了一套可操作的优化指南。 ####
|
3月前
|
监控 测试技术 开发工具
移动端性能测试工具
移动端性能测试工具
129 2
|
3月前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
3月前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
479 2

热门文章

最新文章