专栏首页FunTester自动化测试生命周期

自动化测试生命周期

如今,项目经理和开发人员面临着用最少的资源并在日渐缩减的时间表中构建可靠应用程序的挑战。因此,组织正在转向自动化测试以有效地实现此目标。

在自动化测试方面,我们许多人认为这只是SDLC(软件开发生命周期)的一部分,但是要实现自动化测试的最佳结果,必须遵循完整的自动化测试周期,即自动化测试生命周期。

本文适用于希望学习完整的自动化测试生命周期的实施如何提高软件产品质量的学习者。在这里,我将讨论完整的自动化测试生命周期。

自动化测试生命周期方法论的6个阶段

自动化测试生命周期的实现与软件开发生命周期过程并行执行。

结构化的自动化测试生命周期包括一个多阶段过程,该过程支持利用和引入自动化测试工具,开发和运行测试用例,开发测试设计,构建和处理测试数据和环境所需的活动。在自动化测试生命周期方法中,构建测试设计以描绘测试工作,从而为项目和测试团队提供有关测试程序范围的框架。

确定测试自动化的范围

这是自动化测试生命周期的第一阶段,旨在确定自动化的可行性。分析可行性时应考虑各个方面。同样,在手动测试用例包上执行可行性分析也很重要,它可以使自动化工程师设计测试脚本。

在此特定阶段,应妥善处理以下事项。

  • 哪些应用程序模块可以自动化,哪些不能自动化?
  • 哪些测试可以自动化,以及如何使其自动化?
  • 还应考虑成本,团队规模和专业知识等因素。

在开始测试自动化之前,应进行以下可行性检查:

-测试用例自动化可行性

  • AUT自动化可行性

浏览受测的应用程序屏幕,并提及应用程序的所有UI组件,以有效地进行可行性分析。确定要通过自动化测试工具自动化的UI组件的百分比。尝试找出自动化测试工具,这些工具只需做很少的改动就可以帮助自动化UI组件。这将我们带入下一阶段!

选择正确的自动化工具

自动化测试高度依赖于工具。这就是为什么找到正确的自动化测试工具是自动化测试生命周期中至关重要的阶段的原因。当您在寻找自动化工具时,您需要记住预算,项目中使用的技术,工具对板载资源的熟悉程度,直观性,灵活性等。选择一种工具,为您提供可以解决查询或问题的支持团队。

例如,如果您正在寻找一种自动化的浏览器兼容性测试工具,则需要牢记所提供的各种浏览器。能够在不同的浏览器和设备之间捕获视频日志,自动化脚本的元数据。突出显示和跟踪错误的机制。

需要提供了一个基于云的Selenium Grid,它与支持Selenium的每个测试自动化框架兼容。提供的自动化仪表板甚至可以捕获测试执行的详细信息,最终为您提供分步截图,测试执行的视频日志以及元数据。

测试计划+测试设计+测试策略

自动化测试生命周期方法的最关键阶段定义了如何实现和实现测试自动化的目标。在自动化测试生命周期的“测试策略”阶段,选择测试自动化框架是首要的任务。

选择工具取决于应用程序中使用的技术。在开始自动化测试之前,请完全了解您的产品。例如,如果它是一个桌面应用程序,请找到它所基于的语言。或者,如果您要测试Web应用程序,请了解您所使用的不赞成使用的功能,该功能可能在各种浏览器中都不兼容。

在测试计划阶段,测试团队将确定测试程序的创建标准和准则;硬件; 支持测试环境的软件和网络;初步测试时间表;测试数据要求;缺陷跟踪过程和相关的跟踪工具,以及控制测试配置和登台环境的过程。

测试工程师团队开发了一种测试架构,以描述测试程序的结构以及设计测试程序模型后管理测试程序的方式。后期设计是一种测试体系结构,其中描述了整个测试程序的结构以及测试过程的管理。

计划测试管理策略时,请确保考虑以下事项:

  • 从测试管理工具中收集所有手动测试用例,以确定需要自动化的测试用例。
  • 了解测试工具的优缺点后,确定要使用的框架。
  • 在用于测试管理的工具中为自动化测试用例构建测试套件。
  • 确保在测试计划中提及背景,风险,背景以及工具与应用程序之间的依赖关系。
  • 向客户或利益相关者寻求测试策略的批准。

设置测试环境

顾名思义,自动化测试生命周期的这一阶段涉及设置将要执行测试用例的机器或远程机器。为什么我们需要远程机器?因为除非我们生活在理想的世界中,否则您的用户将使用不同的机器来访问您的网站或Internet上的Web应用程序。

不断检查不同的设备是一回事,但是我们还需要对各种浏览器和浏览器版本保持谨慎。由于您的网站在一个浏览器与另一个浏览器上的呈现方式可能不同。跨浏览器兼容性测试(也称为跨浏览器测试)是一种程序,其中我们跨多个浏览器版本测试网站或Web应用程序,以确保我们为所有客户提供无缝的用户体验。

环境设置阶段需要周密的计划,您需要确保能够在尽可能多的不同场景中最大化测试覆盖率。测试团队负责安排和跟踪环境设置活动;安装测试环境软件,网络资源和硬件;完善测试数据库并开发测试平台脚本和环境设置脚本。

测试环境设置的关键区域

测试数据 –与生产相比,很多测试环境设置中没有填充相似的数据,一旦将代码更改投入生产环境,这会使产品非常脆弱。前端运行环境 –确保您具有前端运行环境来执行负载测试,以分析处理Web流量的能力。

  • 要测试的所有系统,模块和应用程序的清单。
  • 用于暂存环境的隔离数据库服务器。
  • 跨各种客户端操作系统进行测试。
  • 跨最大浏览器和浏览器版本进行测试。
  • 确保在低端和高端网络上测试您的网站,以了解呈现时间和网站或网络应用的整体外观之间的差异。
  • 文档是关键 –确保在中央存储库中涵盖所有配置指南/安装指南/用户手册等。

测试环境设置涉及以下任务:

工具许可证。

  • 设置实用程序,例如高级文本编辑器和比较工具。
  • 自动化框架实施
  • AUT访问和有效凭证
  • 加载项许可证

各种组织都使用暂存环境来测试软件。最好的方法是复制生产数据以进行测试。它可以帮助测试工程师发现问题而不会破坏生产数据。这是导致登台环境失败的13个原因。

设置测试环境管理的最佳实践:

  • 全面收集并了解测试环境,并培训测试团队成员。
  • 检查所需的软件,许可证和硬件。
  • 维护自动化工具及其配置的清单。
  • 维护跨浏览器测试矩阵,以确保您涵盖有关优先级和市场份额的众多浏览器和版本上的测试。
  • 确保使用实时流量进行测试,以确保您的更改更具可持续性。
  • 计划测试环境的计划使用。

自动化测试脚本开发+执行

一旦安装了测试环境,就该执行测试脚本了。因此,自动化测试生命周期的这一阶段专用于执行所有测试脚本。为了执行脚本执行,已签名和经过单元测试的测试脚本将交付给自动化测试团队。对于确保所有测试脚本均正确运行至关重要。因此,在开发测试脚本之前,需要注意以下事项:

  • 根据实际需求创建测试脚本。
  • 创建可以在整个测试过程中使用的通用功能方法。
  • 确保创建可重用,结构化和简单的脚本,以便第三方可以清楚地理解它。这里有8条可行的见解,旨在编写更好的自动化代码。
  • 执行测试脚本的代码审查,以更好地保证质量。
  • 利用更好的报告。

测试脚本成功开发后,应牢记以下几点来执行它:

  • 测试脚本应根据测试用例包括所有功能方面。
  • 确保在多个环境和多个平台上运行测试脚本。
  • 如果可能,可以执行批处理以节省时间和精力。
  • 如果由于某些功能而发生故障,请编写错误报告。

为了执行测试脚本和过程,测试团队必须遵守为执行过程而决定的时间表。在此阶段,将执行测试结果的评估并准备测试结果文档。执行测试结果评估并准备测试结果文档。运行针对单元,系统,用户接受度和集成测试而设计的计划,以测试整个系统。代码分析是在单元测试时完成的。当算法,资源利用率和实例化不当扩展时,性能分析会发现实例。

分析+测试结果和测试报告的生成

在执行所有类型的测试之后,测试团队将进行分析以识别遇到相对数量的问题报告的特定功能或组件。

分析结果表明是否需要额外的测试工作和程序。

分析产生的测试结果可以确认执行的测试脚本/过程是否可以识别错误。

这是自动化测试生命周期的最后一个阶段,现阶段与所有相关利益相关者共享测试报告。这就是为什么测试报告对于分析您的网络应用对逆境的反应至关重要。您可以使用老式的Excel工作表,但是LambdaTest Automation可以提供基于应用程序的报告,其中包含通过基于云的Selenium Grid上的自动化脚本执行的所有测试用例。有趣吧?了解有关LambdaTest Selenium Grid的所有知识,以进行自动跨浏览器测试。

总结

自动测试是在适当的时间范围内并以足够的资源满足测试目标的有效方法。但是,请确保实现完整的自动化测试生命周期,以获得预期结果并以最佳方式测试应用程序。没有计划或序列的自动化测试会导致大量脚本,这些脚本可能经常失败,并且也需要人工干预。

本文分享自微信公众号 - FunTester(NuclearTester),作者:八音弦

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 生产环境中进行自动化测试

    大多数功能测试用例和自动化测试用例在测试环境中以速度验证通过,但是很难保证这些用例在生产环境中具有相同的效果。特别是跨浏览器测试,则需要确保跨各种操作系统,运行...

    FunTester
  • 如何从测试自动化中实现价值

    如果几年前,质量管理部门都试图通过ROI指标来证明对测试的投资是合理的,那么现在情况发生了变化,是时候重新审视这个问题了。当实施连续测试,并且每天在不同的环境下...

    FunTester
  • 如何在DevOps中实施连续测试

    在过去的十年中,对软件开发的需求已急剧发展。软件已成为公司获得竞争优势的关键优势,特别是如果您的公司属于SaaS范畴。通过在SDLC中实施瀑布等传统流程,组织现...

    FunTester
  • 测试左移实践探讨 :测试左移在腾讯地图SDK的实践

    我理解的"测试左移",即将测试活动与开发活动结合更加紧密, 同步于开发活动甚至早于开发活动便开始的质量保障活动。业界已有关于测试前置的一些讨论, 因此本文也沿用...

    腾讯移动品质中心TMQ
  • SAP成都研究院姚瑶:软件质量保证工作的变迁

    大家好,我是来自SAP成都研究院Revenue Cloud 团队的质量工程师 , yoyo。很高兴可以和大家分享我个人的工作体会。每个团队都有QE(Qualit...

    Jerry Wang
  • SAP成都研究院姚瑶:软件质量保证工作的变迁

    大家好,我是来自SAP成都研究院Revenue Cloud 团队的质量工程师 , yoyo。很高兴可以和大家分享我个人的工作体会。每个团队都有QE(Qualit...

    Jerry Wang
  • TMQ在线沙龙第三期回顾

    Android自动化测试框架Uiautomator 活动时间:2016年6月30日 QQ群视频交流 活动介绍:TMQ QQ群沙龙第三期分享圆满结束啦~本次分享的...

    腾讯移动品质中心TMQ
  • 自动化软件测试与人工测试比较

     既然现在有了自动化测试,甚至现在许多团队在使用人工智能的方法,逐渐让机器来取代人的测试。那么作为测试工程师的人未来会不会消失?这是一个摆在许多人面前的一个严肃...

    小老鼠
  • 自动化测试与手工测试对比

    一直以来,软件的测试主要是以手工测试为主,但是随着现代软件的复杂程度的加深,人们对使用手工方式来完成软件测试感到的越来越力不从心,同时因为在软件测试中存在着大量...

    软测小生
  • Python 测试开发从入门到高手成长之路

    在“质量第一,效率为王”的移动互联网和大数据时代,互联网 IT 技术团队为了应对产品快速迭代要求,就必须具备持续交付的能力。而在测试这个环节,就意味着必须拥有自...

    测试小兵

扫码关注云+社区

领取腾讯云代金券