自动化测试(1610)

开发转测试:需要从基础零做起,那到底该做哪方面的测试呢?先看看热论的 自动化测试。

了解后定位:Web UI 的自动化测试

       现在市场上以web项目为主,自己参与多个web项目的开发,有编程经验,于是做Web UI 的自动化测试,工具选Selenium,语言是C#或java。

 

带着疑惑: 

1.1什么是自动化测试,能解决什么问题

自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner、jmeter)。狭义上来讲,通工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。

什么项目适合做自动化测试?适合项目周期长,软件需求变动不频繁;因为自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。

1.2自动化测试职位

大体上有2种:

(1)软件测试工程师(STE:Software test enginer.):手工测试也可以使用功具来模拟手工测试的过程,提高效率;不单单是最基础的手工测试,点点而已。

 (2) 软件测试开发工程师(SDET: Software Development Engineer in Test.):侧重用脚本写测试用例,测试开发工程师。

  

1.3自动化测试分类

 (1)  自动化测试也有非常多的种类:

   对Web UI 的自动化测试程序

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

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

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

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

   单元测试

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

 (2) 初看比较模糊,不明白为什么那么多分类,其实它是基于产品开发不同阶段所对应的测试,如下图

 

     

至于在金字塔中三种测试的比例要根据实际的项目需求来划分。在《google 测试之道》一书,对于google产品,70%的投入为单元测试,20%为集成、接口测试,10% 为UI层的自动化测试。

1.4那如何学习自动化测试? 

自动化测试学习的误区

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

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

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

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

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

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

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

大概步骤如下:

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

1.5自动化测试工具的选择

   (c/s)桌面程序的工具有:QTP、 AutoRunner

  (B/S)web应用的工具有:QTP、selenium、AutoRunner、Robot Framework、

   (c/s)项目推荐使用QTP,(B/S)web应用推荐用selenium。

    我决定selenium 了之后,又面临了一个新的问题,选择一门语言。selenium 是支持java、python、ruby、php、C#、JavaScript 。

    从语言易学性来讲,首选ruby ,python

  从语言应用广度来讲,首选java、C#、php

  从语言相关测试技术成度(及 资料)来讲:ruby ,python ,java

  或者你可以考虑整个技术团队主流用什么语言,然后选择相应的语言。

参考资料:

  http://www.cnblogs.com/TankXiao/p/3316355.html#automationTool

  http://www.cnblogs.com/fnng/p/3653793.html

原文地址:https://www.cnblogs.com/2010dream/p/6051793.html