我这些年对于自动化测试的理解

  • 📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢交流讨论:欢迎加入我们一起学习!
  • 📢资源分享:耗时200+小时精选的「软件测试」资料包
  • 📢 最困难的时候,也就是我们离成功不远的时候!

目录

    • 1、定义
    • 2 做自动化的目的是什么?
    • 3 自动化测试的优缺点
    • 4、 自动化测试的前提条件(重要)
    • 5 应用场合
    • 6 自动化认识误区(重点)
    • 7 自动化测试工具
    • 最后

1、定义

把以人为驱动的测试行为转化为机器执行的一种过程。

简单讲:比如使用自动化测试框架、脚本、工具等自动打开测试对象(引用),自动去执行测试用例(此过程中包含自动化查找元素、控件等),自动输入测试数据、自动生成测试报告等一系列的自动化过程;
通俗讲:用机器来模拟用户的实际行为,如键盘、鼠标等操作,来达到预期。

2 做自动化的目的是什么?

  • 测试工作量比较大,使用自动化来完成一部分工作;
  • 测试过程有大量重复的工作,使用自动化来进行提升效率;
  • 手工测试难以覆盖的场景,需要自动化造数据等来完成;
  • 有些测试结果,可能自动化比手工更为精确。

3 自动化测试的优缺点

4、 自动化测试的前提条件(重要)

即做自动化前先对软件进行分析,是否满足或者要不要做自动化,有几个前提条件需要注意。

4.1 需求变动不频繁

脚本的稳定性最直观的决定要素是需求的变动,如果需求变化大,隔三差五的进行需求更改,那脚本势必也要进行同步更新,这样投入的维护成本就很大,得不偿失,还不如不做。

4.2 项目周期比较长

自动化测试和普通的测试一样,需要前期的规划、框架设计、脚本开发、人员选择、脚本执行、后期维护以及结果跟踪分析等,是一个比较全的且投入较多的一个过程,如果项目周期很短,就不适合做自动化,其实也没必要;
另外项目周期短,手动测试都无法保证的前提下,更不用谈及做自动化了。

4.3 脚本的重复使用率高

我们投入了较大的人力、物力、财力等最终完成了一套比较完美的自动化脚本、框架或者平台,但是复用率很低,只能在单个产品单独使用,那么这样的代价就太大了。此时我们需要评估是否必须要进行自动化测试,如果非必须,可以不做;
相反的,如果自动化的一系列东西都能迁移到其他的产品测试,那这样的投入是值得的,也是必要的。我们也应该投入更多的精力进行测试开发。

4.4 团队实力

做自动化,不是随便摘抄一些代码拿来用,他是一个专项测试,需要投入专门的人力去研究及测试,那么我们要想做好自动化,先要对自己的团队进行评估,团队的人员、技术能力等是否满足要求;
另外,自动化需要不断的进行迭代和优化,不能拿着脚本运行看看结果,那其实很多时候,并不能给产品带来客观的价值。我们需要进行不定期的升级维护,针对项目业务要进行优化,根据测试过程和结果的数据反馈要进行稳定性的升级等等。所以这也需要专门投入人力进行研究。

4.5 部门的规划和上级的支持

这个是我加的,根据个人的经验的总结;

部门的规划:如果自动化是在部门规划中,以及有考核目标,那肯定是要做的。如果不是规划,也没有纳入计划,那就要根据实际情况定,毕竟这不会直接影响你团队的实际考评。你的重点应该是在其他的地方,优先保证工作重点内容的完成;
上级的支持:这个很重要,做自动化无非是为了提升效率和质量,但是如果没有得到应有的效果,领导看不到成绩,也无感知,那么做自动化也许不会长久。这个得慢慢体会了,哈哈。

5 应用场合

自动化测试主要应用在以下场合,具体还要根据项目以及自动化的实际开发情况开定:

在这里插入图片描述

6 自动化认识误区(重点)

6.1 自动化可100%覆盖

概率不大,要使得自动化的测试覆盖率达到100%,需要投入专门的人力、物力、财力等,成本比较大;
某些业务的特殊性,或者场景的复杂性,用自动化是无法进行覆盖的;
项目的周期限制,不允许投入更多的精力去开发;

6.2 自动化可替代人力

领导的口头禅:你就告诉我,自动化能干掉多少人力?!每次听到这样的话,不知道你们怎么想的,反正我是很无奈。但从领导的角度来思考,也不为错;
这里存在一些误区,自动化测试是辅助功能测试的,或者说是为了解决某些人工不能覆盖的场景;
另外,不存在完完全全的自动化,都是需要人工参与的;
遇到类似的认识,建议自动化测试人员需要进行解释,不能任由这个观点滋生,不然===你猜会咋办!!

6.3 自动化很牛逼

任何的事情,都是看谁先知道而已,与其说牛逼的技术,不如说牛逼的人。
自动化只是一门技术,我们不能脱离业务搞自动化;
很多人认为自动化很厉害,就脱离了工作的重心,天天喊着自动化、自动化,最后到头来啥也不是,啥也没得到。当然如果是专业、专门搞自动化测试开发的那就另说了。因为他们的工作就这,就是转、精。

6.4 万物皆可自动化

这个其实和前边的提到的一致,搞自动化,先要符合一些前提条件以及明白他的应用场景,不是所有软件都要搞自动化。
盲目的自动化,只会适得其反。

6.4 自动化很简单

这是一个很复杂的但是又简单的话题,对自动化的方向、工具、技能等研究的程度不同,对他的认识就不一样;
如果只是解决一些简单的问题,你掌握他很简单。如果是复杂的一些东西,可能需要深入研究;
自动化方向也是很多,不论是功能、性能,还是面向接口、UI、GUI、协议,更或是自动化工具开发等,都需要不同的技能和知识,入门或许简单,要做的很专一,还是需要点积累的。

6.5 自动化尽早做
不一定。不同的自动化,介入时间可能有差异,比如

UI的,建议软件稍微稳定或者需求变更不频繁的时候再去开发;
接口的,可以在开发阶段同步进行;

7 自动化测试工具

太多了,举个例子,不代表所有的。事例而已:


最后

如果你想学习自动化测试,那么下面这套视频应该会帮到你很多

如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....

最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了!


以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

​​

​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/144404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

环境配置 | Git的安装及配置[图文详情]

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从小到大的项目版本管理。下面介绍了基础概念及详细的用图文形式介绍一下git安装过程. 目录 1.Git基础概念 2.Git的下载及安装 3.常见的git命令 Git高级技巧 Git与团队协作 1.Git基础概念 仓库&#…

沉浸式航天vr科普馆VR太空主题馆展示

科普教育从小做起,现在我们的很多地方小孩子游乐体验不单单只有草坪玩耍体验,还有很多科普知识的体验馆和游玩馆。虽然现在我们还不能真实的上太空或者潜入海底,但是这些现在已经可以逼真的展示在我们面前。通过一种虚拟现实技术手段。人们带…

在3+1的方向上展开结构加法4a3+4a14

4a3 4a14 - - 1 - - - - - - - - - - - - - 1 1 1 - 1 1 - 1 - - 1 - - - 要求得到的图片只能有4个点,并且需要最大限度的保留4a3和4a14两张图片的内在结构特征。 4个点的结构总可以认为是3个点的结构1合成的 - - 1 - - …

只使用JS怎么给静态页面网站添加站内全局搜索功能?

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 背景 静态页面通常由HTML、CSS 和 JavaScript…

酷开系统 酷开科技,将家庭娱乐推向新高潮

在当今数字化时代,家庭娱乐已经成为人们日常生活中不可或缺的一部分。如果你厌倦了传统的家庭娱乐方式,想要一种全新的、充满惊喜的娱乐体验,那么,不妨进入到酷开科技的世界,作为智能电视行业领军企业,酷开…

销售管道管理软件推荐:提升销售业绩与效率

在企业中销售部门扮演着锐意进取的尖刀部队的角色,肩负着拓展公司发展领土的重要责任。销售管理是一个漫长而复杂的过程,需要经历潜在的商机、联系跟进、签订合同以及赢得订单等关键里程碑,无论是面向C端用户的销售还是面向企业复杂产品的销售…

使用jmeter+ant进行接口自动化测试(数据驱动)

本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 apache-ant-1.9.9,配置环境变量 如下方式检验安装成功 ②安装好ant后,把jmeter中extras目录下的ant-jmeter-1.1.1.jar 文件copy到ant安装目录下的lib文件夹中 ③配置ant…

【cfeng-work】架构演进和漫谈

架构漫谈和入门 内容管理 intro分层架构MVC模式分层架构大数据时代的复杂架构 前端架构后端架构运维端架构持续演进变化 本文主要是自己接触架构的一些输出漫谈 cfeng 在work中某次负责了后端一个服务的上线,多个模块一起上,结果上线失败,幸运…

【MySQL】数据库——库操作

文章目录 1. 创建数据库[IF NOT EXISTS] 的使用 2. 删除库3. 数据库的编码问题查看系统默认支持的字符集查看系统默认支持的校验集只查看 database的校验集指定编码创建数据库修改字符集修改校验集验证规则对数据库的影响utf8_general_ci ——不区分大小写utf8_bin ——区分大小…

什么是会话固定以及如何在 Node.js 中防止它

什么是会话固定以及如何在 Node.js 中防止它 在深入讨论之前,我们需要了解会话是什么以及会话身份验证如何工作。 什么是会话? 正如我们所知,HTTP 请求是无状态的,这意味着当我们发送登录请求时,并且我们有有效的用…

智能售货柜:小本投资的不二之选

智能售货柜:小本投资的不二之选 智能售货柜的运营优势在于:一是降低运营成本,不需要大量员工;二是具备自动识别和智能结算功能,提高运营效率;三是提供数据分析,优化产品和服务。相比传统零售店&…

教育案例分享 | 安全狗云安全体系为高校提升立体化纵深防御能力

一、客户情况 某高校有服务器500台,对外站点200个,核心交换流量20G。 二、客户痛点 校园网系统分类较多,并且每类网站中安全级重要程度又各不相同,同时有多个网络出口(如:教育网、电信网、移动网等),二级学…

论文阅读——RetNet

transformer的问题:计算量大,占用内存大,不好部署。 所以大家在找能解决办法,既能和transformer表现一样好,又能在推理阶段计算复杂度很低。 这些方法大概分类三类:一是代替transformer非线性注意力机制的…

【Linux】文件系统中inode与软硬链接以及读写权限问题

文章目录 前言一、 简单理解文件系统二、文件操作具体步骤1.新建文件2.删除文件3.查找文件 三、目录的重新理解1.目录下没有w权限,无法对其下的文件进行创建与删除2.目录下没有r权限,无法对其下的文件进行查看3.目录下没有x权限,无法进入这个…

内网Jenkins 部署.net(dotnet)项目

一、前置条件 内网部署Jenkins,并安装好所需插件 此篇内容需承接内网搭建Jenkins自动化远程部署项目到Windows服务器_jenkins内网安装-CSDN博客 ,才更好操作与理解 二、在Jenkins中创建项目 三、配置项目 General Source Code Management Build Envi…

Docker - 容器数据卷

Docker - 容器数据卷 什么是容器数据卷 等同于挂载,将容器内的目录地址指向于宿主机文件系统中 直接使用命令来挂载 -v docker run -it -v 主机目录:容器内目录# 测试 docker run -it -v /root:/home centos /bin/bash [rootiZ2zeg7mctvft5renx1qvbZ ~]# docker …

什么是CMDB?为什么企业需要CMDB?

CMDB即Configuration Management Database,配置管理数据库,它是组织IT基础结构中配置项CI(Configuration Item)及其关系的数据库。 而CI是指任何需要进行管理以确保成功提供服务的条目,CI可以是一个具体的实体,如服务器、交换机&…

基于单片机设计的水平仪(STC589C52+MPU6050)

一、前言 【1】项目背景 水平仪是一种常见的测量工具,用于检测物体或设备的水平姿态。在许多应用中,如建筑、制造和航空等领域,保持设备的水平姿态是非常重要的。为了实现实时的水平检测和显示,基于单片机设计的水平仪是一个常见…

堆的应用-----Top k 问题

目录 前言 Topk问题 1.问题描述 2.解决方法 3.代码实现(C/C) 前言 在人工智能算法岗位的面试中,TopK是问得最多的几个问题之一: 到底有几种方法? 这些方案里蕴含的优化思路究竟是怎么样的? 为啥T…

【从入门到起飞】JavaSE—IO工具包(Commons-io,Hutool) (2)

🎊专栏【JavaSE】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🌺工具包Commons-io⭐使用步骤🛸新建一个文…