经常听到一些行业内的朋友说
“做测试,有手就行”
但事实真的是如此嘛?
随着测试行业的发展,越来越多的测试岗位对自动化测试,性能测试都有所要求,这对于很多只会功能测试的职场老人们来说,有了一丝丝的危机感。
如果还是停留在以前的技术水平,没有向时代看齐,淘汰,几乎是一瞬间的事情。
而小帅,横跨IT界,手持各种秘密绝招。对于你们担心的事情,搞到解决方法,简简单单,so easy~
其实很多只会功能测试的测试从业人员知道自己的技术缺陷,但不知道如何提升,或者知道如何提升技能,也下不了狠心。
那小帅先让大家来看一下,目前行业内的一个职业发展方向,大体上有两条路径。
一条走的是管理路线,一条走的是技术路线。不管是管理路线,还是技术路线,他们的前提是你已经具备相当的职业专业技能。
但在职场中,因为公司或者个人原因,大部分人都没能达到及格线。这种情况下,需要大家把这些技能不断完善,去争取职场红利。
而小帅在这里,首先建议大家恶补自动化测试和性能测试。大家都做了长时间的测试工作,对于软件的基础知识肯定是没有问题了,接下来只需要补齐空白的部分就好了。
1、自动化测试
自动化测试就是让被测试的软件自己运行起来,执行软件的功能;或者就是让其他的工具自己运行起来,去检查软件的内部和外部。
一个核心的问题:自动。什么叫做自动呢?让机器自己动,就是自动。让机器按照人类的要求,把软件的所有功能测试一遍,这是自动化。可是机器听不懂人话, 它只会编程语言。
所以,第一件事——学习代码。
目前对于软件测试而言,代码的学习有两个选择。一个是Python,一个是Java。小谷推荐大家学习Python,因为对于没有代码基础的同学而言,Java的入门学习最起码三个月难度太大。
Python作为一门弱类型语言,上手的难度就简单很多。每天花2~3个小时用来学习,差不多一个月就能入门了。而Java可以在大家的日常学习中,慢慢渗入,补齐短板。
有了代码的基础,然后就可以入手开始学习自动化相关的知识了,自动化主要有以下两大构成要素。
1、接口自动化测试
目前市场上大部分项目,都是前后端分离的项目,由此产生了大量的接口。而接口自动化测试,主要是对接口进行测试。
这里有几个知识点和工具,必须掌握。
1、HTTP和HTTPS协议
在主流程的接口测试中,有大量接口是基于HTTP协议实现,数据安全用HTTPS协议进行保障,所以HTTP和HTTPS协议必须掌握。
2、接口文档
在实际工作中,接口信息的载体除了代码,那就是接口文档(开发人员提供),了解接口文档的结构、内容和规范可以帮助我们深度参与接口测试以及接口自动化测试。
3、接口测试工具Jmeter和Postman
meter是近几年兴起的接口测试工具,它最大的特点就是免费开源,容易学习。
Jmeter官网:https://jmeter.apache.org/index.html
Postman工具也很强大,在实际的项目应用中,几乎每个开发都会使用Postman来调试接口请求。
Postman主界面
4、Mock测试
在自动化测试中,不是所有的功能都适合自动化测试,对于一些难以处理的测试点,我们不得不使用Mock技术来模拟。
5、总结
掌握这几个知识点后,对于HTTP协议的接口自动化测试,完全可以掌握和应用;甚至还可以进行小规模的接口性能测试。
2、UI自动化测试
如何学习UI自动化测试呢?这里,我们可以先学习Web自动化测试,再学习App自动化测试。
1 、Web自动化测试
推荐Selenium工具和Robot framework
推荐理由:Selenium和Robot framework是世界上排名前十的自动化测试工具(不区分UI自动化和接口自动化)
如下图所示2019年最受欢迎自动化测试工具:(Selenium高居榜首)
Selenium主要是进行Web自动化测试,同时在手机APP自动化测试中,有一些测试框架也是基于Selenium来实现。如果要进行Web自动化测试,学习selenium是不二之选。
Robot Framework是python语言编写的功能自动化测试工具。具有良好的扩展性,支持关键字驱动,支持同时测试多种类型的客户端或者接口,还可以进行分布式测试。
Selenium和Robot framekwork 两者如果都能够掌握,那么无论是主流的Web自动化测试,还是其他UI的自动化测试,都能够有自己的心得,并且在市场中占有一席地位。
2、App自动化测试
应该选择哪款工具?看一组数据(主流):
支持的功能数据(TesterHome得到)
从上图可以发现,Appium无论是在市场利用率,还是在功能上,都比其他工具要强。而且,Appium不仅支持安卓还支持iOS,所以在这里,我们选择学习Appium最能满足市场的需要。
大家可以登录官网(http://appium.io/)进行学习
中文学习手册::https://www.kancloud.cn/testerhome/appium_docs_cn/2001595
2、性能测试
性能测试,相对于自动化而言,入门就比较简单了。
首先,对性能测试相关的概念有所了解,明白什么是性能测试,以及测试的目的是什么
接着,学习使用工具JMeter或者LoadRunner,进行性能测试,性能测试最难的其实是调优,这个就需要对代码以及数据库有更深的认知之后才可以完成。具体来讲:
1、性能测试的基础理论
基础理论这块没有特别严格的定义,一般在测试工作中主要需要了解以下四部分:
1、性能测试的方法:分为后端性能测试、前端性能测试、代码级性能测试、压力测试、配置测试、并发测试,以及可靠性测试。
2、性能测试的基本流程。
3、性能测试的场景:比如基准性能场景、容量性能场景、稳定性性能场景、异常性能场景。
4、性能测试报告的撰写。
2、性能测试的常见指标
性能三个最常用的指标是:并发用户数、响应时间,以及系统吞吐量。
3、性能测试工具
工具这块,一般需要你能熟练掌握主流的性能测试工具,并且了解一些其他的测试工具,能够根据需要选择适合工具。
🔺 后端性能测试工具:Jmeter和LoadRunner(LR)。
LR是收费的,传统企业用的多一些。Jmeter是开源免费的,互联网企业用的多。建议可以先学会Jmeter这个最常见的工具是如何使用的。
官网链接:https://jmeter.apache.org/
🔺 前端性能测试工具有:WebPagetest、YSlow。
WebPagetest是用的比较多的,也是一个免费而强大的工具。
官网链接:https://www.webpagetest.org/
🔺 客户端性能测试工具:Perfdog、Mobileperf等;
WeTest客户端性能测试工具-PerfDog性能狗:https://wetest.qq.com/product/perfdog
天猫团队开源的PC Android性能稳定性测试工具-Mobileperf:https://github.com/alibaba/mobileperf
可以收集Android性能数据: cpu、内存、流畅度fps、logcat日志、流量、进程线程数、进程启动日志。
🔺 性能测试监控工具
1.Profiler。一个记录log的类,阿里巴巴集团自主开发,嵌入到应用代码中使用。
2.Jstat。监控java[/url]进程GC情况,判断GC是否正常。
3.JConsole。监控java内存、javaCPU使用率、线程执行情况等,需要在JVM参数中进行配置。
4.JMap。监控java程序是否有内存泄漏,需要配合eclipse插件或者MemoryAnalyzer来使用。
4、性能分析和调优
这块也是性能测试最难的部分。
好了,该说的,不该说的,小帅都说完了,大家记得去学习哦~
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!朋友们如果需要可以自行免费领取 【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你