一般来说,手动测试是入门级别,自动化测试是进阶,手动测试到自动化测试是一个由低向高逐渐进化的过程。

目前手动测试完全依靠的是专门的测试人员操作移动端设备或者PC端设备进行产品测试,而自动化测试是由测试人员使用相关的测试工具或者测试人员编写代码生成的工具进行测试,而能够编写代码进行产品测试是每一个测试人员的终极目标,即高级测试。

接下来说下什么是自动化测试工程师,自动化测试的从业要求有哪些,为什么自动化测试要会编写程序,哪些模块可以进行自动进化测试等问题

一.什么是自动化测试工程师

是一种自动化测试系统的设计与建设的人员。首先,负责自动化测试系统的设计与建设,完成自动化测试用例与脚本的设计与编写。其次,确保TD-SCDMA Operation & Maintenance system软件质量。对被测系统进行,压力测试,稳定性测试。

另外,掌握QTP工具Lordrunner、Robot、QTP等自动测试工具的应用、Tcl/Perl/VB编程等语言

二.自动化测试进阶历程

初级阶段:会使用测试工具的测试人员,不能够称为真正的自动化测试人员,一般可称为“工具小子”,

中级阶段:会使用测试工具的同时,能够根据业务进行简单脚本的编写

高级阶段:除了中级阶段部分,测试人员能够编写一些复杂工具供其他测试人员使用,并且结合实际业务,帮助他们解决问题

三.自动化测试从业要求

(1)、熟悉主流开发技术与自动化测试框架

(2)、熟悉主流自动测试工具,能熟练运用工具从事过相关测试工作

(3)、一年以上编程经验;至少一年脚本编程经验(Tcl/Perl/VB优先),至少2年以上开发或自动化测试经验;

(4)、熟悉ORACLE 或MYSQL、SQL SERVER数据库,并能熟练编写SQL语句,具备linux/unix、windows多平台开发、测试经验;

(5)、熟悉UNIX平台,能熟练使用UNIX操作系统。有相关行业背景者优先考虑

(6)、具有很强的沟通理解能力和协调能力、前瞻创新能力,学习能力强,工作积极主动;

四.自动化测试为什么要会编程

自动化测试人员一定要有开发能力,而这恰恰是目前市场反馈测试人员所欠缺的。没有开发能力的测试人员虽然也可以做一些所谓的自动化,但也仅仅是一些皮毛,没有办法做到活学活用,更无法胜任高职位。根据某机构的调查数据,目前所有从事测试工作的人中,90%的人都没有任何开发能力。根据目前的市场行情,如果在精通一门开发语言,能够从纯手工测试转型为自动化测试工程师,月薪至少增加3~5k。这一点,已经从朋友的职业经历得到验证。

五.自动化测试模块级别有哪些

自动化测试分为三个层级:单元测试、接口测试和UI测试,这三层成一个金字塔形状分布。UI测试在最上层,接口测试在中间,最底层是单元测试。三个层面有何区别?下面通过表格来对比

手工测试人员怎么转测试开发
 

单元测试

单元测试无疑是最适合做自动化的,但是,现实情况下,单元测试在绝大多数时候,都是由研发人员自己完成。单元测试的代码行覆盖率能够达到70%,就是一个非常不错的程度了。不过,测试人员不做单元测试,但是可以尝试推动测试人员来编写单元测试用例,可提高编写代码能力

单元测试常用的框架——XUnit,比如Java的JUnit,PHP的PHPUnit,Python的UnitTest等等;

一个测试用例通常由三部分组成——setUp,测试逻辑,tearDown。setUp用于准备测试数据,tearDown用于清理数据;

一般单元测试框架都支持装饰器设计模式的注解,比如跳过执行,测试套件的组织,测试用例依赖管理等等

UI测试

目前,大部分的测试人员关注的多是UI的自动化测试。在传统的测试行业,测试工程师都是从UI下手,来完成所有的测试工作,所以到自动化领域,大家也理所当然的喜欢从UI层来进行自动化。做UI自动化。UI测试有以下几点思想供参考

分布式思想——— 一般当我们的case变得越来越多的时候,如何高效快速执行这些case成为关键,这就涉及分布式,Selenium,官方提供了一个Grid,可以适当研究下,理解一些原理

数据驱动思想—— 业务逻辑在某种程度上存在共性,同一段代码的业务逻辑可以通过更换数据输入,来生成多个测试用例,我们只需维护测试数据就可以维护case,这种框架思想在很多测试工具中都有实现

接口测试

接口自动化,是目前最适合测试工程师进行自动化的一层。接口不但变化小,运行速度快,出现问题后能够很快定位。

六.什么时候做自动化

需要明确一点,自动化是为了保证各项功能模块正常而做的工作。

1.项目稳定时,此时自动化可以参与其中,因为这时针对已有功能,项目功能模块比较稳定,即便后续更改也是迭代,自动化测试变更基本不大,而对新功能,不确定性风险高

2.需要反复进行某项测试,可以考虑使用局部自动化

3.某项功能测试,需要多个输入时,可以考虑使用自动化测试

最后,自动化测试之路是漫长的,涉及的知识面也是比较广的,不过,只要有信心,每天一小步,每天进步一点点,长此以往,你会发现自己越来越成长,越来越优秀。