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

发表于:2008-8-27 17:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

  3.2创建运行控制点

  为了实现对测试脚本的运行控制,需要对各个测试脚本创建运行控制点。而实现这个运行控制,需要知道测试脚本运行的人口和出口,根据测试脚本运行的机制对其进行控制。具体方法如下:

  在理解业务规则的基础之上,根据各个测试脚本之间的联系,创建脚本控制点。在生成的目标脚本中嵌入若干控制点(control  point),其位置分别位于测试脚本的入口(前置控制点)、出口(后置控制点)和内部(内部控制点),其中前置、后置控制点在生成测试用例时直接置于目标脚本的入口和正常出口,内部控制点则按照需要置于目标脚本一些关键位置:如耗时无法预计的语句前,非正常出口等,以便实施控制。

  控制的基本手段是信号灯,信号灯位于创建的中心数据库(DB)的控制表run_signal中,控制点的基本行为就是检查自己的信号灯,并对之做出反应。控制点通过DB接口访问控制信号灯。控制点只对信号灯做出反应,如果是运行信号,则运行,如果是等待信号,则轮询等待,如果是中止信号,则中止运行。前置控制点负责检查运行条件,运行条件由运行控制系统确定;内置控制点检查暂停和中止信号;外置控制点则接受信号灯控制指令(用于协调与其它用例的关系,例如排队)。

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

  控制表run_signal结构如下:

软件测试

  3.3实现运行控制机制

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

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

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

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

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

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

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号