多测师-多培养一些优秀的测试工程师
网站地图 |   收藏本站   |   

17727591462

软件测试培训之面向Robot Framework的回归测试选择算法

发布日期:2023-03-16 09:20:06 作者:多测师 浏览次数:

  Robot Framework是一个通用的、关键词(keyword)驱动的测试自动化框架。在Robot Framework中,测试用例由suite文件组成,每个suite包含一个或多个test case,每个case则由若干Robot或者Python语言实现的keywords组成。整体上呈现模块化结果。

  基于Robot Framework开发自动化测试,实践的是测试用例即代码(test-case-as-code)理念。这意味着,我们需要像编写软件代码一样编写测试代码,需要像管理软件代码一样管理测试代码。例如,我们的某个基于Robot Framework的自动化测试项目,包含200个左右的源文件和20000多行代码,就是采用git来管理的。

  敏捷的要义之一就是拥抱变化。在实践中,被测软件的变化是常态。这经常意味着自动化测试用例也需要改变。另外,针对测试用例的优化和维护也是一种日常的工作。因而,测试用例仓库的改动是一件高频的事情。据统计,上述Robot Framework项目,在过去三个月,90%的文件都被修改过;在每一个工作日,平均有15个文件发生修改。

  测试代码的改动,同样需要经过回归测试的验证。那么,如何在每次测试代码改动时,自动选择受影响的测试用例呢?

软件测试培训之面向Robot Framework的回归测试选择算法

  这里,介绍一种面向Robot Framework的回归测试选择算法(Robot Test Selection, RTS)。。

  RTS算法的描述如下。

  输入:候选测试suite列表、改动文件列表。

  第1步:试运行测试集。利用Robot Framework的dryrun功能,虚拟地执行候选suite。所谓dryrun,就是在调用但不真正执行keyword的情况下,“尝试性”地执行测试。Robot Framework提供这个功能的本意是为了对测试代码进行快速的静态检查,发现语法问题。这里,RTS借用这个功能,得到与真实执行相同的,反映suite、test case和keyword调用关系的执行结果。

  第2步:计算依赖关系。解析第1步的执行结果,使用递归算法获得每一个候选suite执行过程中直接和间接调用的keywords。当然,我们这里关心的是keyword所在的源文件路径。因此,我们计算得到的是每一个候选suite所依赖的包含keywords的Robot文件和Python文件列表。

  第3步:选择测试子集。根据输入的改动文件列表文件和第2步得到的依赖性关系,从候选测试suite列表中过滤出所有依赖于至少一个改动文件的suite。过滤的结果就是选择的结果,其是候选测试suite列表的一个子集。

  返回值:选择的suite子集。

如需了解更多测试技术信息请关注:https://www.duoceshi.cn/jswz/深圳多测师软件与技术服务有限公司




查看更多 >>

推荐阅读