当前位置: 首页 > news >正文

需求变化频繁的情况下,如何实施自动化测试

一.通常来说,具备以下3个主要条件才能开展自动化测试工作:

1.需求变动不频繁

自动化测试脚本变化的频率决定了自动化测试的维护成本。如果需求变动过于频繁,那么测试人员就需要根据变动的需求来不断地更新自动化测试用例,从而适应新的功能。而脚本的维护本身就是一个开发代码的过程,需要扩展、修改、调试,有时还需要对框架做出调整。如果所花费的维护成本高于利用其节省的测试成本,那么自动化测试就失去了价值与意义。

2.项目周期较长

由于自动化测试需求的确定框架的设计、脚本的开发与调试都需要一定的时间,而这个过程本身就是一个软件的开发过程,如果项目周期比较紧张,没有足够的时间去支持这样一个过程的话,就不要进行自动化测试。

3.自动化脚本可以重复使用
自动化测试脚本的重复使用要从三个方面来考虑:
1.所测试的项目之间是否存在有很大的差异性(如C/S系统架构与B/S系统架构的差异)
2.所选择的测试技术和工具是否适应这种差异
3.测试人员是否有能力设计开发出适应这种差异的自动化测试框架

二.自动化测试主要解决的问题:

回归测试时,需要投入较大的人力/工时;

实现手工测试无法达成的测试任务;

加深对业务的认知,有助于下阶段迭代中发现问题;

三.测试人员想要实施自动化测试,需要具备以下能力:

熟悉被测系统,熟悉被测系统对任何测试人员来说都是最起码的要求;

至少要熟悉编程语言Java或者Python,最好有一定的编码能力,同时代码逻辑要清晰;

可以根据所掌握的代码,学习一门自动化测试的框架,如Selenium/Appium/Robot Framework/TestNG等;

四.自动化用例一般在哪个阶段完成?

一般落后于功能的手工测试,可以在手工用例执行完成或功能上线后,再去补充自动化的用例。
自动化不是跟着新需求走,而是测变化的东西对不变东西的影响,一定不要做为了自动化而自动化的工作。

五.自动化测试分类?

UI自动化测试。价值最小,但是它最接近用户真实场景,也容易发现bug,但它的实现成本最高,太容易受外部环境影响脚本成功率。适当的UI自动化测试是有必要的,但是没有必要投入太多;

接口自动化测试。价值居中,覆盖大多数主要的接口是比较合适的。测试人员需要熟悉接口逻辑关系,否则接口测试代码很容易遗漏bug;

单元测试。价值最大,但是对测试人员要求比较高,一般由开发人员完成。

通常来说,UI自动化测试,覆盖少量主流程即可,接口自动化测试,可以考虑覆盖100%的流程;

六.在需求变化频繁的情况下,如果想要实施自动化测试:

折中的做法就是先对系统中相对稳定的模块与功能进行自动化测试,变动较大的地方进行手工测试。作为测试人员,我们应该明确:哪些需求发生了变化,这些需求变化后,对测试工作会产生哪些影响。包括会不会影响测试用例,如果影响,会对哪些用例产生影响。当发生较大改动时,还要明确是不是影响到了测试计划?明确这些变化,会对测试的工作进度产生多大的影响。当发现自己的大部分用例都受到影响,需要修改时,应该第一时间向上级反映情况。关于如何确定哪些需求发生了变化,最好的方式是通过配置管理进行需求跟踪。公司的测试任务分配,一般都是按照模块来分的。我们只需要自己维护测试线的需求跟踪,当建立了自己的需求跟踪矩阵以后,就可以快速定位变更部分,通过配置管理,所以可以及时变更你的用例,甚至是计划。当发现受变更影响的部分非常多时,应该及时通知上级,让他们了解情况,并做出决策。

最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

在这里插入图片描述

这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

自学推荐B站视频:

零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

在这里插入图片描述

相关文章:

  • Compose和AndroidView的交互
  • java计算机毕业设计社区物品交易系统源码+系统+数据库+lw文档+mybatis+运行部署
  • Spring AOP快速入门----XML方式和注解方式
  • 读源码学算法之Octree color quantization
  • C#调用C++生成的DLL 找不到入口点 以及 尝试读取或写入受保护的内存
  • 品牌是选择KOC还是KOL?抖音KOC如何进行推广投放?
  • css同时设置最大宽度和最小宽度
  • 微信小程序播放视频的时候如果突然插入一个音频视频就会卡顿一下
  • S7协议下,如何搭建触摸屏与PLC之间无线通信?
  • java SpringBoot 静态方法中获取@Value注入的值
  • 以太坊账户私钥管理之导出、导出keystore 文件
  • byte[] 转换为图片并保存
  • opencv中直方图和颜色跟踪相关:calcHist, calcBackProject, Meanshift和Camshift
  • 敏感词过滤实践
  • 【面试题】公平锁和非公平锁/可重入锁
  • 【node学习】协程
  • android 一些 utils
  • CentOS从零开始部署Nodejs项目
  • java多线程
  • Spring核心 Bean的高级装配
  • 闭包--闭包之tab栏切换(四)
  • 数据结构java版之冒泡排序及优化
  • 微信支付JSAPI,实测!终极方案
  • 06-01 点餐小程序前台界面搭建
  • Prometheus VS InfluxDB
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (SpringBoot)第二章:Spring创建和使用
  • (vue)页面文件上传获取:action地址
  • (规划)24届春招和25届暑假实习路线准备规划
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (转)关于pipe()的详细解析
  • (转载)CentOS查看系统信息|CentOS查看命令
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • ***通过什么方式***网吧
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • *1 计算机基础和操作系统基础及几大协议
  • .Net core 6.0 升8.0
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET/C# 使用反射注册事件
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • // an array of int
  • @SentinelResource详解
  • [AAuto]给百宝箱增加娱乐功能
  • [ACTF2020 新生赛]Upload 1
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
  • [BZOJ3757] 苹果树
  • [C#]猫叫人醒老鼠跑 C#的委托及事件
  • [CISCN2021 Quals]upload(PNG-IDAT块嵌入马)
  • [Codeforces] combinatorics (R1600) Part.2
  • [DevEpxress]GridControl 显示Gif动画
  • [Django 0-1] Core.Email 模块