软件测试需要学习测试环境、网络环境、windows环境、数据库管理、编程技巧(java编程设计,脚本语言,设计工具,XML编程、软件测试技术,测试理论,方法,流程,文档写作,测试工具,自动测试、测试技术实践等内容。
零基础软件测试学习分为四个阶段:
零基础软件测试第一阶段:测试基础
测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的最好学到什么程度呢,最好是能够理解,并能够用自己的话给复述出来。毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。
那测试基础有哪些内容呢?
测试的定义、测试的分类、测试的方法、测试的生命周期‘’测试计划、测试方案、测试策略、测试用例的编写;BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期;测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等;戴明环、5W2H等分析管理的方法;质量管理体系CMMI(了解)
以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。根据你的学习时长、大概7-15天能够全部掌握吧。
零基础软件测试第二阶段:工具学习
软件测试的基础学完了过后,应该学习工具了。其实学工具真的很容易,所以大家不用去纠结工具的选择。把最基础的几个工具学习了就行了,以后用到什么工具就去学什么。
下面几个必学的工具,不用太精通会用就可以:
1、性能测试工具:loadrunner、jmeter。
2、接口测试工具:postman
3、抓包工具:fiddle
4、数据库管理工具:Navicat
5、项目/BUG管理工具:禅道、QC
6、搜索工具: 百度、谷歌
零基础软件测试第三阶段:代码学习
学完了以上两个部分,已经是一个出色的初级测试工程师水平。
1、自动化方向
代码已经基本掌握,接下来就要学习各种自动化测试了。
(1)各种单端测试框架:unittest(python)、pytest(python)、JUnit(java)
(2)@WEB自动化测试框架:selenium(适用于java\python\javascript)
(3)APP自动化测试框架:appium(适用于java\python\javascript)
以上内容根据自己学的语言进行选择;appiunm和selenium根据你参与的项目进行选择。
2、性能方向
对loadrunner和jmeter的掌握更加的深入。可以手写脚本、脱离录制;多线程编程、能够手写java或者python、不用工具直接实现压测;学习linux,毕竟性能总是和服务器打交道的;学习系统架构的相关知识、方便你更容易的分析系统瓶颈。
性能方向的提示更难、因为需要掌握的东西太多。性能测试做深入了,基本上就是架构师的水平台。
3、安全方向
渗透测试、SQL注入、暴力破解、脱库等等
零基础软件测试第四阶段:架构学习
怎么去测试更全面?怎么才能更好的保障项目的质量?在这个阶段,应该回头重新学习一遍测试基础,这个阶段的提高是思想、方法的提高了。上面讲的都是教你应该怎么做。在这个阶段你要自己去发现、为什么要那样做。跨过了这个阶段就基本上可以成为专家了。
学习都是水到渠成的,在这个时候,你应该已经掌握了不少框架了,甚至自己也能开发合适的框架了。自动化测试框架、性能测试框架等等。已经有了属于自己的一套东西了。
软件测试工作内容
软件测试岗位具体是做什么的?软件测试就是在测试这个软件是不是能够完全按照需求运行。软件测试岗再简单点说就是找BUG。检查软件产品是否符合用户的需求,检查程序的业务逻辑和代码逻辑,提高产品的易用性。
检查软件产品是否符合用户的需求。如果用户提出的各种功能和需求,产品没有满足的话,也就根本提不上交付产品了,因为根本达不到交付程度,所以测试人员的工作非常必要。
检查程序的业务逻辑和代码逻辑。每个人对一件事的理解不同,同理不同人员对需求的理解可能会存在差异,所以适当的时候要检查下代码是否有业务逻辑错误和代码逻辑错误,当然达不到检测程序的,可以通过手工测试来做。
提高产品的易用性。若是一个软件产品不好用,用户的学习成本太高,那么产品的接受满意度就会下降,更别提产品的市场占有率了。
一些其他的错误。凡是导致软件产品不能正常使用的,功能被阻塞的,都是要提交bug的,让程序员再进行一下修改和完善。
软件测试怎么找bug?
那方法可真是不少,可以分多个维度。按照测试过程中程序执行状态可以分为静态测试和动态测试。静态测试只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。
直白点概括就是:程序不运行,看看面相哪里有毛病。动态测试则是通过运行被测试程序,对得到的运行结果与预期的结果进行比较分析,同时分析运行效率和健壮性等。
而根据具体实现算法细节和系统内部结构的相关情况则分为黑盒测试、白盒测试和灰盒测试。黑盒测试,就是将被测程序当成一个无法打开的黑盒子,测试人员在不考虑内部结构和特性的条件下,检查程序功能是否能够按照规范说明准确无误地运行。
简单来讲就是:这是一道填空题,只看结果,不看过程。白盒测试,与黑盒测试相对,主要是借助程序内部的逻辑和相关信息,通过检测内部动作是否按照设计规格说明书的设定进行,检查每一条通路是否能够正常工作。
**该怎么学习软件测试呢?**分为这几个部分,学习测试基础(重中之重)、脚本语言(比如Python或其他语言)、软件测试工具、计算机硬件知识、数据库测试,然后就是正式踏入软件测试之前的最后进行项目实战。每一步都不能落下,想要系统学习都是需要花下时间和精力。
软件测试岗位不仅需要编程的熟练度,还需要对业务的熟练、协作等软实力。做软件测试工程师要学功能测试、接口测试、性能测试、自动化测试等相关内容。
关于软件测试相关岗位的要求我们需要提前了解,具体的每一个岗位招聘要求和日常工作的资料网上有很多资料可以参考。我们先了解一下软件测试的相关名词:
1、功能测试:又称手工测试,需要根据需求文档,执行测试用例,方法就是等价类、边界值,错误推断等方法。
2、接口测试:顾名思义就是检测外部系统和内部系统以及内部各个子系统之间的交互点。重点在于要检查数据的交换等等;
3、性能测试:测试系统是否满足实际运行时候的需要,并且分析系统受哪些因素导致无法跟上业务发展。
4、自动化测试:又分为UI自动化,也就是Python+Selenium定位元素模拟人进行页面操作。接口自动化也就是Python+requests;
5、测试开发:需要参与到上述全部测试的各种大小规模的测试,重心偏重可测性能和通用测试基础框架。其次就是有能力在开发人员已完成的软件上进行二次开发
· 互联网不倒,软件测试就不会消亡
我们先来聊聊软件测试会不会被取代,在2016年左右,阿里搞过一次全栈工程师运动,一项很重要的环节就是“去掉测试岗”。
测试工程师必须转岗做开发。而不管是后端还是前端,所有人都必须掌握测试技能。最后,该运动以失败告终。
通过这个事件,小编想说,阿里这种大厂聚集了大量高水平开发人员,都失败了。可见,小厂若想继续想维持开发团队,去掉或者替换掉测试岗那更是痴人说梦。这充分说明,只要互联网不倒,软件测试就不会消亡。
· 软件测试需求量不仅稳健,还会加大
疫情前,人们的“吃、穿、住、用、行”方方面面都有对应APP软件。疫情后,复工最快,最迅速的企业也都是通过互联网技术实现。
过去,互联网技术只是让某些企业活的好。未来,互联网技术是很多企业能够活下去的关键点。互联网技术成为新的基建,互联网“基建”化就决定了软件测试行业的缺口会一直扩大。
并且,软件测试岗位,已不仅局限于互联网企业,现已逐步深入到实体产业,金融,通信,医疗,视频VR,汽车,手机…
· 软件测试岗位薪资一路高涨
随着人工智能时代的到来,IT行业受到了越来越多人的重视。软件测试作为把控软件质量必不可少的环节,其重要性可见一斑。
据第三方平台统计,北京软件测试工程师的平均薪资为16.2K,除了一线城市外,随着互联网行业逐渐下沉,在新一线城市、各大省会城市的就业薪资也很可观。
△ 数据来源职友集(如侵删)
所以,2023年软件测试还值得入行吗?答案是肯定的。毕竟,优秀的人才什么时候都是紧缺的呀。
因为现在企业需要的是自动化测试人才和测试开发人才!前些年的手动测试员早已不能满足企业现在的发展需求。
打开任意软件测试的招聘需求,都可以看到企业明确提出需要会自动化测试的人才。
企业需求升级,前些年的手动测试自然面临淘汰
软件测试与其他岗位相比,对零基础的学习者更加友好。即使你不懂互联网,不懂代码,但是只要努力学习,也可以在几个月的学习周期中,掌握软件测试从业者的必备技能。
· 人才缺口大国内测试人才缺口超30万,且逐年递增
· 发展方向广各行各业都需要,尤其是IT、金融、手游
· 适合零基础门槛低,0基础也能学习,对女生也很友好
· 技术上手快仅需3.5个月,快速学习掌握软件测试技术
· 职业生涯稳软件项目都需要测试人员,高级人才供不应求
现在,各大企业对软件测试工程师的需求越来越多,薪资也给得非常高,如果你想转行软件测试,当下正是好时机!
这个类别没有做Java难没有大数据那么复杂,但还可以拿到程序员的高薪。即使没有很厉害的技术背景,通过一阵子的学习,懂得如何进行测试懂得其中的原理就能找到一个很不错的岗位。所以,这也是为什么很多非程序员背景的行外人在换赛道时,选择软件测试的原因。
入门: 软件测试基础→ Linux系统操作→ MySQL数据库
中级: Python编程
进阶: Web自动化→ Appium框架→ IOS自动化
接口自动化: 传智健康接口测试项目
高级: 性能测试
项目:微信小程序 → 金融项目
测试行业的发展规划
整体职业规划分为如下几个阶段:
第一阶段:初级测试工程师
一般刚刚入门,熟悉基本的测试流程,入门薪资一般在6000-8000元之间。
具体工作是:
(1)按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。
(2)具有一些手工测试经验,开发测试脚本并开始熟悉测试生存周期和测试技术
第二阶段:中级测试工程师
初级测试工程师积累1-2年工作经验后,可逐步发展为中级测试工程师,一般月薪能达到8K-15K
之间。
具体工作是:
(1)编写测试方案,测试文档、与项目组一起制定测试阶段的工作计划。
(2)项目完整流程和整体质量把控介入、和开发高效沟通以及关系处理
(3)能够在项目中合理利用测试工具来完成测试任务。能够独立编写自动测试脚本程序并担任 测试编程初期的领导工作
第三阶段:高级测试工程师/测试组负责人
一般拥有3-4年测试经验,可以对初级测试工程师指导工作,一般月薪可以达到15-25K左右。
高级测试工程师具体工作是:
(1)帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。
(2)熟悉产品代码和产品整体架构设计,项目整体流程体系改进
(3)参与同行的评审(软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当 顾问。
(4)了解自动化持续集成并能进行系统运用
测试组负责人:
除了技术上需要达到高级测试工程师的水平外,同时在管理上有额外的要求:
(1)设计测试计划及进行测试项目的管理
(2)项目及测试流程和工具的选择及优化
(3)担负一些进度安排和工作规模/成本估算职责
第四阶段: 测试专家/测试经理
一般有6—10年经验的测试工程师,薪资在30K-50K之间。
测试专家一般是在性能、或者安全、或者测试开发方向等特定领域有技术专长的测试人员。具体
工作是:
(1)性能测试整体方案设计,软件系统性能问题定位和性能优化,内存优化及分析数据溢出等
(2)分析系统的安全漏洞等
(3)自动化持续集成体系建设等
而测试经理的工作重心主要在管理方向,具体工作如:
(1)负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。
(2)负责团队测试项目的质量及控制。
(3)构建测试团队及进行测试团队的管理
软件测试是一种入门起点较低、上手迅速、且发展空间比较大的职业,因此,对于很多学生而言,作为进入IT就业的初级岗位,是非常合适的
一旦选择之后,就需要坚持下去,此时可以给自己一个长期的目标。
软件越来越多,要靠质量取胜,就倒逼测试人员需求越来越大
对于刚刚入行的新人,这个时期是一个全面熟悉期,最能够学习到新的知识,也最有拼搏的热情和动力。建议大家可以借着这股冲劲,尽可能了解所在领域的全貌,了解各个主要分支的内容、特性、优势、局限性等等,并考察自己当前的工作环境,结合个人匹配程度和兴趣爱好,根据前述内容调整自己的规划。
对于测试行当而言,技术方面一般有几类:黑盒测试、白盒测试、自动化测试、测试工具、专用业务技能等;相关的管理方面一般有:测试管理、质量管理、项目管理等。
面对上述形形色色的方向,建议大家可以都稍稍了解下内涵,然后确定1—2个,作为中长期的主攻方向,达此标准,基本已经实现了入门,至于能否进得厅堂,就要看后期的努力了。
升华阶段(老手后5年—10年)
正因为有前期的细节的背景的支撑,此时,你需要努力提升自己的宏观把握能力。当然,一般人是技术做得越好,管理的时候,越容易切中项目要害。但是,对于从技术上来的人,关键是要开始培养和人打交道的能力。此阶段的关键是,需要逐步形成自己的管理风格,具备协调并行事务的能力。
这个阶段,也可能少数的人会选择离开具体的企业,而开始从事测试咨询,那是一个充满挑战的崭新开始,也必须有前期的积累方能胜任。
提高阶段(入门后3年—5年)
对于入门后选择管理还是选择技术,关键是看对自己的长期的定位了。不过,建议当前阶段还是技术为重吧。毕竟,在一个技术环境中,要做好管理,必须要有扎实的基础。
本阶段是人最容易懈怠的阶段。毕竟,刚刚入行的热忱早已被日复一日的繁复工作给冷却,有了一定的工作经验,胜任本职,对于大多数人而言,绝不是问题。家庭、娱乐方面开始占据了业余生活的主流。可是,毕竟大家还很年轻,大多数人此时也不过20多岁,就此懈怠也是非常可怕的。因此,有规划的提高自身核心竞争力,在这个时候尤为关键。
对于选择做技术的人而言,这个阶段的达成标准,一般至少要能够熟悉你所选技术方向的大多数技术细节,“细节决定成败”嘛,虽然把握全局的能力是必要的,但是作技术而言,倘若不能钻的很细很深,恐怕也很难以高手自居吧。
对于选择做管理的人而言,建议是:此阶段接触管理的理念,并可以介入管理,但是此阶段不宜全面进入管理。学习管理的理念是非常重要的,其实管理更多一种思维和做事的方式,这门学问很深入,也不像技术,会不会是那么的显著,因此,建议多看多学,取长补短,并努力形成自己的做事风格。高级软件测试工程师,测试组长等,都是不错的含有技术特征的管理职位,此时的你应该能够胜任于此。
测试工程师—软件质量守护者!
种一颗树最好的时间是10年前,其次是现在!
原地徘徊一千步,抵不上向前迈出第一步!
尝试改变自己和未来,你的人生永远掌握在自己手中!
改变命运,软件测试是你进入IT行业的最佳快车道!
第一阶段 功能测试
学前导读:学习本阶段内容,可全流程功能测试解决方案、Web自动化测试解决方案、数据分离解决方案、自动化测试报告解决方案、日志收集解决方案。
1.2022全网首发、最适合新手的软件测入门到实战教程上线啦!
真正的从入门到精通,包含了基础+项目实战,所有案例实战操作均图文并茂,真正实现一套全通关!
软件测试2022最新视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)
2.软件测试入门到精通
软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。本课程共5天,针对零基础小白录制。零基础入门的必学课。
软件测试从入门到精通_软件测试基础教程
3. Linux系统2天快速入门
本视频包含Linux操作系统介绍、Linux的常用命令、vi编辑器。学习掌握本阶段内容,可具备Linux项目搭建能力。
Linux系统操作教程2天快速入门linux项目搭建
4. 软件测试MySQL数据库知识精讲+项目实战
本视频包含数据安装,数据表操作、数据操作-增删改查、条件查询、排序、聚合函数、分组、分页、连接查询、自关联、子查询、子查询演练。学习本课程内容,可具备数据库校验能力;还可以快速、规范的掌握数据库增删改查操作。
软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习
第二阶段 Python编程
学前导读:学习本阶段内容,可掌握Python语法, 具备编程能力; 能建立编程思维以及面向对象程序设计思想; 能掌握UnitTest框架管理测试用例。
10天玩转Python软件测试
学习本阶段内容,可掌握Python语法, 具备编程能力; 能建立编程思维以及面向对象程序设计思想; 能掌握UnitTest框架管理测试用例。
Python自动测试教程,python从基础到UnitTest框架管理测试用例
第三阶段 UI自动化
学前导读:ui自动化大体分为web自动化和App自动化,在自动化测试领域中占比很大,经常使用。
1. 软件测试web自动化测试精讲与实战
本课程将教会大家搭建Web自动化和移动自动化测试环境;掌握Web自动化测试流程和脚本编写;掌握移动自动化测试中元素的定位方法、元素操作和手势操作;熟练掌握ADB工具的使用; 掌握PO模式的设计思想,并能够对页面进行封装;掌握数据驱动的实现方式; 能够在实际项目灵活运用自动化的相关技术。
软件测试web自动化测试,Web自动化流程精讲和移动自动化测试环境
2.零基础入门移动自动化——Appium框架
本课程会详细讲解Appium框架,Appium是一个开源的、跨平台的自动化测试框架,该框架适用于Native Application、Mobile Web Application或Hybrid Application的自动化测试。
零基础入门移动自动化测试——Appium框架
3. 轻松教你使用Appium进行IOS真机自动化测试
本套课程,将环境安装的步骤和注意事项呈现给学员,模拟器到真机实操,都进行演示讲解。内容丰富,生动形象,学完即可完成IOS端环境安装及实操。
轻松教你使用Appium进行IOS真机自动化测试
第四阶段 接口自动化
学前导读:接口测试是所有自动化测试应用频率最高部分。此阶段共分成14个部分进行详讲。
接口测试精讲+传智健康实战教程
本教程会涉及HTTP,Postman,Pymysql,requests库,集成UnitTes,Dubbo等诸多工具,最后用传智健康项目进行本阶段项目实战。
4天玩转接口测试,接口重点全解析+传智健康项目实战(包含requests库,集成UnitTes,Dubbo等诸多工具)
第五阶段 性能测试
学前导读:性能测试属于高级测试范畴,对于薪资的提升帮助很大,本阶段视频讲解性能测试环境搭建,JMeter工具的使用,性能测试监控、分析和调优方法。
4天快速入门性能测试
本视频通过性能测试基础理论及JMeter工具的学习;通过轻商城项目实战,带学员掌握性能测试需求分析、性能测试计划、测试用例设计、测试脚本开发、性能监控、性能分析和调优、性能测试报告总结。
性能测试全套教程,4天快速入门性能测试+项目商城实战(含JMeter工具等)
第六阶段 综合项目强化
学前导读:通过微信小程序、金融项目两个实战项目综合强化功能测试、接口测试、性能测试。
1. 微信小程序自动化测试实战
本视频涵盖:微信小程序基础介绍、Ego微商项目介绍、Ego微商项目部署、Ego微商小程序计划篇、Ego微商小程序设计篇、Ego微商小程序执行总结篇、Ego微商小程序接口测试篇、持续集成。
软件测试微信小程序自动化测试实战
2. 软件测试4天搞定金融项目
本视频讲解金融项目功能测试解决方案、真实项目测试体验解决方案、复杂业务接口测试解决方案 接口加解密测试解决方案、数据分离解决方案 持续集成解决方案、自动化测试报告解决方案、高并发测试解决方案。
软件测试4天快速搞定金融项目功能测试实战教程