改进措施如下:
按固定时间间隔截屏;并建立缓冲区,存储最近一段时间内的截图;
该缓冲区是一个先入先出队列,只存储最近一段时间内的截图,随着自动测试的运行,框架会按照固定时间间隔不断地截屏,存入缓冲区。缓冲区可以有两种实现方式:指定逻辑长度,用来储存某个测试用例执行时的所有截图;或者是指定物理长度,只存储一定数目的截图;
一旦在自动测试运行过程中发生错误,所有被缓冲的截图都被收集起来,并转化为动态图片(GIF格式,PNG格式,SVG格式等等);
动态图片按时间顺序展示了运行过程中若干副截图,效果类似于视频片断,真实地再现了当时的测试过程。鉴于测试过程中并非每时每刻都是关键操作,以及测试软件对测试对象的定位也会占用一定的时间,所以并没有必要以过高的频率截屏,通常来说,每秒1帧或2帧已经可以满足再现过程的需求,我们将它称为“伪视频”片断。
新方案在已有功能的基础上,进行重构和转化,模拟生成视频片断来再现测试过程。(对测试运行过程的屏幕截图进行缓冲。必要时,将所有缓冲的图片转化成动态图片,以再现实际过程。)
新方案的优点
日志系统在采纳新方案后,可以:
使得自动测试中的错误定位更加快速,有利于测试人员修改测试脚本或汇报被测软件的缺陷;
让日志系统更加直观,直观丰富的日志信息让自动测试系统的门槛降低,提高了它的可用性;
无需追加投资;新方案是以一个新思路改进原有的截屏功能,使其呈现出更丰富更灵活的信息,并未添加软硬件来进行视频捕捉。新方案的实现几乎没有成本,任何具有截屏能力的自动测试系统都可以在简单改造后拥有该特性。
截屏以及生成伪视频的操作会对脚本回放速度有一定影响,但并不突出,因为自动测试有着充足的硬件资源和时间资源(夜间运行)。这一弱点和新特性带来的好处相比,几乎可以忽略不计。
文章来源于领测软件测试网 https://www.ltesting.net/