打死都千万不要进外包...

news2024/11/18 14:45:10

我18年毕业于一个普通二本学校,是一个很不出名的小本科。大学期间专业知识也没有去认真的学习,所以毕业的时候就随便找了一份工作,在一个小公司做功能测试。

记得那时候薪资大概是6k左右,因为是在工厂,工作环境很差,也很危险,所以我一直有想跳槽的想法。

既然有想法了,我就没有挣扎了,我就直接辞职了,

后来就换了一个城市开启了求职生涯,那时候因为自己技术不过关,只会点点点的功能测试,也找不到什么好工作

误打误撞进了一个外包公司,阿里的一个外包,这一待就是两年

外包生活也只有干过外包的人才懂,外包工作人员就是没有编制的临时工,没有什么人权可言的,关于外包的辛苦我都不知道用什么话来形容,给大家看张图吧

事情是这样的:她说自己被外派到一家大公司上班,因为那家公司是大公司,在休息的时候还提供零食和下午茶。大家都知道女生爱吃,有回这个外包的女员工就吃了一些公司的零食。结果当天就收到那家公司领导的信息,说她是外包员工,不是正式员工,麻烦不要随便偷吃公司零食。并且还要她注意自己素质。

说明了这些大公司的人根本不把外包工作人员当成员工来看,所以如果有的选,千万不要进外包公司,宁可去一些小公司去工作,不要相信外包公司的大厂什么机会,太渺茫了,还不如自己打磨自己的技术,靠正常的面试流程去进入大厂。

我那两年的阿里外包生活,也是一样,很苦,虽然薪资比我以前的工作要高一点,但是加班现象太严重了,基本上每天都要加班,很少有时间休息,这种付出与回报是不成正比的,我当时也很清楚,我必须要进阶技术,不然我也找不到别的工作,简单的功能测试太容易被代替了,只有让我的技术进阶我才可能去找到一份我想要的工作,于是我就在网上自学了自动化,最后也在外包公司裸辞了,裸辞以后也轻易找到了一份还算不错的工作,14k的月薪,然后周末双休,薪资比以前高很多,更重要的是,我目前公司加班比较少,对于我来说,比较轻松。

下面我就分享一下我当时学习的学习大纲吧

1、软件测试基础理论知识:

软件测试理论知识是开展测试工作的理论依据和支撑,是测试很重要的阶段必须掌握的技能。

  • 软件的质量模型:软件测试过程保障软件的质量,从哪些方面保障可以从质量模型出发思考
  • 测试分类:软件测试过程可以按照不同角度进行分类,基础测试到高级测试递进过程
  • 开发流程:告诉测试人员一个软件完整的生命周期,软件从无到有到消亡的过程
  • 测试流程:掌握并指导测试人员在实际项目中如何开展测试工作。这要求测试人员对常见的主流测试流程有较为透彻的理解。遇到不同的软件项目,知道从何处着实能最有效率的测试软件缺陷
  • 测试计划与方案:如何规划在项目中开展测试活动,确保测试活动有序进行
  • 设计用例方法:黑盒测试阶段必须掌握的一些测试用例的设计方法。比如黑盒测试用例的设计方法、测试用例元素等等
  • 软件缺陷:在测试执行过程中应该确定缺陷并提交缺陷报告
  • 缺陷管理:提交缺陷后在实际工作中如何和开发协助处理验证提交的问题。例如:bug的等级优先级分类、bug的描述、bug的生命周期、缺陷管理工具使用,如禅道等。
  • 测试报告:测试过程的回顾和结果确认,生成系统性的专业软件测试评估报告。

2、软件测试功底技术——Linux系统

linux系统是主要的服务端操作系统,也是从事IT岗位的大部分人员必须具备的基本技术之一。

  • linux系统基本知识:多用户,多任务,发行版本等
  • 常见 linux操作命令:日志查看,文件压缩、解压,用户管理,文件权限等
  • 会部署和配置基本的应用jdk、 mysql、 tomcat
  • docker安装使用
  • 编写基本的 shell RAD本
  • 远程终端工具使用: shell, xftps等

3、软件测试功底技术——Sql数据库

数据库作为软件系统必备的应用系统,在诸如接口测试、性能测试等等过程中往往需要操作数据库,验证数据正确性完整性,都离不开数据库的增删改查操作,在项目部署阶段数据库还需要配合项目部署。在性能测试、接口自动化测试中都需要数据库的支撑。

  • 数据库基本概念
  • 关系型数据库
  • MYSQL基本的增改查语句,存储过程
  • MYSQL复杂查询、多表查询
  • MYSQL索引及事务相关概念
  • 数据库客户端工具使用:如 Navicat

4、软件测试功底技术——编程语言

推荐没有编程基础的朋友可以学习Python语言

Python语言的学习内容包含以下知识点:

  1. Python基础:Python语言特点、运行环境、基本语法、代码风格、示例程序
  2. 数据结构:
  • 基本数据结构:数字、字符串、类型判断、类型转换、切片、字符串格式化、数值运算、位置参数和关键字参数;
  • 组合数据结构:列表、元组、范围、字典、集合、不可hash对象、解包、内存地数据结构址、不可变数据
  • 程序控制:顺序结构、循环结构、判断结构、异常处理、逻辑运算符
  • 函数:定义函数、函数的参数、返回值、变量作用域、匿名函数、常用内置函数
  • 模块和库:模块和包、import关键字、常用标准库、常用第三方库、包管理工具pip
  • 面向对象:面向对象起源和优势、面向对象的特性类和对象的联系、对象的特殊方法
  • 日志记录:baseConfig、文件日志、邮件日志、定制格式、内置占位符、等级过滤、分级传播、配置文件
  • 测试框架:unitest、pytest等
  • 并发编程:多进程、多线程、协程、线程池、同步控制、线程通信、分布式、猴子补丁、 async语法、生成器
  • 网络编程:socket编程基础、TCP服务端和客户端、并行请求处理、HTTP服务端和客户端

5、软件测试自动化进阶——接口测试

接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。

  • http/httpst协议学习
  • 常见请求方法学习:GET、POST
  • cookie和 session学习
  • 接口的基本概念
  • 接口文档认识
  • 接口测试用例编写
  • 接口测试工具使用:postman、Jmeter、SoapUl

6、软件测试自动化进阶——性能测试

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景。

  • 性能基本概念:性能测试意义、常见性能指标理解、性能测试的分类
  • 性能测试流程:性能需求分析、性能场景设计、测试脚本编写、测试执行资源监控、性能调优、回归测试
  • Jmeter及 roadrunner使用
  • 性能测试报告输出

7、软件测试自动化进阶——app自动化

越来越多的项目和系统通过移动端来提供服务,移动端的软件质量越来越重要,App自动化测试已经成为自动化测试的重要内容。借助Appium,使得App自动化测试和Web自动化测试有很多相通之处,不过作为测试工程师,依然需要掌握移动端应用的工具和特性。

  • Appium移动测试环境搭建:Appium ServerAppium和 Desktop、 Android运行环境搭建、模拟器安装和连接、真机设备调试模式、adb、 weditor、 - - UiAutomator22、 Monkey
  • Appium元素定位:原生应用元素定位、纯web应用元素定位、混合应用元素定位
  • Appium元素交互:等待元素加载,元素的基本属性和方法、滑动、拖动、缩放操作、下拉选择操作、 toast消息处理、常见控件分析、常见布局分析
  • 封装测试框架:集成Appium、adb等工具、预定义异常处理、记录Appium日志、屏幕截图、打造多用途测试框架

8、软件测试自动化进阶——持续集成和持续测试

持续集成和持续测试是一个在迭代中构建、测试产品并修复Bug的过程。它有助于团队在开发阶段的初期发现缺陷,这时的缺陷通常相对不那么复杂,并且更容易被解决。通过持续集成和持续测试,可以尽早地将错误风险降至最低,并加快交付更好质量的软件。

  • 版本控制Git:背景介绍、环境部署、工作区、暂存区和提交区、分支创建与合并、解决冲突、标签、 config与别名、本地仓与远程仓、 GitHub与码云
  • 持续集成 Jenkins:背景介绍、环境部署、文件结构、远程仓库与私服、ja包依赖、插件管理
  • 容器Docker:了解 Dockers的镜像、仓库、容器、 Docker Engine和架构图、网络设置、数据持久化

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

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

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

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

相关文章

终极猜想 |欧科云链研究院揭秘货币未来形态

前言 5月18日,澎湃科技联合欧科云链研究院重磅发布的《从Web3“去美元化”看货币未来形态的终极猜想》文章,通过分析Web3.0“去美元化”的两大路径,对货币未来形态进行了前沿性的猜想。其中,Web3行业盛会Consensus2023&#xff0…

补充点【机器学习部分】

0518机器学习 身高和体重为特征,和标签训练阔以得到一个式子。 1.有监督学习: 2.训练集和测试集 3.模型学习 4.模型评估 5.基本术语 数据集:记录数据的集合 样本:每条记录关于一个事件或者对象的描述 特征:反映对…

软件安全-课后练习-格式化字符串-fmtstr2-随笔

一、准备工作 题目-百度网盘 1. 2.代码审计 只要输入不是yes或者no,就会调用到存在格式化字符串漏洞的printf函数 如果authenticated 的值为1195526213(十六进制:0x47424845),就可以得到flag。 二、思路&#xf…

10. Redis哨兵(sentinel)

10. Redis哨兵sentinel 是什么?能干嘛怎么玩(实战演示:)Redis Sentinel架构,前提说明案例步骤,不服就干重点参数项说明其他 本次案例哨兵sentinel文件通用配置sentinel26379.confsentinel26380.confsentin…

Java并发常见面试题

Java并发常见面试题总结 1、什么是线程和进程? 何为进程? 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行程序,是一个进程从创建、运行到消亡的过程。 在Java中,当我们…

Java 的八大基本类型及其包装类型(超级详细)

Java 中有八种内置的基本数据类型,他们分别是 byte、short、int、long、float、double、char 和 boolean,其中,byte、short、int 和 long 都是用来表示整数,float 和 double 是用来表示浮点数的,那它们之间有什么区别和…

【C++】哈希/散列详细解析

前言:上篇文章介绍了unordered_set和unordered_map序列关联式容器,它们之所以效率比较高,是因为其底层使用了哈希结构。,所以这篇文章我们就来详细讲解一下哈希表。有关unordered序列关联式容器的知识,请移步至这篇文章…

单片机--USART

目录 【2】USART 【3】串口通信协议 【4】相关寄存器 串口控制寄存器 波特率寄存器 中断和状态寄存器 ​编辑 数据发送寄存器 数据接收寄存器 【5】 USART功能框图 【6】串口发送实验 实验要求 1.观察实物 2.分析原理图 3.STM32CubeMX配置 7、不定长接收 8、重定向 【1】…

2022 CCPC-final 总结

赛前 去年 CCPC-final 拿了银牌第二。赛后,我选择退役,另一位队友 George_Plover 选择继续。 今年他队友 Kieray 去组女队了,于是邀请我替补参赛。 赛前一个月,约定好每周末组队训一场(在 cf 和 qoj 上&#xff0…

Spring Boot集成Swagger2

文章目录 1.什么是Swagger22.SpringBoot集成Swagger23.Swagger2配置管理(1)对Swagger2信息进行更改(2)swagger配置扫描接口(3)配置api文档分组(分组无非就是多个Docket)(4)实体类的配置 面试题:如果我们希望Swagger在某一个环境中使用&#x…

自学黑客(网络安全),看完这篇,再去追你的黑客梦!

今天专题是替一些想入门网络安全,但还迷茫不知所措的同学解一解惑。想30天零基础入门网络安全,这些你一定要搞清楚。 一、学习网络安全容易造成的误区 1、把编程当作目的,忽略了它的工具职能 千万不要抱着“以编程为目的,再开始…

C++(2):变量和基本类型

基本内置类型 C定义了一套包括算术类型(arithmetic type)和空类型(void)在内的基本数据类型。其中算术类型包含了字符、整型数、布尔值和浮点数。空类型不对应具体的值。 算数类型 算数类型分为两类:整型&#xff0…

Cesium教程(二):Cesium默认控件详解

Cesium初始界面在默认情况下,附带了一些有用的小控件,如下图所示,可以执行一些基本的功能。 1、①Geocoder Geocoder是一种定位搜索工具,它可以定位到查询位置。默认使用微软的Bing地图,若更换其他底图可能出现查找不到…

pnpm命令介绍

一、安装pnpm npm install -g pnpm 二、设置镜像源 pnpm config set registry https://registry.npm.taobao.org/ # 检查 pnpm config get registry 三、常用命令 # 查看ts-node的所有版本 pnpm view ts-node versions # 等价与npm i nodemon -g pnpm add nodemon -g # npm i p…

《深入理解Java虚拟机》 JAVA 字节码指令 基础

1.操作数栈 解释时,JVM会为方法分配一个栈帧,而栈帧又由 局部变量表,操作数帧,方法引用,动态链接 组成 方法中的每条指令执行时,要求该指令的操作数已经压入栈中;执行指令时会将操作数从栈中弹…

美团面试,被拷打了一小时....

刚从美团走出来,被拷打了一小时…越想越觉得可惜,回想面试经过,好好总结了几个点,发现面试没过的主要原因是在几个关键的问题没有给到面试官想要的答案。从而失去了这次宝贵的机会。 根据你的工作经历,说说你对质量保证…

python基础语法(print、数据类型、变量、注释、输入、条件语句)

一、初识编码(密码本) 计算机中所有的数据本质上都是用0和1的组合来存储的。编码就相当于密码本,在计算机中有多个密码本:utf-8编码、gbk编码等 注意事项:在计算机中若以某个编码形式进行保存文件,以后也…

ERP系统数据丢失的潜在经济损失

随着ERP系统的普及和涉及的范围越来越广,基本覆盖所有行业,ERP系统的数据安全也越来越被重视,关系到企业生命的机密信息都被存储在ERP系统中。 因此,ERP系统里存储的数据一旦泄露和丢失是一件非常可怕的事件。 那么,…

通俗易懂的教你如何使用Java实现快速排序

文章目录 快速排序🔒题目💡分析🔑题解 快速排序 🔒题目 题目链接:785.快速排序-Acwing题库 💡分析 基本思想:分治主要步骤 Step1:确定主元。从要划分的数组中选取一个元素作为主元…

python3+pytest+requests+allure+yaml测试框架搭建

目录 设计框架的原则 1.框架整体结构 2.框架各个模块说明 3.示例 3.1 先写一个测试用例 3.2 对上面的用例进行分层封装(可根据业务复杂度分两层或者三层,此处演示分三层) 3.3生成allure测试报告并查看 设计框架的原则 封装基类方法 对…