51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4587|回复: 7
打印 上一主题 下一主题

[转贴] 如何学习自动化测试

[复制链接]
  • TA的每日心情
    无聊
    前天 09:05
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2016-6-30 15:24:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    文章出自:博客园   作者:肖佳
    最近很多做软件测试的朋友问我,如何学习自动化测试(Automation test)。 有些人说平常的测试工作很枯燥无味,没有技术含量,迷失了方向。 还有的说闲得要命,想学点自动化测试。
    自动化测试是我们高级软件测试人员必备的技能。高级软件测试人员不光会做测试,还会做开发。
    我从自己8年的经验出发,总结了下我对自动化测试的看法。如有不对的地方, 还请大家纠正。
    软件自动化测试的学习步骤大概步骤如下:
    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火车票网站自动登录工具】, 这方面的知识,目前市面上资料比较少。 (以后我会出一个系列的教程)

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

    了解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



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏6
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2016-6-30 16:19:37 | 只看该作者
    性能测试呢?有几年工作经验的是学自动化还是性能?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-12-26 14:30
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
    发表于 2016-6-30 17:56:50 | 只看该作者
    hans_test 发表于 2016-6-30 16:19
    性能测试呢?有几年工作经验的是学自动化还是性能?

    推荐自动化   性能水太深!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-1 11:35
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]测试团长

    6#
    发表于 2016-7-1 09:37:50 | 只看该作者
    对于电子商务网站的自动化测试,".NET软件测试自动化之道"这本书也适用么?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-1 11:35
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]测试团长

    7#
    发表于 2016-7-1 10:14:58 | 只看该作者
    请问楼上介绍到的书有资源下载吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2016-7-5 15:23:22 | 只看该作者
    iPhone手机自动化工具哪个好
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 02:50 , Processed in 0.077315 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表