一、软件测试的发展前景和行业现状
1.1软件测试的工资情况
软件测试的方向:功能>>>接口>>>性能>>>自动化>>>测开>>>人生巅峰
功能测试:曾经互联网缺口和软件测试缺口非常大,因此功能测试越来越多。可是2020年,疫情的冲击下,大部分面试软件测试都是会问到“自动化”。无论是培训或是自学,建议都不必止步功能。现在外包公司功能的工资大致5-7k;但没有什么晋升空间。
接口测试:在功能基础上,接口测试的工资会高一些,8k上下,对自动化至少是了解的。
性能测试:性能测试的工资大部分能够10k上下,一二线城市,有的三线也差不多能达到,还要看当地重什么业。
自动化测试:如果是刚学习到自动化打算就业,大致开始也就12k,可是升职加薪空间非常大。功能的话不会有工作年限的增涨而跳槽涨工资。可是精通自动化,看技能和工作经验,越老越吃香;
测试开发:如果是纯开发,在这个开发圈里不一定很厉害,如果是测开,你在这种圈里肯定是很出名并且很厉害的角色。工资不说了,做好拿期权股份的人。
1.2软件测试的行业现状
中国最先的对IT工程的启蒙和测试定位的探索大部分都来源于于微软、技能启蒙和发展的话,是以自动化为主。有一些领域大佬说,十年前吧,公司里面做性能测试,便是用人一声令下,每个人一块儿开始点点,随后QTP和loadrunner出现就快速占据市场了。
互联网时代来临的过程中,CMMI慢慢被互联网公司忽视。测试和开发的比例从1:2变成了1:3-5;移动互联网+创业浪潮的这种时代,分别发展迅猛,衍生了CI、CD和DevOps等,测试开发比例到1:8;
现在大部分是大数据和人工智能时代,无论是这种时代的刚起步,还是怎么;实际上早已慢慢形成了新的生产力并落地到测试领域。能够参考一下2020年新基建数据:
大数据、人工智能、5G、工业互联网,四大新基建信息基础设施建设下四大产业的TOP10,三个都有软件测试岗位。因此,题主所担心的这种领域到底有木有前途和出路,完完全全能够放心。说点简单易懂的,各行各业的产品供过于求,大家全是抢的流量便是用户,假如同行业产品和价格早已都稳定了,那么就需要抢用户体验了。因此每个公司都十分看重自己的软件和产品,只需开始看重互动,那么软件测试和产品经理的发展就会非常好非常好…假如有缘刷到这种这篇问答,想转行能够放心转。
二、了解软件测试是什么
软件测试的定义便是找出软件的问题,保证修复后上线或交付;
两种测试方法主要是证明软件是工作的,或是是证明软件是不工作的。虽然目的不一样,可是操作截然不同。
软件测试的组成是以文档、数据和程序组成的,因此软件测试应该对软件开发中形成的文档、数据和程序开展测试。可是现在越来越多测试仅仅只对程序测试。
测试之间的分类:
•单元测试=模块测试,对程序的模块开展检验测试
•集成测试=组成测试,检验程序单元的接口关系
•确认测试:等同于检验和提供相对客观的证据,要证实内容便是软件是否满足了预期
•系统测试:要查看是否达到了目标要求,对集成的软硬件开展测试
•验收测试:按照项目的任务或是是合同,对系统开展全面的测试和评审,决定能否接收该软件
(友情提示:这些尽量去理解,也是非常好理解的,因为这些只是软件测试的概念,零基础学习的必备)
实际上还可以按照测试实施组织划分,但也是理解内容即可;技能划分的便是黑白灰盒测试;
测试类型:
•功能测试:
功能测试便是看外部规格与程序之间有木有存在不一样,外部规格说明是一份从用户的方向对程序情形的准确描述。测试的过程中按照科学的方法开展设计测试用例开展执行测试,在保证测试用例执行完完全全一样的前提下,在去根据业务的了解和经验判断开展探索性的测试;
•界面测试:
UI测试,界面便是用户和软件互动最直接的层,因此更看重用户的体验性。必须测试人员从用户的体会、互动、浏览器和感情还有体验出发。具体的测试用户界面的功能模块布局能否合理,总体风格能否统一,每个控件的位置是否符合用户习惯,全是测试人员必须考虑的,还有文字排版能否美观,能否命名统一。
•兼容测试:
兼容性测试便是软件在特定的硬件平台,不一样的操作系统上,网络环境中是否能够正常运行。比如一个APP,在华为的mate30和小米上是否都可以运行。还有便是在不一样的系统上操作啊分辨率这些的兼容测试。
•易用性测试:
简单来说便是软件是否便捷,每个功能是否复杂了,怎么去优化。这种不仅是测试要做的,或是产品。测试的过程中能够根据需求,还有竞品软件剖析对易用性的通用原则列出来list,然后测试人员根据list开展测试。
•性能测试:
说大白话也就是双11整点的过程中,用户量增大,怎么可以模拟很多用户开展操作,看看有木有出现异常负载条件对系统的各项性能指标开展测试。
以上也就是软件测试的一些基本概念,上面说的测试类型或是必须理解了,才大致了解软件测试都有什么;
三、软件测试的日常
先回答题主问题,有人说测试很闲的并且晋升空间不大,也就个8-9k。一般做了几年功能测试的,升不上去的人会说闲的,还会说空间不大。软件测试这种领域绝对不是一个混资历的领域,也不是混年限的领域。
软件测试的日常生活:
有项目的过程中,项目开始的过程中,以开需求评审会了解迭代功能模块需求,也就是一边看文档一边开会的日子。了解阶段必须尽可能的将测试点梳理的十分细,在梳理过程中假如遇到需求逻辑不符的过程中,能够先找产品确认。主要是和不一样的人员,测试的侧重点不一样;
项目中期的过程中,就需要开始写文档了也就是测试用例。如果你是个自动化测试呢,就需要开始剖析,或是接受领导的剖析,哪一个模块必须用到自动化,你负责脚本中那个部分。中期遇到bug,还必须不断的和开发沟通。假如bug提交了,必须开展回归测试。
项目后期工作内容:
执行测试完成之后,测试人员必须对本次测试下个结论,到底是测试通过或是不通过。这个时候软件测试人员必须得出结论了,可是不能一句话就给开发和产品经理说,能够上线或是是项目不通过。
四、零基础如何自学软件测试
我们按照开篇的具体内容,可以直接按照自动化如何自学。由于学到功能不太好,我们就可以直接零基础可以直接到自动化,许多功能测试入行三四年薪资还是职位都没有什么太大的提升,根本原因就是一入功能深似海,再去学技术等于雾里看花。
4.1互联网程序的原理>>自动化的必经之路
web前端开发基础:HTML、CSS基本具体内容学习。
web前端开发脚本:JavaScript最主流的脚本学习,同样的,这也会在自动化测试中设计没在某些工具中其实也常常会使用动态脚本,也是JavaScript语言。
开发者调试工具测试应用:虽然浏览器的F12被命名为开发者工具,但其实无论是在功能测试还是自动化中,都起了很重要的功能。比如解析HTML,定位元素,调试脚本监控网络还有抓包;
互联网程序网络架构:TCP/UCP/HTTP等等协议的关联是什么
HTTP协议数据结构分析:完整歇息HTTP协议数据结构,包括Request、Respouse数据格式,Header的定义和用法各种状态代表什么意思,如何辨别。
Cookie与Session机制:解读cookie到底是什么还有它和session存在什么样的关联,如何测试必须留意些什么?
4.2Mysql数据库
我讲的进阶性测试,其实不应该只滞留在“增删改查”
•从mysql数据库测试应用:也就是环境搭建,客户端Navicat的使用与数据库操作还有数据相关的sql语法,增删改查你都必须掌握
•Mysql高级查询:查询升级,多表查询,子查询,查询分组,统计函数的使用(如果报名培训机构这里要问清楚,好多机构没有哦)
•Mysql自动以函数:内置函数还有自定义函数的位置,也是常常会使用的。
•Mysql存储过程sp:数据库必不可少的存储过程,一般也叫sp,怎么定义怎么测试,如何使用更安全,测试究竟用存储过程还能做什么更有利于测试的具体内容;
•Mysql事务与编程:数据库事务使用的案例还有索引的原理和使用,数据库sql编程在测试中的应用;
4.3抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用的项目;
4.4接口测试工具
接口测试Loadrunner、JMeter、Postman;
现在很主流的测试工具有两款JMeter和Loadrunner。相比较于Loadrunner功能强大齐全必须收费而言,JMeter开源而且精悍短小。
尽管Loadrunner功能强大,但是许多项目都用不上就成了摆设。所以越来越多的企业都更倾向于JMeter。
其实两款工具还有某些模式上的区别,但是今天的关键是帮助大伙儿快速掌握jmeter。
4.5web自动化测试JavaorPython
这里必须熟练掌握的具体内容是TestNG&unittest自动化框架,断言和日志处理;
自动化其实主要是思路,在掌握业务上的思路,而且非是全部东西都适合自动化的。拿到一个项目,要先做分析,哪个模块进行功能测试,哪个模块要自动化,写代码的有谁,必须些脚本哪个框架。
Java或者Python任选一个:没有代码基础和非计算机专业的建议python入门。其实python入门了,再学java也没事,可以帮助你更好的理解面向对象;
web自动化就需要说到selenium3的应用了:
•开源软件:源代码开放可以根据必须来增加工具的某些功能;
•跨平台:Linux、windows、mac;
•支持多种浏览器:Firefox、Chrome、IE、Edge、Opera、Safari等;
•支持多种语言:Python、Java、C#、JavaScript、Ruby、PHP等;
•成熟稳定:现阶段已经被Google、百度、腾讯等公司广泛使用;
•功能强大:可以实现相近商业工具的大部分功能吗,由于开源性,可实现定制化功能;
4.6接口移动端自动化
专业的接口调用还有测试的解决方案,组件完整的web和接口自动化框架,Appium整体使用
4.7敏捷测试&TestOpsgoujian
持续集成Jenkins框架必须熟悉到烂;
Jenkins框架实战,持续集成是最常见的框架,必须学会Jenkins操作、权限、系统管理等等,常见构件与运行实力讲
解静态的扫描测试Sonar:一款自动化代码扫描工具,也可快速发觉代码中的难题,做到提前发觉同一规范,自动化中的代码测试软件。应用不难~
4.8性能测试&安全测试
完全进阶了,安全不是什么人都可以学会的,嘿嘿从功能到安全也非常难,不过可以立个flag
对于性能测试还是比较好了解一些:界面基础知识对性能很有帮助,性能方面工具只是辅助,更多的是思路和策略;
绩效测试工具操作实训:前面有基础,了解脚本完全不是难题,需要进阶的是关键参数化、动态数据关联、实物、日志等,大多数脚本都能通过练习。
安全性测试的起源和工具介绍:怎样进行安全测试,有什么类别的安全测试?都会使用什么样的工具,各自的功能是什么。web漏洞扫描,端口扫描,系统扫描等。
web安全测试手工实战:界面测试在安全中心的作用下,不会进行手动安全测试,基本上无法了解以后自动运行的结果。
[软件测试资料免费领取 100+ 名企测试内推资源倾情分享]