测试学习路线、面试全攻略(15K月薪起)

温馨提醒:本文共10000+字,适用测试小白转行、测试老鸟跳槽,建议收藏慢慢看~~

相信每个准备软件测试面试的同学,不管你是大学刚毕业,满心憧憬着进入公司实习、非计算机行业转行软件测试、自学测试就业还是培训后就业,都会面临着众多的疑问和不解,那就是该怎么走出着第一步,今天本文一次性告诉你,该怎么准备?

入行软件测试的路有很多,诉求也是因人而已,你可以选择自学、培训入行,但按照全栈软件测试的要求准备,可以适用不同行业要求;


1、学习方式

培训方式入行,其实是最实惠、花费时间最少、有效的一种方式。

如果你不能脱产培训学习,可以边上班边学习,充分利用好晚上、周末时间进行学习,充分利用网络资源,在技能积累足够的时候,选择跳槽即可。

2、常见的测试工具

测试工具永远是软件测试人员的得力助手,不能完全依赖工具,但也不能没有工具,在学习软件过程中,要著中软件测试工具的使用,下图覆盖初、中级软件测试工程师所需具备的测试工具,要想学好,下手学习吧。

混在软件测试职业圈,工具千千万,不可能每个都会用,至少要知道有哪些工具可用,什么时候该用什么工具,每个工具能解决什么问题,然后再深入应用几款工具即可,下面就带大家总结一下。

测试管理工具

禅道:简单好用,市场主流,互联网行业居多

Jira:简单好用

QC/ALM:复杂,收费,电信/金融行业使用较多

bugzilla:功能简单

svn:代码和文档管理工具

git:但是多分支管理比svn好

接口测试工具

Jmeter(开源)

postman

SoapUI

推荐使用 jmeter 和 postman。

性能测试工具

loadrunner:大而全,要学精通还是有点难度,重量级工具,过去和现在都是行业老大

jmeter:基于java平台的性能开源测试工具,其实也很强大,而且比较好用

Locust:基于python的一个性能测试工具

白盒测试工具

junit/testng:java下的单元测试框架

unittest/pytest:python下的单元测试框架

cppunit:跨平台的c++单元测试框架

PhpUnit:Php语言下的单元测试框架

TestBed:一个重量级的白盒测试软件,可以进行单元测试、集成测试、静态测试,军工行业常用

Klockword:静态测试工具,军工行业常用

持续集成工具

Jenkins:比较常见的一种CI工具

Hudson

网络测试工具

以HTTP/HTTPs协议为主,网络测试工具有:

wireshark

fiddler

charles

app自动化工具

appium:这个应该算是目前最流行的基于app的自动化测试框架了

uiautomator:安卓自动化测试框架,基本上支持安卓的所有事件操作

Monkey:安卓自带的测试工具

Monkey Runner:Monkey改进版,支持自己编写脚本测试,用Python语言

Robotium:一款国外的Android自动化测试框架,用法比较

web安全测试工具

appscan:算是用的非常多的一款工具了,扫描后能够将绝大部分的漏洞找出来

fiddler:网络抓包工具

burpsuite:暴力破解、抓包工具

skipfish:这是一个轻量级的安全测试工具,处理速度很快,每秒可处理2000个请求。

3、全栈软件测试技能要求

先来看下软件测试工程师的技术进阶路线吧,从测试工程师入门,可以经历功能测试、自动化测试(app、web、接口)、单元测试,最后可以定位测试开发工程师发展。

不要再道听途说,软件测试是一个点点点的行业了,那已经是老黄历了,如果仅仅是点点点,是没有任何竞争力的,给自己定个长远点的目标,勇敢的跨出一步吧。

(1)通用软件测试技术及理论

测试基础理论是我们迈入软件测试行业的基础,不少人会以为这些是无用的,作为十年的测试老兵负责人的告诉你,这些东西决定着你对软件测试理解的深度,决定着你将来能走多远。这些也是各种中高端软件测试技术、新技术的基础。

软件测试常见概念

软件测试的分类

基于软件生命周期的测试

软件测试流程

黑盒测试方法

测试用例设计

测试用例执行及缺陷报告

测试报告

(2)测试环境配置

测试环境配置、搭建也是一个测试工程师必备的技能,这就要求你要对Liunx系统、mysql数据库、docker等有一定的了解,至少这些知识可以作为测试的辅助,而不是包袱,也是你从测试工程师向测试开发工程师迈进的的基础。

Mysql数据库

Linux系统基础

shell基础

Redis数据库

虚拟机测试环境管理

LAMP环境搭建

云服务器搭建

docker环境搭建

k8s环境搭建

(3)掌握至少两门脚本语言

测试工程师还是要区别于开发的,开发可以在一个语言上纵向发展,但是作为测试工程师,就要要求掌握多种语言,以应付不同的项目、不同的团队要求。建议大家以python为首,java语言为辅学习,查看各大招聘网站,基本上也是以这两种语言为主的。

python基础语法(主攻python栈自动化测试技术)

java基础语法

html基础

js基础语法

svn

git/github

(4)UI自动化测试(web、app、小程序)

我们以python栈为主线,梳理自动化测试需要掌握的技术点,我们自动化又可以分为web端自动化技术、app端自动化测试技术及接口自动化测试技术。

UI端的自动化测试技术在经过前面几年的发展及验证,存在着很多自身的不足、性价比低的特点,企业需求也在逐渐减少。

python基础

selenium

appium

requests

airtest

unittest

pytest

ddt

xlrd

pymysql

json

HTMLTestRunner

BeautifulReport

jenkins

git/github/svn

(5)接口测试(短期内需求猛增的技术)

接口测试是一种目前较为流行的测试方向,名字看起来特别的高大上,但是技术实现非常简单,通俗点就是把浏览器做的事情(打包请求),我们自己手动来打包,并完成发送,通常市面上的主流的测试工具都可以实现打包的要求。

接口及接口测试的概念

HTTP请求报文

HTTP响应报文

TCP连接的三次握手、四次挥手

接口测试文档的编写和分析

Fiddler/charles抓包

postman(商用工具,很好用)

jmeter(强大,接口、压力通吃)

requests(接口自动化,可以采用python+requests+pytest+ddt+git框架实现)

(6)性能测试技术

作为非功能性测试的技术,算是软件测试的半壁江山,前几年的辉煌,也在云服务慢慢被中小型企业接纳的今天,逐渐没落。

但是作为性能测试工具老大哥的Loadrunner,还是那个老大,但也终显老态。

jmeter市场份额也在逐渐增加,慢慢赶超Loadrunner。

Locast作为后起之秀,背靠 Python 脚本语言,借助requests模块组织脚本,可能更容易看清性能测试的本质。

(7)持续集成

随着软件系统越来越复杂,软件测试越来越繁琐,传统的软件集成模式也不再适应。

开发人员提交代码至svn

测试人员检出源码

编译打包

上传服务器

部署启动

开发测试脚本

完成测试


针对这种情况,持续集成被引入到测试工作中,协助测试人员进行自动化部署、启动、测试,常用到的工具有,jenkins、docker、git/svn。

简历制作篇

简历是你展示给企业的第一名片,对你印象好坏,能不能吸引HR的目光,决定着你能不能进入面试环节,所以一个好的简历起到了至关重要的作用。

此处重点关注两个点:

1、技能列表

把自己熟练掌握、掌握、熟悉、了解的技术、工具按照顺序展示出来。

自己的亮点一定放在最显眼的位置,直接抓住HR的眼光。

技术上要齐全,包括功能测试、接口测试、性能测试等,及其相关工具的使用。

对网络协议、数据库、Linux等也要有一定的基础

对语言类,一般要掌握java、python两种脚本语言的使用。

2、项目经验

根据自己的实际工作经验,梳理项目,可以分项目描述及项目职责两部分即可。

三、常见面试题-智斗HR篇

作为软件测试的面试者,整个面试过程都会与HR打交道,但是需要斗智斗勇的还是电话初面、终面谈薪。

1、电话初面

要知道,初面是HR通过各种渠道(boss直聘、智联、猎头)获得你的简历,初选后与你进行的第一次接洽,要知道现在的HR对你的理解都是从简历上来的,那这次电话面试很大层度上想了解下面几点,【你只需要回答她想听的即可】。

简单自我介绍(一定体现关键字,其实就是你的优势)

【在介绍完自己的基本信息之后,从项目、自己工作职责角度,逐步引出自己擅长的技术、工具等,通过间端的

介绍,让面试官了解到简历中所看不到的一些信息】

你好,我叫xx,来自xx,毕业于xx。目前有两年的功能测试经验。最近的一份工作是xx公司,主要参与app系统测

试,负责xxapp,一款类似抖音的短视频app功能测试,负责过的功能模块有拍摄、上传、搜索、推荐引擎等。

主要运用边界值,等价类,错误推测等常见黑盒测试方法。

你的技能包括哪些方面(一般不会细究,一般都是依据技术部门提供的问题来问,他们都不一定知道答案,当然面的多了,也是懂一些的,不会太深,所以你大胆的说即可)

你的项目、行业(按照简历的实际情况说就行)

你上家公司为啥离职(这个找一个对自己有利的答案即可,切记吐槽前雇主)

最快的入职时间

上家公司名称、位置、职位等(一般外包类的会问)

2、现场面试(二面、三面…)

如果电话初面没问题,符合他们企业要求的话,就会约你线下二面,当然这块以技术面试为主,也会有HR在场问一下HR关心的问题,已经帮梳理好了。

3、终面谈薪

通过了技术面试,根据技术面试官的评级,HR就会根据岗位薪资范围定薪,这次电话就是和你确定几个情况,如果都能谈妥,HR就可以发邮件申请发送offer了。

确定薪资(这个是在一定范围内可以谈的,双双都能接受即可)

是否可以在指定时间入职

入职带的资料(离职证明、薪资流水、毕业证书、学历证数等)

谈薪技巧已经准备好了,注意查收:

四、常见面试题-技术篇

其实对面试题准备,无非下面几点,我们只需要在面试前,分门别类去整理即可,有的需要去背、理解,有的需要去操作、使用,但不管怎样,最终的要求都是能说出来,而且是转化为自己语言说出来,这个很重要,如果存粹是背的,会给面试官留下不好的印象,只有自己真正理解了,才能获得更多的机会。

下面每个部分,提供五六个面试真题,权当抛砖引玉。

1、测试环境问题

这块主要是有关windows、linux、mysql、docker相关的内容,是属于测试基础技能。

(1)为什么使用数据索引能提高效率

数据索引的存储是 有序的

在有序的情况下, 通过索引查询一个数据是无需遍历索引记录的

极端情况下,数据索引的查询效率为二分法查询效率,趋近于log2(N)

(2)当前有两张表,表A字段为id,name,address;表B字段为id,english成绩 chinese成绩:请以id关联来那个张表并以enlish成绩由高到低排序

(3)简述ls,pwd,tail,sudo等linux命令的用途,使用方法

(4)如何关闭centos7的防火墙

(5)docker的作用是什么,简单介绍如何在docker中搭建LAMP环境

2、测试基础理论问题

测试理论、方法、原则相关的问题,是属于测试入门级别技能。

(1)什么是回归测试?

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的过程。

回归测试策略包括:部分回归测试及完全回归测试。

回归测试引入自动回归,大幅降低系统测试、维护升级等阶段的成本、提升了回归测试的效率。

(2)如何测试一个 纸杯?

功能性:用水杯装水看漏不漏;水能不能被喝到

安全性:杯子有没有毒或细菌 可靠性:杯子从不同高度落下的损坏程度

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

疲劳测试:将杯子盛上水放 24 小时检查泄漏时间和情况

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

(3)Beta测试与Alpha测试有什么区别?

Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试,开发者通常不在 测试现场。

Alpha testing (α测试),是由一个用户代表在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作 环境下进行的受控测试。

(4)测试中的“杀虫剂怪事”是指什么?

“杀虫剂怪事”用于描述测试人员对同一测试对象进行的测试次数越多,发现的缺陷就会越来越少的现象。就像老用一种农药,害虫就会有免疫力,农药发挥不了效力。这种现象的根本原因就是测试人员对测试软件过于熟悉,形成思维定势。

为了克服这种现象,测试人员需要不断编写新的测试程序或者测试用例,对程序的不同部分进行测试,以发现更多的缺陷。也可以引用新人来测试软件,刚刚进来的新手往往能发现一些意想不到的问题。

(5)web系统测试点

针对web系统的测试点及测试思路,参考下面文章:

3、测试工具使用问题

(1)简述Jmeter和postman工具的区别?

1.支持的协议不同

Postman只支持HTTP及HTTPs协议。

Jmeter支持HTTP、HTTPS、socket、POP3、smtp、JDBC的多种协议

2.步骤的实现(有区别)

Postman使用Collections管理用例,Jmeter是线程组管理用例

Postman和jmeter都是创建http请求

区别1:postman请求的请求URL是一个整体,jmeter分成了4个部分(协议、主机、端口、路径)

区别2:postman可以在请求中直接填写请求头信息, jmeter需要通过添加http请求头管理器添加请求头

3数据用例的实现

区别1:jmeter比较适合进行数据与操作分离,而postman比较适合把数据和操作放在一起,显然postman操作更简单,jmeter更便于维护

区别2: postman也支持csv数据文件的导入,但是每次执行时都需要收工加载数据文件。不方便(所以只能做半自动化)

Jmeter可以进行完全自动化,特别是引入ant后效果更明显

4断言的实现

区别1:Postman有很多自带的断言函数,直接引用即可,操作非常方便。。。 jmeter也自带断言组件,操作非常直观。 区别: postman用函数断言, jmeter用元件进行断言

区别2:jmeter支持正则表达式断言,postman不支持

区别3:Jmeter的断言更丰富。 postman需要通过编程来实现同样的效果,所以难度更大

5执行

区别:默认执行,postman不能保存结果,jmeter可以报存结果

Postman可以通过newman实现批量执行和保存结果,jmeter可以通过ant实现批量执行和保存结果

6其他

Postman比较适合做手工接口测试,因为简单,可以实现半自动化

Jmeter比较适合自动化接口测试,因为功能强大并且可以保存脚本,批量执行设置很容易

Postman一般用来做接口测试,用来发现BUG,验证后台程序

Jmeter可以进行接口测试及性能测试。

(2)monkey如何使用

(3)常见的ADB命令

捉虫布道人:APP测试辅助神器之ADB

zhuanlan.zhihu.com

图标

(4)postman工具进行接口测试

(5)fiddler的常用使用场景

fiddler的核心功能还是抓取HTTP/HTTPs报文,但也提供了mock、弱网等功能。

4、测试流程问题

(1)软件测试流程

每个公司的测试流程都不尽相同,但大体是一致的:

需求评审(有开发人员,产品经理,测试人员,项目经理)

需求确定(出一份确定的需求文档)

开发设计文档(开发人员在开始写代码前就能输出设计文档)

想好测试策略,写出测试用例

发给开发人员和测试经理看看(非正式的评审用例)

接到测试版本

执行测试用例(中间可能会补充用例)

提交bug(禅道系统录入和跟踪)

开发人员修改(可以在测试过程中快速的修改)

回归测试(可能又会发现新问题,再按流程开始跑)

(3)自动化测试流程

5、大厂企业真题(是真题奥)

(1)JR头条面试真题


(2)DY面试真题


测试资源免费领取~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342