如何做自动化测试

这个话题比较大,相信大家也都有自己的想法,我在这里写一些我自己的看法,请大家指教。

什么叫做自动化测试工程师

首先,会使用自动化测试工具的测试人员不能够称之为完全的自动化测试人员,这类测试人员被称为『工具小子』(Script Kid)。这个阶段还是处于自动化测试的一个比较低级的阶段,因为这些工具都不是测试人员开发的。

对于高手来说,要能写一些独立的测试脚本甚至测试工具。

更高的高手则是能脚本和工具和实际工作紧密结合起来,解决工作中遇到的问题。

自动化测试工程师应该具有开发能力吗

通过上述内容,应该可以看得出来,自动化测试人员一定要有开发能力,而这恰恰是测试人员目前所欠缺的。没有开发能力的测试人员虽然也可以做一些所谓的自动化,但是仅仅是一些皮毛,没有办法做到活学活用。根据某机构的调查数据,目前所有从事测试工作的人中,90%的人都没有任何开发能力。根据目前的市场行情,如果在精通一门开发语言,能够从纯手工测试转型为自动化测试工程师,月薪至少增加3~5k。

自动化测试的层级

一般来说,自动化测试分为三个层级:单元测试、接口测试和UI测试,这三层成一个金字塔形状分布。最底层是单元测试,接口测试在中间,UI测试在最上层。下面通过一个表格来对比着三层测试。

层级

所处位置

受益

测试对象

运行速度

定位问题难度

维护成本

单元测试

底层

70%

类或者方法

极快

十分容易

接口测试

中间

20%

服务接口

一般

UI测试

上层

10%

UI

较难

非常高

从表格中我们可以看到,最适合做自动化的是单元测试层,而UI层则不是十分适合进行自动化。

测试人员应该怎么办

单元测试

单元测试无疑是最适合做自动化的,但是,大多数单元测试都是由研发人员自己完成。单元测试的代码行覆盖率能够达到70%,就是一个非常不错的程度了。测试人员不做单元测试,但是可以尝试推动研发人员来编写单元测试用例。

单元测试框架

  • 单元测试常用的框架——XUnit,比如Java的JUnit,PHP的PHPUnit,Python的unittest等等;
  • 一个测试用例通常由三部分组成——setUp,测试逻辑,tearDown。setUp用于准备测试数据,tearDown用于清理数据;
  • 一般单元测试框架都支持装饰器设计模式的注解,比如跳过执行,测试套件的组织,测试用例依赖管理等等
单元测试框架可以无缝地在UI测试和接口测试中使用,它们的基本思想都是相通的。

UI测试

目前,大众眼中关注的比较多的是UI的自动化测试,这是由大家的思维惯性导致的。传统的测试行业,测试工程师都是从UI下手,来完成所有的测试工作,所以到自动化领域,大家也理所当然的喜欢从UI层来进行自动化。做UI自动化,最重要的是要能有一个好的自动化测试框架,这里有一些框架的基本设计思路供大家参考:
  • 分布式——case增加到一定程度后,如何快速的运行所有的case,这就涉及到分布式的概念。对于Selenium,官方提供了一个Grid,感兴趣的同学可以研究一下;
  • 行为驱动——也就是常说的Cucumber,这个领域笔者没有太多的涉足,不误导大家
  • 关键字驱动——由『操作对象』、『操作』、『数据』关键字组合成测试用例,框架来把关键字解析为脚本并执行。这种框架最大的优点就是可以提供给不懂代码的测试人员使用,典型的代表是Robot framwork
  • 数据驱动——同一段代码的业务逻辑通过更换数据输入来生成多个测试用例,我们只需维护测试数据就可以维护case,这种框架思想在很多测试工具中都有实现
  • 关键字和数据混合驱动——目前最高级的框架,将上述两种框架结合起来
当然,这些思路不仅仅能用在UI层的自动化。
对于UI自动化,我个人的建议是只做冒烟测试用例的自动化,这样既可以从UI的角度来重复性的验证主业务主流程没有问题,又可以降低维护成本。

接口测试

接口的自动化是目前最适合测试工程师进行自动化的一层。接口不但变化小,运行速度快,受益高,还有着出现问题后能够很快定位的优点。

什么时候最适合做自动化

首先,自动化测试从来都不是用来发现新的bug的,它更多的是用来验证原有功能是没问题的,新的修改对原有代码逻辑没有影响。所以,当一个项目相对稳定之后,以后的项目都是基于原有代码进行迭代,这个时候自动化的介入是非常有效的。
另外,如果某个用例需要有大量的输入项,做手工测试比较繁琐,我们也可以引入自动化的手段做局部的自动化。比如,验证某个用户登录1000次是否能够登录成功,这种情况使用手工的方式基本是不可能的。

总结

服务端灰盒测试是一个很好的自动化测试的方向,从功能测试向服务端自动化测试转型,需要自己学习充足的编程知识,有一定的变成能力。同时还需要了解HTTP协议(或RPC协议)、设计模式、Linux、DB、前端开发、算法、架构等知识,需要很多积累。如果你不知道怎么做,先写10000行代码!

作为一名自动化测试工程师,你合格嘛?

听说长得好看的都在做 软件测试,测试界从不缺大神,比如张南( Google测试经理)、Lisa Crispin和 Janet Gregory等等这些。在软件测试变的越来越重要的今天, 自动化测试也在崭露头角。
  那么,作为想在自动化测试方面大展宏图以及已经成文自动化测试工程师的你,那么以下的知识你究竟掌握了多少呢。
   自动化测试框架及开发技术掌握
  熟练掌握自动化测试框架的原理,和理论知识,以及在自动化测试框架基础上,完成对 测试用例设计。自动化测试,不仅仅需要掌握UI界面测试,对一些开发知识:如JAVA/C++等开发语言, 数据库知识掌握,代码结构等等技能往往会给自己的 工作添彩。
   测试用例维护
  手工测试相较于自动化测试来说,针对大型项目,维护不方便。而对于,自动化测试来说,UI测试的难点就在于一旦有了变化,利用TestWriter可以对测试用例进行维护,一般来说,测试用例的维护量很大时,在维护上便有难度。 
  自动化测试工具的使用
  业界流行的自动化测试工具有 Selenium,UFT,TestWriter等,了解工具的特性并且掌握方法,结合项目对测试工具进行选择。自动化测试一般通过简单的方法,便可以实现简单自动化测试,比如:1.通过制脚本,录制/回放 2.驱动脚本执行手写脚本。同时对测试用例、计划进行管理。
   自动化测试实践
  作为一名合格的自动化测试工程师,对测试员以及团队是否起到帮助,这是相当重要的一个素质。针对测试人员自动化测试方向,给予推荐建设性的建议。明确的分析开发测试的成本,在工作中,对手工测试和自动化测试做出合适的选择。

(0)

相关推荐

  • UI自动化测试的感悟

    源自于一本讲性能测试书的思考? 书中内容: 性能测试是一门富有挑战的.有深度的.综合性的学科. 那我想怎能只局限于说性能测试,我倒认为所有的测试类型都是一门富有挑战.有深度的.综合性的学科,只要你想做 ...

  • 自动化测试与手动测试 必须知道的重要差异

    手动测试与自动化测试在这里中,我们将看到自动化测试与手动测试. 我们知道,每个项目都有三个重要方面,例如质量,成本和时间.任何项目的目标都是在控制完成项目所需的成本和时间的同时获得预期的输出. 什么是 ...

  • Python做自动化测试必知必会思维导图

    Python语言语法简单.入门容易,简洁高效,是软件测试领域的首选语言.如果想用Python开展自动化测试,或者已经开始使用Python但是又不知道应该掌握哪些Python知识的同学们,希望本文能够对 ...

  • Python自动化测试怎么学?看完这个!不做无头苍蝇

    前言 很多粉丝私信我,叫我出一期完整且系统的Python自动化测试全栈学习路线.历时半个月,我给大家整理了一套完整的Python自动化测试学习路线,跟着学完,保证能够学会!对自学的朋友能有很大的帮助! ...

  • Python 如何使用 HttpRunner 做接口自动化测试

    Python 如何使用 HttpRunner 做接口自动化测试

  • 使用Postman做API自动化测试

    Postman最基本的功能用来重放请求,并且配合良好的response格式化工具. 高级点的用法可以使用Postman生成各个语言的脚本,还可以抓包,认证,传输文件. 仅仅做到这些还不能够满足一个系统 ...

  • 体内湿邪艾灸这样做,方法既简单又安全!你应该知道!

    现在人意识到湿浊才是现代人最大的健康顽敌.这也是我反复强调阳气不足,湿邪不去,吃再多药品补品都如同隔山打牛的意义所在. 老百姓都知道治病要除根,那么怎么才能除病根呢?其实祛除痰湿就是在挖病根,哪怕是认 ...

  • 读书之外这么做, 让孩子更优秀!

    现在很多孩子的运动能力特别强,身为成年人的我们,有时候都会自叹不如.一个来自山东烟台的小女孩,每天下午都会在大广场练习跳绳,行云流水般的花式跳绳,令无数路人驻足观看.小女孩充满自信地说,"我 ...

  • 经常腹胀、腹泻、便秘,做检查却一切正常!

    一吃就饱.嗳气放屁.腹部隐痛,一喝冷饮.吃块冰西瓜就腹痛.腹泻:一进考场就想上厕所:一着急.一生气就肚痛:一吃火锅.麻辣烫,马上就拉肚子...... 很多人做了胃镜.肠镜,一大堆检查,什么问题都没有发 ...

  • 鸽子做药膳用什么药材

    鸽子属于家庭范畴.它们也可以在以吃.药膳鸽子是一种非常好的滋补品,特别是对于骨骼不好的人.鸽子可以在体内补充维生素和蛋白质以,因为鸽子的肉质细嫩,纤维素少,不会给身体带来太多的杂质.药膳鸽子需要桂圆. ...

  • 想全职写作,要不要等文笔成熟后才开始?前期需要做什么?

    阅读指南 我发现很多人在这个问题上比较纠结.老实说,其实我也没法给出100%正确的答案.不过我还是想尽我所能,期望能给大家一些帮助~ 收到一个粉丝的咨询: 很喜欢写作,也很想在这个行业做出一番成绩,是 ...