• 0
  • 0
分享
  • 探讨影响自动化测试成败的重要因素——软件测试圈
  • 恬恬圈 2023-07-07 17:05:53 字数 1460 阅读 572 收藏 0

  自动化听起来很美,但实践并不容易,许多人将其视为实际结果与需求中提供的预期结果的比较,甚至认为自动化就是一系列重复和可重复的操作。如果仅仅停留在这些肤浅的理解往往会导致自动化测试的失败。

  下面我从多个角度探讨测试自动化问题,并提出了一些需要关注的主要因素:工具和技术、需求和风险、维护和安全。

  工具和技术

  软件测试发展至今,市面上已经有很多商业、免费和开源的测试工具。选择哪种工具取决于对产品当前形态的支持程度以及对产品未来演进持续的支持程度。

  除了使用现成的自动化工具,也可以选择自研测试工具。而使用哪种技术实现自动化工具就至关重要。例如,Selenium的早期版本还不支持处理浏览器弹出窗口和自定义控件。HP QTP力求支持尽可能多的 UI 操作,这使得该工具使用起来非常笨重且速度缓慢。

  购买工具测试经理必须考虑预算。而开发测试工具是一项需要等待回报的时间投资。无论采取何种方法,工具和技术都会对你的自动化项目产生持久的影响。

  需求和风险

  业务需求永远不会以完全确定性和完全特定的形式出现。模糊的需求仍然是完全可测试的,老练的测试人员将探索和经验用于业务测试,但自动化测试就显得那么捉襟见肘了。

  不同的团队以不同的方式应对这一挑战。有些团队鼓励结对编程,开发与测试来定义这些原子的、细化的步骤和要求。而一些团队倾向招聘全栈员工,例如掌握测试思维的程序员。

  至于风险,我们已经看到,就其本质而言,自动化从根本上限制了测试人员的探索能力。自动化脚本一旦创建就可以运行数千次,但它运行的仍然是相同的场景。与老练的测试人员探索测试相比,这大大降低了测试的范围和质量。需求不够详细或需求频繁变化是测试人员经常头疼的问题,它也是自动化的一个风险。即由于需求不稳定,脚本将需要无休止地维护。

  维护

  “我们只需要维护好300个主流程自动化测试脚本,不需要创建任何新的自动化脚本。可能吗?”

  创建自动化脚本并不困难。事实上,许多工具中提供的录制回放功能使得脚本的创建相当简单。这些脚本起初可能很有用。但随后需求更新,UI 变更,接口API 参数改变,数据变得不再适用,维护脚本的噩梦就来了。

  在自动化测试中,维护问题经常被忽视,但它是区分自动化成功与失败的关键因素。

  维护包括调试和测试。然后是输入数据和预期结果的更新,并与被测应用程序保持最新的交互点,无论是 API 还是 UI。例如,在 UI 自动化中,更新 UI 控件的描述是维护的重要部分。所有这些加在一起的时间和精力成本通常与开发自动化的初始成本相当或更甚。但是,开发阶段脚本的维护成本不高,而且当迫切需要测试结果时,根本没有足够的时间来调试脚本。

  不同的团队以不同的方式应对维护自动化脚本的挑战。有些人喜欢先检查被测应用,以找出可能导致自动化脚本失败的问题。这带来了自动化维护悖论:如果你测试了应用程序,那么修复自动化脚本的意义何在?

  安全

  现在大多数应用程序有登录功能,自动化脚本的实现通常需要将用户鉴权凭据保存在本文件中,甚至是一些访问预生产和生产环境的账户,而这存在极大的安全隐患。

  工具和技术、需求和风险、维护和安全为自动化提供了一个思考框架,这些因素可以应用于规划阶段或作为现有自动化的评估。

  自动化是一种测试服务——一种可能被证明有用的测试实践,旨在不引入风险的情况下提升你的软件测试效率。


作者:软件质量保障    

来源:http://www.51testing.com/html/87/n-7792787.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   1 痛点和研究背景  目前随着分布式核心下移和小型机下线的趋势,主流系统架构已逐步演变为CCE+TDSQL。而在这一演进过程中也陆续暴露出来一些痛点难点问题,需要我们着力解决。为此,我们聚焦于分布式架构下需求、架构、数据这三个方面的痛点问题探索解决途径和措施展开了研究。第一,需求缺失的问题,分布式核心下移和小型机下线涉及的系统体量大、业务逻辑复杂,需求说明书持续迭代的情况下说明书内容已逐渐滞后缺失,易导致测试遗漏的出现。第二,架构痛点,分布式事务一致性逻辑复杂,目前主要基于手工测试,依赖于开发人员修改程序构造异常事务场景,导致测试费时费力;多微服务间的参数配置存在关联关系,微服务个数较多时...
            0 0 697
            分享
          • 上篇提到让应用自动抓取Crash日志提交到服务器,如果发布之前没有经过严格测试(个人练手做的一些小应用),会发现有很多异常都是显而易见的错误,只是没有严格测试忽略了而已,其实android自带了一个自动化测试工具,Monkey,可以用来简单测试一下程序的健壮性如何。monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件。要获取Monkey命令自...
            16 16 1371
            分享
          •   问题描述  前后端分离体系中,后端接口变动时,前端需要相应调整,但是往往没有提供详细的接口调整说明,无法开展测试。  拟通过编写代码并在构建后端程序时自动执行,自动生成接口文档并可查看变动情况。  解决方案  通过Junit自动执行Swagger的API获取工程后台接口信息,并将接口信息写入ShowDoc,通过ShowDoc可直观查看接口变动情况,解决接口变化感知的问题。  适用技术栈  适用于服务端,Java技术栈。  应用价值点和创新点  通过Junit自动执行Swagger的API获取工程后台接口信息,然后将获取的接口信息写入ShowDoc,每次后端程序构建时自动写入接口信息,通过S...
            0 0 872
            分享
          • 1、引言由于最近Online环境爆出好几个问题,导致开会被各位BOSS连续的盘问,反正不是站着灵魂拷问,也不是坐着喝茶水闲聊。具体咋样,脑补一下。这让我彻夜难眠,辗转反侧,夜不能寝,饭不能吃,都消瘦了好几两肉!!遥想当年,小鱼我什么时候背过Online的锅。这说来也巧了…前晚这Ali的小姐姐又找我撩骚 ,哦不,是聊天。可能是知道我最近辗转反侧;又对我思念心切…我岂能放过这个机会…于是乎牺牲我的睡眠时间,与她夜夜长谈。最后整理出这篇博文《如何排查Online出现的问题》。做过市场调研的,或者参与过主流产品的核心人员,都会了解到,现在市面上的产品,没有谁敢说自己的产品就是0缺陷;之所以没曝出来或者...
            0 0 13912
            分享
          •   一、有赞低代码平台-bos介绍  1.1、什么是低代码平台  低代码开发平台已经成为现在很多企业开发管理应用程序的重要工具,低代码平台的出现帮助企业降低了软件开发的成本,提高了软件开发的效率,越来越多的公司开始开发低代码平台,甚至基于低代码平台开始商业化,比如微软的Power Platform,Salesforce的Lightning,阿里的星环等,我在这里介绍一下有赞的低代码开发平台-BOS。  1.2、什么是BOS,解决什么问题  商业操作系统(Business Operating System),商家的经营需要广告曝光,销售员,货品,快递,资产,营销策划,服务等要素,企业数字化前提是...
            0 0 2175
            分享
      • 51testing软件测试圈微信