1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > AutoRunner 功能自动化测试项目实训之自动化测试原理(一)

AutoRunner 功能自动化测试项目实训之自动化测试原理(一)

时间:2022-05-11 10:53:35

相关推荐

AutoRunner 功能自动化测试项目实训之自动化测试原理(一)

前言

随着自动化测试的飞速发展,在日常的学习生活中我们经常会听到自动化测试相关的话题,今天起我们就开始来了解除了 QTP以外的自动化测试工具AutoRunner,我在这个系列文章里会以实际案例的形式给大家介绍工具的操作和实际的测试过程希望对大家有所帮助。

一、自动化测试是什么?

自动化测试模拟人手工对计算机和计算机上软件的操作过程和操作行为,采用类似于编译系统对程序代码进行检查。自动化测试的原理:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术和虚拟用户技术。所以自动化测试是一个广义的名词,我们在接下来的文章里给大家分享的是功能自动化测.

二、功能自动化测试原理

1.录制回放

录制回放是黑盒测试的自动化方法,通过捕获用户每一步操作,如用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相应操作、状态变化或属性变化,用一种脚本语言记录描述,模拟用户操作。回放时,将脚本语言转换为屏幕操作,比较被测系统的输出记录与预先给定的标准结果。目前的自动化负载测试解决方案几乎都是采用“录制回放”的技术。所谓“录制回放”技术,就是先由手工完成一遍测试流程,由自动化测试工具AutoRunner记录下这个流程期间客户端和服务器端之间的通信信息,这些信息通常是一些步骤和数据,并形成特定的脚本程序,并运行该脚本,检测系统的功能是否正常。

2.脚本技术

(1)脚本介绍

脚本是一组测试工具执行的指令集合,也是计算机程序的另一种表现形式。脚本语言至少具有如下功能:

1)支持多种常用的变量和数据类型

2)支持各种条件逻辑、循环结构。

3)支持函数的创建和调用

脚本有两种,一种是手动编写或嵌入源代码;另一种是通过测试工具提供的录制功能,运行程序自动录制生成脚本。由于录制生成脚本简单且智能化,容易操作,但仅靠自动录制脚本,无法满足用户的复杂要求,需要手工添加函数进行参数设置,增强脚本的实用性。

手工编写脚本具有如下优点:

1)可读性好,流程清晰,检查点截取含义明确。

业务级的代码比协议级代码容易理解,也更容易维护,而录制生成的代码大多没有维护的价值

2)手写脚本比录制脚本更真实地模拟应用。

录制脚本截获了网络包,生成协议级的代码,却往往忽略客户端的处理逻辑,不能真实模拟应用程序的运行。

3)手写脚本比录制脚本更能提高测试人员的技术水平

测试工具提供如Java、VB、C等高级程序设计语言的脚本,允许用户根据不同测试要求定义开发各种语言类型的测试脚本。

总之,使用哪种方式生成脚本,应以脚本模拟程序的真实有效为准。例如,有些程序只需要执行迭代多次操作,没有特殊要求,选择自动生成的脚本就可以。但有些程序需要参数设置,则应使用手工脚本

(2)脚本分类

脚本技术分为以下几种类型

1)线性脚本。录制手工执行的测试用例得到的线性脚本,包含用户键盘和鼠标输入,检查某个窗口是否弹出等操作线性脚本具有如下优点:不需要深入的工作或计划,对实际执行操作可以审计跟踪。线性脚本适用于演示、培训或执行较少且环境变化小的测试、数据转换的操作功能。但是,线性脚本具有以下缺点:过程较烦琐,过多依赖于每次捕获内容,测试输入和比较是“捆绑在脚本中,不能共享或重用脚本,容易受软件变化的影响。另外,线性脚本修改代价大,维护成本高,容易受意外事件影响,导致整个测试失败。

2)结构化脚本。结构化脚本类似于结构化程序设计,包含控制脚本执行指令,具有顺序、

循环和分支等结构。结构化脚本的优点是健壮性好,通过循环和调用减少工作量:但结构化脚本较复杂,而且测试数据仍然与脚本“捆绑”在一起。

3)共享脚本。共享脚本侧重描述脚本中共享的特性,脚本可以被多个测试用例使用一个脚本可以被另一个脚本调用。当重复任务发生变化时,只需修改一个脚本,便可达到脚本共享的目的

共享脚本具有如下优点:

以较少的开销实现类似的测试,维护共享脚本的开销低于线性脚本。但是,共享脚本需要跟踪更多的脚本,给配置管理带来一定困难,并且对于每个测试用例仍然需要特定的测试脚本。

4)数据驱动脚本。数据驱动脚本将测试输入到独立的数据文件(数据库)中,而不是绑定在脚本中。执行时是从数据文件中读数据,使得同一个脚本执行不同的测试,只需对数据进行修改,不必修改执行脚本。通过一个测试脚本指定不同的测试数据文件,实现较多的测试用例,将数据文件单独列出,选择合适的数据格式和形式,达到简化数据、减少出错的目的数据驱动脚本具有如下优点:快速增加类似的测试用例,新增加的测试也不必掌握工具脚本技术,对以后类似的测试无需额外的维护,有利于测试脚本和输入数据分离,减少编程和维护的工作量,有利于测试用例扩充和完善。但是,数据驱动脚本初始建立开销较大、需要专业人员支持。

5)关键字驱动脚本。关键字驱动作为比较复杂的数据驱动技术的逻辑扩展,是将数据文件变成测试用例的描述,用一系列关键字指定要执行的任务。关键字驱动技术假设测试者具有被测系统知识和技术,不必告之如何进行详细动作,以及测试用例如何执行,只说明测试用例即可。关键字驱动脚本多使用说明性方法和描述性方法。

6)虚拟用户技术。虚拟用户技术通过模拟真实用户行为对被测程序施加负载,测量被测程序的性能指标值,如事务的响应时间、服务器吞吐量等。虚拟用户技术以真实用户的“商务处理”(用户为完成一个商业业务而执行的一系列操作)作为负载的基本组成单位,用“虚拟用户”(模拟用户行为的测试脚本)模拟真实用户负载需求(例如并发虚拟用户数、处理的执行频率等)通过人工收集和分析系统使用信息来获得,负载测试工具模拟成千上万个虚拟用户同时访问被测程序,来自不同IP地址、不同测览器类型以及不同网络连接方式的请求,并实时监视系统性能,帮助测试人员分析测试结果。虚拟用户技术具有成熟测试工具支持,但确定负载的信息要依靠人工收集,准确性不高。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了自动化测试的原理,包括录制回放功能和脚本技术的介绍。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。