软件测试需要学什么?

论坛 期权论坛 期权     
匿名用户1024   2021-5-28 00:00   8174   5
分享到 :
0 人收藏

5 个回复

倒序浏览
2#
有关回应  16级独孤 | 2021-5-28 00:00:49
2020年6月,我决定转行软件测试,就是第一个看到这个提问的,现在我已经如愿以偿,我要来回答一下!
这个提问“软件测试需要学什么”真的很培训机构,仿佛是个这些机构量身打造的提问。
看了大部分前排的回答,都是清一色的软件测试机构号,他们说的都很对,但是对小白帮助也不大,因为答案不够接地气,都太官方了,上来噼里啪啦一大串,零基础的小白能看懂吗?我觉得看不懂,还不如直接去看百度百科呢。
软件测试也是一个很大的范畴了,提问问的也很笼统,你的目的呢?你要找个月薪5K的软件测试工作,跟你要找个月薪10K的软件测试工作,那需要学的东西能一样吗?肯定不一样。
所以吗,排名第一的答主,我觉得他说的答案是在理的,多看看招聘网站就可以了,把自己心仪的工作,一条一条细化,什么不会就学什么,就这么简单,反正手工测试肯定要学,测试理论肯定要学,后面代码也要学,掌握自动化测试才能找到薪资客观的工作。
如果条件允许,想省事,最简单的就是报个培训班了,不想花太多钱学线下面授的课程,可以学线上直播的软件测试课程,学费会便宜很多,因为机构省去了昂贵的房租和水电费等,而且学习的内容也不缩水,自己也省去了外地高价租房,吃饭等成本,我就是去年报的测牛学堂的直播课,花了一万多一点点, 这个价格对我来说很贵,但是线下面授的课程只会更贵,差不多两万了,报班的一个好处在于,你只要跟着老师踏踏实实学就行了,别的都不用操心,起码测牛学堂是这样的,我毕业找的工作只有7K,还是在北京,虽然过得很苦,但两个月学费也就回本了,专科生在北京确实不好找工作,我再努力干两年,就会老家郑州买个一居室,郑州也有测试等工作。
3#
有关回应  16级独孤 | 2021-5-28 00:00:50
[h1]下文将详细阐述软件测试的学习步骤和学习内容[/h1]先明确两个前提:
1.没有任何一本书,能做到软件测试从入门到精通,测试知识比开发更加庞杂,更需要聪明的学习!
2.刚入行就得学自动化测试开发技能,测试必须会代码,纯手工绝对不问代码的测试面试,没有了!
[h1]接下来,上干货![/h1]按以下列表,学扎实学习,全部技能get到,就可以找到8000/月以上的测试工作:
阶段1:
Python语言:为将来学自动化测试开发做准备
阶段2:
测试相关概念学习
软件研发概念学习
敏捷相关概念学习
阶段3:
需求分析实践:分析真实需求
测试设计实践:设计真实用例
阶段4:
操作系统:linux命令
远程链接工具:xshell、xftp
数据库:mysql
数据库管理工具:navicat或sqlyog
用例管理工具:不推荐QC、禅道,强烈推荐Testlink
缺陷管理工具:不推荐QC、禅道,强烈推荐Bugzilla或jira
敏捷化的任务管理工具:不推荐禅道,强烈推荐jira
阶段5:
web端界面自动化工具:selenium
app端界面自动化工具:appium
接口测试工具:fiddler或postman
性能测试工具:loadrunner或jmeter
阶段6:
进行界面自动化、接口测试、性能测试等方面的真实项目练习


软测学习问题,欢迎私信问我
我会免费给大家指引学习方向
不希望大家被误导,走了弯路
4#
有关回应  16级独孤 | 2021-5-28 00:00:51
[h2]史上最详细的软件测试学习路径和经验心得分享,按照这个路线学习找不到工作,算我输![/h2]我根据薪资的不同,划分成以下几个阶段具体说一下:
  • 月薪5-9k:从零基础入门到能够找到工作
  • 月薪15-25k:测试在职搞定性能测试和自动化测试
  • 年薪30W+:搞定测试开发,进入一线大厂
这边为你准备了200G软件测试教程资料,以及100+的名企大厂测试开发内推资源,免费分享给你,点击下方链接立即获取:
社区营销平台[h2]第一个阶段:月薪5-9k,刚刚入行,先学会功能测试![/h2]可能你是刚毕业的学生,也可能你是打算转行进入软件测试这个行业,那么首先以下基本的理论你是必须要掌握的:
软件测试的定义、生命周期、工作流程、需求分析;
测试用例的设计、编写、评审;
bug的基本知识以及禅道的使用;
测试计划、测试报告的编写;
SVN、Git版本控制工具的使用;
搞定上上面的这些基本必备内容,就已经知道可以做具体的实战内容,这个时候最好是先找一个web测试项目去做一下,假如一个项目拿到手之后,按照下面的一套流程跑一遍:
发布项目进行立项,建立项目组进行分工;
需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
整理测试点,编写测试用例,然后进行用例评审;
执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
分析、总结、编写测试报告;
这个流程完整的跑一遍之后,只能说对于整体的测试流程算是掌握了,但是仍然不足以找到一份合适的工作,想要学会做功能测试,以下的内容也是必须掌握的:
Linux相关技能
操作环境、命令、安装数据库、部署测试环境等
数据库相关技能
各种命令用法、字段、增删改查
接口测试相关技能
接口测试基本理论、http协议、测试方法;
接口测试需求分析、用例编写、评审;
几种工具的掌握,jmeter、postman、soupUI;
APP测试相关技能
安装/卸载、离线、UI、登录等测试内容;
兼容性测试、monkey、fiddler抓包;
OK,搞定了这些,恭喜你已经可以投出你的简历去寻找一份测试的工作了!
简历不会写?文末帮你解决这个问题!
如果你已经入行了,且能够正常上手业务了,那么你就要思考第二个问题:如何获取更高的薪资?
[h2]第二个阶段:月薪15-25k,搞定性能、自动化测试,独当一面![/h2]都说自动化玩好了很牛掰,但是性能测试才是互联网企业的核心痛点!
对于性能测试,业界很多都是在“耍流氓”,举个栗子:
我拿到了一份“流氓”的性能测试报告,上面只写了响应时间、TPS是多少,然后罗列了一下压力机基本配置情况,比如40个并发相应时间是5秒,TPS是260。
那么,我该怎么判断这次性能测试的有效性:
1.场景是否合理?
2.压力是否传递均匀或者传递到指定目标?
3.是否有干扰因素,或者说那些数据是否有效?
4.有没有一些可信的判断方法?
这些问题的出现,其实就是反映出了目前在做性能测试的一些误区:
  • 只测不调,无法给出研发和运维人员执行建议
  • 无法定位问题,缺乏清晰的逻辑和数据证明价值
  • 性能测试工具≠性能测试
  • 性能测试技术体系落后(loadrunner),急需拥抱开源软件
如果要搞定这些问题,那么性能测试你得这么去学:
性能测试的概念和流程
常见问题剖析、流行工具、方案设计
性能测试工具
jmeter工具的使用、实战;
jmeter多协议、拓展与定制;
分布式压测与任务调度;
性能监控
性能监控体系与监控数据采集
性能实施
分布式服务压测,场景设计、场景执行
测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
性能分析与报告
jvm调试与系统调试
性能瓶颈分析

如果你是测试在职,觉得自己技术不错,这边组建了一个2021年名企大厂测开岗位内推群,去年已经内推200+的同学进入大厂,最高的年薪达到70W+,点击下方链接获取进群方式:
社区营销平台
搞定这些,你完全可以很自信的和面试官说自己精通性能测试!
性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!
搞定Python或者Java语言,建议先从Python入手
基本的语言知识,语法、函数、模块、输入与输出、面向对象编程
脚本编写、标准库、多线程、第三方库,外部数据处理
unittest、pytest测试框架、参数化、数据驱动
web端的自动化测试
selenium安装、录制、处理
web控件、JavaScript脚本、PO模式
移动端APP自动化测试
appium使用、录制、元素定位方法
APP控件定位、交互,参数化用例
appium问题定位分析、源码分析、二次封装
服务端接口自动化测试
接口自动化测试框架request
接口请求构造、断言
json/xml请求、响应断言
headcookie处理、认证体系

上面这些说的是性能和自动化测试的学习路线和内容,搞定这些,基本上在这个行业,月薪2万以上是非常轻松的事情了!当然如果你想成为技术专家,或者想带领技术团队进行实施落地,那么请你接着往下看,关于年薪30W+的测试开发需要学习哪些内容:
完善测试技术体系
Linux、docker、shell、SQL、Python/java
打牢自动化测试技术基础
web自动化测试
selenium测试框架
PageObject设计模式、原则、演练
APP自动化测试
Android自动化测试框架
appium高级应用于原理剖析
APP自动化测试实战
测试框架封装改造
ios自动化测试
移动专项测试
健壮性测试、弱网测试、崩溃检测、耗电量分析等
移动端性能测试
移动端安全测试
接口自动化测试
接口协议与抓包、代理技术与mock
接口自动化测试框架、HTTPrunner测试框架
dubbo接口自动化测试
接口管理工具swagger、接口安全测试
docker容器技术
docker容器、docker镜像
持续集成/持续交付/devops
jenkins持续集成
Jenkins持续交付

如果你是测试在职,那么相信文章后半段的内容,你一定能够看到其中的价值所在!毕竟按照这个路线和内容去学习的同学,已经进入了BAT等一线的名企,目前最高级别是阿里P7,年薪最高是60W+!
[h1]如果你是零基础入行,要做好2个方面的准备:[/h1]第一个准备:认知准备
在开始学习之前,首先要明确的是对于行业和学习的认知:
1、进入测试行业一定要学习一门语言,认为做测试不用写代码或者对于写代码比较排斥的,可以绕道了;
2、技术是你立足的根本,但是不要认为技术做到最强,就可以得到100%的尊重;
3、在不断学习的同时也要积极地参与行业内的交流,比如沙龙、讲座等,朋友内推比海投简历靠谱的多;
4、学历很重要,项目经验很致命,英语是加分项;
5、学习是长反馈、反人性的,不要期待短期速成,不要相信35岁失业的鬼话;
6、沟通能力是和技术同样重要的,放在任何行业都是如此;

2019年行业调查报告社区营销平台[h1]第二个准备:思路准备[/h1]1、语言选择是Java还是Python?不用纠结,都是相通的,也最终都要掌握。建议先从Python上手,后面再学Java;
2、专研方向选择性能还是自动化?不要被自动化蒙蔽了双眼,也不要轻视认为性能很好搞定,性能的调优很难,自动化有语言基础也能快速上手;
3、大公司还是小公司?能去大公司,就去大公司,尤其是在刚进入这个行业,大公司的流程和项目以及背书都会对职业发展有很大帮助;
4、自学还是培训?能有捷径,为什么不走呢,更何况已经25了,试错的机会已经很少了,关于如何甄选靠谱机构,请关注我主页其他回答:测吧
5、将来做管理还是技术专家?即使是做管理,也必须建立在懂技术,能搞定问题的基础上。技术是根本,其余的都是锦上添花;

[h1]另外还有一些建议送给你:[/h1]
  • 提升自己的软实力:
1、不达目的誓不罢休,研究问题搞不明白就不放弃,这是你的职业精神,也是决定你能否具备钻研能力持续成长,我们的校长思寒老师,有时候半夜研究出来一个问题,还在群里很开心的说他研究出来了,人家都是架构师了,还这样呢。
2、耐得住寂寞,可能在你刚进入测试行业,很长一段时间你的能力也提升不上去,有时候工作有是比较重复,觉得自己没有价值。但是只要方向是对的,量变终究会引起质变。
3、学会沟通,学会与开发沟通,学会与产品沟通,学会与团队沟通,还有就是学会与你自己沟通。
4、不断学习,不要吃老本。
  • 不要拿35岁就会淘汰来掩盖自己的懒惰
能干的,依然能够很好的在这个行业发展,干不了的,注定会被一浪比一浪高的后浪,拍死在沙滩上。我身边一堆做测试开发的、自动化或者性能测试的大咖们,基本上都是35+了,怎么能说35+干不动呢。
所以,按照我前面说的,尤其是职业规划和核心竞争力那里,尽早的对自己进行规划和提升,确定好目标,坚定不移的走下去,所谓的职业瓶颈,是困不住未来你这位大牛的!
  • 切莫在不该有的年龄追求权利
    这会断送你的整个前程. 在一些面试场合, 如果面试官问你愿不愿意做管理, 如果你回答是, 那么面试基本就挂了.
    一定要确认面试你的人是不是真的希望你走管理路线. 大多只是测试你是不是真的是个实干家.
    过早参与管理工作也会导致个人技能发展的不健全. 这会为以后带来隐患.
    过于追求权力必然也会引发办公室政治和各种利益斗争. 所以请谨慎面对这个毒苹果。
  • 在薪资和工作机会之间做合理的权衡
    每家公司都有自己的薪资体系. 你要参考这个数据来合理的确定自己的薪资, 不要有幻想. 不要觉得别人因为某次成功的忽悠拿到多就懊恼.
    一个优秀而扎实的工作经历会让你受益一生, 会为你的简历增光不少. 对于这种机会降薪也值得去.
    一个合理的节奏是1-2年主要是积累能力. 能糊口即可. 2-5年可以适当的跳槽追求更好的待遇或者更闪光的工作履历. 五年以上就是物色好的机会一飞冲天了.
    如果跳槽太多, 一些大公司也会非常的在意, 会影响你的面试. 比如工作经验不到一年或者两年就跳槽的人, 很容易被BAT认为轻浮。
最后,我想说:
成年人的世界没有容易二字,高薪靠的是自己的努力!
最后奉上为你准备的软件测试教程资料,包括用例模板、计划模板、报告模板、性能调优、自动化教程、测开模板、简历模板、面试技巧、大厂真题等,一定有你需要的!点击下方链接查看获取方式:
社区营销平台[h1]福利福利:[/h1]一线名企大厂内推通道 >>>
史上最全软件测试资料文档下载 >>>
如何从一个只会点鼠标的手工测试变成测试开发 >>>
[h1]推荐阅读:[/h1]测试开发是什么?为什么现在那么多公司都要招聘测试开发?
软件测试的岗位会越来越少吗?
软件测试真的干到35就干不动了吗?
二十五岁零基础转行做软件测试怎么样?测吧:软件测试如何获得高薪?
5#
有关回应  16级独孤 | 2021-5-28 00:00:52
想要成为一名合格的软件测试工程师,你得会些啥?
对于很多新入行或者打算入行,成为软件测试工程师的小伙伴来说,刚开始接触这行,不知道自己究竟该学些什么,或者不知道必须掌握哪些知识,才能成为一名合格的测试工程师。根据笔者观点,如果你能在学习过程中,学好以下知识点,自行搭建好测试知识体系,那么想入行,就非常容易啦~
按照软件测试的学习大纲,我总结了一份针对0基础的小白视频教程,已经上传到Github,由易到难,非常全面,目前还在持续更新ing,需要的童鞋可以自行领取。

软件测试0基础的小白视频教程

[h2]1、学好测试基础理论[/h2]都说理论知识是学习的基石,对于软件测试学习来说,学习测试知识基础也是非常重要的。
首先,我们需要掌握软件测试开发流程及相关模型,了解敏捷开发的相关知识,能做好测试分类,掌握测试流程,能编写测试用例(包括但不仅限于黑盒测试的用例设计等);
然后,学习缺陷(bug)管理及软件的生命周期,能编写测试报告等;
接着,了解不同端口的测试点和测试方法,比如网页端、手机端等。在这个阶段,我们通常需要学习系统、兼容性测试、专项测试、接口测试、性能测试,还要学习使用工具。常见的有Monkey等等。
最后,要会编写常见的测试文档,如bug单,测试计划、软件测试报告等。
[h2]2、学习数据库[/h2]我们都知道,软件之所以能实现前端和后端的交互,主要是由于数据间的联系。而不管是哪种类型的测试,都离不开数据库的使用和支撑。软件前后端的交互实质上就是数据交互。所以,学习使用数据库就显得非常重要。
关于数据库,测试新手们需要了解数据库的基本概念,关系型数据库,数据库SQL增删改查,常见的表操作语句,以及数据库工具的使用。比如Navicat的使用等等。
[h2]3、学习使用Linux系统[/h2]我们都知道,Linux系统是主要的服务端操作系统。日常工作中,我们想要定位一些bug的来源,就需要查看服务器端的日志。很多时候,直接在软件测服务器查日志不现实,所以,我们要通过Linux系统来搭建一个测试环境,通过这个测试环境的服务器,去找bug。
所以,作为测试工程师,我们需要掌握Linux的基本知识点,比如多用户、多版本、多发行版本等相关知识;还要知道常见的Linux命令和工具,会部署和配置基本的应用,会安装使用docker,会编写基本的shell脚本,会使用远程终端工具等等。
[h2]4、会做接口测试[/h2]前面我们提到了要学习接口测试的基础知识,这里更注重实际操作。关于接口测试这部分,我们主要还是分几块:包括HTTP/HTTPS协议,常见的请求方法,cookies和session,接口文档和测试用例,接口测试工具的使用等等。
我们都知道,接口测试本质上也是功能测试的一种,但是接口测试的重要性却极高,因为它会连接软件的各个系统,所以,学好接口测试非常重要。做好接口测试,可以更早的发现软件隐藏的问题,从而提高测试效率,降低修复成本。
[h2]5、会做性能测试[/h2]关于性能测试,笔者认为,它是一个技术要求比较高的测试版块。如果你刚入行,可以把性能测试作为自己工作两年后的一个目标。但是在那之前,你一定要先掌握好性能测试的相关内容,这样才能慢慢在这个领域立住脚跟。
所以,我们要学习性能测试的基本概念、测试流程(包括但不限于需求分析、场景设计、编写脚本、性能调优等等)、使用性能测试工具(如Jmeter、Loudrunner等)、编写性能测试报告。另外,多接触性能相关的项目,学习完整的项目经验,对于我们未来的发展,将有非常好的帮助。
[h2]6、掌握自动化测试[/h2]自动化测试是时下流行的测试方式,也是未来测试行业发展的一个方向。学习自动化测试,对于新手来说,是拿到高薪的一个阶梯。所以,在那之前,掌握一门或几门编程语言就显得尤为重要了。
个人优先推荐Python,其次Java,并且还要掌握一定的前端知识。另外,还要掌握相关的自动化测试工具selenium、appium等,当然还要掌握常用的自动化测试框架。对于接口自动化测试,如果用python实现的话,则需要掌握requests库和unittest框架的使用。
[h2]7、其他[/h2]有余力的小伙伴,还可以掌握一些公共知识,比如SVN的使用,Git版本操控,持续集成Jenkins的部署和使用,等等。
这部分主要是帮助我们更好的处理和完成工作中,一些比较有特点的测试问题。虽然不会经常使用这些技术,但是一旦出现,有可能出现不知所措的问题。所以有余力的小伙伴可以多多学习。
[h2]写在最后[/h2]其实,今天主要给大家介绍的是一个框架,如果小伙伴们能看到这里,笔者表示深深地感激。文末的专辑页面,是笔者长时间码下的测试知识分享,感兴趣的小伙伴不妨点击专辑页面,看看有没有自己感兴趣的知识。
都说书山有路勤为径,学海无涯苦作舟。多读一本书,所学一个技术点,都能让我们离更好的自己更进一步。
6#
有关回应  16级独孤 | 2021-5-28 00:00:53
测试理论


计算机基础知识


如何与人沟通


(测试设计能力,发散思维和敏感度,只能靠天生或者训练,不能学习)


各种自动化测试,学语言,学测试框架和工具,都是次要的。相比上面的东西,这些都是很容易学会的东西。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:136515
帖子:27303
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP