如果我来回答,我觉得不难
首先来看一张统计图表
统计了200多个正在做测试的童鞋现在的日常工作内容,统计结果基本在预料之内,那就是现在的测试距离完全自动化还有很遥远的距离,也就是说手工测试仍然是工作中的主要内容。
但是。。
虽然我们都知道工作中的主要内容是点点点,但是面试时候肯定不只问你这些内容,单纯从面试上来讲手工测试可以被问的内容不是很多,所以导致现在面试时候会问到大量关于自动化测试,性能测试,接口测试,甚至安全测试的问题,这个情况就是我们常说的面试造飞机,工作拧螺丝
回到问题上。。
自动化测试难不难,首先要明白自动化测试是为了什么,什么样的形式可以称之为自动化测试
1.自动化测试 分为自动化功能测试和自动化性能测试,我们常说的也就是自动化功能测试,也就是使用代码或者工具来实现对项目的测试覆盖,并且我们现在所说的自动化测试一般指的是应用于web端
2.任何与手工测试比起来效率较高的测试都可以称之为自动化测试
所以,自动化测试难不难关键在于选择什么样的方式
常用的自动化测试工具:
1.QTP 和loadrunner属于同宗同源,都属于HP公司,使用方式也是大同小异,通过录制脚本,调试脚本,回放脚本达到对功能测试用例的覆盖,但是这样的方式太笨重,受制于软件提供的功能,所以现在QTP已经不再作为主要选择
2.Selenium 可以搭配Java Python Php 等编程语言,使用selenium需要了解一门脚本语言,selenium中提供了较为全面的控制浏览器的方法,使用selenium工具并不难
3.Appium 移动端自动化测试,但是应用于安卓的居多,App自动化测试一直是个大坑,因为App的版本更新太快,使用自动化测试的回报值也最低
怎么来学习自动化测试:
1.如果是没有代码基础的同学,建议选择Python,Python作为一门强大并且简单的编程语言,已经受到了大多数测试人员的认可,并且在实际的工作中,领导往往会以结果为导向,主要看你能不能实现自动化测试,而不会关注你实现自动化的方式,所以想要快速上手,Python是第一选择
2.如果有一定代码基础,并且逻辑思维较强,选择Java,毕竟现在大多数web项目都是使用Java语言开发,选择Java实现自动化测试可以无缝连接
3.学习路线:
1.选择好适合自己的脚本语言后,可以先学习代码基础语法,不论是Python还是Java都需要学习到面向对象编程,熟悉流程控制语句,数据代码中的数据类型
2.学习selenium工具的使用,可以直接调用selenium中的方法,编写简单的脚本
3.学会优化脚本结构,测试过程中有些重复的步骤,可以使用封装的方式统一保存,编写脚本时再去调用
4.学会设计代码结构,自动化测试虽然是应用于测试,归根结底还是一个代码项目,所以良好的代码结构便于后期的维护
5.选择适合项目的自动化代码框架,现在主流的框架设计思路为 数据驱动测试,行为驱动测试
页面对象模型,业务对象模型,具体怎么选择有同学想了解可以私信我
最后的最后:
自动化测试只要有过一次完整的项目经验,就可以将这次编写的框架应用的其他项目中,所以从难度上来说是比手工测试要简单的,手工测试需要大量的实际项目经验,才会有较好的业务分析能力,场景设计能力
相信自己,如果坚持学习,自动化测试一点都不难