我 接触了太多测试同行,由于多数同行之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作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、 Python 、 ruby 、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技能,从不会到熟练只差一步。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 红宝石 – 单元测试复制功能还是测试输出?
- 自动化功能测试平台TestComplete的分布式测试教程(二)
- 一站式测试管理平台itest(爱测试) 6.6.2 发布,迫切便捷功能实现
- PlatON测试网络重大功能升级
- DotNetCore跨平台~功能测试TestHost的使用
- Ceph Mimic测试Dashboard功能
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法:C语言实现
塞奇威克 / 霍红卫 / 机械工业出版社 / 2009-10 / 79.00元
《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》细腻讲解计算机算法的C语言实现。全书分为四部分,共16章。包括基本算法分析原理,基本数据结构、抽象数据结构、递归和树等数据结构知识,选择排序、插入排序、冒泡排序、希尔排序、快速排序方法、归并和归并排序方法、优先队列与堆排序方法、基数排序方法以及特殊用途的排序方法,并比较了各种排序方法的性能特征,在进一步讲解符号表、树等......一起来看看 《算法:C语言实现》 这本书的介绍吧!