Python自动化测试(1)-自动化测试及基本技术手段概述

生产力概述
在如今以google为首的互联网时代,软件的开发和生产模式都已经发生了变化, 在《参与感》一书提到:某位从微软出来的工程师很困惑,微软在google还有facebook这些公司发展的时候,为何为感觉没法有效还击,核心问题就是软件生产模式不一样 [1] ,微软当时的模式已经严重落伍了。
目前IT行业的就基本上是“天下武功,唯快不破”的时代了。开发要变成敏捷,测试也同样变成敏捷,开发要快,测试同样也要快。
在新趋势下面,一切都要快,然而快并不意味着降低质量。要“又快又好”的目标,只能通过提升工具和技能来提升生产力了。
在传统的机械工业,提升生产力的方式有两种:
- 先进的管理制度(流水线的生产方式)
- 先进的生产设备(线上的自动化设备)
同样对于IT行业来说,提升生产力也对应着两种方式:
- 先进的管理制度(持续集成的生产方式)
- 先进的生产设备(生产过程自动化工具)
纵观所以的行业发展历史,生产力的提升往往是以落实“制度理论”和“先进工具”来产生的。
软件测试是软件开发过程中必不可少的一部分。不管是传统IT公司的瀑布模式软件工程,还是目前新兴的互联网公司的敏捷模式软件工程,这个生产环节都是存在的,因为它是软件质量保证的手段。
同时,为了顺应对生产力要求很高的现代软件工程,测试从业人员也需要以先进的理念和工具来武装自己。
在本文里面不扯情怀或者说教“行业无贵贱这分“式的心灵鸡汤,本文直接提 生产力 。毕竟绝大数的企业的第一要义就是要营利,要赚钱,不管社会有多残酷,不管人有多变,如下两点应该是不太会变的:
- 企业需要营利和增长
- 个人需要收入和成长
先进的管理制度就不多说了,目前基本上行业已经达成比较好的主流意见了--”敏捷开发,持续集成,快速迭代“。最后落实到现实生产中,还是要做”自动化“,否则一切都是空谈。
- 企业为什么需要自动化?因为这样有助于生产力的提升 。
- 个人为什么需要自动化?因为这样可以职业能力和竞争力。
OK,本系列的文章先从大处着眼,但是要从小处着手。最后”小“到现代软件生产里面的”软件测试“这个职能角色。 上面陈述了那么多,对于测试行业整体来说,有如下几个结论:
- 软件测试的过程是不会消失
- 测试人员的技能要求会显著提升,甚至和开发人员要求不相上下
- 纯手工操作的测试技能会被逐渐失去市场
| [1] | 《参与感》.黎万强.2014-08 |
自动化的利弊陈述
正如制造工业的情形一样,大家都知道流水线和先进设备有助于提升生产力,但是为什么绝大多数制造工厂又不这么做呢?原因很简单:
- 首次投入成本过于昂贵
- 后期还存在巨大的生产设备维护成本
- 人员素质要求过高
在软件工业的测试行业也同样存在同样的问题,自动化的测试实际上是相当于在功能代码之上,还要投入开发另外一个项目并维护,这样也无法避免的需要耗费宝贵的开发资源。
现在的情形说极端一点就是:
- 做 ”自动化“ 是找死
- 不做 ”自动化“ 是等死
现实一点解读就是:”找死“的不一定死,”等死“的则必然死。 ”找死“ 虽然说是主动寻死,但是这样的人至少还是在想办法求生路,存在成功的可能,”等死“ 则是在消磨和透支自己的时间和机会,只能被动受死。
综上:如果有长远的产品线和长远的眼光,决策者都应该花一定的精力来做 ”自动化“。这里所说的 ”长远“ 是指生产过程需要有足够的量或者时间来收回自动化投入上产生的首次成本
阶段小结
此文作为后续的 自动化测试 系列文章的开端。后续将从具体的技术手段着手,以提升生产力,解放重复和管繁琐的手工生产模式为目的,希望能够对此行业的从业人员有一些参考,如果能够给本行业的发展起到一些积极的作用,也就达到了写此文的目的了吧。
最后我这里给你们分享一下我所积累和真理的文档和学习资料有需要是领取就可以了
以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。
关注下方我的微信公众号免费领取!↓ ↓ ↓ ↓ ↓
相关文章:
Python自动化测试(1)-自动化测试及基本技术手段概述
生产力概述 在如今以google为首的互联网时代,软件的开发和生产模式都已经发生了变化, 在《参与感》一书提到:某位从微软出来的工程师很困惑,微软在google还有facebook这些公司发展的时候,为何为感觉没法有效还击&…...
小程序中如何查看会员的余额和变更记录
通过查看会员的余额和变更记录,可以帮助商家更好地管理会员资金,提供更好的服务和用户体验。下面将介绍小程序中如何查看会员的余额以及余额的变更记录。 1. 找到指定的会员卡。在管理员后台->会员管理处,找到需要查看余额和记录的会员…...
【项目经验】elementui--table表格自定义表头及bug
一.思路 首先我们肯定得循环表头,我们原生js封装的表格的实现原理就是这样。其次我们要把自己循环的label显示出来,对应的prop也要和表格数据相对应。用div标签循环都会出现错误(div里面套column),大家不要踩坑。第一…...
flink实现kafka、doris精准一次说明
前言说明:本文档只讨论数据源为kafka的情况实现kafka和doris的精准一次写入 flink的kafka连接器已经实现了自动提交偏移量到kafka,当flink中的数据写入成功后,flink会将这批次数据的offset提交到kafka,程序重启时,kafka中记录了当前groupId消费的offset位置,开始消费时将…...
【git】git commit、push之前自动执行脚本
可以使用 Git 的钩子(hooks)功能。Git 钩子是在特定事件发生时执行自定义脚本的方式。 下面是一个使用 pre-commit 钩子的例子,用于在执行 git commit 之前自动执行脚本: 进入你的 Git 仓库的根目录。进入 .git/hooks 目录&…...
基于springboot+vue的加盟店管理系统(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...
Gin中的Cookie和Session的用法
Gin中的Cookie和Session的用法 文章目录 Gin中的Cookie和Session的用法介绍Cookie代码演示 Session代码展示 介绍 cookie 和 session 是 Web 开发中常用的两种技术,主要用于跟踪用户的状态信息。 Cookie func (c *Context) Cookie(name string, value string, max…...
【算法】反悔贪心
文章目录 反悔贪心力扣题目列表630. 课程表 III871. 最低加油次数LCP 30. 魔塔游戏2813. 子序列最大优雅度 洛谷题目列表P2949 [USACO09OPEN] Work Scheduling GP1209 [USACO1.3] 修理牛棚 Barn RepairP2123 皇后游戏(🚹省选/NOI− TODO) 相关…...
Hadoop的安装和使用,Windows使用shell命令简单操作HDFS
1,Hadoop简介 Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的,它具有以下几个方面的特性。 高可靠性。 高效性。 高可扩展性。 高容错性。 成本低。 运行在Linux平台上。 支持多种编程…...
ubuntu上ffmpeg使用framebuffer显示video
这个主题是想验证使用fbdev(Linux framebuffer device),将video直接显示到Linux framebuffer上,在FFmpeg中对应的FFOutputFormat 就是ff_fbdev_muxer。 const FFOutputFormat ff_fbdev_muxer {.p.name "fbdev",.p.long_…...
82 # koa-bodyparser 中间件的使用以及实现
准备工作 安装依赖 npm init -y npm i koakoa 文档:https://koajs.cn/# koa 中不能用回调的方式来实现,因为 async 函数执行的时候不会等待回调完成 app.use(async (ctx, next) > {console.log(ctx.path, ctx.method);if (ctx.path "/login…...
计算一串输出数字的累加和
计算一个文件内数字的累加和 awk {sum$1}END{print sum} 直接抽取数据以后的打印是这样的 cat step-iostat.1125.log |grep sda |cut -c "49-56" |awk {sum$1}END{print sum}...
python包导入原理解析
原文链接: https://www.cnblogs.com/hi3254014978/p/15317976.html 根据编程经验的不同,我们在运行程序时可能经常或者偶尔碰到下面这些问题,仔细观察后会发现这些问题无一例外都出现了一个相同的短语,很容易就可以发现࿰…...
MNIST手写数字辨识-cnn网路 (机器学习中的hello world,加油)
用PyTorch实现MNIST手写数字识别(非常详细) - 知乎 (zhihu.com) 参考来源(这篇文章非常适合入门来看,每个细节都讲解得很到位) 一、模块函数用法-查漏补缺: 1.关于torch.nn.functional.max_pool2d()的用法: 上述示例…...
论文笔记《3D Gaussian Splatting for Real-Time Radiance Field Rendering》
项目地址 原论文 Abstract 最近辐射场方法彻底改变了多图/视频场景捕获的新视角合成。然而取得高视觉质量仍需神经网络花费大量时间训练和渲染,同时最近较快的方法都无可避免地以质量为代价。对于无边界的完整场景(而不是孤立的对象)和 10…...
数据库管理系统,数据库,sql的基本介绍以及它们之间的关系
数据库管理系统(Database Management System,简称DBMS)是一种软件工具或系统,用于管理和维护数据库的创建、访问、更新和管理。DBMS允许用户在数据库中存储、检索和操作数据,同时提供了数据安全性、完整性和一致性的控…...
【Flowable】Springboot使用Flowable(一)
一、项目依赖 <dependency><groupId>org.flowable</groupId><artifactId>flowable-engine</artifactId><version>6.3.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>my…...
戳泡泡小游戏
欢迎来到程序小院 戳泡泡 玩法: 鼠标点击上升的起泡泡,点击暴躁记录分数,不要让泡泡越过屏幕,共有三次复活生命,会有随机星星出现,点击即可暴躁全屏哦^^。开始游戏https://www.ormcc.com/play/gameStart/1…...
Redis缓存
1. Redis缓存相关问题 1.1 缓存穿透 缓存穿透是指查询一个数据库一定不存在的数据。 我们以前正常的使用Redis缓存的流程大致是: 1、数据查询首先进行缓存查询 2、如果数据存在则直接返回缓存数据 3、如果数据不存在,就对数据库进行查询࿰…...
mysql 插入更新数据
insert into insert into 语句进行插入时,如果插入的字段包含 主键或者唯一索引字段,那么, 1)主键或唯一索引 已存在,则插入失败 1062 - Duplicate entry 1 for key PRIMARY 2)只有主键或者唯一索 引不存…...
react native expo打包
打包原文 核心主题 使用 Expo EAS(Expo Application Services)官方云打包服务,无需本地安装 Android Studio 或配置 Android SDK,直接在云端生成 .apk 文件。 详细步骤 1. 全局安装 EAS CLI(只需一次) n…...
基于Circuit Playground Express与MakeCode的阿基米德螺旋桨智能小船制作
1. 项目概述:当古老智慧遇见现代创客阿基米德螺旋,这个诞生于两千多年前的巧妙发明,最初被用来从低处向高处提水。它的核心原理简单而强大:一个旋转的螺旋面,能将流体或颗粒物沿着轴向“推”动。今天,我们不…...
DeepSeek RAG pipeline重构实录,KISS检查挽救了87%的推理延迟——从2300ms到290ms的极简跃迁
更多请点击: https://intelliparadigm.com 第一章:DeepSeek RAG pipeline重构实录,KISS检查挽救了87%的推理延迟——从2300ms到290ms的极简跃迁 在一次线上 P99 延迟告警中,DeepSeek 的 RAG 服务平均响应时间飙升至 2300ms&#…...
短路保护+过流保护+过热保护:MP9447GL-Z的车规级电源可靠性分析
MP9447GL-Z:36V/5A同步降压转换器的高密度电源方案在工业设备、通信基站以及消费电子电源适配器等应用中,电源管理单元需要同时满足宽输入电压、大输出电流和高转换效率的多重要求。传统的分立方案往往需要在PCB面积、BOM成本和散热设计之间做出权衡。MP…...
解锁抖音内容管理新方式:douyin-downloader无水印批量下载全攻略
解锁抖音内容管理新方式:douyin-downloader无水印批量下载全攻略 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fall…...
基于多模态视觉模型和图文向量模型的工业图像知识库研究与应用
目录1 概述... 12 单一模型分析的局限性... 23 多模态视觉模型和图文向量模型的优势... 34 多模态视觉模型和图文向量模型应用场景... 45 多模态视觉模型和图文向量模型原理... 46 多模态视觉模型和图文向量模型应用... 86.1 图片知识库... 86.2 检索图片... 117.总结... 13…...
PCF8591模数转换器实战指南:从I2C通信到多通道数据采集
1. 项目概述:为什么你需要一个PCF8591?在嵌入式开发和电子制作的世界里,我们常常需要处理一个核心矛盾:我们的大脑和代码生活在离散的数字世界(0和1),但我们身处的物理世界却是一个充满连续变化…...
深度解析开源小红书采集工具:XHS-Downloader技术架构与实战应用指南
深度解析开源小红书采集工具:XHS-Downloader技术架构与实战应用指南 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、…...
基于SSH与rsync构建跨平台远程开发环境:remote2mac实战指南
1. 项目概述与核心价值最近在折腾跨平台开发环境,特别是需要在Windows或Linux机器上,无缝地操作和编译运行macOS上的代码。如果你也遇到过类似场景——比如主力开发机是Windows笔记本,但项目最终部署或测试环境是macOS服务器;或者…...
Habitat-Lab具身AI仿真平台:从核心概念到实战部署全解析
1. 项目概述:从零开始理解Habitat-Lab 如果你正在研究具身智能,或者对如何让AI在三维物理世界里“学会做事”感到好奇,那你大概率已经听说过Habitat-Lab这个名字。它不是一个游戏引擎,也不是一个单纯的机器人仿真器,而…...
