深入了解自动化:聊聊什么项目适合做自动化测试?

自动化测试

什么是自动化测

什么是自动化测试?

随着软件产业的不断发展,市场对软件周期的要求越来越高,于是催生了各种开发模式,如大家熟知的敏捷开发,从而对测试提出了更高的要求。此时,产生了自动化测试,即利用工具或者脚本来达到软件测试的目的,没有人工或极少人工参与的软件测试活动称为自动化测试

自动化测试

为什么进行自动化测试

为什么要进行自动化测试?

例如:我现在要模拟5000人来一起订火车票,你不可能找5000人约好3点一起订火车票,你不可能找5000人一起约好3点来订票,而是通过一些工具,来写一些程序代码,代码运行模拟出5000人一起订票的场景,这就是自动化测试。

还有很多自动化测试场景:例如:你正在使用的软件过程中,经常会遇到两个下拉列表框,12306系统的,出发地和目的地就是两个标准的下拉列表框,组合情况可能有上万种,要是派一个人在那点点点(手工测试),估计需要点两天时间,而使用自动化,写一段代码,然后反复执行,5分钟就可以搞定。

图片

自动化测试

自动化测试的优势

从上面可以看出,自动化测试的好处显而易见,它能够帮助测试人员从重复、枯燥的手工测试中解放出来,增加测试的广度和深度,从而提高测试的质量;缩短回归测试时间,提高测试效率,从而缩短项目的交付周期。

自动化测试在提升软件测试团队效率方面有很多优势:

1.快速的进行回归测试

2.快速反馈测试结果

3.可以支持几乎无限制的测试用例迭代执行

4.可以有效的支持敏捷、极限编程思想

5.自定义的缺陷报告

自动化测试

哪些项目适合自动化测试

哪些项目适合自动化测试?

1. 需求变动不频繁

2. 需要在多平台上重复运行相同测试的场景

图片

3. 自动化测试脚本可重复使用

图片

4. 系统可测性强,被测软件的开发较为规范

可测性强主要出于这几点考虑:被测试系统的架构差异、测试技术和工具的适应性、测试人员的能力能否设计开发出适应差异的自动化测试框架。如地图导航,视频播放,这个软件的可测性,与系统使用的架构有关,是否实现自动化,要看测试人员的能力能否开发出适用与此类系统的框架。

被测软件的开发必须规范,是指前端的UI元素是否容易定位,接口的设计是否符合规划,并且有相应的接口文档。

5. 手工测试无法完成的测试

接口测试、性能测试、配置测试、大量数据输入测试,这些就是需要投入大量时间与人力也可以引入自动化测试。

6. 敏捷开发,频繁的版本迭代

敏捷开发,增量式开发,持续集成项目由于这种开发模式是频繁的发布新版本,需要频繁的回归测试,自动化能把能从回归测试中解脱出来测试新的功能。

图片

自动化测试

不适合自动化测试的项目

不适合做自动化测试的项目的特点:

被测系统或需求不稳定,你永远会奔波在自动化测试用例的更新、维护、调试和测试报告的分析中,得不偿失。

项目时间非常紧张。建自动化测试框架,开发测试脚本非常需要时间,对时间比较紧张的项目可以先不考虑自动化。

定制型项目或一次型项目,为客户定制的产品,维护期由客户方自行承担的,甚至采用的开发语言、运行环境都是客户特别要求的,这样的项目不适合作自动化测试。

项目周期很短,不值得花精力去进行自动化测试,好不容易编写好的测试脚本,不能得到重复的利用是一种资源的乱费。

业务规则非常复杂的项目。业务规则很复杂,有很多的逻辑关系、运算关系,工具就很难判断得到的结果是异常还是正常。

易用性测试,美观,声音等人的感观方面测试

自动化测试成效不高,自动化测试就是让它不厌其烦的、反反复复的运行才有效率。

涉及物理交互,如打印,需要刷卡等。工具很难完成与物理设备的交互。

自动化测试

总结

自动化测试是,把人工对软件的测试转换为由机器执行测试行为的一种实践,可以把测试工程师从哪个机械重复的测试工作中解脱出来,讲更多的精力放在新功能的测试和更全面的测试用例设计上。但自动化测试不是万能的,它是测试人员工具箱里的一件工具,它无法取代测试工程师的地位。不管项目适不适合自动化测试,只要用对地方,就能使我们获益匪浅。

 总结

如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面

  自动化测试相关教程推荐:

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

​​​

​​​

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年港澳台联考考生成绩数据分析来啦

分数线 出炉 2024年的港澳台联考正式出分!根据考生成绩,全国联招划档线如下: 一、本科批次 (一)普通类院校(专业):文史类365分、理工类390分(部分院校执行高分线&#…

算法基础入门 - 2.栈、队列、链表

文章目录 算法基础入门第二章 栈、队列、链表2.1 队列2.2 栈2.3 纸牌游戏2.4 链表如何建立链表?1.我们需要一个头指针(head)指向链表的初始。链表还没建立时头指针head为空2.建立第一个结点3.设置刚创建的这个结点的数据域(左半)和指针域(右半)4.设置头指针,头指针可方便…

10 - matlab m_map地学绘图工具基础函数 - 绘制多边形区域、流线图、散点图和添加注释的有关函数

10 - matlab m_map地学绘图工具基础函数 - 绘制多边形区域、流线图、散点图和添加注释的有关函数 0. 引言1. 关于m_patch2. 关于m_streamline3. 关于m_scatter4. 关于m_annotation5. 结语 0. 引言 本篇介绍下m_map中绘制多边形区域函数(m_patch)、绘制流…

数据库组成及原理

属性: 把数据库中的一个表类比成一个公司,那么公司里的每个人都是一个“属性”(表中的一个字段视为一个属性),不管老板还是员工,只要是公司里的人,就都是一个属性。 主键: 老板就是“…

Docker安装PostgreSQL详细教程

本章教程,使用Docker安装PostgreSQL具体步骤。 一、拉取镜像 docker pull postgres二、启动容器 docker run -it --name postgres --restart always -e POSTGRES_PASSWORD=123456 -e

配置windows环境下独立浏览器爬虫方案【不依赖系统环境与chrome】

引言 由于部署浏览器爬虫的机器浏览器版本不同,同时也不想因为部署了爬虫导致影响系统浏览器数据,以及避免爬虫过程中遇到的chrome与webdriver版本冲突。我决定将特定版本的chrome浏览器与webdriver下载到项目目录内,同时chrome_driver在初始…

客户端渗透

1.一键可执行程序 2.给程序加壳 3.宏病毒感染文档 4.Android apk 利用 1.一键可执行程序 介绍:我们要进行客户端渗透,我们生成一个可执行程序,也是简单粗暴,MSF建立监听,把它发给受害者,只要受害者点击…

使用U盘重装系统

目录 一、 制作启动盘 1. 准备一个U盘和一台电脑 2. 下载win10安装包 二、安装操作系统 1. 插入系统安装盘 2. 通过进入BIOS界面进入到我们自己制作的启动盘上 三、安装成功后进行常规设置 一、 制作启动盘 1. 准备一个U盘和一台电脑 注意:提前备份好U盘内的…

15- 22题聚合函数 - 高频 SQL 50 题基础版

目录 1. 相关知识点2. 例子2.15 - 有趣的电影2.16 - 平均售价2.17 - 项目员工 I2.18 - 各赛事的用户注册率2.19 - 查询结果的质量和占比2.20 - 每月交易 I2.21 - 即时食物配送 II2.22 - 游戏玩法分析 IV 1. 相关知识点 函数 函数含义order by排序group by分组between 小值 an…

272. 最长公共上升子序列

Powered by:NEFU AB-IN Link 文章目录 272. 最长公共上升子序列题意思路代码 272. 最长公共上升子序列 题意 如题 思路 若按这个思路的话&#xff0c;代码为 O ( n 3 ) O(n^3) O(n3) for (int i 1; i < n; i ) {for (int j 1; j < n; j ){f[i][j] f[i - 1][j];…

如何使用ECharts和Java接口实现可视化的数据挖掘

如何使用ECharts和Java接口实现可视化的数据挖掘 【引言】 随着大数据时代的到来&#xff0c;数据挖掘成为了一项重要的技术&#xff0c;在企业决策、市场分析等领域发挥着重要作用。数据挖掘需要将大量的数据进行分析和展示&#xff0c;而可视化是一种直观、形象的展示方式。…

wasm的逆向之旅一

目录 概要 技术名词解释 1、WebAssembly 指令集概览 1)基本结构 2)数据类型 3)模块和函数 4)指令概览 1.i32 整数运算 2.i32 浮点数运算&#xff08;用法同整数运算&#xff09; 3.逻辑运算和位移(用法同整数运算) 4.内存访问指令 6.控制流指令 7.模块和导出指令 8.其他常…

Landsat数据从Collection1更改为Collection2

目录 问题解决 问题 需要注意!您使用的是废弃的陆地卫星数据集。为确保功能持续&#xff0c;请在2024年7月1日前更新。 在使用一些以前的代码时会遇到报错&#xff0c;因为代码里面用的是老的数据集 解决 对于地表反射率SR&#xff0c;需要在name中&#xff0c;将C01换为C02&…

weblogic加入第三方数据库代理驱动jar包(Oracle为例)

做的是国企项目&#xff0c;项目本身业务并不复杂&#xff0c;最复杂的却是服务器部署问题&#xff0c;对方给提供的服务器分内网、外网交换网&#xff0c;应用在交换网&#xff0c;数据库在内网&#xff0c;应用不能直接访问内网数据库&#xff0c;只能通过安全隔离网闸访问内…

初学Spring之 IOC 控制反转

Spring 是一个轻量级的控制反转&#xff08;IOC&#xff09;和面向切面编程&#xff08;AOP&#xff09;的框架 导入 jar 包&#xff1a;spring-webmvc、spring-jdbc <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc&l…

OpenCV教程02:图像处理系统1.0(翻转+形态学+滤波+缩放+旋转)

-------------OpenCV教程集合------------- Python教程99&#xff1a;一起来初识OpenCV&#xff08;一个跨平台的计算机视觉库&#xff09; OpenCV教程01&#xff1a;图像的操作&#xff08;读取显示保存属性获取和修改像素值&#xff09; OpenCV教程02&#xff1a;图像处理…

调试 hipcc 的llvm llc gpu目标代码生成模块

源码&#xff1a; hello_vectorAdd.hip: __global__ void vectorAdd(const float *A, const float *B, float *C) {int i blockDim.x * blockIdx.x threadIdx.x;C[i] A[i] B[i] 0.0f; } Makefile: x.O1.s: hello_vectorAdd.hip../../local_amdgpu/bin/clang ./hello_vec…

【C++】#1

关键字&#xff1a; 基本框架、多个main执行、快捷键、cout规则 基本框架&#xff1a; #include <iostream> using namespace std;int main() {//具体内容return 0; } 多个main函数可执行&#xff1a; 常用快捷键&#xff1a; cout规则&#xff1a;

eventloop 事件循环机制 (猜答案)

// eventloop 事件循环机制// console.log(555);setTimeout(() > {console.log(666);})let p new Promise((resolve,reject)>{// 同步执行console.log(111);resolve();});// promise 的回调函数是异步的微任务p.then(v > {console.log(222);}, r > {console.log(r…

pjsip环境搭建、编译源码生成.lib库

使用平台&#xff1a; windows qt(5.15.2) vs(2019)x86 pjsip版本以及第三方库使用 pjsip 2.10 ffmpeg4.2.1 sdl2.0.12pjsip源码链接&#xff1a; https://github.com/pjsip/pjproject源码环境配置 首先创建两个文件夹&#xff0c;分别是include、lib其中include放置ff…