自动测试总结

上一篇 / 下一篇  2011-03-02 13:47:48

一、手动测试和自动测试的比较

  1、手动测试的缺点

  重复性,缺乏精确性,测试效率(很难在短时间完成大面积的测试覆盖)

  2、什么时候使用自动测试

  自动测试的优点

  快速:QuickTest 运行测试比实际用户快得多。

  可靠:测试每次运行时都会准确执行相同的操作,因此消除了人为的错误。

  可重复:您可以通过重复执行相同的操作来测试网站或应用程序的反应。

  可编程:您可以编写复杂的测试来找出隐藏的信息。

  全面:您可以建立一套测试来测试网站或应用程序的所有功能。

  可重用:您可以在不同版本的网站或应用程序上重复使用测试,甚至在用户界面更改的情况下也不例外。

  自动化测试适宜用在需要重复执行机械化的界面操作、计算、数值比较、搜索等方面。

  3、手工测试不可替代的地方

  1〉测试用例的设计:测试人员的经验和对错误的猜测能力是工具不可替代的。

  2〉界面和用户体验测试:人类的审美观和心理体验是工具不可模拟的。

  3〉正确性的检查:人们对是非的判读、逻辑推理能力是工具不具备的。

  二、如何开展自动化测试

  1、成功开展自动化测试需要考虑的5个方面:

  1〉测试自动化测试类似于软件开发过程:录制回放的脚本开发是不可能应付所有自动化测试的需求的,因此,需要测试人员掌握必要的开发知识和编码技巧。

  2〉测试自动化是一个长期的过程:自动化测试只有在长期的多次运行后才能体现它的价值。

  3〉确保测试自动化的资源,包括人员和技能

  4〉循序渐进地开展自动化测试

  从小开始,先熟悉工具和自动化测试的基本技能,然后整合资源开始实现一些基本的自动化测试用例,例 如,冒烟测试类型的自动化测试脚本。先实现那些容易实现、且相对稳定的功能模块的自动化测试,然后再考虑逐步扩展和补充其他相对难实现,或者是比较不稳定的功能模块。

  5〉确保测试过程的成熟度

  如果软件企业的软件测试过程和项目管理过程的能力成熟度比较低,则不要盲目引入测试自动化。

2、选取合适的测试项目来开展自动化测试

  1〉不适宜短期项目

  2〉不适宜进度非常紧迫的项目中开展自动化测试

  3、自动化测试介入的时机

  自动化测试不应该在界面尚未稳定的时候开始。但是,并不意味着不需要计划和准备工作。在界面雏形时期,可以基于界面原型提供的控件来尝试自动化测试工具的适应性,考虑工具的选择问题;在开发人员着手开发核心代码时,可能会同时开发出一些核心可重用的控件,而且是自定义的个性化控件,所以在这一时期就需要取得这些控件,使用测试工具测试这些控件。

  三、自动化测试工程师的基本素质和技能要求

  1〉自动化测试基础:包括自动化测试工具的基础、自动化测试脚本的开发基础知识、了解各种测试脚本的编写和设计方法、熟悉某些测试脚本语言的基本语法和使用方法。

  2〉与手工测试工程师相同的:设计测试用例的基本方法和能力,而且应该有把测试用例转换成自动化测试用例的能力具备软件涉及的基本业务的理解能力。

  四、自动化测试工具QTP基本使用(QuickTest Professinal 教程帮助,按顺序演示一遍)

  1〉脚本录制回放

  录制时注意事项:

  a、如果使用 IE作为浏览器,应该清除用户名和密码的“自动完成”选项。这样将确保在创建测试时,可以精确录制所有的操作。

  b、“录制和运行设置”对话框中确认“当测试关闭时关闭浏览器”和“不在已经打开的浏览器上录制和运行”处于选定状态。

  c、仅当列表中的值发生变化时,QuickTest 才会录制步骤。步骤是任何引起应用程序发生更改的用户操作,例如单击链接或图像,或者向表单输入数据。

  2〉检查点设置

  检查点验证在测试运行时应用程序是否可以显示预期的信息。

  类型:标准检查点、文本、文本区域、表、页面、图像、位图、数据库、网页可访问性、xml文件检查点。

  3〉参数化测试

  当您测试应用程序时,可能希望检查该应用程序用多组数据来执行相同操作的方式。例如,假设您希望检查网站响应十组单独数据的方式。您可以录制十项单独的测试,每项测试都使用自己的一组数据。或者,您也可以创建数据表参数,以便将测试运行十次,而每次运行都使用不同的一组数据。

  注意:

  设置迭代次数。

  在参数设置时的“location in data table”中的“global sheet”与“local”,它们的区别是参数存储的位置不同。

4〉创建输出值

  在参数化测试中,创建了将不同数据插入测试运行的每次循环中的参数。您也可以从应用程序检索数据,并将其作为输出值输出到数据表。然后可以在测试的后续阶段使用该数据。QuickTest 会将检索的数据显示在测试运行后面的“运行时数据表”中。

  例如,可以使用输出值验证日期或航班号在两个不同网页中是否正确显示,方法是将从一个网页中获得的值作为 QuickTest 检查另一个网页的预期文本。

  5〉将测试拆分为多操作

  多操作将测试拆分为多个逻辑部分。新建一个测试时,它包含对某个操作的调用。通过将测试拆分为对多操作的调用,可以设计更模块化有效的测试。

  6〉使用正则表达式

  正则匹配工具:Regex Match Tracer 2.0

  五、VBSCRIPT基础

  QTP的测试脚本语言采用的是VBScript,而QTP的专家视图其实是一个VBScript脚本编辑器,因此,测试人员可以利用简单易用而不失强大和 灵活特性的VBScript脚本语言来增强自动化测试。

  六、自动化测试脚本的编写方法(合理选择自动化测试脚本开发方法)

  1〉线性脚本的编写方法

  简单的录制回放,使用这种方法来自动化测试系统的流程或某些系统测试用例。

  2〉结构化脚本的编写方法

  结构化脚本编写方法在脚本中使用结构控制,结构控制让测试人员可以控制测试脚本,或测试用例的流程。在脚本中,典型的结构控制是使 “if-else”“switch”“for”“while”等条件状态语句来帮助实现判定、实现某些循环任务、调用其他覆盖普遍功能的函数。

  3〉共享脚本的编写方法

  共享脚本编写方法是把代表应用程序行为的脚本在其他脚本之间共享。这意味着把被测应用程序的公共的、普遍的、功能的测试脚本独立出 来,其他脚本对其进行调用。这使得某些脚本按照普遍功能划分来标准化、组件化。这种脚本甚至也可以使用在被测系统之外的其他软件应用系统。

  4〉数据驱动脚本的编写方法

  测试脚本的开发和维护是自动化测试的重要环节,适当地调整和增强测试脚本,能提高测试脚本的灵活性,增加测试覆盖面,以及提高应对 测试对象变更的能力。数据驱动方式的脚本开发是解决这类问题的重要手段。

  主要:参数化(Data Table参数化、 Action参数化、 环境变量参数化)

  5〉关键字驱动脚本的编写方法

  关键字驱动测试方法(Keyword-driven testing),也叫表格驱动测试方法(table driven testing),是软件自动化测试的一种方法、关键字驱动测试把测试脚本的编程工作分离出去,让没有编程技巧的人也能开发自动化测试脚本。关键字驱动测试让测试脚本的维护工作量减少,即使应用程序发生很大的变化,也只是需要简单的更新和维护即可。

  主要:编辑对象库、选择测试对象以及相应操作、设置测试逻辑、添加检查点。

 


TAG:

 

评分:0

我来说两句

日历

« 2024-04-26  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 2302
  • 日志数: 4
  • 建立时间: 2011-02-27
  • 更新时间: 2011-03-02

RSS订阅

Open Toolbar