如何学习自动化测试

转载 2013年12月03日 10:42:30

原文章出自:http://www.cnblogs.com/TankXiao/p/3316355.html

 

 

最近园子里很多做软件测试的朋友问我,如何学习自动化测试(Automation test)。 有些人说平常的测试工作很枯燥无味,没有技术含量,迷失了方向。 还有的说闲得要命,想学点自动化测试。

自动化测试是我们高级软件测试人员必备的技能。高级软件测试人员不光会做测试,还会做开发。

我从自己8年的经验出发,总结了下我对自动化测试的看法。如有不对的地方, 还请大家纠正。

 

阅读目录

  1. 软件自动化测试的学习步骤
  2. 自动化测试的本质
  3. 自动化测试学习的误区
  4. 自动化测试的职位
  5. 自动化测试分类
  6. Web自动化测试分类
  7. 自动化测试的知识点
  8. 自动化测试的书籍推荐
  9. 自动化测试工具

 

软件自动化测试的学习步骤

大概步骤如下:

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职位一般都是外包给外包公司的,  目前自动化测试还是非常吃香的。

 

自动化测试分类

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

  1. 对Web UI 的自动化测试程序
  2. 对Windows 窗体UI的自动化测试程序
  3. API测试, 比如(测试WCF service, Web API 等)
  4. 数据库测试, 比如测试存储过程
  5. 接口测试 (这种只能用自动化测) 
  6. 单元测试
  7. 性能测试, 性能测试都需要用到自动化

Web自动化测试分类

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

 

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

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

 

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

 

自动化测试的知识点 

应该像开发人员一样的心态去学习技术, 自动化测试需要掌握以下的知识:

 

了解Javascript, CSS的知识。 

熟练掌握DOM和HTML知识, (用来解析Web界面)

熟练掌握XML技术,(需要用XML保存测试数据,用XML展现测试报告)

熟练使用C# P/inoke技术调用Windows API (可以用来操作Winform 窗口)

熟练掌握窗体"句柄"的概念

熟练使用C# 操作Windows 注册表 

熟练使用C# 中的Process 类

熟练掌握数据库的基本操作语句 (测试数据库肯定要用到)

熟练掌握HTTP协议的知识 (请参考我的 HTTP系列博客 [HTTP协议详解])

熟练掌握C# 中的HttpWebRequest 类的用法 (用于模拟HTTP请求)

熟练掌握正则表达式

 

自动化测试的书籍推荐

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

 

  

 

自动化测试工具

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

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

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

Windows UI 测试框架:VSTS Coded UI 

其他工具:   firebug,  Fiddler 

 

 
 

从手工测试转型web自动化测试继而转型成专门做自动化测试的学习路线。

   在开始之前先自学两个工具 商业web自动化测试工具请自学QTP;QTP的学习可以跳过,我是跳过了的。 开源web自动化测试工具请自学Selenium;我当年是先学wati...
  • lsd200624101033
  • lsd200624101033
  • 2016年05月09日 16:28
  • 698

菜鸟学自动化测试(九)----WebDirver

关于什么是WebDirver,上一节做了简单的描述,环境也在上一章中搭建完成。 下面我们拷贝了官网提供的一个实例。让其在我们的eclipse中运行。 Selenium WebDirver 代码如下...
  • fnngj
  • fnngj
  • 2013年02月21日 09:42
  • 684

测试开发成长学习路线--引导篇

我相信,有很多测试人员会不断问自己,自己到底要不要坚持做测试,测试的职业发展到底怎么样?如果你还在迷茫,在到处找各种大牛问类似的问题,我希望这篇文章,你看完能够结束你的这个烦恼,给你更多的指明方向,当...
  • u011541946
  • u011541946
  • 2017年06月17日 18:45
  • 4654

菜鸟学自动化测试(一)----selenium IDE

----//前言
  • mengtao0609
  • mengtao0609
  • 2014年11月19日 11:12
  • 673

selenium与自动化测试成神之路

在群里总是会遇到很多人问低级问题,写了一个selenium脚本,却执行失败,跑到群里来问,大神,这里为什么会报错?很多都是明显的语法问题,一问方知,今天刚刚学selenium,之前也没有语法基础,没学...
  • windy143
  • windy143
  • 2017年01月10日 10:58
  • 2273

个人自动化测试路线图

关于jenkins怎么和testlink相关联,官方的文档说明的 http://download.csdn.net/detail/lan0227/9074015 传了一份到这里。也可以去官网下载。C...
  • lan0227
  • lan0227
  • 2015年09月02日 17:17
  • 424

Robot Framework自动化测试

Robot Framework自动化测试(一)---第一个脚本 2014-07-27 18:18 by 虫师, 21720 阅读, 5 评论, 收藏, 编辑     最近工具中用Robo...
  • WHACKW
  • WHACKW
  • 2015年09月28日 16:47
  • 2651

Android自动化测试(UiAutomator)介绍与学习

一.环境搭建 3.1、必备条件:     1、JDK     2、SDK(API高于15)     3、Eclipse(安装ADT插件)     4、ANT(用于编译生成jar) 3.2、简...
  • yongshi6
  • yongshi6
  • 2016年03月04日 18:05
  • 602

Selenium2 Python 自动化测试实战学习笔记(六)

1.1 创建定时任务 为了让自动化测试“自动化”起来,现在我们来创建定时任务,使自动化测试脚本在指定的时间自动化运行。创建定时任务的方法有很多,比如,我们可以写一段程序让其在指定的时间运行all_te...
  • henni_719
  • henni_719
  • 2016年04月18日 11:16
  • 4720

Android自动化测试之Robotium学习(三)

导入好robotium包之后,我们就可以在自己的工程中新建测试类进行测试。下面以我们开始建的RobotiumTest项目为例进行说明。      代码如下: package com.and...
  • tozheng
  • tozheng
  • 2016年05月31日 17:20
  • 1225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何学习自动化测试
举报原因:
原因补充:

(最多只允许输入30个字)