自动化软件测试不是自动的:基础介绍

内容贡献者戴安娜拉莫斯

2017年5月16日(2021年11月23日更新)

“自动化”一词无处不在。值得热议的自动化新闻关注的是用提高效率的系统或设备取代人工活动。毕竟,时间是我们最有限的资源——或者说,支持更多自动化的人通常是这么说的。

亚马逊(Amazon)正在测试无人机送货,无人机可以拾取由机器人排序的仓库订单,谷歌正在测试自动驾驶汽车,星巴克(Starbucks)正在测试专门用于移动订购和支付的无收银员商店,Facebook正在测试一种脑机接口,有朝一日可能会将思想转化为数字文本。在所有这些测试背后都有自动化技术的普通版本——软件自动化测试。公司使用自动化技术来创建软件,负责引起所有炒作的产品和服务。ob欧宝娱乐app手机下载

本文介绍了自动化软件测试的基础知识,并对广泛的技术主题进行了基本介绍:什么是自动化软件测试,为什么敏捷it行业需要自动化软件测试,以及如何理解自动化软件测试背后的技术。在此过程中,您将发现来自测试社区的专业人员的输入,这些输入将帮助您确定需要进一步探索的内容。

什么是软件自动化测试?

在尝试用具体的术语定义软件自动化测试之前,提供一些上下文是很重要的。如果你问谷歌,搜索结果会提供各种各样的描述。以下是一些关键主题:

  • 有许多可互换的方法来引用软件自动化测试,包括测试自动化、自动化测试、自动化软件测试、自动化测试、软件自动化测试等等。
  • 测试自动化包括使用软件工具来测试软件。
  • 手动测试和自动化测试是有区别的——它们都是当今测试软件所必需的。
  • 在自动化软件测试时应该涉及多少人工干预是有争议的。
  • 自动化测试利用机器的计算能力来超越人的体力和脑力任务输出。
  • 由于新版本的频繁发布,测试自动化对于现代软件开发实践是必不可少的。
  • 使用测试自动化技术的人员具有不同水平的技术熟练程度、经验和培训。

现在您已经有了用于描述自动化测试的各种主题和术语的快照,这里有一个重要的区别:

测试软件:由人员执行的调查,以向项目涉众提供有关正在开发的软件质量的信息。

自动化测试:使用软件工具(或自动化代码)和机器的力量来控制测试的执行,比较它们的结果,并报告原本需要手动测试活动的功能。这有时被称为测试自动化。

如果您首先认识到测试自动化不是自动的,那么就更容易理解其中的区别。或者,正如吉姆·海森他是自动化顾问,也是软件测试领域的资深人士,他喜欢说:“这是自动化,不是自动的。”

Hazen使用术语“自动”来让人们思考他们使用自动化工具和技术来满足特定项目需求的目标是什么。他警告说,不要假设自动化测试工具的使用是包治百病或银弹解决方案。正如Hazen所指出的,自动化测试仍然依赖于执行测试的人。

Hazen说:“基本上,(测试)自动化只和构建它的人一样聪明。”

看看Smartsheet如何帮助你更有效率

观看演示,了解如何在Smartsheet中使用实时工作管理更有效地管理团队、项目和流程。

观看免费演示

测试自动化——谁做什么?

在现代发展实践中,有一种常见的“左移”方法。这个术语指的是在开发周期中比传统方法更早地出现测试软件。现在,开发人员在创建代码时就负责测试代码(有时在开发之前,但稍后会详细介绍)。此外,测试专业人员具有更高水平的技术专业知识,包括编写代码(自动化代码)的能力,这是需要的,并且工作头衔通常有各种各样的名称。

LinkedIn上的招聘板块列出了“自动化”在美国的搜索结果:

本文使用术语“测试人员”来指代使用自动化工具测试软件的人员。它并不意味着通过职称或技术熟练程度来区分。Jim Hazen将自己描述为混合型,或者“技术测试人员”,因为他可以编写测试脚本并开发他所说的“测试件”。目前的趋势是雇佣具有多种技能的人,但这并不意味着软件开发中的非技术涉众不能从自动化测试中受益。

“测试员、测试工程师、SDET或自动化开发人员……在我的书中,任何其他名字的玫瑰,”哈曾说。

当讨论测试自动化时,他更喜欢使用术语“自动化测试执行”,因为大多数人都是指自动化测试过程中的活动。非技术测试人员应该能够使用自动化工具。今天的现代自动化技术使得团队协作并从自动化测试中获益成为可能。

根据Hazen的说法,有多种方法可以使用自动化工具来自动化测试过程。他的清单包括:

  • 数据建模/代
  • 场景建模
  • 分析(例如扫描日志文件)
  • 报告
  • 实用工具(设置/清理测试环境)
  • 测试管理
  • 测试执行统计数据(通过/失败,涵盖的功能)

Hazen解释道:“这一切都是关于工具,以及你如何应用工具来帮助工作本身。

自动测试与手动测试

自动测试不同于“自动手动测试”,根据作者和顾问James Bach的说法。它不是一台没有人脑帮助就能完成同样任务的计算机。相反,Bach将测试自动化定义为使用任何工具来辅助测试。

最好避免比较自动测试和手动测试,就好像它们是相互排斥的一样。两者都用于测试软件。测试人员根据他们想要检查的内容设计用于自动化工作流的各种自动化测试。根据他们的编程能力,测试人员甚至可以编写他们自己的“内部”自动化代码。

测试是一个需要人为干预的过程。Bas Dijkstra是一位经验丰富的测试自动化顾问,他描述了即使是术语“测试自动化”也是有缺陷的,除非您了解什么是自动化的,什么不是自动化的。根据Dijkstra的说法,人工执行的测试所涉及的实际“学习、探索和实验”是无法自动化的。他写道:

“我不认为使用‘测试自动化’标签本身是错误的,只要人们意识到什么是自动化的(检查),什么不是自动化的(测试)。测试和检查之间的差异也提供了一个理由,说明为什么人工测试作为一种活动不会停止存在,至少在可预见的未来不会:测试活动不能自动化!”

Alan Page是一位拥有20多年软件测试经验的作者,他的大部分时间都在微软的各种职位上度过。他就区分自动测试和手动测试的重要性提供了另一种观点。在他关于自动化的博客文章的电子书汇编“The A Word”中,Page提到他对自动化的大部分评论都集中在软件测试和开发中自动化的“滥用和误用”。他对用自动化测试取代手动测试活动持怀疑态度,正如你可以从他的Twitter提要中看到的那样:

为什么要使用测试自动化?

测试社区和销售测试自动化产品和服务的供应商经常引用许多目标。ob欧宝娱乐app手机下载这些目标包括:

  • 简化测试执行
  • 提高执行测试的速度(测试脚本)
  • 增加测试覆盖率
  • 提高测试的可靠性
  • 缩短软件开发周期
  • 尽量减少与测试的人员交互
  • 降低测试的维护成本
  • 提高软件测试的准确性
  • 节省时间和金钱
  • 提高团队士气
  • 开发软件价值
  • 消除无聊的任务

Hazen认为,市场营销的努力和围绕测试自动化工具(软件产品)的各种错误信息经常使决策者对测试自动化的好处产生错误的期望。ob欧宝娱乐app手机下载他认为自动化解决方案取决于项目的具体目标。

“自动化测试的目的(和主要好处)是提高效率,”Hazen说。这种效率的ob欧宝娱乐app手机下载副产品是让你的测试人员专注于更高价值的任务。”

Hazen补充道:“你可以利用机器的力量和合格测试人员的知识来提供规模经济,否则人类不可能手动实现。”

测试自动化在谷歌

生产水平的提高对于公司开发快速(有时是每日)发ob欧宝娱乐app手机下载布的软件是很重要的。像谷歌这样的公司通过自动化测试来扩展他们的软件开发过程,并发布数十亿用户每天依赖的产品。ob欧宝娱乐app手机下载谷歌在快速发展过程中意识到自动化测试的好处后,为他们的工程师创造了新的测试角色和工作头衔。他们的努力产生了更高质量、更可靠、更频繁发布的软件。

自动化测试的使用是对持续创新需求和快速软件发布需求的响应。这并不意味着它是一项现代技术,只是工具和方法已经进化了。自动化软件测试从一开始就存在。

测试自动化的历史

测试自动化的起源始于计算行业。这本书,自动化软件测试:介绍、管理和性能,指出自动化软件测试的历史是随着软件开发的发展而发展的。在支持科学和政府项目的大型数据库系统时代,软件测试意味着有限数量的测试过程可以在开发周期结束时测试一个完整的系统。随着个人计算机的兴起,测试软件的方法发生了变化,以跟上对新软件应用程序和新产品功能日益增长的需求。ob欧宝娱乐app手机下载

书中引用的一份报告发现,20世纪90年代的软件开发人员经常错过发布日期和截止日期。降低成本和跟上快速变化的市场需求的压力现在依赖于更快的软件开发。随着商业软件开发的增长和竞争,出现了永远改变软件的新技术。新的图形用户界面(GUI)、联网的个人计算机和客户机-服务器体系结构需要新的开发和测试工具。

GUI应用程序的使用引入了能够执行记录和回放功能的第一代自动化测试工具。测试人员继续写下场景和测试脚本,但是GUI的广泛使用意味着应用程序的用户现在有多种方式与软件交互。测试人员必须克服这种情况,并且测试自动化工具的发展获得了动力。

为了事倍功半,开发人员在开发和集成阶段重用测试脚本以更有效地工作。对构建的新软件的需求,以及对正在开发的软件的不断更改,为自动化测试实践打开了大门,以作为测试代码的可靠控制机制(自动化软件测试,1999)。

自动化测试实践的扩展随着现代开发方法的兴起而继续,例如敏捷软件开发.虽然测试自动化在传统开发中是成功的,但它对敏捷和与方法相关的各种实践的发展至关重要。

IT中的敏捷自动化

信息技术巨头——谷歌、亚马逊和Facebook——以快速的速度开发软件以满足对其产品和服务的需求。ob欧宝娱乐app手机下载在许多情况下,这些公司负责产品开发的团队采用敏捷实践来实现他们的目标。ob欧宝娱乐app手机下载

测试自动化是敏捷的一个基本部分。各种各样的敏捷的核心实践例如持续集成(CI)、持续交付、测试驱动开发(TDD)和行为驱动开发(BDD)依赖于测试自动化的效率和可靠性。对于使用敏捷方法的团队来说,测试自动化影响的不仅仅是正在开发的软件:成功的测试自动化实践还突出了与敏捷相关的团队文化变化和重要性。

安吉琼斯他是自动化工程师、教授、发明家和顾问,拥有领导多个“冲刺”敏捷团队的经验。Jones说,在过去的五年中,由于敏捷实践在软件开发中的增长和采用,测试自动化变得更加主流。

“有了敏捷方法论,作为一种文化,我们需要更快地行动,”Jones解释道。“我们没有时间手动对整个回归桶进行冗余测试。我们不能再像以前那样进行测试了。”

Jones认为,今天使用测试自动化的最常见原因是缩短回归测试周期。回归测试用于确定软件的更改是否是新问题的原因。它们验证正在测试的系统没有更改。为了防止引入意想不到的更改,它们在测试通过后成为回归测试套件的一部分。回归测试是自动化的,以确保定期反馈。

“在更高级的项目中,目标是将测试自动化合并到持续集成过程中,”Jones补充道。

持续集成和测试自动化

Martin Fowler是各种软件开发主题的作者、顾问和思想领袖,他将持续集成(CI)描述为一种实践,可以显著减少集成问题,并允许团队更快地(通常是每天)开发内聚软件。自动化测试是这种实践的基础。福勒写道:

持续集成是一种软件开发实践,团队成员频繁地集成他们的工作,(sic)通常每个人至少每天集成一次——导致每天进行多次集成。每个集成都通过自动构建(包括测试)进行验证,以尽快发现集成错误。”

测试自动化中的连续交付

一旦软件通过自动化测试,它就可以发布到生产环境中(取决于首选的部署速率)。ob欧宝娱乐app手机下载这个过程被称为持续交付。首选的频率是持续交付和持续部署之间的差异。您可以通过CI所需的步骤实现持续交付。对于质量保证的自动化测试(和自动化构建)的强调利用了成功的测试自动化的效率,并且对于这个实践是必不可少的。

您需要协作和广泛的自动化来实现持续交付。Fowler认为,成功做到这一点的回报包括降低风险、可信的进展和用户反馈。持续交付是敏捷开发中的一种重要方法。它有助于消除阻止频繁部署特性的障碍。自动化测试是与敏捷相关的持续开发实践的基本部分。

风险与回报

当涉及到软件测试时,Hazen将敏捷和非敏捷开发方法视为基于风险的决策。根据Hazen的说法,测试自动化如何影响敏捷或其他开发方法的问题归结于使用了多少自动化“工具”,它在测试中的实现位置,以及它在多大程度上依赖于项目的目标。

自动化测试扩展了敏捷原则,因为这种环境需要以安全、可靠的可重复方式进行测试,并与软件的快速部署保持同步。在他们的书中敏捷测试:测试人员和敏捷团队的实用指南,作者Lisa Crispin和Janet Gregory声称敏捷开发依赖于测试自动化来取得成功。他们强调测试自动化所需的团队努力,并建议在开发过程的早期自动化测试。另外,自动化代码的开发与软件实际生产代码的开发同样重要。ob欧宝娱乐app手机下载“测试优先”的开发方法被称为测试驱动开发。

测试驱动开发

Crispin和Gregory将测试驱动开发(TDD)定义为在编写通过测试的代码段之前编写和自动化小型单元测试的过程。TDD用于持续集成测试,以确保小的代码单元首先一起工作。单元测试验证整个系统中一小部分代码的行为。这些测试是大多数自动化测试的主要候选。即使没有实践敏捷开发的团队也使用TDD来防止缺陷和设计软件(敏捷测试,2008)。

如果你没有意识到TDD更多的是关于软件设计和团队合作,而不是测试,那么它就是一种误导。根据作者的说法,使用TDD编写“测试优先”代码的敏捷程序员可以考虑他们想从代码中得到什么功能,然后与测试人员合作,以确保代码的所有方面都符合该功能标准。

钱德拉Kandukuri他是微软的技术测试主管,在多个环境中拥有超过16年的软件开发经验,开发自动化框架和工具。他提倡使用TDD,并投入时间和资源来做好它。欧宝体育app官方888虽然在他的经验中,很少看到团队使用TDD,但Kandukuri推荐使用自动化软件测试的方法,因为它可以促进积极的团队习惯。

“自动化鼓励人们节省时间,使工作更可靠、更高效。测试人员是天生的问题解决者,可以删除对团队其他成员来说不重要或不需要的步骤,”Kandukuri说。

行为驱动开发

Dan North是一名具有敏捷软件开发背景的技术顾问,他创建BDD是为了应对他在教授测试驱动开发时所经历的困惑。北写道:

“在不同环境的项目中使用和教授测试驱动开发(TDD)等敏捷实践时,我不断遇到同样的困惑和误解。程序员想知道从哪里开始,测试什么,不测试什么,一次测试多少,如何调用他们的测试,以及如何理解测试失败的原因。[…我的回答是BDD。”

Jones将BDD定义为团队使用领域特定语言通过场景来表达应用程序预期行为的过程。她指出这并不是什么神奇的事情——在这个过程中包含了自动化代码——但是BDD是开发人员和测试人员共享自动化工作的理想选择。专门的工具,比如黄瓜是用于自动化代码集成的最流行的开源工具,它执行这项工作,是Jones的首选工具。

IT行业依赖不同名称的类似敏捷实践来满足市场对其产品和服务的需求。ob欧宝娱乐app手机下载测试自动化对于敏捷以及使用持续集成和交付、TDD和BDD的公司来说是至关重要的。对于技术和IT行业的巨头来说,要获得测试自动化的好处,他们必须依赖于自动化框架。

自动化框架指导自动化测试

测试自动化框架是一组用于产生自动化测试活动的有益结果的指导方针。这些指导方针可能包括:

  • 常见的做法
  • 对预期结果的假设
  • 测试工具(软件)和接口
  • 测试库
  • 编码标准

自动化框架,当设计和实现正确时,可以交付频繁而稳定的自动化测试代码。有了适当的框架,代码更容易维护,而且经常可以重用。

“当我们提到自动化框架时,功能测试领域是最容易理解的,”Kandukuri说。“你提供了常用的方法来提高自动化任务的效率。由于对如何设置测试用例的知识有限,测试人员可以依靠框架来引用简单的语句并实现测试用例。”

根据Kandukuri的说法,自动化框架对人们意味着不同的事情,这取决于上下文。出于这个原因,他在开发框架时没有从大局出发。

“对于回归测试,您可能只开始对最关键、最基本的功能进行自动化测试,”Kandukuri说。“你不应该孤立框架。它应该易于维护和使用。”

自动化框架:策略和工具

Jones用具体的术语定义了自动化框架。“这是一个成功的自动化代码库的基础。您的测试代码将随着框架的发展而发展。如果自动化框架对项目目标是错误的,那么它是不可维护的,更难管理,并且你有设计错误的风险。

自动化框架与特定的自动化工具相结合,为特定的项目目标创建一个可靠的基础。然后自动化工具与测试目标保持一致。当框架和工具与用于测试软件的通用实践和编码标准结合在一起时,您就有了一个自动化框架。Jones提供了一个使用最流行的开源自动化技术测试web浏览器用户界面(UI)的例子。

Selenium是一种用于自动化浏览器操作的技术。没有验证或意见,真或假,通过或失败。您需要将Selenium与一个验证工具结合起来,可能还有另一个报告结果的工具,”Jones解释道。

例如,Jones推荐灵活的自动化框架,并警告不要使用仅限于UI测试的框架。一些测试团队从头开始构建他们的框架,以满足测试自动化代码和活动的预期结果。根据Jones的说法,大多数测试自动化计划失败是因为该项目的测试自动化框架架构设计得不好。

“如果你需要一个框架来测试web服务,你可以在一个框架内使用一组不同的工具,”Jones说。“你应该能够在一个框架内以一种允许你测试的方式组合工具,这样你就不局限于UI、集成或web服务测试。以支持一系列测试目标的方式构建您的框架。”

Hazen将自动化框架描述为构建自动化测试的可维护性和可重用性的方法,自动化测试是某种形式的自动化代码。他认为这是自动化成功的关键。

“太多的项目/实现都是一团糟,因为他们没有计划或设计实现,”Hazen说。“建筑自动化与建筑应用程序代码是一样的。自动化是软件开发的一种形式。”

测试自动化框架的类型

为您的项目选择框架归结为决定哪些指导方针将产生自动化测试的预期结果。通常,开发人员最终会设计一个自定义框架。这需要有经验的测试人员,并对实现自动化测试时可能出现的变更进行规划。在某些情况下,现有的自动化工具已经具有实现自动化测试预期结果所需的功能。

自动化框架的类型:

  • 线性脚本框架:以顺序(“线性”)的方式记录和重放测试脚本,很少或没有修改。
  • 数据驱动框架:测试标准的恒定来源(内部或外部数据)指定要运行的测试脚本。
  • 关键字驱动框架:电子表格上的表根据指定关键字的函数库指定测试脚本的操作。
  • 模块化测试框架:被测试应用程序的模块被划分并使用单独的测试脚本进行测试,这些测试脚本可以组合成更大的测试脚本。
  • 混合测试框架:利用每个框架的优势的框架组合。

自动化框架提供了从测试自动化工具和自动化测试活动中获得有益结果的指导方针。它们为测试人员建立了一个通用的标准,以实现自动化测试的特定目标。框架应该易于维护和更改。考虑将框架设计和开发的角色奉献给一个专门的、合格的测试人员。即使您使用了正确的自动化软件工具,一个设计不佳或难以维护的框架也会导致问题。糟糕的计划和未能创建或选择适当的框架来指导测试自动化活动限制了自动化测试的好处。

关于如何比较这些框架的进一步详细信息,包括设计指南以及如何选择最佳方案

来自专业人士的自动化测试观点

安吉琼斯

Angie Jones是一名咨询自动化工程师,在自动化策略方面为多个Scrum团队提供建议,并为许多软件产品开发了自动化框架。ob欧宝娱乐app手机下载安吉在国际软件会议上演讲和授课,担任计算机编程兼职大学教授,还通过TechGirlz和黑人女孩代码向年轻女孩教授技术研讨会。了解更多LinkedIn而在angiejones.tech

关于测试自动化策略:

“仅仅因为你可以编写代码,并不意味着它应该是自动化的。”

“最重要的是要考虑你要解决的问题。许多测试自动化计划失败了,因为团队试图从头开始,自动化每一个可能的测试,而不是根据开发目标进行最有价值的测试。他们发现自己陷入了维护的噩梦。选择您已经手动执行的最有价值的测试,并首先将其自动化。”

关于自动化工具和技术:

“对于应用程序来说,自动化代码和生产代码一样重要。”ob欧宝娱乐app手机下载

Selenium是UI自动化工具。其他可靠的开源工具本质上是围绕Selenium的一种环绕工具。对于web服务测试,我更喜欢请放心SoapUI是另一个经常使用的选项,除了开源之外还提供了专业版本。Testing G和Junit是很流行的验证工具。对于BDD,黄瓜和Specflow在微软的开发工具栈中很受欢迎。”

关于持续集成:

“当一个团队在运行持续集成时,你需要快速的测试反馈。如果你自动化了所有的事情,并且有成千上万的自动化测试需要花费几个小时来运行,你就有可能破坏自动化测试的原始目标。”

关于测试自动化的挑战:

“一个常见的陷阱是决定哪些资源将负责自动化测试。负责产品代码的开发团队可能不合格或时间不够,无法成功地实现自动化测试。ob欧宝娱乐app手机下载这是双向的:你(目前的)测试人员可能没有资格编写好的自动化代码来实现好处。”

“另一个常见的错误是试图让测试人员同时做两项工作,所以当管理层允许进行自动化测试时,现在任何与QA相关的工作都需要一定程度的自动化,测试人员可能会对测试自动化的潜力感到兴奋。但这两项工作都是全职工作,所以很多时候(这些)团队很难决定在有限的时间里做些什么。”

吉姆·海森

Jim Hazen是一名自动化顾问和“软件测试战壕的老兵”,他帮助公司进行测试自动化和性能测试实现。他曾在多个专业会议上发表演讲,包括STARWest而且STPCon,并在ST&QA杂志上发表了关于测试自动化和测试人员通信技术的文章。你可以在上面了解更多关于吉姆的情况LinkedIn。

关于测试自动化策略:

“自动化不是最终的解决方案;这是拼图的一部分。它不会解决你的问题;它有可能创造新的世界。您如何使用它取决于您使用测试自动化的计划和过程。”

“我要做的第一件事就是弄清楚玩家是谁,以及他们对要做的工作有什么理解。我这样做是为了尽早和快速地修正(测试自动化)的神话和误解。我的工作是让人们站在同一战线上,有相同的理解。”

关于自动化的内容:

Hazen认为这个问题是一种基于风险的方法。他根据客户正在测试的内容对客户当前的测试进行分类,并确定何时需要运行测试的优先级——他的技术将决定首先构建哪些自动化测试。他使用三个基本的“桶”来对测试进行分类,并避免采用鸟枪式测试方法:

  1. 烟雾测试:烟雾测试或构建验证测试是在进行更多测试之前运行的一系列测试,用于验证应用程序是否正确运行。如果这些测试没有通过,你就无法投入时间和资源。欧宝体育app官方888
  2. 80/20法则:Jim使用帕累托定律来问“应用程序的哪20%在80%的时间内被使用了”。这里的各种更深入的测试侧重于在“高风险”项目上实现所需结果所需的测试。
  3. 其他:询问还有哪些外围测试阻止应用程序发布?或What is broken?这些测试针对的是中低优先级的项目。

这种练习有助于把注意力集中在需要做的事情上,以便尽快看到好处。Hazen注意到这个过程会带来效率的提高,这是他自动化测试执行的主要目标。

关于测试自动化的挑战:

“公司经常高估他们现有的开发团队使用自动化工具所能完成的工作。在意识到他们现有的团队没有资格实现测试自动化的全部好处之后,他们通常最终会引入一个自动化顾问。”

钱德拉Kandukuri

ndra Kandukuri是微软的技术测试主管,在多个环境中拥有超过16年的软件开发经验,其中包括超过13年的各种测试角色,包括高级SDET。他开发自动化框架,并有使用大量自动化工具和技术的经验。了解更多关于钱德拉LinkedIn。

关于自动化测试的招聘:

“招聘自动化框架开发人员。如果测试人员没有资格自动化任务,他会要求框架开发人员在开发新功能时对其进行自动化测试。这(开发)将是专用资源的主要工作。”

随着项目的发展,您可能会耗尽时间或所需的资源来跟上自动化测试的需求。欧宝体育app官方888Kandukuri建议雇佣能够开发自动化框架的专业人员,以及负责自动化测试执行的独立测试人员。

“让开发自动化框架的人与执行测试的测试人员[不同]。你支付资源实际上是为了节省时间和金钱。”

关于自动化的内容:

“我们总是计划自动化强制性测试用例。非强制性测试用例不是自动化的。您知道,在数千个回归测试中,有数百个会失败。”

当Kandukuri有时间离开强制性测试用例时,他可以处理这些失败,但开发周期并不会减慢。他使用自动化测试来解决这些问题。

自动化回归测试是关键。自动化高优先级特性的回归测试,然后强制进行单元测试的最小验证,并确定这个指标。”

Kandukuri估计,他大约有50%的时间用于自动化任务。如果有一个特性发布,他会使用手动测试,然后将这些测试自动化。目标是将注意力集中在新的特性更改上,而之前的特性测试是自动化的。

“一个Windows 10版本要进行数百万次回归测试。例如,如果你计划10个新功能,其中5个是关键的和优先级的。这些测试用例将是用于发布软件的标准。你要在进步的基础上发展。所以在下一个版本中,你有新的特性,10个被确定为测试的关键。所以它一直在增加,现在你有15个自动回归测试来跟上发布计划。”

进一步的软件自动化测试资源欧宝体育app官方888

实现软件自动化测试的好处首先需要理解自动化不是自动的。如果你理解了基本原理——它是什么,它不是什么,谁使用它以及他们为什么这样做——你就会开始明白为什么自动化测试是现代软件开发的基础。与成功的测试自动化相关联的效率增益需要使用自动化框架和适当的自动化软件工具。

这里有更多的资源供您探索,以了解更多关欧宝体育app官方888于自动化测试的知识:

博客和网站:

播客:

会议:

使用Smartsheet跟踪自动化测试的结果

既然您已经了解了软件自动化测试的基础知识,那么找到一个能够跟踪和管理测试结果的工具是很重要的。Smartsheet就是这样一个工具,它是一个协同工作管理平台,可以帮助企业和团队更好地工作。

使用Smartsheet跟踪计划的、当前的和已完成的测试的进度和结果。与您的团队共享时间表,并在一个中心位置实时协作细节。无论您是运行手动测试还是自动测试,Smartsheet的广泛视图(日历、甘特、卡片和传统网格)都允许您以您想要的方式管理进度。用层次结构组织测试结果,并使用注释使工作保持在上下文中。

此外,使用Smartsheet Sights,您可以创建自定义仪表板来监控测试,并为管理提供进度和关键指标的高级视图。改进测试过程中的协作,加强对时间和资源的控制,并通过一个地点获得前所未有的结果可见性。欧宝体育app官方888

在Smartsheet中使用模板跟踪自动化测试是多么容易。

在Smartsheet中跟踪自动化测试

顶级软件开发团队使用Smartsheet

为您的员工提供一个灵活的平台,以满足您团队的需求,并根据这些需求的变化进行调整,使他们能够超越自我。

Smartsheet平台可以轻松地在任何地方计划、捕获、管理和报告工作,帮助您的团队更有效地完成更多工作。通过汇总报告、仪表板和自动化工作流,报告关键指标,实时了解工作情况,使您的团队保持联系和信息灵通。

当团队清楚地知道要完成的工作时,没有人知道他们在相同的时间内能完成多少工作。今天就可以免费试用Smartsheet。

发现为什么超过90%的财富100强公司信任Smartsheet完成工作。

了解更多关于软件开发的Smartsheet