{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

如何从零开始学习软件测试?

elinaelina 回答0 收藏1
收藏问题

4条回答

HitenDev

HitenDev

回答于2022-06-28 11:41

从零开始学习软件测试,有两条路:自学和培训班。在这里不推荐自学,首先是学习软件测试还是需要一定的坚持和理解力的,但是现在很多人工作就很忙, 没有时间和精力去字形研究;培训机构有专业老师,同时还会有非常多跟你经历差不多的人一起学习,方便交流心得。

很多人不相信培训机构,觉得就是骗钱的,误人子弟!我相信这样的机构绝对有,可能还不少,但是有时候自学吧,消耗的时间比较长,如果没有基础的话,想要自学也是比较难的,现在网上的软件测试资料也比较多, 需要自己去识别哪些是自己要学习的, 不然很容易陷入迷茫。

培训机构 在这方面还是有一定优势的:学习时间相对较短,整体学习比较全面,学习内容也比较集中。而且有老师给指导,学习的范围也是目前行业的热门技术,学习更有针对性,转行的 效率更高。

所以选择专业正规的培训机构学习还是可以滴,在挑选培训机构上,要注意这几点:

  1. 授课老师

想学软件测试,有丰富工作经验的,不脱离社会工作要求的老师会比较好,这样就可以了解现在工作的方向,去针对性教学。

  1. 机构专业性

现在有很多机构确实是骗钱机构,所以一定要事先了解一下机构的专业性,有没有联系老师,联系群,会不会随时跟进,如果是付了钱就消失的,一定要绕开。

  1. 课程安排

很多人的基础和学习目的都不同,所以说那种把所有学员都安排在一起的肯定不专业,可以去了解一下机构的课程管理,找到自己想学的,这样就万无一失啦~

找到合适的培训机构之后,其实事情就简单很多啦,你就可以去跟机构沟通,你目前是什么处境,想要达到什么样的成果,像我们柠檬班有全程班和速成班,还会根据学习的方向不同分为Python班,Java班等等,课程非常多分类,在选择课程的时候可以多和班主任沟通,选择之后,就跟着老师学就好啦~

如果需要软件测试视频干货学习资料的,可以私聊我免费获取哦~

评论0 赞同0
  •  加载中...
MasonEast

MasonEast

回答于2022-06-28 11:41

对于很多零基础的朋友想要入行软件测试,但却无从下手,这里我抽空和大家简单说下:零基础同学,应该怎样去学习软件测试

常规来说,学习软件测试有2条路可以选。

如果你自控能力相对来说不是很强,并且处于毕业需要找工作阶段的话,那么最省事的当然是找个靠谱的培训机构去培训啦,那样的话,你就只需要跟着培训结构认真的学习就行了。

当然,这里我们讲的是,怎么去自学软件测试,毕竟相对来说软件测试的门槛还真挺低的。

第一阶段 测试基础

只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的,所以说测试基础是软件测试最基础也最最最重要的一部分了。

而学习的程度并不是说理解就可以了,最好是能够用自己的话给复述出来。

那测试基础有哪些内容呢?

测试的定义、测试的分类、测试的方法、测试的生命周期。

测试计划、测试方案、测试策略、测试用例的编写。

BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。

测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。

PDCA、5W2H等分析管理的方法

质量管理体系CMMI(了解)

以上就是大概的内容,只要你肯背、肯写,都是能独立的掌握的。

第二阶段 工具学习

软件测试的基础学完了过后,应该学习工具了。

其实学工具真的很容易,所以大家不用去纠结工具的选择。

把最基础的几个工具学习了就行了,以后用到什么工具再去学什么工具就可以了。

下面我会列几个必学的工具,不用太精通,会用就行了。

性能测试工具:loadrunner、jmeter。

接口测试工具:postman

抓包工具:fiddle

数据库管理工具:Navicat

项目/BUG管理工具:禅道、QC

搜索工具: 百度、谷歌

第三阶段 代码学习

如果你已经完成以上的两个部分的学习,那么恭喜你,你已经是一名出色的初级测试工程师了。

接下来,你需要考虑你的发展方向了。

是成为一个自动化测试工程师呢?

还是性能测试工程师呢?

还是安全测试工程师呢?

其实关于方向的选择,相信你自己心中已经有了答案了,那我们继续往下面说。

这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐Java或者python,当然数据库也是必须掌握的!

自动化方向

等你代码已经基本掌握了,接下来就是要学习各种自动化测试了。

各种单端测试框架:unittest(python)、pytest(python)、JUnit(java)

WEB自动化测试框架:selenium(适用于javapythonjavascript)

APP自动化测试框架:appium(适用于javapythonjavascript)

以上的内容,根据你学的语言进行选择。

appiunm和selenium根据你参与的项目进行选择。

性能方向

对loadrunner和jmeter的掌握更加的深入。

可以手写脚本、脱离录制。

学会了多线程编程、能够手写java或者python、不用工具直接实现压测。

学习linux,毕竟性能总是和服务器打交道的。

学习系统架构的相关知识、方便你更容易的分析系统瓶颈。

说实话、性能方向的提示更难、因为需要掌握的东西太多了。

性能测试做深入了,基本上就是架构师的水平了。

可能你现在看着这个性能方向的学习一脸懵逼。

没关系、等你把上面的编程语言学会了你就不懵逼了。

安全方向

渗透测试

SQL注入

暴力破解

脱库

第四阶段

经过之前三阶段的学习之后各位接下来考虑的就应该是怎样写代码更合理、怎样测试会更全面。

上面讲的都是教你应该怎么做。

而在第四个阶段你需要自己去思考为何要这样做,也就是说这个阶段你要学会的是主动学习,

跨过了这个阶段就基本上可以成为专家了。

学习都是水到渠成的,在这个时候,你应该已经掌握了不少框架了,甚至自己也能开发合适的框架了,已经有了属于自己的一套东西了。




评论0 赞同0
  •  加载中...
wushuiyong

wushuiyong

回答于2022-06-28 11:41

本人已经从事软件测试行业近10年的时间了,一直在帮助测试小白升职加薪。软件测试这个行业其实入门并不难,功能测试阶段是完全可以自学的。后面的接口、性能、自动化、数据库、Linux、抓包、协议这些内容的时候,多看看网课。

软件测试基本概念

软件质量

ISO9126中定义的软件质量是:软件满足规定和潜在用户特求特性的总和,而2001年的软件国际标准中,把软件质量分成了:内部质量、外部质量、使用质量这三个部分。也就是软件满足规定和用户需求的能力,要从软件在内部、外部和使用中的表现来衡量。

  • 内部:单元测试、安全性能测试等....
  • 外部:系统功能测试、界面测试等...
  • 使用表现:易用性测试,用户体验性测试等

软件测试与质量保证的区别(QA与Tester区别)

质量保证(QA)是通过预防、检查和改进来保证软件质量,即全面的质量管理与过程改进来开展质量保证工作;软件测试是执行软件,对开发文档和源代码进行走查,以找出问题,报告质量。


按软件开发阶段划分

1)单元测试:又称模块测试,对程序模块进行检验。

2)集成测试:又称组装测试,检验程序单元的接口关系。

3)确认测试:通过检验和提供客观证据,证实软件是否满足特定的预期的用途要求。

4)系统测试:确认系统是否达到目标要求,对集成的硬件,软件系统进行测试。

5)验收测试:按照项目任务书或合同。供需双方约定的验收依据文档进行的整个系统的测试与评审,决定是否接受或拒绝系统。


按测试的实施组织划分

1)开发方测试:又称验证测试,或α测试

2)用户测试:又称β测试

3)第三方测试:又称独立测试

α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色。α测试可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。

β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见,然后软件开发公司再对β版本进行改错和完善


按测试技术划分

1)白盒测试:对内部结构进行分析,检测寻找问题。

2)黑盒测试:通过软件的外部表现来发现缺陷和错误。

3)灰盒测试:介于白盒与黑盒之间,关注输出对输入的正确性;同时也关注内部表现,只通过一些表征性的现象、事件、标志来判断内部的运行状态。


测试类型

1)功能测试

功能测试是一个试图发现程序与其外部规格说明之间存在不一致的过程。外部规格说明是一份从最终用户的角度对程序行为的精确描述。测试时按照科学方法设计的测试用例执行测试,在优先保证测试用例执行完全的前提下,再根据对业务的了解和经验性的判断进行探索性测试。

2)界面测试

界面测试简称UI测试,界面为用户与软件交互最直接的层,所以更注重用户的体验性,主要从用户的感官、交互、浏览、情感和体验出发。具体测试用户界面的功能模块布局是否合理,整体风格是否统一,各个控件的放置位置是否符合客户使用习惯,是否符合操作便捷,导航是否简单易懂,界面中文字是否正确,命名是否统一,页面美观,文字、图片组合是否完美等等。测试时可以按照最终用户具体的需求,以及通用的用户体验原则进行测试list的编写,然后测试人员根据list执行。

3)兼容测试

兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操纵系统平台上、不同的网络等环境中是否能够很友好的运行的测试。通常兼容性测试为软件在不同浏览器、操作系统和分辨率下的兼容测试。测试时测试人员按照软件的具体兼容性需求进行测试。

4)易用性测试

考察评定软件的易学易用性,各个功能是否易于完成,软件界面是否友好等方面进行测试。测试时可以根据用户需求,以及同类行业软件对易用性的通用原则列出测试list,然后测试人员根据list执行。

5)性能测试

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。


以上的内容,尤其是在测试类型这边,基本上就是小白循序渐进的过程。

之所以前面铺垫了那么多概念,主要是希望帮助大家理解软件测试。

1、“等价类测试”——主要是在输入框中输入不同的参数类型,来验证数据库判断逻辑的返回值是否正确。例如只允许输入中文的输入框,你就要去尝试输入英文、数字、符号以及中文+符号的组合。

2、“边界值测试”——对输入框所输入的内容进行长度限制的测试,超出边界范围和合理范围的处理情况。例如输入框只允许输入10个字符,你就要去尝试输入11个字符。还有输入数值的范围,例如发红包,最大是200元,我们就要测试200.01元,最小值是0.01元,我们就要测试0元,

3、“因果图测试”——是针对有组合的选项框进行逻辑测试的一种有效手段,可以通过画表格的形式罗列出所有的可能性。防止测试遗漏~

4、“业务流程测试”——是对业务场景中所有涉及到的分枝和流程进行梳理,然后对每一条流水线进行测试覆盖,确保所有正向和逆向的流程可以跑通,其中最重要的是要测试各种“事件”,例如:输入密码错误一次,提示重新输入,错误超过3次则会冻结账号或者要求输入验证码,这都是属于事件的触发!


功能测试用例也有很多种,本人一直在北京上市公司工作,后面给您发一份我们公司的功能测试用例的模板!(如果需要这份模板可以私信我)

评论0 赞同0
  •  加载中...
Ashin

Ashin

回答于2022-06-28 11:41

软件测试的基础学完了过后,应该学习工具了。

其实学工具真的很容易,所以大家不用去纠结工具的选择。

把最基础的几个工具学习了就行了,以后用到什么工具就去学什么。

下面我会列几个必学的工具,不用太精通,会用就行了。

性能测试工具:loadrunner、jmeter。

接口测试工具:postman

抓包工具:fiddle

数据库管理工具:Navicat

项目/BUG管理工具:禅道、QC

搜索工具: 百度、谷歌

以上的这些工具都是纯图形化的,很好掌握,估计就性能测试工具稍微会费点时间。

第三阶段 代码学习

好了,学完了以上两个部分,恭喜你,你已经是一个出色的初级测试工程师了。

接下来,你要考虑你的发展方向了。

是成为一个自动化测试工程师呢?

还是性能测试工程师呢?

还是安全测试工程师呢?

啊!这个问题好难!我也不知道该怎么选。

反正我啥都会一点,哪个岗位都能去面一面。

关于方向的选择,看我的这篇文章。

软件测试该如何提升自己

嗯,相信你心中已经有了答案了,那我们继续往下面说。

这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐Java或者python。

还有数据库也是必须掌握的!在工具篇的学习里,我认为你已经可以通过navicat学会了基本的增删查改了。

那你在这个阶段就应该学会更复杂的SQL语句的编写了,也应该会用命令行工具了。

嗯,加油,各位先学习mysql就好,这个用的人多。

所以现在各位可以去学习编程语言了,

不过不用像开发那样,学的那么深入。

比如Java,只需要学完JavaSE的部分就够你用了。

python的话也是一样的,把基础的部分学完就行了。

总之前期你两者二选一的学习就OK了。

第四阶段 架构学习

前三个阶段学习完成后,各位就应该考虑怎么写代码更合理了。

怎么去测试更全面。

怎么才能更好的保障项目的质量。

我认为,在这个阶段,应该回头重新学习一遍测试基础。

因为这个阶段的提高是思想、方法的提高了。

上面讲的都是教你应该怎么做。

在这个阶段你要自己去发现、为什么要那样做。

跨过了这个阶段就基本上可以成为专家了。

学习都是水到渠成的,在这个时候,你应该已经掌握了不少框架了,甚至自己也能开发合适的框架了。

自动化测试框架、性能测试框架等等。

已经有了属于自己的一套东西了。

在群里或者论坛上去装逼、别人都会尊称你一声大佬了。

可能你也学会了一些其他的技术了,甚至在往全栈等方向跨进了。

总之,到了这个阶段就没什么学习路线了。

都是靠自己的悟性了。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<