自动化测试简介及主流测试工具选择

1.自动化测试简介

1.1 什么是自动化测试

测试自动化就是充分利用市场已有的或自行开发的测试工具,全部或部分替代手工测试、完成手工测试无法完成的测试任务,以及相关的测试数据的记录和测试报告的生成等。
相对于手工测试而言,测试自动化通常具有速度快、执行效率高、执行过程受外界因素干扰小、测试结果准确等优点,缺点是前期投入较大,所以在采用测试自动化之前应当做好相应的评估工作。
自动化测试的目的是通过自动执行测试脚本,使测试人员在更短的时间内能够更快地完成更多的软件测试,并提供以更高的频率执行测试的能力,从而有效降低测试成本、提高测试效率。

1.2 自动化测试的前提

  • 测试人员的编程能力;
  • 重用测试脚本的设计;
  • 人机交互界面的早期冻结;
  • 测试脚本开发的投入;
  • 测试人员对测试工具的熟练程度。

1.3 自动化测试的优势

  • 对新版本执行回归测试:对于产品型的软件,每发布一个新的版本,其中大部分功能和界面都和上一个版本相似或完全相同,这部分功能特别适合于自动化测试,从而可以让测试达到测试每个特征的目的。
  • 更多更频繁的测试:在回归测试阶段,如果是每天 / 每 2天都要发布一个版本供测试人员测试,一个系统的功能点有几千个上万个,手工测试将是非常的耗时和繁琐,而且非常的枯燥,这样必然会使测试效率低下。完善的自动化测试可以替代测试人员的手工测试。
  • 一致性和可重复性:由于每次自动化测试运行的脚本是相同的,所以每次执行的测试具有一致性,人是很难做到的。由于自动化测试的一致性,很容易发现被测软件的任何改变。

1.4 自动化测试的局限

  • 自动化测试的目的在于确认旧有的功能有没有受新改动的影响,而手工测试的目的在于发现新缺陷:事实证明新缺陷越多,自动化测试失败的几率就越大。发现更多的新缺陷应该是手工测试的主要目的。
  • 技术问题、组织问题、脚本维护:自动化测试的推行,有很多阻力,比如组织是否重视,是否成立这样的测试团队,是否有这样的技术水平,对于测试脚本的维护工作量也挺大的,是否值得维护等等问题都必须考虑。

2.自动化测试框架及工具的选择

2.1 主流自动化测试框架及工具介绍

目前市面上主流的自动化测试框架或工具如下:
1.通用自动化测试框架:

  • Robot Framework(支持Python、Java、C语言,开源)
  • Cucumber(支持Java、Ruby、JavaScript语言,开源)

2.功能自动化测试工具:

  • WinRunner(无语言要求,软件太古老)
  • QTP(使用VB语言,付费)
  • Rational Function Tester(支持Java、VB、C#语言,付费)

3.Web自动化工具:

  • QTP(使用VB语言,付费)
  • Selenium(支持Java、Python、Ruby、PHP、C#、JavaScript等语言,开源)
  • Watir(使用Ruby语言,开源)

4.性能测试工具:

  • LoadRunner(使用C语言,付费)
  • Jmeter(使用Java语言,开源)

5.Web安全测试工具:

  • Appscan(无语言要求,付费,但有破解版)
  • Wapiti(使用Python语言,开源)

6.App自动化测试工具:

  • Appium(支持Java、Python、Ruby、PHP、C#、JavaScript等语言,开源,支持IOS和Android)
  • Instruments(使用Java语言,开源,只支持IOS)
  • Monkey Runner(使用Python语言,开源,只支持Android)

7.白盒测试工具(只考虑Java的):

  • Jtest(付费)
  • Junit(开源,社区活跃,技术支持丰富)
  • TestNG(开源,基于Junit但添加了更强大的功能,比Junit灵活)

2.2 自动化测试框架及工具的分析与选择

1.从公司产品架构角度:公司产品主要是B/S架构,以及APP端(IOS+Android),所以要排除针对C/S架构的工具
2.从工具功能和学习成本角度,最好选择功能更强大,上手更快的工具
3.从技术栈角度,最好选择支持Java和Python的工具(我们公司)
4.从成本角度,最好选择开源的免费工具
5.从市场占有率角度,选择最流行的工具
6.从资料以及技术支持角度,最好选择社区活跃,官网文档以及工具版本更新及时的工具
7.最好可以和Jenkins结合,进行持续集成

发布了42 篇原创文章 · 获赞 15 · 访问量 9688

猜你喜欢

转载自blog.csdn.net/weixin_40326608/article/details/100882125