大四应届毕业生,想自学软件测试,要学到什么程度才能找到工作?

论坛 期权论坛 留学     
匿名的用户   2019-6-1 20:17   18827   5
本三学历 金融专业的 ,但不是很想从事金融方面的工作 想转行it 从软件测试开始 怎样才能快速学会 找到工作。
分享到 :
0 人收藏

5 个回复

正序浏览
6#
热心的回应  16级独孤 | 2019-6-1 20:17:43
看了一些回答,感觉好像都不是互联网行业的
5#
热心的回应  16级独孤 | 2019-6-1 20:17:42
作为一个零基础转行的过来人,来聊一聊我的经验。
首先介绍下我的背景:
我是2017年中科院硕士毕业的,学的是极其冷门的地质学专业,嘿嘿,就是那种一年360天有300多天在出野外的那种。硕士期间了解到专业前景的黯淡(个人观点),毕业前我苦心积虑各种尝试跨专业找工作,现在回想起来那段时间也是艰辛,头发就是从那个时候开始掉的…
现在很满意,在一家朝气勃勃的创业公司担任测试主管,和一群活泼的小伙伴一起做产品,收入在魔都上海可以让我挺开心了,嘿嘿。
言归正传,测试入门没有想得那么难,当然自学对新人挑战有点大,最好是找经验的人带带,我就是朋友带的。俗话说师傅领进门,修行靠个人嘿嘿。我聊聊零基础转测试需要知道什么吧。
  • 第一,你要知道整体IT企业、互联网企业是如何做事情的。IT企业、互联网企业的几大核心部门:产品、前端开发、后端开发、测试、运营是如何分工协作的、整个产品迭代的流程(互联网企业99%是敏捷开发模式)是怎么样的
  • 第二,你要知道测试岗位的职责是什么的。其实“测试”不仅仅是“测试”,广义上讲是“QA(Quality Assurance)”,质量保障。测试的最终目标是保证产品在生产环境上(用户使用软件的环境)的质量。测试之于互联网企业就像质保部门之于制造业,每个企业都是有质量保障部门的。
  • 第三,你要知道并且掌握一些技能,这样才能保障产品(App、web、小程序、pc软件、H5网页等软件产品)的质量,具体来讲,这些技能包括但不限于:
    • 业务需求的理解能力。这点非常非常重要,抛开业务谈技术都是耍流氓,所有做出来的产品都是要给用户用的,理解需求是最基本最底层的技能。互联网面试中不乏技术牛逼,业务理解飘飘然而被刷的例子;我身边也有技术还过得去,业务白痴的例子。因此,业务需求的理解能力很重要,简单得讲就是你真得看得懂产品写的需求说明书,能真正理解业务;
    • 沟通能力和表达能力。测试日常工作占比最多的内容就是分析需求、给开发提Bug,需求哪里不明白、Bug怎么提才能让开发看懂(甚至你已经写得很清楚了开发还是有疑虑)、有争议,这些都是需求主动去沟通的。
    • 测试技能。以上两点没问题,才是我们讲的测试技能。那么讲到测试技能,你就需要知道:
  • 一个完整的测试流程包括哪几个环节。一般而言,一个完整的测试流程是:需求评审(产品主导,产品、开发、测试三方参与)—>需求分析—>设计测试用例—>用例评审—>执行用例—>提交Bug—>回归Bug—>编写测试报告—>质量回顾/质量复盘
  • 如何设计优秀的测试用例。优秀的测试用例一定是周密的测试用例,假如Bug是鱼,那么好的测试用例就像一张网,一网下去不要说捞起100%的鱼,但至少能捞住95%的鱼(ps:就算最牛逼的测试用例,也不可能避免产品无Bug,再牛逼的产品也会有Bug,软件经常更新就是因为这个原因;但有Bug不要紧,关键看Bug造成的影响大不大)。总的讲,测试用例的设计方法常见的有场景法、等价类法、边界值法、笛卡尔乘积法(其实就是排列组合)。测试用例设计是一门很基础很重要但也很有意思的工作,充分考验着一个人思维的周密性、逻辑的严谨性。这里就不深入讲解测试用例的设计方法了,要想了解可以之后交流。
  • 如何定位Bug。定位Bug是测试的核心能力之一,定位不清楚的Bug遭开发鄙视还是其次(例如前端Bug提到后端,后端Bug提给了前端),更重要的是耽误项目进度。Bug的定位就是一门技术要求较高的活儿了,你要掌握抓包、数据库、Linux、网络、C/S架构、B/S架构、一些基本的测试工具如jmeter、postman等。不时还可能要定位一些奇怪的Bug,这些问题是很有挑战的。
  • 如何提交缺陷报告,通俗地讲如何提Bug。提Bug可不是想当然地那么简单,表达不清楚的Bug开发一头雾水。一般而言,提交Bug至少应该包括以下内容:Bug标题(言简意赅地直概况Bug)、环境例如:ios平台/Android平台、复现步骤(告诉开发如何稳定的复现Bug)、实际结果、预期结果、Bug严重程度和优先级、Bug产生的可能原因等等。
  • 在手工功能测试的基础上,你还需要掌握如何撰写自动化测试脚本来提交产品维护效率。自动化测试包括接口自动化和GUI自动化。前者是针对后端接口进行自动化测试,在节奏快的互联网公司较为推崇;后者是针对前端GUI去自动化测试。严格来讲,GUI自动化测试是最严格的,毕竟GUI自动化测试直接模拟用户来使用软件,但撰写GUI脚本、维护GUI脚本的成本也不低,因此互联网公司一般只做核心流程的GUI自动化。而讲到接口自动化,你需要掌握Jmeter或者python;GUI自动化你则需要掌握python和selenium、appium,python是语言,Jmeter、selenium、appium是测试框架。
  • 在功能测试之外(自动化测试也是一种功能测试),高级的测试你还需要知道性能测试。当然,性能测试已经不属于入门的范畴了,这里点到为止。
  • 在性能测试外,如果你懂的CI/CD,部署Jenkins,那又是加分点。(同理属于高级的测试范畴)
  • 除了功能测试、性能测试,其实还有安全测试……这又是更高的质量要求了,建议入门之后再了解。
简而言之,测试入门你看1-4点就足够了,但只掌握1-4点确实没有太大竞争力,掌握第5点就足够给你加分不少,能做好性能测试、安全测试的人更是稀少,都可以是高级测试、测试总监级别了。
当然,回归到学习,一切不以实践为目的的学习都是耍流氓。学习也只有在通过实践快速获得反馈的前提下才能事半功倍、才能真正掌握,不然都是纸上谈兵、都太浅了,可能都会发展成“我知道但我不知道怎么做”。因此,关于入门,我也建议你一定要边实践边学习
小年糕镇楼,祝你入门顺利!


4#
热心的回应  16级独孤 | 2019-6-1 20:17:41
[h1]直接上干货![/h1]学扎实以下技能,就可以get到一个8000/月以上的测试offer:
阶段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:
进行界面自动化、接口测试、性能测试等方面的真实项目练习


软测学习问题,大家可私信问我,我会免费给大家指学习方向,不希望大家被误导走了弯路
3#
热心的回应  16级独孤 | 2019-6-1 20:17:40
楼主想转软件测试,对软件测试有了解吗?在你概念里,简单的手工测试或者功能测试就是软件测试的全部,这只是摸到了测试工作的边边,还有1种软件测试叫做自动化测试。测试和开发相辅相成。
[h1]软件测试工程师的工作要求:[/h1]文档评审,用例评审,需求评审;
测试用例设计,自动化测试脚本开发,测试架构设计、写作测试文档(测试计划、测试方案、测试用例等);
执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;
通过测试度量软件的质量;回归测试等等,工作内容是非常多的。
可以看下我从智联上找到的软件测试工程师的要求:



软件测试工程师需要掌握的知识:
  • 计算机知识,包括编程语言,掌握至少1门开发语言,比如C、Java、C#等,
  • 1门脚本语言,比如Python、Perl、Ruby、Shell中对于测试工程师未来更广的职业发展非常有帮助。
  • 数据库知识,对于绝大部分项目或互联网项目,都会有数据库,所以掌握至少1门数据库,比如Oracle、SQl Server,DB② · Mysql等。
  • 操作系统,比如Linux、Unix,Windows核心命令也非常重要。对于有些涉及到网络的,网络和通信知识,比如TCP/IP协议也非常重要。
  • 软件测试需求分析与软件测试用例设计核心工程方法。掌握主流的软件测试工具,比如性能测试工具JMeter/LoadRunner,自动化工具典型代表Selenium/UFT/Appium,测试管理工具等,事实上光有这些工具还不够,还需要真正理解其背后的实现原理。
  • 掌握核心的研发流程,比如RUP,测试流程,比如双V模型,或者是现在流行的敏捷测试等,也是同样重要。方法是秘笈、工具是兵器、流程是套路。
当然如果想要软件测试,一般来说初级的软件测试工程师要求并不会特别高,但是最基础的测试知识还是要懂得。我这里有一套软件测试学习线路图,分享给你!
[h1]软件测试学习线路图[/h1]
[h1]第一阶段:[/h1]
配套视频:
软件测试零基础5日速成班源码:https://pan.baidu.com/s/1tFwMl9cMK_wOH82qnlTlOg 密码:0gkt
[h1]第二阶段:[/h1]
配套视频:
linux视频教程-打开精通的大门源码:https://pan.baidu.com/s/1YSu9nfiYB1zOokqYk7CHXg 密码:gp7i
5天玩转MySQL源码:https://pan.baidu.com/s/1qXYYhcS 密码:mkqu
[h1]第三阶段:[/h1]
配套视频:
深入了解软件测试源码:https://pan.baidu.com/s/14tTNk3lamEau5h-BttfZgw 密码:x1up
[h1]第四阶段:[/h1]
配套视频:
python6天摇身一变成大神源码:https://pan.baidu.com/s/1ekHjA_1pSCheqALukSECoA 密码:8esd
[h1]第五阶段:[/h1]
配套视频:
Web自动化(全网最给力自动化教程)源码:https://pan.baidu.com/s/1kldQSxvbzlL2Iou0vW0QQQ 密码:1gop
[h1]第六阶段:[/h1]
配套视频:
2天玩转数据库测试源码:https://pan.baidu.com/s/15jd-Fery7_aUuTuIPvASpg 密码:4w6r
[h1]第七阶段:[/h1]
配套视频:
软件测试必知必会的接口视频教程

源码:https://pan.baidu.com/s/1mwTpHcNuEwwwNAx87hQMDg 密码:eky7
[h1]第八阶段:[/h1]
该阶段所有视频,正在打滚更新中,请随时关注。


作者:黑马程序员
来源:黑马程序员
本文原创发布于黑马程序员 ,转载请注明出处,谢谢合作

2#
热心的回应  16级独孤 | 2019-6-1 20:17:39
很多朋友想要入行软件测试,但是都不知道该怎么学。
抽个时间简单的给大家说下,对于0基础的朋友,应该怎么去学习软件测试。
学习软件测试有2条路可以选。
最省事的当然是找个靠谱的培训机构去培训啦,你就什么都不用想了,跟着培训结构认真的学习就行了。
当然,这里并不会给你推荐培训机构,所以这里我们讲的是,怎么去自学软件测试。
毕竟软件测试的门槛真的挺低的。
好了,正式开始讲了。
[h1]第一阶段 测试基础[/h1]测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。
最好学到什么程度呢,最好是能够理解,并能够用自己的话给复述出来。
毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。
那测试基础有哪些内容呢?
测试的定义、测试的分类、测试的方法、测试的生命周期。
测试计划、测试方案、测试策略、测试用例的编写。
BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。 测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。
戴明环、5W2H等分析管理的方法
质量管理体系CMMI(了解)
嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。
根据你的学习时长、大概7-15天能够全部掌握吧。
学习测试基础的资料、我放到网盘里了。自己下载了花时间去学习就好。 如下:
链接:https://pan.baidu.com/s/1i5peOHv 密码:h2bk
还有我之前做的一个关于怎么写测试用例的视频,建议在把书看了后再去看。[h1]第二阶段 工具学习[/h1]软件测试的基础学完了过后,应该学习工具了。
其实学工具真的很容易,所以大家不用去纠结工具的选择。
把最基础的几个工具学习了就行了,以后用到什么工具就去学什么。
下面我会列几个必学的工具,不用太精通,会用就行了。
  • 性能测试工具:loadrunner、jmeter。
  • 接口测试工具:postman
  • 抓包工具:fiddle
  • 数据库管理工具:Navicat
  • 项目/BUG管理工具:禅道、QC
  • 搜索工具: 百度、谷歌
以上的这些工具都是纯图形化的,很好掌握,估计就性能测试工具稍微会费点时间。
loadrunner11下载地址
链接:https://pan.baidu.com/s/1eS2ciFg 密码:6ahk
jmeter下载地址
链接:https://pan.baidu.com/s/1nvzgd0d 密码:ptza
其他的工具你们直接去对应的官网下在就行了。
工具的部分教程
loadrunner入门:https://www.imooc.com/learn/714
jmeter入门:https://www.imooc.com/learn/735
fiddl和postman入门:https://www.imooc.com/learn/738
如果你还要问我Navicat怎么学,我只能问你,你会用excle吗? 如果你问我禅道怎么学,我只能问你,你会用QQ空间吗?
[h1]第三阶段 代码学习[/h1]好了,学完了以上两个部分,恭喜你,你已经是一个出色的初级测试工程师了。
接下来,你要考虑你的发展方向了。
是成为一个自动化测试工程师呢?
还是性能测试工程师呢?
还是安全测试工程师呢?
啊!这个问题好难!我也不知道该怎么选。
反正我啥都会一点,哪个岗位都能去面一面。
关于方向的选择,看我的这篇文章。
软件测试该如何提升自己
嗯,相信你心中已经有了答案了,那我们继续往下面说。
这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐Java或者python
还有数据库也是必须掌握的!在工具篇的学习里,我认为你已经可以通过navicat学会了基本的增删查改了。
那你在这个阶段就应该学会更复杂的SQL语句的编写了,也应该会用命令行工具了。
嗯,加油,各位先学习mysql就好,这个用的人多。
所以现在各位可以去学习编程语言了,
不过不用像开发那样,学的那么深入。
比如Java,只需要学完JavaSE的部分就够你用了。 python的话也是一样的,把基础的部分学完就行了。
总之前期你两者二选一的学习就OK了。
啥?你问我学的啥。
我当然是两种都会啊。
哈哈哈哈哈哈哈,惊不惊喜!意不意外! 以下是学习教程:
mysql:
Java
python
[h1]自动化方向[/h1]等你代码已经基本掌握了,嗯,很好,接下来就要学习各种自动化测试了。
  • 各种单端测试框架:unittest(python)、pytest(python)、JUnit(java)
  • WEB自动化测试框架:selenium(适用于java\python\javascript)
  • APP自动化测试框架:appium(适用于java\python\javascript)
以上的内容,根据你学的语言进行选择。
appiunm和selenium根据你参与的项目进行选择。
不过无所谓了,反正迟早都要学会的。
这部分的教程太多了,你学会了编程的基础后,随便百度,好多博客论坛都有教程。
而且凭你那时候的水平,你都能轻松的看懂。
[h1]性能方向[/h1]对loadrunner和jmeter的掌握更加的深入。
可以手写脚本、脱离录制。
学会了多线程编程、能够手写java或者python、不用工具直接实现压测。
学习linux,毕竟性能总是和服务器打交道的。
学习系统架构的相关知识、方便你更容易的分析系统瓶颈。
说实话、性能方向的提示更难、因为需要掌握的东西太多了。
性能测试做深入了,基本上就是架构师的水平了。
可能你现在看着这个性能方向的学习一脸懵逼。
没关系、等你把上面的编程语言学会了你就不懵逼了。
[h1]安全方向[/h1]
  • 渗透测试
  • SQL注入
  • 暴力破解
  • 脱库
  • 等等
其实安全测试基本上偏向于网络攻防了,也就是传说中的黑客了,不过我们都是好人,这个的发展方向就是白帽子。 部分教程如下:
链接:https://pan.baidu.com/s/1hs8dG6S 密码:5dh5
推荐知道创宇的学习体系。
我估计你看到这里就更懵逼了。
没关系、等你把基础的东西学会就知道我在说啥了。
毕竟你现在还是一个小白嘛。
不要去纠结这种小事。
各位在这个阶段,正常情况都应该是中级测试工程师的水平了。
[h1]第四阶段 架构学习[/h1]前三个阶段学习完成后,各位就应该考虑怎么写代码更合理了。
怎么去测试更全面。
怎么才能更好的保障项目的质量。
我认为,在这个阶段,应该回头重新学习一遍测试基础。
因为这个阶段的提高是思想、方法的提高了。
上面讲的都是教你应该怎么做。
在这个阶段你要自己去发现、为什么要那样做。
跨过了这个阶段就基本上可以成为专家了。
学习都是水到渠成的,在这个时候,你应该已经掌握了不少框架了,甚至自己也能开发合适的框架了。
自动化测试框架、性能测试框架等等。
已经有了属于自己的一套东西了。
在群里或者论坛上去装逼、别人都会尊称你一声大佬了。
可能你也学会了一些其他的技术了,甚至在往全栈等方向跨进了。
总之,到了这个阶段就没什么学习路线了。
都是靠自己的悟性了。
哎哎哎,不提了,我要去群里装个逼,满足下自己的虚荣心。
[h1]第五阶段 XX专家[/h1]专家你好。 专家求抱大腿。
到了这个阶段的小伙伴请联系我。
到时候让我抱个大腿。
[h1]总结[/h1]以上就是从0开始入门的攻略了。
如果你还是有问题的话,可以加我的微信,我们一起讨论学习。
微信:LangJinTest
原文:
浪晋:如何从零开始学习软件测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

下载期权论坛手机APP