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

 

生产力概述

在如今以google为首的互联网时代,软件的开发和生产模式都已经发生了变化, 在《参与感》一书提到:某位从微软出来的工程师很困惑,微软在google还有facebook这些公司发展的时候,为何为感觉没法有效还击,核心问题就是软件生产模式不一样 [1] ,微软当时的模式已经严重落伍了。

目前IT行业的就基本上是“天下武功,唯快不破”的时代了。开发要变成敏捷,测试也同样变成敏捷,开发要快,测试同样也要快。

在新趋势下面,一切都要快,然而快并不意味着降低质量。要“又快又好”的目标,只能通过提升工具和技能来提升生产力了。

在传统的机械工业,提升生产力的方式有两种:

  • 先进的管理制度(流水线的生产方式)
  • 先进的生产设备(线上的自动化设备)

同样对于IT行业来说,提升生产力也对应着两种方式:

  • 先进的管理制度(持续集成的生产方式)
  • 先进的生产设备(生产过程自动化工具)

纵观所以的行业发展历史,生产力的提升往往是以落实“制度理论”和“先进工具”来产生的。

软件测试是软件开发过程中必不可少的一部分。不管是传统IT公司的瀑布模式软件工程,还是目前新兴的互联网公司的敏捷模式软件工程,这个生产环节都是存在的,因为它是软件质量保证的手段。

同时,为了顺应对生产力要求很高的现代软件工程,测试从业人员也需要以先进的理念和工具来武装自己。

在本文里面不扯情怀或者说教“行业无贵贱这分“式的心灵鸡汤,本文直接提 生产力 。毕竟绝大数的企业的第一要义就是要营利,要赚钱,不管社会有多残酷,不管人有多变,如下两点应该是不太会变的:

  • 企业需要营利和增长
  • 个人需要收入和成长

先进的管理制度就不多说了,目前基本上行业已经达成比较好的主流意见了--”敏捷开发,持续集成,快速迭代“。最后落实到现实生产中,还是要做”自动化“,否则一切都是空谈。

  • 企业为什么需要自动化?因为这样有助于生产力的提升 。
  • 个人为什么需要自动化?因为这样可以职业能力和竞争力。

OK,本系列的文章先从大处着眼,但是要从小处着手。最后”小“到现代软件生产里面的”软件测试“这个职能角色。 上面陈述了那么多,对于测试行业整体来说,有如下几个结论:

  1. 软件测试的过程是不会消失
  2. 测试人员的技能要求会显著提升,甚至和开发人员要求不相上下
  3. 纯手工操作的测试技能会被逐渐失去市场
[1]《参与感》.黎万强.2014-08

自动化的利弊陈述

正如制造工业的情形一样,大家都知道流水线和先进设备有助于提升生产力,但是为什么绝大多数制造工厂又不这么做呢?原因很简单:

  • 首次投入成本过于昂贵
  • 后期还存在巨大的生产设备维护成本
  • 人员素质要求过高

在软件工业的测试行业也同样存在同样的问题,自动化的测试实际上是相当于在功能代码之上,还要投入开发另外一个项目并维护,这样也无法避免的需要耗费宝贵的开发资源。

现在的情形说极端一点就是:

  • 做 ”自动化“ 是找死
  • 不做 ”自动化“ 是等死

现实一点解读就是:”找死“的不一定死,”等死“的则必然死。 ”找死“ 虽然说是主动寻死,但是这样的人至少还是在想办法求生路,存在成功的可能,”等死“ 则是在消磨和透支自己的时间和机会,只能被动受死。

综上:如果有长远的产品线和长远的眼光,决策者都应该花一定的精力来做 ”自动化“。这里所说的 ”长远“ 是指生产过程需要有足够的量或者时间来收回自动化投入上产生的首次成本

阶段小结

此文作为后续的 自动化测试 系列文章的开端。后续将从具体的技术手段着手,以提升生产力,解放重复和管繁琐的手工生产模式为目的,希望能够对此行业的从业人员有一些参考,如果能够给本行业的发展起到一些积极的作用,也就达到了写此文的目的了吧。


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

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

关注下方我的微信公众号免费领取!↓ ↓ ↓ ↓ ↓

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

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

相关文章

ajax day3

3、将普通对象转为查询参数字符串形式: 创建URLSearchParams参数,再用toString方法转为字符串 4、xhr对象 请求参数:body参数 5、promise promise对象一旦被兑现或拒绝,就是已敲定了,状态无法再被改变。故此处先执行…

20230911 Shell指令数组以及函数值传递,值返回

实现一个对数组求和的函数&#xff0c;数组通过实参传递给函数 #!/bin/bashfunction fun() {sum0for ((i0;i<$var;i))do(( sumarr[i] ))doneecho $sum } read -p "输入该数组个数: " var for((j0;j<$var;j)) doread -p "输入数组第$j个值: " arr[j] …

1.若依框架介绍与环境搭建

文章目录 若依框架介绍官网地址相关技术栈 环境搭建1.git介绍下载与安装学习资料 2.maven介绍与下载环境变量配置资料学习 3.node4.java5.idea6.vscode7.mysql可视化工具HeidiSql 8.redis参考资料遇到问题 若依框架介绍 官网地址 若依框架官网地址&#xff1a;http://www.ruo…

IDEA插件的在线离线安装

插件的使用 插件的设置 在 IntelliJ IDEA 的安装讲解中我们其实已经知道&#xff0c;IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的&#xff0c;只是 IntelliJ IDEA 本身就是它自己的插件平台最大的开发者而已&#xff0c;开发了很多优秀的插件。 官网插件库&…

Excel相关笔记

1、找出B列中A列没有的数据并放在C列 公式&#xff1a;IF(ISNA(VLOOKUP(B1,$A 1 : 1: 1:A$4,1,FALSE)),B1,“”)

Python小知识 - Python爬虫进阶:如何克服反爬虫技术

Python爬虫进阶&#xff1a;如何克服反爬虫技术 爬虫是一种按照一定的规则&#xff0c;自动抓取网页信息的程序。爬虫也叫网页蜘蛛、蚂蚁、小水滴&#xff0c;是一种基于特定算法的自动化程序&#xff0c;能够按照一定的规则自动的抓取网页中的信息。爬虫程序的主要作用就是从一…

【Spring】aop的底层原理

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理 Spring 中的切面编程aop的底层原理和重点注意的地方 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以…

【SpringBoot】统一功能处理

目录 &#x1f383;1 拦截器 &#x1f380;1.1 拦截器的代码实现 &#x1f3a8;1.2 拦截器的实现原理 &#x1f9f6;2 拦截器应用——登录验证 &#x1f9ba;3 异常统一处理 &#x1f3ad;4 统一数据返回格式 &#x1f9e4;4.1 为什么需要统一数据返回格式 &#x1f9e3;4.2 统…

webserver 同步 I/O 模拟 Proactor 模式的工作流程

服务器基本框架、I/O 模型、事件处理模式 一、服务器编程基本框架 虽然服务器程序种类繁多&#xff0c;但其基本框架都一样&#xff0c;不同之处在于逻辑处理。 二、五种 I/O 模型 阻塞/非阻塞、同步/异步&#xff08;网络IO&#xff09;_呵呵哒(&#xffe3;▽&#xffe3;)&…

使用dockerfile文件部署Python+PyWebIO项目

1、安装docker 教程详见之前的内容。https://blog.csdn.net/weixin_44691253/category_12101661.html 2、打包好Python项目 之前的文章中有提到我编写测试工具使用的框架&#xff1a;PythonRequestsPyWebIO框架详解&#xff0c;编写测试工具提高团队测试效率 打包项目时&am…

JavaScript事件处理

表单事件 表单事件在HTML表单中触发 (适用于所有 HTML 元素&#xff0c;但该HTML元素需在form表单内)&#xff1a; 案例演示1&#xff1a;当文本框获取焦点&#xff0c;文本框背景为红色&#xff0c;当文本框失去焦点&#xff0c;文本框背景为黄色 <!DOCTYPE html> <…

【JAVA-Day05】深入理解Java数据类型和取值范围

深入理解Java数据类型和取值范围 深入理解Java数据类型和取值范围摘要一、Java的数据类型1.1 存储单位1.2 Java基本数据类型 二、Java的取值范围2.1 变量定义2.2 取值范围验证 三、总结 博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客&#x1f466;&#x1f3fb;…

可靠的可视化监控平台应用在那些场景?

可视化监控平台是一种用户友好的工具&#xff0c;可以帮助用户实时监控IT设备的运行状态和网络流量&#xff0c;以及监测安全性和性能指标。它们通常采用图形化界面&#xff0c;使得用户能够直观地了解设备和网络的状态。 以下是一些可视化监控平台常见的应用场景&#xff1a;…

三、创建各个展示模块组件

简介 在文件 components 中创建轮播模块组件,引入App.vue展示。欢迎访问个人的简历网站预览效果 本章涉及修改与新增的文件:First.vue、Second.vue、Third.vue、Fourth.vue、Fifth.vue、App.vue、vite-env.d.ts、assets 一、修改vite-env.d.ts文件 /// <reference type…

Oracle VM VirtualBox 安装 Ubuntu Linux

Virtual Box VirtualBox是一个强大的、面向个人用户或者企业用户的虚拟机产品&#xff0c;其支持x86以及AMD64/Intel64的计算架构&#xff0c;功能特性丰富、性能强劲&#xff0c;支持GPL开源协议&#xff0c;其官方网址是www.virtualbox.org&#xff0c;由Oracle开源&#xf…

大数据安全 | (一)介绍

目录 &#x1f4da;大数据安全 &#x1f407;大数据安全内涵 &#x1f407;大数据安全威胁 &#x1f407;保障大数据安全 ⭐️采集环节安全技术 ⭐️存储环节安全技术 ⭐️挖掘环节安全技术 ⭐️发布环节安全技术 &#x1f407;大数据用于安全 &#x1f4da;隐私及其…

npm版本升级报错

解决方法&#xff1a; 执行npm install --legacy-peer-deps依赖对等 npm install xxx --legacy-peer-deps命令用于绕过peerDependency里依赖的自动安装&#xff1b;它告诉npm忽略项目中引入的各个依赖模块之间依赖相同但版本不同的问题&#xff0c;以npm v4-v6的方式去继续执行…

系统架构设计师(第二版)学习笔记----系统架构设计师概述

【原文链接】系统架构设计师&#xff08;第二版&#xff09;学习笔记----系统架构设计师概述 文章目录 一、架构设计师的定义、职责和任务1.1 架构设计师的定义1.2 架构设计师的任务 二、架构设计师应具备的专业素质2.1 架构设计师应具备的专业知识2.2 架构设计师的知识结构2.3…

如何应用运营商大数据精准营销?

如何应用运营商大数据精准营销&#xff1f; 越来越多的企业逐渐觉察到运营商大数据所带来的商业价值&#xff0c;精准营销也被他们用的越来越娴熟。那么&#xff0c;企业的大数据精准营销该如何应用呢&#xff1f;想必是很多资源有限的中小型公司最想了解的。 一 数据驱动运营…

Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理

文章目录 PreJunit4 / Junit5 / Spring Boot / IDEAIDEA版本Spring-Boot-Older-Release-NotesSpringBootTest 起源 & Spring-Boot-1.4-Release-Notes2.0.0.RELEASE ----- 2.0.9.RELEASE2.1.0.RELEASE ----- 2.1.18.RELEASE2.2.0.RELEASE ~ 2.2.13.RELEASE2.3.0.RELEASE ~ 2…