很多小伙伴工作在功能测试行业工作了2、3年后,发现自己已经把功能测试做的非常好了,已经到职业发展和薪资发展的瓶颈期了,就想着学点东西,提提升一下技能。
而对于功能测试升级来说,一般有这么3个主流的发展方向:一是性能测试,一是接口测试,一是自动化测试。当然啦,还有很多可发展的方向,但是最热门的应该就是这3个了。尤其是自动化测试,更是成为了很多小伙伴的主要目标(毕竟大厂招聘比较多)。所以,接下来,我们就一起来聊聊自动化测试的内容。
1、什么是自动化测试?
根据百度的解释,自动化测试就是指:软件测试就是在预设条件下,运行系统或应用程序,评估运行结果。预先条件应包括正常条件和异常条件。自动化测试是把以人为驱动的测试行为,转化为机器执行的一种过程。
简单来说,就是将重复手动测试的部分,通过代码转化为机器执行,实现批量化操作的过程。当然,我猜大家对此都有了解,就不赘述啦。
2、为什么要进行自动化测试?
那么,为什么进行自动化测试呢?
其实,不论是站在企业或是个人的角度,做自动化测试都是大势所趋的。你比如:
1)对于企业来说,尤其是大企业,自动化测试确实可以通过解放一大批人力,从而节约项目成本。毕竟,人力成本才是IT公司投入资金最多的地方,所以,没必要把人才浪费在重复测试的地方。
2)有的测试,比如如什么12306这类官方购票软件的阿里测试和负载测试,人为是很难完成测试的。一个是手工成本高,另一个是不现实。我们无法要求百万人同时做购票测试,所以,这种时候必须由机器代劳。
再者,还有一些特殊的项目,也会有这类的测试需求。比如版本管理。我们需要核对新的code不会影响原版本库,所以就需要build verify了。这种也比较类似于冒烟测试。
3)另外,还有一点就是,人要休息,机器就不怕,可以节约很多时间成本。
当然,自动化测试也不是没有缺点,但是对于能力提升这一块,什么成本高、无法完全依赖自动化测试什么的,都不是我们要考虑的问题,所以在这里我就不赘述了哈,大家可以自行了解下。
3、自动化测试的工具有哪些?
其实,如果你有简单的了解,就会发现,市面上主流的自动化测试工具,无非就那么几个:Selenium、Appium、Jmeter、Postman、Monkey、LoadRunner。
其实这些工具我们只要学习测试,就都会接触到。但是因为有时候,我们使用到的功能比较少,所以也就把工具“用窄了”。所以,建议大家想进阶的话,先把这些工具吃透哦~
下面我们来复习一下这些工具应用的平台。
LoadRunner:主要用于app、web、其他网路设备和数据库等。它通过模拟大量用户实施并发、负载等行为,来实时监测产品的性能。同时,它还能极大的减少负载测试所需的硬件和人力资源。
Postman:主要被应用于app、web的接口测试之中。
JMeter:主要被应用于web应用程序的接口、负载测试之中,同时还可以支持接口单元测试和部分功能测试。
Monkey:它主要被应用于iOS和Android系统之中。通过adb shell,它能协助生成用户或系统的伪随机事件。
Selenium:主要被应用于web页面相关程序中,是一款网页应用中最好的开源自动化测试工具之一。
Appium:主要被应用于手机iOS和Android系统中,是一个支持多种语言编写脚本的移动端测试开源工具。
4、Python 和Java,哪个语言更适合做自动化测试呢?
从应用的角度来说,Java仍然是时下最主流的编程语言,尤其是在安卓项目中,其地位更是不容小觑。但是,换个角度,就业内大家使用率更高的、自动化测试领域普适度更高的,当属Python莫属了。
因为业内流行的行话,想必大家也听过:人生苦短,我用Python。主要就是因为它简单,而且效率杠杠的,不喜欢都不行。
那么,Python有哪些优势呢?
· Python+selenium:搞定UI自动化测试;
· python request:搞定接口测试;
· python locust:搞定性能测试;
· python Scapy:搞定安全性能测试;
· python selenium:搞定兼容性测试;
另外,最重要的一点,Robot?framework自动化测试框架就是基于Python写的,所以,其实用Python来做自动化测试,其实更好上手一些。
如果你是非计算机专业,转行做测试的人,选择Python就够用了;但如果你是计算机相关专业的同学,也可以挑战Java编写自动化测试框架哦,非常有钱途。相信我~
作者:测试yoyo
来源:http://www.51testing.com/html/10/n-4478410.html