4年外包终上岸,我只能说这类公司能不去就不去..

news/2024/11/25 5:01:12/

我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是4年。现在终于跳槽到了互联网公司了,我想说的是,但凡有点机会,千万别去外包!

在程序员圈子里面,外包程序员似乎永远处于一个尴尬的角色,如果你说他们不是程序员吧,他们也是程序员。应该说是外包这个词比较尴尬吧。

从我个人的从业经历来告诉大家为啥最好不去外包公司:

1.缺乏长期的技术积累,掌握不到核心技术。一般雇主公司比较核心或者底层的东西是不会让外包人员作的。外包人员一般做的都是“边角料”。
2.缺乏长期的公司积累。在一个普通软件公司里面,资历是一个比较重要的指标。一个程序员在公司呆的时间越长,对公司的贡献越大。而在外包公司基本没有什么积累。最多的收益应该是项目经验了。
3.在雇主公司内部会受到“歧视”。不用说,一般雇主公司的人员挑大梁,外包人员也就做些边角料的工作,或者雇主公司的人员作需求和设计,外包人员编写代码。
4.项目做完后,会马上失业。当然了,雇主公司都把做项目的酬劳付给外包公司了。外包公司项目完成后,就没有钱进帐了,难道他们会把你养的白白胖胖的?

我给的建议也差不多,如果你现在在外包公司,多学习争取把自己的技术提升上来,你还要明确自己的职业规划,这样你才有跳槽的资本,才有跟别人竞争的机会。

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语言的学习内容包含以下知识点:

Python基础:Python语言特点、运行环境、基本语法、代码风格、示例程序

数据结构:

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



【1T 软件测试资料】自行下载,百名企测开职位内推资源分享,点击获取!

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

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

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

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

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具有jmeter和loadrunner,大家可以根据需要进行学习。

  • 性能基本概念:性能测试意义、常见性能指标理解、性能测试的分类
  • 性能测试流程:性能需求分析、性能场景设计、测试脚本编写、测试执行资源监控、性能调优、回归测试
  • 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.ppmy.cn/news/24341.html

相关文章

指针引用字符串问题(详解)

通过指针引用字符串可以更加方便灵活的使用字符串。 字符串的引用方式有两种,下面简单介绍一下这两种方法。 1.用字符数组来存放一个字符串。 1.1 可以通过数组名和下标来引用字符串中的一个字符。 1.2 还可以通过数组名和格式声明符%s输出整个字符串。 具体实…

openpyxl表格的简单实用

示例:创建简单的电子表格和条形图 在这个例子中,我们将从头开始创建一个工作表并添加一些数据,然后绘制它。我们还将探索一些有限的单元格样式和格式。 我们将在工作表上输入的数据如下: 首先,让我们加载 openpyxl 并创建一个新工作簿。并获取活动表。我们还将输入我们…

spring注解的开端(@Component替代bean标签的使用)

目录 一、介绍 1.什么是注解开发? 2.Spring注解的版本 3.基于spring注解的应用 4. Component的细分注解 5.相关注解 二、简单例子讲解 1.类打注解 2.扫描注解放入工厂 3.总工厂取注解调用 4.运行结果 总结: 一、介绍 1.什么是注解开发&…

大数据框架之Hadoop:入门(五)Hadoop编译源码(面试重点)

5.1 前期准备工作 1.CentOS联网 配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的 注意:采用root角色编译,减少文件夹权限出现问题 2.jar包准备(hadoop源码、JDK8、maven、ant 、protobuf) (1)hadoop-2.7.7-sr…

PyCharm+Docker:打造最舒适的深度学习炼丹炉

九、PyCharmDocker:打造最舒适的深度学习炼丹炉 安装docker: 如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose https://zhuanlan.zhihu.com/p/547169542 修改Linux硬盘卷标: ntfs文件系统:https://blog.csdn.net/n…

c#小笔记本-基础

c#基本知识一.基础操作1.打印-writeline,write2.输入-readline,readkey二.变量1.折叠代码-#region,#endregion2.变量类型(在c语言变量类型上新增的)三.常量-const四.转义字符五.显示转换1.括号强转-低精度装高精度2.parse法-作用于字符串3.co…

Ruby 发送邮件 - SMTP

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 Ruby提供了 Net::SMTP 来发送邮件,并提供了两个方法 new 和 start: new 方法有两个参数&am…

软考高级信息系统项目管理师系列之九:项目范围管理

软考高级信息系统项目管理师系列之九:项目范围管理 一、范围管理输入、输出、工具和技术表二、范围管理概述三、规划范围管理四、收集需求1.收集需求:2.需求分类3.收集需求的工具与技术4.收集需求过程主要输出5.需求文件内容6.需求管理7.可跟踪性8.双向可跟踪性9.需求跟踪矩阵…