自动化测试——基础知识

使用条件:

  • 1. 软件需求变动不频繁

  测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。

  项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试

  • 2. 项目周期较长

  由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。

  • 3. 自动化测试脚本可重复使用

  自动化测试脚本的重复使用要从三个方面来考量:

  (1)所测试的项目之间是否很大的差异性(如C/S系统和B/S系统的差异);

  (2)所选择的测试工具是否适应这种差异;

  (3)测试人员是否有能力开发出适应这种差异的自动化测试框架。

工具选择:

  首先要先确认你所测试的产品是桌面程序(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
  • 考虑整个技术团队主流用什么语言,然后选择相应的语言。

参考:http://www.cnblogs.com/fnng/p/3653793.html

原文地址:https://www.cnblogs.com/sheropan/p/5072860.html