如何学习自动化测试(转)

有些人说日常的测试工做很枯燥无味,没有技术含量,迷失了方向。 还有的说闲得要命,想学点自动化测试。web

自动化测试是咱们高级软件测试人员必备的技能。高级软件测试人员不光会作测试,还会作开发。正则表达式

我从本身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. 开发自动化测试框架

编程语言

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

自动化测试的本质

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

不少人问小坦克我学自动化测试,应该去学什么自动化工具。 个人回答是,第一步:应该先学习编程语言,之后再去学自动化测试工具性能

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

学习编程语言时, 要把本身当作开发人员, 系统地学习各类编程知识。

 

自动化测试学习的误区

不少新手一开始,就学习复杂的自动化测试工具, 我以为这样是本末倒置了。

若是不先理解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 

 

相关文章
相关标签/搜索