免费申请下载TestWriter地址:http://tools.51testing.com

学习自动化测试的一些感悟

上一篇 / 下一篇  2017-05-25 09:37:36 / 个人分类:自动化测试

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

1、什么叫做自动化测试工程师?
首先,要会使用自动化测试工具;
接下来,对于高手来说,要能写一些独立的测试脚本甚至测试工具;
更高的高手则是能把脚本和工具和实际工作紧密结合起来,解决工作中遇到的问题。

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

3、自动化测试的层级
一般来说,自动化测试分为三个层级:单元测试接口测试、UI测试,这三层成一个金字塔形状分布。最底层是单元测试,接口测试在中间,UI测试在最上层。

单元测试
单元测试无疑是最适合做自动化的,但是,大多数单元测试都是由研发人员自己完成。单元测试的代码行覆盖率能够达到70%,就是一个非常不错的程度了。
单元测试框架
单元测试常用的框架——XUnit,比如Java的JUnit,PHP的PHPUnit,Python的unittest等等;
一个测试用例通常由三部分组成——setUp,测试逻辑,tearDown。setUp用于准备测试数据,tearDown用于清理数据;一般单元测试框架都支持装饰器设计模式的注解,比如跳过执行,测试套件的组织,测试用例依赖管理等等。
单元测试框架可以无缝地在UI测试和接口测试中使用,它们的基本思想都是相通的。

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

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

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

5、自动化测试工具推荐
功能测试Selenium(开源),TestWriter(零编码,易上手)
性能测试Jmeter(趋势)

>>福利:戳戳,免费下载UI自动化测试工具TestWriter~

TAG: 自动化测试

 

评分:0

我来说两句

TestWriter

TestWriter

TestWriter小编,周一至周五进行文章日更

日历

« 2024-03-26  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 384515
  • 日志数: 182
  • 图片数: 1
  • 建立时间: 2016-08-11
  • 更新时间: 2017-12-20

RSS订阅

Open Toolbar