微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 自动化测试脚本运行控制方法研究

自动化测试脚本运行控制方法研究

时间:08-06 来源:电子测试 点击:

信号灯做出反应,如果是运行信号,则运行,如果是等待信号,则轮询等待,如果是中止信号,则中止运行。前置控制点负责检查运行条件,运行条件由运行控制系统确定;内置控制点检查暂停和中止信号;外置控制点则接受信号灯控制指令(用于协调与其它用例的关系,例如排队)。

在自动化工具目标脚本中,控制点以工具检查点的形式实现。所有的控制点都在运行日志中留一条通过信息,以便审计。

控制表run_signal结构如下:
 

  3.3实现运行控制机制

运行控制发生在测试脚本层面,它针对所有已经发布并且形成测试脚本的用例。分布式环境下的运行控制通过图3实现。

管理端:管理端用JAVA编写,测试用例脚本由测试工程师提交。管理端主要完成以下任务:运行控制的决策系统,负责建立并维护运行队列,控制运行策略和信号灯;管理端将测试用例集加入运行队列中。运行队列中包含所有已经提交运行但未运行完成的用例。

执行端:执行端根据管理端的决策系统,来执行运行队列中的测试脚本,其中运行控制的执行系统,负责分配测试脚本,并按照指定策略启动脚本等也是执行端的功能;

信号灯组:信号灯组主要描述的是准备运行的测试脚本首先判断自己的信号灯,其中信号灯的结构在run_signal结构中已经给出。通过对控制点进行判断,来决定是否运行脚本。主要功能包括:一个受管理端控制的表,里面有针对不同用例的信号灯;

运行队列;通过连接数据库DB,得到测试脚本排队表。再根据执行端确定的顺序执行自动化测试。其中,运行队列中应包含对运行过的脚本和未运行的脚本进行判断处理。主要功能包括:由管理端建立的等待运行的测试用例(脚本)排队,中心数据库(DB)的表。

表1是工作设计文档。

运行队列是可维护的,可以通过改变某个用例的状态(启动、等待、暂停、挂起)来控制用例的运行行为,还可以改变(属于自己的)用例的运行顺序。管理员可以对队列中所有用例的状态和顺序进行调整。运行后的用例加入另一个队列(已运行队列),运行失败的用例将标记为"失败"状态,等待修改或重新启动。

  4实例分析

在大型业务系统的测试过程中,自动化测试工具只提供了测试的基本手段,不具有强烈的行业相关性。通过业务规则可以生成不同的测试脚本。根据运行控制机制,我们以银行金融系统"储蓄用户取款"脚本为例说明运行控制机制。

  4.1问题描述

大型金融系统都是基于终端界面的,通过对UI界面进行录制,生成基于业务流程的脚本,进行控制管理。

银行金融系统"储蓄用户取款"描述:储蓄用户输入账户密码合法后,先查询储蓄余额,若有余额,则用户可以对其进行取款操作。若取款金额超过储蓄余额,则提示"余额不足";若取款金额小于储蓄余额,则操作成功。最后用户注销退出。

  4.2脚本运行控制

通过业务描述,根据规则和经验,我们创建以下简单业务测试脚本:

测试脚本A:用户登陆>查询余额>退出;(用于登陆查询)
  测试脚本B:取款>余额充足>操作成功;(在登陆状态下)
  测试脚本C:取款>余额不足>操作失败;(在登陆状态下)

设计好A、B、C三个测试脚本后。通过运行控制平台,我们可以实现对脚本的运行控制。在数据库DB中创建测试脚本排队表,并创建运行队列Q。对每个测试脚本设置自己信号灯,如余额充足条件下,设置脚本B为运行信号等;并通过管理类Mamgerment中创建Lights实例。可以得到一个储蓄取款的测试用例运行脚本:

其中,脚本A,B共享脚本A运行过程中传递的登陆帐号和密码。在运行控制中增加各个脚本运行的判断条件,采取不同的路径完成自动化测试。然后用自动化测试工具进行测试,得到分析结果。

通过组合各个基础测试脚本,可以实现不同用例采取基础测试脚本组合而成。这样可以实现用例脚本的高可复用性。

  5结 论

软件测试尤其是以自动化测试为代表的软件质量保证伴随着行业应用系统的整个生命周期。自动化测试方法的应用大大提高了软件测试工作的效率,当然,自动化测试也存在着一些缺陷:自动化测试不能发现软件新出现的问题,不能根据实际的情况及时调整测试流程,而且自动化测试脚本的编写和管理工作也是一项比较繁杂的工作。本文就自动化测试脚本管理中遇到的问题,提出一种运行控制方法。这种方法在一定程度上减轻了测试人员管理自动化测试脚本的压力,增强了脚本的可维护性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top