当前位置: 首页 > 质量专栏 > 您是否对脚本测试和记录与重放测试感到困惑?
您是否对脚本测试和记录与重放测试感到困惑?
2022-09-27 浏览次数1773

  因此,您正计划向自动化测试迈进。但是您一直在争论选择哪一个?您是否应该转向 Record and Replay 自动化测试?还是您宁愿坚持使用良好的旧脚本?在本文中,我们将帮助您了解这两种方法之间的差异,即记录、重放和脚本测试。

  软件规划、开发和测试是您在任何项目中都会遇到的关键活动,并且这些活动中的每一个都不能在孤岛中执行,因为每个项目都会有一些“内部和外部依赖关系”。在测试方面,您应该遵循“黑盒测试”和“白盒测试”的正确组合。两种测试方法之间的主要区别在于测试策略所需的技术专业知识的深度、测试计划、测试脚本和测试执行。一名拥有“黑盒测试”专业知识的测试人员根据正常和边界用例测试产品,而无需对源代码有任何内部知识。这种方法与测试人员编写测试代码以测试产品功能的“白盒测试”完全相反。

  “Record & Replay testing”是一种流行的执行黑盒测试的测试机制。它非常适合具有静态用户界面并且推送到生产服务器的更改较少的产品(至少从UI/UX 的角度来看)。

  洞察记录和重放测试

  顾名思义,预定义的测试场景被记录下来,并且可以通过按下按钮来播放(即“记录”用于记录用例,“重放”用于回放记录的用例)。这种方法听起来很有趣,因为该工具允许您创建一个可以自动执行那些记录的操作的脚本。这种方法有一个巨大的优势,因为 QA 团队可以最早开始产品测试,并且 QA 团队不需要任何编程专业知识。对于喜欢执行“左移”测试的组织来说,它是一个完美的选择。

  众所周知,产品需求可能会在一段时间内更改错误修复,这可能会导致后端代码的更改以及用户界面(前端)的更改。在这种情况下,录制和回放测试会中断,因为这些测试是在假设 UI 中不经常更改的情况下创建的。

  Record & Replay 可以是了解测试自动化的第一步,因为测试人员不需要任何脚本/编码专业知识。对于具有手动测试背景并希望在“自动化测试”领域站稳脚跟的人来说,这是一个很好的学习工具。但是,随着用例数量的增加,录制的脚本可能会很大,这会影响这些脚本的执行速度。对于 UI 中的更改牵强的产品来说,这是一种理想的方法,因为它不会对录制的脚本产生太大影响。总结一下,

  1、Record & Replay 测试适用于测试时间紧迫的应用程序/网站。

  2、它非常适合具有手动测试背景并希望涉足自动化测试的测试团队。

  3、开发/测试团队之外的成员可以使用它。

  记录和重放测试可能出现的主要实时问题

  每种技术都有缺点,以下是有关记录和重放测试的技术:

  问题 1 – 录音过多

  当您在任何网站上导航时,您往往会执行许多操作,其中一些操作可能是无意的。Record & Replay 工具的问题在于它会记录“太多信息”,并且大部分信息可能是“噪音”,即不需要成为测试脚本的一部分。例如,下面是一段录音

  将鼠标移动到位置 100,200(相对 X、Y 坐标)、点击“用户名”文本框、输入用户名、点击“密码”文本框、输入密码、等待 5 秒、点击“提交”按钮

  该场景看起来非常好,但 5 秒的延迟可能会产生误导。测试人员可能输入了错误的密码并试图删除相同的密码,或者可能有其他原因。

  问题 2 – 录音太少

  录制和重放测试的问题在于,有时录制内容会太少,而且如此短的录制内容不会转录为“有效的测试脚本”。在这种情况下,必须重新录制录制的测试脚本,这可能需要更多时间和几次重试。

  还有一种可能是您记录了错误的内容,并且根据用例的复杂性,进行记录所花费的时间将呈指数级增长。例如,在记录用例时,您在最后一步犯了错误。由于不能部分录制,因此需要重新录制整个场景。

  问题 3 – 修改测试用例 & 循环执行测试用例

  假设您有一个测试场景,您必须在其中测试用户的真实性。这将涉及基于您的网络应用程序/网站上相应字段中的“用户名和密码”的测试用例的排列和组合。如果您计划使用“记录和回放测试”执行测试,您必须对每组用户名和密码执行相同的任务。您不能修改“记录的测试脚本”以在脚本中输入每个用户的详细信息。

  由于录制的测试脚本可能无法理解(即它可能是只能由 Record & Replay 工具解码的 HexCode),因此您将为每个场景创建一个新脚本;即使测试场景的变化本质上可能是极简主义的。

  这些是 Record & Replay 测试的一些主要缺点,但对于对自动化测试感兴趣的人来说,它可能是一个理想的起点。此外,它可以由属于您组织的任何人执行,从您的DevOps团队到您的营销团队。

  洞察脚本

  使用 Selenium(一种用于自动化 Web 应用程序的开源工具)创建测试脚本被认为是最受追捧的自动化测试方法。与 Record & Replay 测试不同,被分配使用 Selenium 框架编写测试脚本任务的测试人员需要具备相当多的 Python/PHP/Perl/Ruby/其他编程语言的编码专业知识。

  根据需要测试的功能,测试人员还应该了解 Selenium 中用于相应编程语言的不同模块。对于任何类型的项目(无论是处于开发阶段还是维护阶段),基于脚本的测试始终是一个可行的选择。由于 Selenium 是一个广泛使用的测试自动化框架,因此开发团队中的成员也可能对它有很多了解。在这种情况下,他们可以与测试人员合作,提出有效的测试用例和测试脚本,从而获得长期利益。

  与录制和回放测试不同,可以修改脚本(使用 Selenium 编写);尽管周转时间取决于脚本开发人员/测试人员的编码专业知识。它还适用于执行压力测试和回归测试,这使其成为自动化测试的“更具可扩展性的方法”。

  总结一下

  1、使用 Selenium 编写脚本更受具有“开发思维”并了解 Selenium 等框架知识的测试人员的青睐。

  2、它适合以更健壮的方式创建测试套件/测试用例。

  3、使用 Selenium 框架的测试脚本可用于实现最佳“代码覆盖率指标”,即测试代码可用于测试边界场景以及正常测试场景。

  4、适合执行端到端测试。

  结论

  根据项目的时间表和测试团队的技术知识,您应该选择记录和重放测试或使用 Selenium 等框架编写脚本。尽管每种方法都有自己的优缺点,但理想的测试计划是并行执行测试的计划。作为负责测试 Web 应用程序/网站功能的测试人员,您应该牢记您的 Web 应用程序在不同浏览器、操作系统和设备之间的跨浏览器兼容性。就自动化跨浏览器测试而言,并行测试可以提供最大的吞吐量被关注到。如果您不熟悉自动化,那么录制和重播可以为您节省一天的时间。使用 Record & Replay 保存测试后,您可以并行执行这些脚本(在浏览器、操作系统和设备的不同组合上)。但是,如果您已经精通编程语言,那么 Selenium 可以提供强大的、可定制的多线程功能,以最大效率并行运行自动化跨浏览器测试用例。

      卓码软件测评是一家[ 具备CMA、CNAS双重资质 ]的专业做软件测试的第三方软件测试服务机构, 可根据您的需求提供各类软件测试服务,并出具合格有效的软件测试报告。点击→→可了解测试报价

        部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。负责人:曾菲       电话:4006070568



文章标签: 自动化测试
咨询软件测试