从功能测试转成自动化测试,软件测试工程师该如何成功转型?

栏目: 编程工具 · 发布时间: 6年前

接触了太多测试同行,由于多数同行之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的同行。 从事软件自动化测试已经近十年,接触过底层服务端、API 、Web、APP、H5 等等,对自动化算是比较了解。在此分享一下个人经验。

如果对自动化完全不了解,每天在那嚷嚷要做自动化,都是空喊。

从功能测试转成自动化测试,软件测试工程师该如何成功转型?

所以 想做自动化, 首先 得了解一下自动化测试的一些常见问题。

1. 什么是自动化测试?

自动化测试,顾名思义,自动完成测试工作。

通过一些自动化测试 工具 或自己造轮子实现模拟之前人工点点/写写的工作并验证其结果完成整个测试过程,这样的测试过程,便是自动化测试。

因为每一个自动化测试的case都是从手工测试做起的, 所以自动化测试的基础是手工测试

 2. 为什么要进行自动化测试

1)自动化测试节约成本(根据项目)

2)有些测试项目手工很难实现(手工成本较高)

3)项目质量流程需要

3、自动化测试的优势及劣势

优势: 回归测试更方便可靠;可运行更多,更繁琐的测试,且快速高效;可执行一些手工测试执行相当困难或者做不到的测试,如大量的用户并发;更好的利用资源,具有一致性和可重复性的特点,自动化测试脚本完全可复用;提升了软件的可信度;多环境下测试等。

劣势: 维护成本相对比较高

系统开发时间不一定能缩短

还是得依赖手工测试,很多问题无法发现

4、自动化测试分类

按测试目的分类大致可划分为:功能自动化测试,性能自动化测试

按测试对象可以划分为:Web应用测试,APP测试,接口测试,单元测试等

功能自动化

测试目的是发现软件中实现功能是否符合用户需求规格,实践证明,往往我们实施UI自动化测试的目的不是去发现软件系统中的缺陷,更多的是为了验证系统是否可以正常运行。

除了可以基于UI进行自动化测试,我们还可以基于网络服务接口提供者进行测试,基于接口进行功能测试较为常见,也是非常有效的手段。

另外还可以基于系统基础代码进行测试,比如单元测试,集成测试阶段,这一阶段的测试也称白盒测试,我们可以直接对DAO,Service服务进行测试,这里常用的测试技术包括Junit, TestNG, Mock, Stub等

性能自动化

性能自动化测试是通过测试工具模拟高并发负载进行压力测试,以发现软件系统在高负载情况下运行瓶颈, 包括 应用程序本身的性能瓶颈,网络瓶颈,服务器硬件资源瓶颈,数据存储服务器等,通常唯有借助自动化测试工具来完成,常见的性能测试工具包括,Loadrunner, Jmeter, Ngrinder, Gatling等,不管哪一款测试工具,基本有三大部分组成:测试脚本管理,测试场景配置,监控结果。

与功能自动化类似的是,性能测试工作对象也可以面向用户UI层,或者服务接口提供方,甚至可以直接面向底层基础业务逻辑层,绝大多数通过用户层进行性能测试模拟的是最接近真实用户场景的测试,也是性能测试必然实施的阶段

6、 自动化测试的流程

  从功能测试转成自动化测试,软件测试工程师该如何成功转型?

7、 自动化测试常用工具

下面 简要的罗列常见的测试,以及适合其最佳的测试工具。

性能测试工具 :Loadrunner,Jmeter,Ngrinder,Gatling,每款测试工具存在一定的差异及其局限性,可以参考相关文档详细了解。

功能测试工具 : Selenium, QTP

APP自动化测试工具 :Appium, UI Automator, MonkeyRunner, Android UI测试推荐使用UI Automator, 是Android提供的自动化测试框架,基本上支持所有的Android事件操作。IOS应用程序可以选择使用Appium。

接口自动化测试工具 :Junit,TestNG, OKhttp, HttpClient,Spring Restful等,需要有一定的编码经验,当然也有现 成的工具,比如Postman,HttpRequester,SoapUI等。

单元测试工具 :Junit, TestNG, EasyMock, Mockito, JMockit等

8、什么条件的人适合做自动化测试

1)拥有代码能力

掌握一门开发语言,java、 Pythonruby 、c#

2)熟悉被测系统

比如你是web测试,你就得懂js、css、html、xpath

你是移动端测试,你就得具备Android 开发基础和iOS开发基础,会debug app

你是C/S测试你就要很熟悉TCP、IP协议

3)掌握一套自动化测试框架(工具)

比如selenium/appium nunit/testng robot framework/cucumber

4)善于学习,达到知其然知其所以然

IT行业变化太快, 新兴的东西出现的频率快,只有不断地学习,才能与时俱进,不被淘汰。

总而言之

学习一门开发语言Java/Python,学习一个测试工具selenium/appium,掌握一个测试框架,平时多沉淀,然后抓住机遇,即可轻而易举的转型自动化测试。

关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索

算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索

Sedgewick / 高等教育出版社 / 2002-1 / 49.00元

本书通过C++实现方案以简洁、直接的方式对书中的算法和数据结构进行表述,并向学生提供在实际应用中验证这种方法的手段。   本书广泛地论述了与排序、搜索及相关应用有关的基本数据结构和算法。覆盖了数组、链表、串、树和其他基本数据结构,更多地强调抽象数据类型(ADT)、模块化程序设计、面向对象程序设计和C++类。本书包括排序、选择、优先队列ADT实现和符号表ADT(搜索)实现,配有帮助学生学习计算......一起来看看 《算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具