自动化测试是什么?
自动化测试简单来说就是借助工具的方式来辅助手动测试的行为就可以看做是自动化测试。
自动化测试工具有哪些?
现在常用的自动化测试工具包括:
QTP:主要用于回归测试和测试同一软件的新版本
Robot Framework:这是一个基于python编写的功能自动化测试框架,也是很多企业都在用的一款框架,它具有很好的可扩展性
Selenium:这是一款开源的框架,由于它支持多平台,多浏览器,多语言(Java,Python,Ruby,PHP,JS等),使得它在众多测试工具中突破,也是目前被使用最多的一款框架。
Loadrunner:这是用来做性能测试的工具,包括压力测试,负载测试,并发测试
Jmeter:也是一款性能测试的工具,轻巧,免费是很多人使用它的原因
自动化测试包括哪些?
最初《Scrum敏捷软件开发》的金字塔中,最下层是单元测试,单元测试是自动化测试策略稳固的根基,因此也是金字塔结构的最底层;中间层是服务/接口测试,是为了过渡用户界面和程序单元而设计的,认为所有应用程序都由各种服务/接口组成,服务/接口是指实现某一具体功能的程序集合,服务/接口通过输入进行响应而体现。
通过对服务/接口进行测试,而不是对用户界面进行测试,可以极大缩短时间和成本。在Lisa Grispin的Agile Testing《敏捷开发》中,对原来的金字塔补充了手工测试的“帽子结构”,在这种结构中,认为无论自动化测试的效果有多好,总是需要一些人工测试的成分,如探索性测试或用户满意度测试等,所以以云状结构添加了人工测试在金字塔的顶端。
为什么要做自动化测试
在目前中国测试行业中,手工测试的占重比例达到了70%,相对开发来说,测试的门槛低,薪资也相对比开发的低不少,所以做自动化测试,一方面是为了提升自己技术层面的深度,另一方面是为了解决目前国内缺乏更高效的测试技术难题,最后就是为了提高自己在市场中的竞争力,想拿到高薪,不与时俱进是不可能的。
什么类型的项目适合做自动化测试?
如上图所示,一般来说,只需要满足以下几个条件就可以开发开展自动化测试:
产品需求稳定,变动不频繁
自动化测试如果在需求经常变动中执行,会大大增加自动化的维护成本和时间,那样自动化测试就失去了本身的价值了。
项目周期长
自动化测试的需求稳定性要求,自动化框架的设计,脚本开发与调试均需要时间,如果项目周期较短,就没有足够时间去支撑这个过程了,那么自动化测试也就不需要了。
被测试系统开发较为规范,可测性较强
主要出于这几点考虑:被测试系统的架构差异、测试技术和工具的适应性、测试人员的能力能否设计开发出适应差异的自动化测试框架
Selenium的学习使用
通过上面对自动化测试的理解,如果你选择的是selenium作为开展自动化测试的工具,那么在学习selenium之前,如果你没有任何语言编程的基础,建议你能学习以下编程语言:python,ruby,Java,三选一吧,推荐python3作为入门学习的语言,因为python的入门相对其他的语言会容易理解很多。
当你学完python3基础之后,就可以开始搭建selenium测试环境了;
接着就需要去熟悉webdriver API的语法,主要是对定位,操作页面的各种元素的熟悉,慢慢就可以入手自动化测试了。
软件测试学习资料获取关注公众号:程序员雷叔