分步骤学习自动化测试

软件自动化测试学习步骤

大概步骤如下:

1. 做好手工测试(了解各种测试的知识)->  2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform

-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架

自动化测试的最高境界是:  开发测试工具,设计自动化测试框架, 让别人用。

自动化测试的本质

自动化测试的本质是:用程序测试程序。 也就是说学习“编程语言”是学习自动化测试的基础。

很多人问我学自动化测试,应该去学什么自动化工具。 我的回答是,第一步:应该先学习编程语言,以后再去学自动化测试工具

自动化测试是一定要写代码的, 编程语言水平的高低决定了自动化测试水平的高低, 有了扎实的编程技术,干什么都可以。

学习编程语言时, 要把自己当做开发人员, 系统地学习各种编程知识。

自动化测试学习的误区

很多新手一开始,就学习复杂的自动化测试工具, 我觉得这样是本末倒置了。

如果不先理解HTTP协议, 就不会理解Jemeter, LoadRunner, Fiddler, SoapUI这些工具的。

如果不先理解HTML,DOM, 就不会理解Firebug 这种工具的

如果不先理解Win32 API,  就不会理解Windows 窗体自动化测试的原理的。

如果自己没有开发过网站, 就不会理解网站的各个方面,测试起来难免有遗漏。

总之学习自动化测试,需要循序渐进, 把基础打好。

自动化测试的职位

自动化测试工程师的职位叫做: (SDET) Software Development Engineer in Test.   专注于自动化测试

手动测试工程师叫:               (STE)Software test enginer.           专注于手动测试

微软有很多SDET的职位,但是没有STE的职位, STE职位一般都是外包给外包公司的,  目前自动化测试还是非常吃香的。

自动化测试分类

自动化测试也有非常多的种类,

对Web UI 的自动化测试程序

对Windows 窗体UI的自动化测试程序

API测试, 比如(测试WCF service, Web API 等)

数据库测试, 比如测试存储过程

接口测试 (这种只能用自动化测)

单元测试

性能测试, 性能测试都需要用到自动化

Web自动化测试分类

目前大部分项目都是Web的, 所以我们说的自动化测试,大部分都是针对Web程序的自动化测试, Web自动化测试分两类:

第一类是:模拟用户真实操作,比如,模拟点击鼠标,键盘输入,等,去操作浏览器上的控件。 (代表框架有selenium-webdriver,   VS Coded UI)

这类的自动化测试的是通过高级语言(C#, JAVA, Python 等)来调用selenium的一些工具来操作浏览器,帮助我们实行Web UI自动化

第二类是:模拟HTTP请求。 类似于这种【12306火车票网站自动登录工具】, 这方面的知识,目前市面上资料比较少。 (以后我会出一个系列的教程)

自动化测试的书籍推荐

关于软件自动化测试的书,真心不多, 我查过市面上所有关于自动化测试的书,只找到下面这边书, 掌握了这边书,基本上自动化测试就入门了。

自动化测试工具

测试套件工具: JUnit,  Nunit,  MSTest,  这几个工具功能都一样学起来比较简单。

性能测试工具: JMeter, VSTS 负载测试, LoadRunner(收费), QTP(收费)

Web UI 测试框架:WebDriver/Selenium,  VSTS Coded UI, Watri

Windows UI 测试框架:VSTS Coded UI

其他工具:   firebug,  Fiddler

转载:http://www.51testing.com/html/44/15020244-868237.html

时间: 2024-10-05 10:56:11

分步骤学习自动化测试的相关文章

如何学习自动化测试

软件自动化测试的学习步骤 大概步骤如下: 1. 做好手工测试(了解各种测试的知识)->  2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform -> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架 自动化测试的最高境界是:  开发测试工具,设计自动化测试框架, 让别人用. 自动化测试的本质

CSS3/HTML5实现漂亮的分步骤注册登录表单

分步骤的登录注册表单现在也比较多,主要是能提高用户体验,用户可以有选择性的填写相应的表单信息,不至于让用户看到一堆表单望而却步.今天和大家分享的就是一款基于HTML5和CSS3的分步骤注册登录表单,外观不用说,非常漂亮.你看一下DEMO就知道了. 这里是在线演示,你可以先看看效果. 接下来我们要来一起看看实现的过程是怎样的.代码有点复杂,主要由HTML代码.CSS3代码以及Javascript代码组成. HTML代码: <form id="msform"> <!--

没有代码基础如何学习自动化测试?

因为最近在群里有一些同学,之前没做过自动化测试,但是限于领导要求,或者自己想提升了,开始研究自动化测试,最近记忆比较深的低级的几个问题是: 1.编写一个python的类将 __init__写成_init_苦于问题一直解决不了: 2.想新建一个包,经常将package建成folder: 3.appium脚本中启动的activity或者包名经常写不出来: 4.将包名命名为selenium导致无法引入对应相应库: 5.写个selenium脚本执行不成功抛出异常,跑来问,这个怎么又报错了?异常类型都提示

学习自动化测试工具TW小结

首先,简单介绍下TW工具: TestWriter(简称TW)是一款零编码的自动化测试工具,可以用于功能测试,回归测试,兼容性测试.>>戳戳,免费下载自动化测试工具TestWriter~ 接下来,分享下使用时遇到的一些问题和解决方法: 问题1:执行后测试任务管理中显示 任务列表-状态:待分配: 执行结果:未能找到复合条件的目标 解决方法:请给执行计划配置Agent,并给Agent配置设备.具体的操作,参考用户手册. 问题2:Agent中活跃的对号,我这里无法选择上. 解决方法: 1.如果发现Ag

用Java多线程,将任务分步骤处理

场景简单,其实就是在做WEB请求的时候,处理的结果需要同时通知到一个第三方服务器,通知后再把结果返回给客户端. 现在这个通知只是一个简单通知,如果直接加在客户端请求里面,客户端会在请求第三方服务器时堵塞.另外为了客户端不能超时,所以通知失败后也不敢多次请求. 这里可以使用定制任务来解决这个问题,一个客户端请求后产生一个定制的任务,然后服务后台进行多线程的异步处理,这样就会大大减少客户端的请求时间,同样最大程度保证这个通知是及时成功给第三方的. 定制任务我们需要一张表,来存储任务.同时需要多线程来

【转载】如何学习自动化测试?

作者:杜亮链接:https://www.zhihu.com/question/22211535/answer/104944296来源:知乎 首先是定位,自动化也有很多方向web.接口.APP,不同的方向所要掌握的技能点也不一样,很少有开源的工具能够解决所有类型的自动化,而专一解决某种类型的自动化工具功能比较单一,需要集成其他工具来完成最终的每日构建.下面分别介绍三种类型的自动化: 时下最炙手可热的APP自动化随着移动端创业的热潮,APP从业者的薪资也跟着水涨船高,APP测试自动化这个新兴的分支正

网页发布步骤--学习

发布网页步骤: 一,打开计算机管理 点开IIS-->网站-->右键Default Web Site,如图: 1处为这个网页起个别名,2处链接到你的网页,不要处理程序 就是个工程包, 我的是这样的 回到上一页面点确定就ok了, 浏览网页 就可以看到发布的网页了 如果网页是高版本上写的,发布的时候又是低版本的,网页会正常显示,但是通过ajax的后台程序不会返回数据,所以要把现在发布的版本提高,步骤如下: 刷新就可以了

JSON中使用jsonmapper解析的代码和步骤 学习笔记

代码: using LitJson;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks; namespace JSON操作{ class Program { static void Main(string[] args) { //7.创建一个集合来储存我们遍历的三个对象并添加到这个集合中 List

自定义View步骤学习笔记

用途 : 一个View内部的子控件比较多的时候可以自定义一个View,把它内部的子控件屏蔽起来(就像苹果的导航栏上面的UIBarButton,你是通过BarButtonitem来修改显示的内容) 1.重写 initWithFrame 和 awakeFromNib(一般两个都要写),然后在写一个初始化的方法,在初始化方法中添加子控件和初始化子控件(当然也可以使用懒加载的方式来初始化子控件) 2.在layoutSubviews方法中调整子控件的位置和尺寸 3.提供一个模型属性,让外界来设置显示的内容