为什么要做自动化测试

news2024/10/24 0:17:25

一、自动化测试

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

个人认为,只要能服务于测试工作,能够帮助我们提升工作效率的,不管是所谓的自动化工具,还是简单的SQL 脚本、批处理脚本,还是自己编写的小工具等等,都属于自动化范畴。

自动化是一个思想,而不是仅仅是某个工具的使用。

自动化并非万能,人工测试还是不可或缺的。自动化的目的在于验证问题,手工测试的目的在于发现问题。

很多朋友在做一段手工测试后,就厌了、烦了、倦了,信誓旦旦的说,自己的手工测试已经足够优秀,我要做自动化,再也不要也不想做纯手工的测试了。这种想法是存在误区的,重复也是一种极致,当你在重复里面找到灵感了,找到快乐了,你就比别人高一个境界。下面的内容供大家了解,也让大家在自己的内心建立起自动化的好与坏、利与弊。

二、为什么引入自动测试

直接一点的:就是为了节省人力、时间或硬件资源,提高测试效率,满足版本需求的快速迭代,提升产品测试质量。

三、自动化测试前提

1. 软件需求变动不频繁,相对稳定的功能模块或接口
2. 项目周期足够长
3. 自动化脚本可重复使用
4. 手工测试无法完成的,或者需要投入较大时间人力的

四、自动化测试的适用性

切入时机

以基本完成软件的程序界面开发、页面控件相对稳定为宜。

适用场景

  1. 测试时间相对长,且存在大量重复性、机械性手工测试的项目

  2. 产品型软件,每发布一个新的版本或打补丁都需要对其他模块执行相同的测试

  3. 项目型软件,需求变更频繁,每变更一次,需要对原有的无争议的功能做测试

  4. 经常需要更换应用程序部署站点的软件,每更换一次需要对所有功能做验证测试

  5. 测试时间相对长,且存在大量需要执行回归测试的软件项目

  6. 系统界面稳定,需要对业务流程进行验证测试的软件

  7. 采用增量开发持续集成的项目,需要对频繁更新的程序执行验证测试

  8. 软件项目采用主流开发平台技术,且不存在物理交互的测试

不适用场景

  • 项目工期紧、测试周期短的项目不应采取自动化测试

  • 界面的美观、产品易用性测试不应采取自动化测试

五、自动化测试过程

自动化测试需求分析》自动化测试框架选型、搭建》自动化测试用例、脚本编写》自动化测试结果分析(总执行用例数、成功用例数、失败用例数等)》版本更新迭代维护、持续集成

六、自动化分类

UI自动化

维护成本高,受益最小。当然不是说UI自动化没有价值,适当的界面自动化还是有用的。

目前应用较多的场景是在版本发布、回归测试,可对功能稳定、基本无改动的模块开展UI自动化,从而缩短版本发布周期。

间接的,也让人工测试把重心放在产品的核心业务场景以及改动较大的功能模块上。

接口自动化

维护成本适中,受益适中,可以考虑覆盖大部分业务流程。

现在很多系统前后端架构是分离,后端接口服务开发是先行的,尽早介入可以从接口层发现更多的问题,预防和减少模块调用时才暴露问题。

单元测试

维护成本低,受益最大,价值最大。但是目前基本是开发在做,测试人员参与较少,而且对测试人员要求较高。

《Coogle软件测试之道》中提到单元测试、接口自动化、UI自动化的比例大概是70%、20%、10%,间接的也反应出不同阶段自动化能够给我们带来的价值。

大部分公司,日常工作中,手工测试的占比在百分之八十左右,能够实现并应用自动化的业务还是偏少的。自动化测试人员与功能测试人员的占比在1:10-20之间。做自动化要之前要做好调研,避免盲目的:我就是要做,要实现自动化。

当然,衡量自动化价值不能片面认识,需要综合各种因子一起考虑,只有适合自己的才是最好的。

 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

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

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

相关文章

10.13论文阅读

通过联合学习检测和描述关键点增强可变形局部特征 摘要 局部特征提取是计算机视觉中处理图像匹配和检索等关键任务的常用方法。大多数方法的核心理念是图像经历仿射变换,忽略了诸如非刚性形变等更复杂的效果。此外,针对非刚性对应的新兴工作仍然依赖于…

2024 年江苏省职业院校技能大赛“区块链技术应用” 赛项赛卷(样卷)运维题解析二

运维题 环境: ubuntu20 fisco 2.8.0 前言 准备两台机子,并且可以能相互pin通 192.168.19.133 [M1-A] 192.168.19.137 [M2-B] 子任务 1-2-3:区块链节点运维 基于已搭建的区块链系统与控制台,在机器(M1-A)上开展区块链群组与 节点的运维工作,具体内容如下: (1)基于…

Jenkins如何更改主目录文件夹?设置路径?

Jenkins如何更改主目录文件夹?设置路径??简单几步,让你轻松解决。 工具/原料 联网电脑 方法/步骤 1. ssh连接到jenkins的服务器。使用root权限执行下面的命令,第一句是查看jenkins是否启用,启用的话需要第二个命令关…

肽合同制造(CDMO):北美和欧洲是全球最大肽合同制造(CDMO)消费地区

据 HengCe 最新调研,2023年中国肽合同制造(CDMO)市场销售收入达到了 万元,预计2030年可以达到 万元,2024-2030期间年复合增长率(CAGR)为 %。本研究项目旨在梳理肽合同制造(CDMO)领域产品系列&am…

【linux开发-驱动】-linux内核相关

开发板:STM32MP157 一、编译linux内核源码 编译完成以后就会在 arch/arm/boot 这个目录下生成一个叫做 uImage 的文件,uImage 就是 我们要用的 Linux 镜像文件。 Linux 编 译 的 时 候 需 要 设 置 目 标 板 架 构 ARCH 和 交 叉 编 译 器 CROSS_COMP…

确认:代码覆盖率是无用的管理指标

发现拆解代码覆盖率指标的简单证明 代码覆盖率是衡量软件产品质量的一个强有力的指标,多年来,技术领导者们对此深信不疑。从表面上看,其理由似乎很充分:测试越彻底,代码覆盖率就越高,因此,我们…

数据屏蔽与加密:代理用户需要了解的内容

您可能已经意识到数据安全和隐私的重要性。尽管存在各种方法来解决这两个问题:道德考量和监管要求,在本指南中,我们将重点介绍两种流行的策略:屏蔽和加密 - 以及它们的比较。 那么,哪个方法更胜一筹呢?答案…

时间序列预测(三)——激活函数(Activation Function)

激活函数是神经网络中每个神经元的输出函数,用于引入非线性,从而使神经网络能够逼近复杂的非线性关系。没有激活函数的网络只能表示线性变换(如上一篇的线性回归不需要激活函数),因此不能解决实际中的非线性问题。激活…

【Python】从零到一,搭建高效Web服务器,轻松上手!Python开发者必备(文末附带源码分享)

CSDN Python源码分享:实现一个简单的Web服务器 在CSDN上,我们经常分享各种技术文章和源码,帮助开发者们不断提升自己的技能。今天,我将为大家分享一个使用Python实现的简单Web服务器源码。这个Web服务器能够处理基本的HTTP GET请…

Java项目实战II基于Java+Spring Boot+MySQL的桂林旅游景点导游平台(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者 一、前言 桂林,以其独特的喀斯特地貌、秀美的自然风光闻名遐迩,每年吸引着无数国内外游…

(04)python-opencv图像处理——图像阈值、平滑图像、形态转换、图像梯度

目录 前言 一、图像阈值 1.1 简单的阈值法 1.2 自适应阈值 二、平滑图像 2.1 二维卷积(图像滤波) 2.2 图像模糊 2.2.1均值模糊 2.2.2高斯模糊 2.2.3 中值滤波 2.2.4 双边滤波 三、形态转换 1、腐蚀 2、膨胀 3、开运算 4、闭运算 四、图像梯度 Sobel 和 Scharr …

【Pycharm系列】如何使用Windows的pycharm来远程连接linux做开发?

目录 前言一、原因二、步骤2-1、打开配置2-2、新建SFTP连接2-3、添加SSH连接信息2-4、配置连接信息2-5、构建连接2-6、打开远程项目文件目录2-7、配置项目依赖 总结 前言 使用Linux部署,使用Windows远程开发,可以提升开发效率,以及项目运行的…

使用可白嫖的高配置服务器——DAMODEL进行AI开发教程

DAMODEL:DAMODEL 目前DAmodel注册并实名赠送50大洋的免费额度,搭载4090的服务器费用不到2r/h 教程: 完成注册并实名后 在此点击创建实例 选择实例配置 选择镜像,看你使用哪种dl框架 。 实例自带的磁盘会随实例释放。需要自己…

Python获取盘符并创建文件夹-基于window系统

1、问题概述? 提供代码详解及完整应用代码 在项目开发中,我们有时候需要当前计算机的盘符,并判断那个盘符的空间最大,然后再最大空闲盘符中创建目录。实现如下功能 1、获取所有盘符信息。 2、获取盘符的空间,并判断大小 3、在盘符中创建需要的目录 …

osgEarth 键鼠 增删改 feature Node

为了满足shapefile 编辑,实现键鼠对地理要素的增删改。 读取shapefile,用Geometry Feature FeatureNode绘制在osgEarth上; 自定义osgGA::GUIEventHandler,handle函数中监测osgGA::GUIEventAdapter::PUSH 之前疑惑在拾取&#x…

已解决:“发生生成错误,是否继续并运行上次的成功的生成?”无法启动程序,系统找不到指定的文件

版本:Visual Studio 2022用于C开发 目录 问题描述 问题原因 解决办法 问题描述 代码没有问题,运行后出现如下界面: 点击“是”后,又出现如下问题: 问题原因 源程序文件下出现两个main函数。 像我的文件目录下的另…

Allegro PCB中过孔的整体替换

Cadence Allegro PCB中过孔的整体替换 在PCB设计过程中,之前是使用的小的过孔,后面需要替换成大的过孔,一个一个去替换过孔非常麻烦的,这里,讲解一下如何去整体的替换过孔,具体的操作方法如下所示&#xf…

微软推出最新 Azure 虚拟机 ND H200 v5 系列

声明:本文翻译自微软全球官方博客,ND H200 v5 系列虚拟机目前只在 Microsoft Azure 海外版上发布。 随着人工智能领域的高速发展,企业对于可扩展和高性能基础设施的需求呈指数级增长。客户需要 Azure AI 基础设施来开发智能驱动的创新解决方案…

HUAWEI_HCIA_实验指南_Lib2.1_交换机基础配置

1、原理概述 交换机之间通过以太网电接口对接时需要协商一些接口参数,比如速率、双工模式等。交换机的全双工是指交换机在发送数据的同时也能够接收数据,两者同时进行。就如平时打电话一样,说话的同时也能够听到对方的声音。而半双工指在同一…

Linux高性能服务器编程

文章目录 Linux高性能服务器编程一、TCP/IP协议族1.TCP/IP体系结构图2.ARP协议2.1 ARP协议工作原理2.2 以太网ARP请求/应答报文格式2.3 ARP高速缓存的查看与修改 3. DNS协议3.1 DNS 查询和应答报文 二、IP协议详解1.路由表更新 三、TCP1.特点2.字节流3.TCP头部结构4.三次握手与…