(二)生成“伪视频”来丰富自动测试的日志系统

发表于:2007-8-03 09:15

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

 作者:章国俊    来源:网络转载

三、 改进方案描述

        在改进前的日志方案里,自动测试软件是按照既定逻辑运行测试用例,无论是通过录制还是编写脚本的方式;遇到错误后,它会截取当前屏幕的状态,同时将错误信息以文本方式记录在日志文件中。(如图1所示)

        该方案向测试人员提供了一副描述错误现场的截图,以及文本形式的执行日志。为了找出导致错误发生的确切原因,测试人员需要追踪并分析执行日志,截图反映了发生错误当时的情形,但对于之前过程的反映,却相当有限。

        借助错误现场的截图和文本日志,测试人员判断测试失败的症结所在会非常吃力,尤其是一些不太明显的错误。即便是富有经验的测试人员,自动测试的错误分析也是比较棘手的工作,新人则更是无从下手。


                                             图一: 传统日志方案
          

                 

        在改进后的日志方案里,我们设计了一种更为简单和直观的方式,来反映错误发生前后的那段时间内,自动测试的真实运行过程。(如图二 所示)


                                               图二: 改进后的日志方案

              

改进措施如下:

        按固定时间间隔截屏;并建立缓冲区,存储最近一段时间内的截图;
        该缓冲区是一个先入先出队列,只存储最近一段时间内的截图,随着自动测试的运行,框架会按照固定时间间隔不断地截屏,存入缓冲区。缓冲区可以有两种实现方式:指定逻辑长度,用来储存某个测试用例执行时的所有截图;或者是指定物理长度,只存储一定数目的截图; 
        一旦在自动测试运行过程中发生错误,所有被缓冲的截图都被收集起来,并转化为动态图片(GIF格式,PNG格式,SVG格式等等);
        动态图片按时间顺序展示了运行过程中若干副截图,效果类似于视频片断,真实地再现了当时的测试过程。鉴于测试过程中并非每时每刻都是关键操作,以及测试软件对测试对象的定位也会占用一定的时间,所以并没有必要以过高的频率截屏,通常来说,每秒1帧或2帧已经可以满足再现过程的需求,我们将它称为“伪视频”片断。 
        新方案在已有功能的基础上,进行重构和转化,模拟生成视频片断来再现测试过程。(对测试运行过程的屏幕截图进行缓冲。必要时,将所有缓冲的图片转化成动态图片,以再现实际过程。)

新方案的优点

        日志系统在采纳新方案后,可以:

        使得自动测试中的错误定位更加快速,有利于测试人员修改测试脚本或汇报被测软件的缺陷; 
        让日志系统更加直观,直观丰富的日志信息让自动测试系统的门槛降低,提高了它的可用性; 
        无需追加投资;新方案是以一个新思路改进原有的截屏功能,使其呈现出更丰富更灵活的信息,并未添加软硬件来进行视频捕捉。新方案的实现几乎没有成本,任何具有截屏能力的自动测试系统都可以在简单改造后拥有该特性。 
        截屏以及生成伪视频的操作会对脚本回放速度有一定影响,但并不突出,因为自动测试有着充足的硬件资源和时间资源(夜间运行)。这一弱点和新特性带来的好处相比,几乎可以忽略不计。
 上页链接                                                                                                                     下页链接

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号