• 0
  • 0
分享
  • 要避免的自动化实践
  • FunTeste 2023-03-28 17:20:42 字数 1806 阅读 690 收藏 0

交付给用户的软件的质量决定了每个公司的成功。QA 团队的辛勤工作是确保产品质量的最重要因素之一。自动化测试最佳实践和适当的测试自动化技术可以帮助QA团队实现这一目标。

如果尽管尽了最大努力,测试还是失败了怎么办?自动化测试人员可能因为急于求成而犯错,这不仅浪费时间和金钱。这对他们的能力和可信度也提出了质疑。对于团队和个人来讲,这听起来像是一场噩梦。

在自动化测试生命周期中执行各种类型的自动化测试时,许多新手测试人员和开发人员都会犯自动化测试错误。避免某些自动化测试实践比正确进行测试更为重要。市场上有大量的自动化测试工具、自动化框架和一些基于 AI 的自动化工具,它们声称可以一站式解决所有自动化测试问题。这些工具在一定程度上可以解决问题,但难以解决的问题仍然存在,会留下代价高昂的隐患。

基于反复出现的自动化故障,这里有一些测试人员应该避免的自动化测试实践,以帮助QA团队获得更好的自动化实施效果。

跳过第一步

顶级测试大师建议我们在实施自动化之前,应该解决这样的问题,为什么我们需要特定的功能?自动化将消除哪些我们现有测试无法解决的漏洞?因此,为每个自动化阶段建立目标和正确期望至关重要。此外,确保自动化应用是要解决问题的,并且可以量化提供可视化指标来帮助提高软件质量。因此,要避免的第一个也是最重要的自动化测试错误就是跳过这个阶段。

自动化一切

自动化测试并不意味着一切都需要自动化。换句话说,不要将错误的事情自动化。测试人员通常会挨个自动化所有现有的测试流程来犯这个错误,例如逐步自动化所有现有的回归测试,这并不能解决真正的问题。相反,它会导致测试人员将时间和精力浪费在不需要自动化的任务上。将所有时间都花在构建框架然后编写脚本来自动化它们并不是一个好主意。最好的解决方案是将测试人员需要多次运行的可重复测试自动化。如果代码不断变化,自动化将无法很好地执行。因此,测试人员必须避免这种自动化测试实践,以避免出现其他问题。

选择随机测试自动化工具

使用测试自动化技术的决定应该是经过深思熟虑的。没有一种自动化工具可以解决所有自动化问题。测试人员应该首先确定问题,而不是在确定问题之前选择工具。现在避免这种自动化测试实践将为以后省去很多麻烦。最好选择一个工具来回答当前最紧迫的测试自动化问题。

有几种工具是为不同技能水平的测试人员构建的。例如,开发人员、测试人员、技术测试人员和业务测试人员根据他们不同的技术技能水平使用不同类型的测试自动化工具。建议你选择程序员和非编码人员都可以使用的自动化工具。如果收到限制,你可以需要优先考虑会提高现有测试人员的技能。

在花钱购买产品之前,最好先让测试免费试用版并在每个开发阶段运行它,以确定它是否适合眼前的需求。

执行缓慢

随着软件的发展,它变得越来越复杂。创建的代码越多,测试就越复杂。测试人员要避免浪费时间重复编写相同的测试,防止陷入庞杂且混乱的代码泥潭,导致自动化越来越缓慢。这样的话,测试人员可以显著减少他们的时间和精力,使他们能够专注于其他更重要任务。

创建模糊的用例

创建易于描述、阅读和解释的测试,可以做使得即使他人接手也能够迅速理解用例执行步骤和根据新需求维护用例。难以的测试也会导致调试问题。要解决积累的问题需要花费更多时间阅读源码,有时候甚至会超过重新创建新用例。

使用旧数据

定期维护旧的测试用例很重要,这样测试用例对早期测试数据的依赖就不会影响后续结果的正确性。还有一种解决方案就是建议隔离测试。为确保任何后续测试都使用相同的数据,并且不受外部影响,建议在测试前将应用程序重置为全新配置。

没有测试架构

不能低估良好的测试架构的重要性。无论选择哪种编程语言,建设测试架构并制定有效的测试策略都会产生出色的项目。每个测试都应该以要测试的各种变量的定义开始,然后是任务的逻辑安排。根据这些逻辑阶段开始测试并跟踪发现。所有这些措施将确保自动化测试如期进行并能获取满意的结果。

增加sleep时间

如果执行时间短于 Web 应用程序的反应时间,则测试有可能失败。通常使用sleep方法会解决大部分问题,但是等待时间过长会使测试效率低下,并可能导致测试失败。因此,等待应该是灵活的, Selenium等待:sleep、隐式、显式和Fluent 。

结论

采用自动化测试最佳实践并不能解决所有自动化测试问题,除非你提前了解要避免哪些自动化实践。没有完美或成功的测试策略,但有一些错误的实践可以避免。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •       沐沐今天想和大家分享一下性能测试过程中一些常见的问题,可以帮助性能学习初学者解决一些小疑惑。一、性能测试都分为哪些种类? 负载测试:主要检查被测系统在既定负载下的性能表现,即通过逐步加压的方法,达到既定的性能阈值的目标(阈值的设定应是小于等于某个值,例如cpu<=80%等)。压力测试:主要检查被测系统在极端条件下的表现,即通过逐步加压的方法,使得系统的某些资源达到饱和,简言之就是测试什么条件下可以把系统压奔溃。并发测试:主要是验证系统的并发处理能力,即在同一时间内,多个虚拟用户同时访问同一模块、同一功能,通常的测试方法是设置集合点。基准...
            2 0 4058
            分享
          • 最近,从生产上反馈了一些产品缺陷,开发、测试一起对缺陷进行了多维度的原因分析,缺陷的逃逸是由产品生产过程中多种因素造成的,其中有部分原因是回归测试的策略选用不当。在此,我们有必要聚焦一下回归测试。先收藏:什么是回归测试?谈谈大佬眼中的回归测试什么是回归测试回归测试的英文名称:Regression Testing,从字面上看,是“倒退测试”。这就表明,软件有当前状态和原来状态之分。回归测试就是对软件的原来状态重新进行功能和非功能的测试,用以确保先前开发并测试过的软件在缺陷修复、配置改变、软件更新等等这些变化之后,仍能符合要求的运行(即:软件当前状态中那些没有被修改的部分的功能和非功能与原来状态保...
            0 0 5112
            分享
          • 在上一小节,我们简单介绍了接口文档,以及对于接口本身的测试,从本小节开始我们来介绍一下业务功能的测试。需求分析我们先给一份产品需求如下:点击“我喜欢”按钮,调起一个弹窗,展示我喜欢的明星列表;明星排列顺序按照添加时间倒序排列;可分页展示,向上划动,可展示下一页内容,每页最多展示2条内容。我们逐条分析一下,这几条都分别是由哪些开发同学负责:肉眼可见的按钮一定是由前端或者客户端来完成,不是我们测试重点;倒序排列,前后端均可完成,但一般是由后端处理完成后,交给前端客户端展示,这是接口测试的重点;前后端均可完成。但如果是由前端完成,那么后端需要把所有数据一次性给到前端,我们想一下如果数据量巨大,那么对...
            0 0 2012
            分享
          •  我在一家做微信营销的公司干技术 leader,带 40 多个人,公司名就不说了。在这个位置上做了好几年,把团队从小带大,公司虽然不算风口浪尖上的高增长业务,但技术这块儿也从来没出过什么问题,我还是蛮自豪的。带团队时间久了,就能发现整个 Team 都渐渐疲了。前两年老板还专门买了个系统搞 OKR,现在也不大提了;Scrum 我们也搞了,用起来也就那样;项目管理工具试了好几个,禅道、Worktile、现在用 Coding,反正有一个能用的就行;微服务化改造从去年开始在吭哧吭哧搞,我们自己搞得觉得很厉害,但业务部门那边就觉得没啥差别,搞不懂你们研发部门每天在弄些什么,赶紧做我们提的需求要...
            0 1 944
            分享
          •   面试的时候,被问到你会搭建测试环境吗?相信很多人的都会感觉脑子一下一片空白,或者星星点点,不知道从何说起。  一方面不知道面试官问这个问题的意图是什么?也不知道他想得到的答案是什么?更加不知道该从哪些方面来回答。  作为一个测试行业从业8年有余的测试人员,我想跟大家分享一些我的经验和看法。  首先,毋庸置疑的是,面试官问这个问题,想要得到的是你肯定的答案,希望你是一个会搭建测试环境的优秀测试工程师。  QA不管是做什么类型的测试,最基础的功能测试,需要搭建测试环境;进阶部分的性能压力测试,对搭建环境的要求更高。  所以搭建测试环境是优秀测试工程师的必备技能之一,也是QA开展测试工作的前置条...
            0 0 1157
            分享
      • 51testing软件测试圈微信