写给想作自动化的我和咱们

写在前面

进入测试行业多年,一直都是在作手工测试或者半自动测试。也接触了不少同行,都很迫切的但愿能作自动化测试,其中不乏工做5年以上的人群。 我也作测试多年,因没有编程能力,没有拿得出手的测试高技能,常常为换工做苦苦挣扎,切身体会到没有自动化技能的痛楚。在此,借鉴下前辈们大牛们的经验,总结些我的体验和所得。php

想作自动化,首先得了解自动化测试一些常见的问题 

一、什么叫自动化?css

自动化测试,就是把以人为驱动的测试行为转化为机器执行的一种过程。即模拟手工测试步骤经过执行程序语言编制的测试脚本自动地测试软件。通常全部测试阶段都适用,多平台多语言都适用。html

 

二、为何要进行自动化测试?java

随着国家计算机信息化的发展,软件都是须要快速迭代,像一些重复性的工做能够经过自动化来完成,从而提升工做的效率和准确性,达到快速迭代的目的。更实际的说:python

a. 自动化测试节约成本(根据项目) web

    毕竟自动化测试确实解放了一批人力(人力成本才是IT公司最大的成本),可让机器没日没夜的执行一些重复劳动。编程

b. 有些测试项目手工很难实现 (手工成本较高)c#

    好比12306的压力测试、负载测试,同时找那么多人去测试不现实能够经过机器去模拟。ruby

c. 项目质量流程须要架构

    好比版本管理须要build verify,以保证check in的code不会影响版本库。

  

 

三、自动化测试的优缺点

A、优势

避免测试人员因重复劳动产生厌倦
提升测试效率
保证每次测试地一致性和可重复性
更好的利用无人值守时间
进行一些手工没法进行的测试
维护成本相对比较高

B、缺点

系统开发时间不必定能缩短
没有手工测试发现缺陷多
UI layout issue 不容易发现

 

四、什么样的项目适合作自动化测试(Dev手一抖,Auto忙一宿)

     有如下几个特色的项目比较适合自动化测试:

  1. 软件需求变更不频繁
  2. 项目周期长
  3. 项目资源充裕
  4. 自动化测试脚本可重复利用

 

五、自动化测试的学习步骤

1. 作好手工测试(了解各类测试的知识)->  2. 学习编程语言-> 3. 学习Web基础-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架

 

六、什么样的人适合作自动化测试?

a. 拥有代码能力
    掌握一门开发语言,java、Python、ruby、c#
b. 熟悉被测系统
    好比你是web测试,你就得懂js、css、html、xpath
    你是移动端测试,你就得具有Android 开发基础和iOS开发基础,会Debug app
    你是 C/S测试你就要很熟悉TCP、IP协议
c. 掌握一套自动化测试框架(工具)
    好比 selenium/appium
    nunit/testng
    robot framework/cucumber
d. 善于学习,达到知其然知其因此然

曾经QTP很火,曾经Selenium也很火,如今Appium也很火。

IT行业变化太快,软件行业从桌面软件到web端,又从web端迁移到移动端,谁也无法预测未来有什么新技术出现。而咱们做为软件行业的从业者,最为核心的能力就是学习能力。

 

七、选择什么工具进行自动化测试

  首先要先确认你所测试的产品是桌面程序(C/S)仍是Web应用(B/S)。

  桌面程序的工具备:QTP、AutoRunner

  Web应用的工具备:QTP、AutoRunner、Robot Framework、Watir、Selenium

  因为B/S架构的诸多优点,早几年前大量C/S架构的应用转为B/S结构。从而也推进了web开发与测试技术的发展。假如,被测试有产品是C/S架构的,那么推荐QTP ,QTP在UI自动化测试领域占到了一半的试用率。因此,足以说明QTP在自动化领域强大,易用性等。学习主流的工具也可使你得到更多的机会。市面上关于QTP的书籍也很是丰富。固然,要想学好QTP ,你必需要掌握VBS脚本语言。

  若是,被测产品是B/S 结构,那么推荐Selenium ,为何不是QTP 或其它工具?由于Selenium 对B/S应用支持很好,更重要的一点,它支持多语言的开发,真正的试用Selenium ,你所要掌握的不只仅是一个工具而已,你还须要学习一门语言。我为何要选择Selenium?还要学一门语言,这无疑增长了个人学习成本。增长成本的同时,也增长的你的竞争力,并且,在这个过程当中你不仅仅只是学会了一个自动化工具而已,你彻底可使用所学的语言去作更多的事情。

  好吧!假如你决定试用Selenium 了以后,你又面临了一个新的问题,选择一门语言。selenium 是支持java、python、ruby、php、C#、JavaScript 。

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

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

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

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

相关文章
相关标签/搜索