测试工程师

发布时间 2023-07-10 18:58:03作者: 做减法的小学鸡

软件测试书本推荐

《google软件测试之道》

《软件测试的艺术》

《捉虫日记》

《软件测试的经验及教训》

《测试驱动开发》

《移动APP测试实战》

在知乎上,经常看到很多新手想要学习软件测试,却不知道该怎么开始,软件测试到底需要掌握哪些技能?小编粗略的整理了一份学习大纲,希望对刚刚入行或者想要学习软件测试的朋友有一点帮助。

①测试的理论基础

不管你以前有没有学过计算机,有没有计算机基础,学习测试的理论都是首要的,不管你是想要学习功能测试,性能测试,测试开发。

主要包括常见的软件开发流程及模型,特别是敏捷开发相关知识。

软件测试的定义、分类、测试的流程、测试用例编写方法以及bug的管理及生命周期

了解web端和app的常见测试点和测试方法

编写常见的测试文档,如软件测试报告,bug单,测试计划等等

②学习数据库

数据库是开发和测试最基本的技能,软件前后端的交互,本质就是数据的交互,不管是功能测试,性能测试,接口测试,自动化测试等等,都离不开数据库的支撑和使用,这一部分主要是了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用

③学习Linux

作为一名软件测试工程师,我们经常要在服务器端查看日志,从而定位bug的源头,还有,在linux系统上搭建测试环境。Linux系统一直被用作重要的服务端操作系统,我们必须要掌握基本的Linux系统知识,熟悉常见的命令及工具,当然,更高级的使用,是通过编写shell脚本,自动化完成测试任务。

④接口测试

接口测试本质上也是功能测试的一种,通过脚本和工具,模拟客户端对服务端接口进行调用。由于是从接口层测试,能更早的发现问题,提高测试的效率,降低修复的成本。现在招聘软件测试的基本要求之一是熟练的掌握接口测试。

⑤性能测试

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

⑥自动化测试

学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python(简单;易学;免费开源),其次Java,并且还要掌握一定的前端知识。

掌握相关的自动化测试工具selenium、appium

掌握常用的自动化测试框架,如果用python实现的话,则需要掌握requests库和unittest框架的使用。

⑦其它



作者:博为峰51testing
说到项目经验,企业是非常看重的,也是0基础转行或者应届毕业生在找工作的一道门槛。因为企业的需求是一个能够快速上手工作的人,他们大都不愿意花成本,花时间去培养新人。那么,怎么获得项目经验呢?除了自学,在培训班学习也是一个不错的途径噢。就拿我们博为峰来说,我们非常重视企业的需求(即企业需要什么样的人才),因此,我们不仅仅要让0基础的人学习一些基础的理论知识,更重视项目实战经验。

每个在博为峰的学员除了考勤打卡,上课,完成作业,各种大大小小的考试,还有很多项目要做,除了一些经典的教学项目,案例项目,真实项目,还有自选项目,让每个学员都能有充足的机会和时间来阐述自己选择的实战项目,老师一一进行针对性点评和指导,帮助学员拓展项目实操经验,提高项目表达及面试应答能力,提升就业质量。

 

四、只会基础的“点点点”,不会自动化测试等等

有很多人虽然从事软件测试行业多年,但是只会基础的点点点的工作!这与企业的需求是非常不符合的,虽然我国软件测试行业仍然是以功能测试为主,不过,随着云计算,大数据,物联网,互联网,人工智能等新兴产业的迅猛发展,软件测试出现持续短缺,需求量的确大幅增长,而原有的软件测试从业者可能因为能力/技术方面不足,失去竞争力。

 

一 很多小白太天真,以为企业会对一个人无限制的好

二 软件行业更讲究学历网络工程师更多的是偏向于经验

对于网络工程师来说,并没有太严格的要求,除非是超大规模的企业要求你学历较高,大多数的企业只要你大专以上就可以

其次就是不管做哪个岗位,不管是做软件还是做网络,都要先确定自己的爱好是什么,真的喜欢软件还是真的喜欢网络,因为不管做哪个岗位,其实都是一个技术岗位,都可以发展下去,但是一定要结合自己的实际情况以及自己的爱好,还有自己的学习能力等等等等再做决定

 

职业规划这个问题一般面试都会问,一般的套路是:

1-2年,熟悉这个行业的流程,使用的基本技术,能独立搞定其中的技术,知道那一块技术应该怎么学

3-5年,锻炼独挡一面的能力,注意技能全面,有需要哪一方面的技术,就注意积累那方面的能力

5年以上,注意往某一方向发展,成为某一方面的专家

在未来1-2年内主要精力放在测试技能方面:比如熟悉整个测试过程及产品业务领域,学习和掌握自动测试工具,学习测试自动化编程技术;开发和执行测试脚本,承担系统测试实施任务;学习编程语言、操作系统、网络与数据库方面的技能。2年之后可能会根据我所学,和我的兴趣爱好在技术与管理方面有所偏重,希望自己3年以后有能力独立,完整,高质量的完成一个中型项目的测试。希望5年之后自己成为xx方面的专家