功能测试如何转型自动化测试

news2024/12/23 19:59:07

在互联网行业,我们是那些被遗忘的技术人。

很多人都觉得,传统开发、运维才是技术含量的一个工作。

但是测试的入门门槛比较低,所做的事情相对有限,

这是我之前跟一些大型互联网软件测试负责人大牛们聊天的时候发现,很多人对测试仿佛有这样的一个标签——没有什么技术含量。

那么我们先来看一下软件测试工程师行业现状以及职业路径规划

据相关调查表明,目前做功能测试的居多。占据了测试行业百分之六十。

我们来简单分析一下

第一个

功能测试到自动化,几乎是所有测试人的职业必经之路。虽然有很多伙伴目前还没有接触到技术自动化。

从小公司到大公司。

在小公司有一个什么样的特点呢?

测试和开发的比例,十个开发可能就只有一个测试。越小的公司这个失调的比例越高。稍微大一点优秀一点的公司,他的比例可以能五到六个开发一个测试。大公司一般就几十人的开发甚至几百人的开发,测试也就会有一到二十个人。这就是小公司和大公司的区别。那么,从这个比例,我们也可以看出用到的技术等等,大家可以去品一下。(可以参考google微软的测试开发比例)

软件测试行业现状

我觉得这个大家作为互联网公司的一份子,对这个是最为了解有深刻体会的。也有一些朋友在一家公司呆了几年之后,没有出去面试,也不了解现在外面大厂需要的一些新兴技术。我的建议是在互联网行业,就算你没有计划跳槽,你也应该出去走一走,看一看外面用的技术,看一看外面的行情待遇,你自己技术有没有落后,工资有没有落后。

中国英才网、前程无忧等大型招聘网站统计的数据中测试行业缺口高达30万,接近40万!只要有互联网产品,就必须有测试!

互联网/移动互联网/物联网迅猛发展,大数据、云计算时代,机器学习的到来,软件测试人才需求倍增。

我们首先分几个级别,这里就不分初级中级高级,因为不管你做功能做自动化都分初级中级高级。所以我们可以根据类型来分。

首先第一个类型。

功能测试,可能是大家目前最熟悉做得最多的一个测试类型。它的一个俗称也叫点点点。

功能测试它的市场行情,至少占据了60%,毫不夸张。就比如一个软件测试交流群,10个里面至少有6个仅仅只做功能测试。

它的一个基本要求,只需要懂产品、业务需求,这个产品的业务核心在哪里,一些软件开发的流程,编写测试文档。不需要懂任何的测试工具,测试技术编程等等。

功能测试的日常工作有一个很明显的特点,重复性工作特别多,非常枯燥。不懂编程,测试工具也用得很少。比如最常用的mysql或者Navicat、postman,甚至linux都几乎很少用。

虽然入门门槛低,基本要求不是很高,薪资待遇,在一线城市也能拿到8-15K左右,导致现在有一大批的测试人做了几年,还是在做功能,因为拿到了10K左右,也能保证日常开销。导致没有学习的兴趣,学习提升的氛围不足。

第二个类型。

首先功能测试肯定也会,会一点点自动化,这个自动化是说,能实现简单的效果。能自己去玩一些简单的Python+Selenium 实现登录等基本效果、搭建环境。

**基本要求:功能测试项目经验丰富,做过P2P、金融、crm、银行、erp、电商、app等各种系统都做过一些测试,会简单的编程,会一点接口测试(拿高工资的很大一批测试都是因为他会接口测试自动化)**会一些开源工具辅助测试,比如说,很典型的postman做接口测试,jmeter,然后自动化会用到Selenium或者用一些可以录制自动化脚本的一些工具。

**特点:**自动化没有给项目带来真正的价值,或者就是说自己拿项目在写一些简单的脚本。自动化完全没有应用到实际工作项目中去,特别是做了两到三年的测试工程师,可能已经了解了现在自动化是一个趋势,也是现在的一个职业发展路径,所以去简单的了解了一些编程、接口测试,比如说Python+Selenium 他也能实现简单的脚本,但是目前的技术效果没法说法产品、技术经理我为什么要来做自动化,没有深入了解自动化对于整个团队的重要性,和真正带来的价值。

**工资待遇:**8K起步到18K左右,在一线城市。面试的时候会和面试官说我了解前面提到的技术,所有12K13K都有可能。

第三个类型:

功能测试+自动化+接口测试+性能测试

这个中间的自动化里面就包含了很多东西了,包括了搭建测试框架,他能带团队做自动化。

基本要求:

在一些大型招聘网站上,

熟悉一门编程语言,我们就拿Python来举例子。在这里为什么我们推荐的是Python,我在之前的文章中讲到过很多次,有兴趣的可以去阅读一下。虽然我之前也是写Java的,后来随着工作经验、市场的主流、业界的发展规律。作为测试行业的人Python毫无疑问是首选。不管你自己搭建框架、还是做平台、做性能,用Python各种脚本非常方便。容易上手效率也高。还可以做一些爬虫、大数据分析,图像识别。

这里的熟悉一门编程语言,不是说你知道一点数据类型、基础语法。不是这样子的,你真正的想要做高级测试工程师,如果我来面试你,熟悉一门编程语言我会问到很多问题。

![](https://upload-images.jianshu.io/upload_images/24361498-31aca40d58e4e730.png?imageMogr2/auto-orient/strip|imageView2/2/w/939/format/webp)

第一个,Python编程你的基础要扎实,各种数据类型以及它们的区别、优势。什么时候用哪种数据类型。比如说列表list、元祖tuple、字典dict、集合set各种数据类型它的原理、区别、优势。还有一些控制流if&for 循环while等等。还有迭代器和生成器。这些面试官肯定会问到,如果你想做高级测试工程师,拿到20K以上薪资。

想图上面进阶类的函数,里面也包括了很多内容。参数、返回值、递归。装饰器和匿名函数,**为什么要用到匿名函数?为什么要用到装饰器?装饰器在自动化中你如何去运用的?**像这种问题才是真正面试高级测试工程师面试官会问到的问题。比如说面向对象里面的高级编程,多态、封装、继承、各种。因为你真正的去搭建测试框架,像第二类型的测试人你去实现自动化,你根本不需要了解高级编程,因为像这些简单的代码网上一大堆。

真正的如果你要带团队去做测试了,做自动化了,要去写框架了,会用到各种高阶的语法。面向对象思维、继承、装饰器等等各种用法都需要很扎实。异常处理非常关键,异常如何去处理?什么时候用到异常?什么时候去用到内置函数map、sorted等等,像这种你全部需要全部系统、扎扎实实的掌握。

不然,你拿什么去搭框架?这种语法你都熟悉,你如何去扩展你的框架?你还是只能去写一些只能实现的自动化。

熟悉一门编程语言,和了解一门编程语言是有很大的区别的。

说到编程语言,你肯定需要熟练自动化

UI:包括app/web

除了UI还有一个很重要的就是接口,我之前说过一句话,接口自动化测试是软件测试工程师能力分水岭的体现。

很多做UI自动化的,一些简单的UI是会的,但这个完全不能说是一个加分项,毕竟在企业中接口自动化的比例比UI要大很多。但是UI自动化也很有用,你如何去把握UI自动化给你的项目带来价值,这个我在之前的文章中也有单独讲到过。

能够独立搭建测试框架,有很多的招聘直接写了这样一句话,能够独立搭建测试框架优先。招聘需求是最容易体现的。

**特点:**待遇高,稀缺。技术栈非常全面的测试非常少。对于互联网公司来说这个类型给20K30K完全不是问题。

第四个类型:

功能测试+自动化+性能测试+测试开发(不管什么类型功能测试都是基础)

测试开发是当下非常火热在词,可能大家最终想做架构师,行业最高水准就是架构师,拿到在薪资也是很可观。

测试行业肯定也有架构师,自动化玩得很透彻、性能玩得很6,编程玩得很6

现在我可能做框架,后面就会想到平台化,你不需要搭建任何的框架,就直接在一个页面去做自动化、性能,所以现在大家如果在测试行业多去学习,你可能会发现在这路上有很多人。

这是一个趋势。

非常火热,薪资待遇非常高。

这就是一个综合管理平台,测试部门只需要每天来登录这个平台就好了。写用例、用例评审、做自动化测试、做性能测试、写测试报告、提BUG等等。各种问题都可以在测试平台里面进行。

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

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

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

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

相关文章

学网络安全常用的10大工具

从事网络安全工作,手上自然离不开一些重要的网络安全工具。今天,分享10大网络安全工具。 一、Kali Linux Kali 是一个基于 Debian 的 Linux 发行版。它的目标就是为了简单:在一个实用的工具包里尽可能多的包含渗透和审计工具。Kali 实现了这…

【JMeter】 二次开发插件开发 Dubbo 接口测试插件浅析

概述 在一些企业中,各类业务系统非常丰富,相互之间或对外提供很多的服务或接口 这些服务或接口中,有很多是需要强契约约束的,服务的提供方、服务的使用方必须遵守相同契约 这类服务最典型的就是RPC,其中应用广泛的有Du…

一文读懂,WAF阻止恶意攻击的8种方法

WAF(Web 应用程序防火墙)是应用程序和互联网流量之间的第一道防线,它监视和过滤 Internet 流量以阻止不良流量和恶意请求,WAF 是确保 Web 服务的可用性和完整性的重要安全解决方案。 它通过充当保护 Web 应用程序服务器免受恶意客…

属性和方法

类的属性 变量:1,按照数据类型来分基本数据类型,引用数据类型 2,按照变量在类中声明的位置不同:成员变量(属性)、局部属性(方法内,构造器内,代码块内等&…

android 如何分析应用的内存(六)

android 如何分析应用的内存(六) 接上文,本系列文章,最重要的部分——————对native堆内存的分析,即将上演 分成六大板块: 手动实现,new和delete,以及malloc和freee&#xff0…

LVS+Keepalived负载均衡高可用群集(往事清零,万事顺意)

一、Keepalived高可用详解 1.应用场景 在企业应用中,单台服务器承担应用存在单点故障的危险。单点故障一旦发生,企业服务将发生中断,造成极大的危害。所以需要群集实现高可用性,保证服务稳定。 2.介绍和原理简介 Keepalived是…

【JAVA开发环境配置】 卸载JDK很简单, 一分钟帮你搞定!

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&#x1…

中科三方:DNS云解析技术浅析

智能DNS云解析通过其智能解析,健康监测,负载均衡,宕机切换等高可用性的功能特性,给客户带来快捷,安全,流畅的上网体验。传统的DNS因为其解析时间冗长,易被劫持,无法精准调配用户的流…

【jupyter notebook】Anaconda prompt查询版本包(已安装的包列表、可以安装的包列表)

目录 0.环境介绍 1.查询当前已安装的某包信息 2.查询某包的所有版本 3.查看已安装的各个包的版本 0.环境介绍 windows Anaconda 1.查询当前已安装的某包信息 信息包含包名和版本,以包【matplotlib】为例 conda list matplotlib 2.查询某包的所有版本 conda s…

playwright-自动化测试

这里写目录标题 安装运行记录操作执行脚本 安装 (1)安装Playwright依赖库(Playwright支持Async\Await语法,故需要Python3.7) pip install playwright (2)安装Chromium、Firefox、WebKit等浏览…

【Unity Shader】平面投影实现阴影

介绍 球体和立方体挂载下面这个shader,就是多渲染一个阴影投影到y0的平面上 // shader,放在需要显示阴影的对象上 Shader "Custom/PlanarShadow1" {Properties{_Instensity("Shininess", Range(2, 4)) 2.0 //光照强度_Diffuse(&…

Mac下自定义快捷键

1、系统偏好设置-键盘-快捷键-App快捷键 2、确定要对什么进行自定义 比如 我要对DBeaver的运行自定义,我个人喜欢用cmd r 3、添加App快捷键 注意,菜单标题就是应用里的,必须要一模一样,哪怕是空格都不能少。也不能多。 4、对…

在Excel中如何筛选五笔码表?

你可以按照以下步骤筛选五笔码表中的简词: 1. 在 Excel 中打开五笔码表,选中需要筛选的数据列。 2. 点击“数据”选项卡中的“筛选”按钮,在下拉菜单中选择“高级筛选”。 3. 在弹出的“高级筛选”对话框中,选择“复制到其他位置…

什么是MBR/UEFI/GPT?MBR与UEFI具体区别是什么?

一、什么是MBR MBR是Master Boot Record(主引导记录)的缩写,是存储在计算机硬盘的第一个扇区(通常是第0个扇区)中的一个特殊的引导扇区。 MBR包含了启动计算机所需的信息,例如分区表、引导程序等。当计算机…

Python的接口自动化-unittest测试框架和ddt数据驱动

目录 引言 一、unittest测试框架 二、ddt数据驱动 引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错…

#include < > 和#include ” ”有什么区别?

C语言头文件 C语言中头文件的扩展名为 .h的头文件,头文件中包含了函数的声明和宏定义,头文件可以被多个源文件引用。在C语言中有两种类型的头文件,一种是编译器自带的头文件,另一种就是程序员自己编写的头文件。 在C程序中如果要使…

package和import关键字的使用

package(包) package,称为包,用于指明该文件中定义的类、接口等结构所在的包。 8.1.1 语法格式 package 顶层包名.子包名 ; 包的作用 • 包可以包含类和子包,划分项目层次,便于管理 • 控制访问权限 import(导入) 为了使用定…

python基础知识(十三):numpy库的基本用法

目录 1. numpy的介绍2. numpy库产生矩阵2.1 numpy将列表转换成矩阵2.2 numpy创建矩阵 3. numpy的基础运算4. numpy的基础运算25. 索引 1. numpy的介绍 numpy库是numpy是python中基于数组对象的科学计算库。 2. numpy库产生矩阵 2.1 numpy将列表转换成矩阵 import numpy as …

中国人民大学与加拿大女王大学金融硕士——不断充实自己的知识库

在职场我们总是悄无声息的崩溃又悄无声息的自愈。别人拥有的,只要努力,你也会拥有。真正的成功源于生命里的学习,成长和热爱,以及不停步。一直前向走就是巅峰,中国人民大学与加拿大女王大学金融硕士助力我们在职提升。…

锂电池移动电源等电信终端产品配套用电源适配器/充电器产品纳入CCC范围

2023年8月1日起,以下三类产品纳入CCC认证范围: 1、便携式产品用锂离子电池和电池组(0915) 2、移动电源(0914) 3、电信终端产品配套用电源适配器/充电器(0807, 0907) 以上文章来源网络,如有涉及侵权,请联系删除!我们一直…