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

 

生产力概述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

自动化的利弊陈述

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

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

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

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

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

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

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

阶段小结

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


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

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

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

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

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

相关文章

嵌入式基础知识-信息安全与加密

本篇来介绍计算机领域的信息安全以及加密相关基础知识,这些在嵌入式软件开发中也同样会用到。 1 信息安全 1.1 信息安全的基本要素 保密性:确保信息不被泄露给未授权的实体。包括最小授权原则、防暴露、信息加密、物理加密。完整性:保证数…

电容笔值不值得买?开学季比较好用的电容笔

眼看着新学期即将到来,到底应该选择什么样的电容笔?一款原装的苹果Pencil,就卖到了将近一千块,这对于很多人来说,都是一个十分昂贵的价格。事实上,由于平替电容笔的价格非常便宜,只要一二百元就…

【Spring Boot 源码学习】OnClassCondition 详解

Spring Boot 源码学习系列 OnClassCondition 详解 引言往期内容主要内容1. getOutcomes 方法2. 多处理器拆分处理3. StandardOutcomesResolver 内部类4. getMatchOutcome 方法 总结 引言 上篇博文带大家从源码深入了自动配置过滤匹配父类 FilteringSpringBootCondition&#x…

尚硅谷大数据项目《在线教育之离线数仓》笔记007

视频地址:尚硅谷大数据项目《在线教育之离线数仓》_哔哩哔哩_bilibili 目录 第12章 报表数据导出 P112 01、创建数据表 02、修改datax的jar包 03、ads_traffic_stats_by_source.json文件 P113 P114 P115 P116 P117 P118 P119 P120 P121 P122【122_在…

小米13Pro/13Ultra刷面具ROOT后激活LSPosed框架微X模块详细教程

喜欢买小米手机,很多是因为小米手机的开放,支持root权限,而ROOT对普通用户来说更多的是刷入DIY模块功能,今天ROM乐园小编就教大家如何使用面具ROOT,实现大家日常情况下非常依赖的微X模块功能,体验微X模块的…

Redis原理:动态字符串SDS

(课程总结自b站黑马程序员课程) 一、引言 Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。 不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题&…

DHTMLX Gantt 8.0.5 Crack -甘特图

8.0.5 2023 年 9 月 1 日。错误修复版本 修复 修复通过gantt.getGanttInstance配置启用扩展而触发的错误警告修复启用skip_off_time配置时gantt.exportToExcel()的不正确工作示例查看器的改进 8.0.4 2023 年 7 月 31 日。错误修复版本 修复 修复数据处理器不跟踪资源数据…

微信小程序slot插槽的介绍,以及如何通过uniapp使用动态插槽

微信小程序文档 - slots介绍 由上述文档看俩来&#xff0c;微信小程序官方并没有提及动态插槽内容。 uniapp文档 - slots介绍 uni官方也未提及关于动态插槽的内容 在实际使用中&#xff0c;直接通过 <<slot :name"item.xxx" /> 这种形式会报错&#xff…

23062C++QTday4

仿照string类&#xff0c;完成myString 类 代码&#xff1a; #include <iostream> #include <cstring> using namespace std; class myString {private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度public://无参构造my…

分布式AKF拆分原则

目录 1 前言2 什么是AKF3 如何基于 AKF X 轴扩展系统&#xff1f;4 如何基于 AKF Y 轴扩展系统&#xff1f;5 如何基于 AKF Z 轴扩展系统&#xff1f;6 小结 1 前言 当我们需要分布式系统提供更强的性能时&#xff0c;该怎样扩展系统呢&#xff1f;什么时候该加机器&#xff1…

项目打包docker镜像 | 上传nexus | jenkins一键构建

文章目录 前言准备实操1、打开docker的远程访问2、编写dockerfile文件3、指定nexus环境4、配置jenkins5、使用jenkins构建 总结 前言 Docker部署项目是指使用Docker容器化技术将应用程序及其依赖项打包成一个独立的、可移植的运行环境&#xff0c;并在各种操作系统和平台上进行…

Unreal Engine Loop 流程

引擎LOOP 虚幻引擎的启动是怎么一个过程。 之前在分析热更新和加载流程过程中&#xff0c;做了一个图。记录一下&#xff01;&#xff01; ![在这里插入图片描述](https://img-blog.csdnimg.cn/f11f7762f5dd42f9b4dd9b7455fa7a74.png#pic_center 只是记录&#xff0c;以备后用…

使用LightPicture开源搭建私人图床:详细教程及远程访问配置方法

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 现在的手机越来越先进&#xff0c;功能也越来越多&#xff0c;而手机…

大数据技术之Hadoop:Yarn集群部署(七)

目录 一、部署说明 二、集群规划 三、开始配置 3.1 MapReduce配置文件 3.2 YARN配置文件 3.3 分发配置文件 四、集群启停 4.1 命令介绍 4.2 演示 4.3 查看YARN的WEB UI页面 一、部署说明 Hadoop HDFS分布式文件系统&#xff0c;我们会启动&#xff1a; NameNode进…

LeGo-LOAM 源码解析

文章目录 0、整体框架1、imageProjection —— 点云分割0. main()1. cloudHandler()2. copyPointCloud()3. findStartEndAngle()4. projectPointCloud()5. groundRemoval()6. cloudSegmentation()7. labelComponents()8. publishCloud()9. resetParameters() 2、featureAssocia…

java多线程(超详细)

1 - 线程 1.1 - 进程 进程就是正在运行中的程序&#xff08;进程是驻留在内存中的&#xff09; 是系统执行资源分配和调度的独立单位 每一进程都有属于自己的存储空间和系统资源 注意&#xff1a;进程A和进程B的内存独立不共享。 1.2 - 线程 线程就是进程中的单个顺序控制…

无涯教程-JavaScript - OCT2HEX函数

描述 OCT2HEX函数将八进制数转换为十六进制。 语法 OCT2HEX (number, [places])争论 Argument描述Required/OptionalNumber 您要转换的八进制数。 数字不得超过10个八进制字符(30位)。数字的最高有效位是符号位。其余的29位是幅度位。 负数使用二进制补码表示。 RequiredPl…

C# OpenCvSharp 通道分离

效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using OpenCvSharp.Extensions;namespac…

平板触控笔哪款好用?好用的第三方apple pencil

而对于那些把ipad当做学习工具的人而言&#xff0c;苹果Pencil就成了必备品。但因为苹果Pencil太贵了&#xff0c;不少的学生们买不起。因此&#xff0c;最佳的选择还是平替电容笔&#xff0c;今天在这里整理了一些高性价比的电容笔&#xff01; 一、挑选电容笔的要点&#xf…

springboot之二:整合junit进行单元测试+整合redis(本机、远程)+整合mybatis

资源地址&#xff1a; 整合junit的代码&#xff1a;https://download.csdn.net/download/zhiaidaidai/88291527 整合redis的代码&#xff1a;https://download.csdn.net/download/zhiaidaidai/88291536 整合mybatis的代码&#xff1a;https://download.csdn.net/download/zh…