测试模式

TAEF 提供了多种测试模式,这些模式以各种方式修改测试执行行为。 在继续本部分之前,请确保熟悉 TAEF 的基本执行,请参阅创作测试和执行测试

注意: 测试模式彼此不兼容;在给定的测试运行期间,只能启用一种测试模式。

TAEF 目前提供以下测试模式:

循环测试模式

“循环测试模式”提供用于循环访问单个测试或整个测试运行的简单功能。 循环测试模式非常适合用于验证测试自动化的可靠性,或者轻松获得压力或长期自动化。

循环测试模式是通过指定 /testmode:loop 命令选项启用的。 还有两个控制特定行为的可选参数:

/Loop:<loopNum>
控制 (default:1) 执行整个运行的次数。

/LoopTest:<loopTestNum>
控制运行中每个测试的执行次数 (default:10) 。

下图显示了 TAEF 如何表示包含单个测试文件的测试运行,该文件包含一个测试类,其中包含两个测试方法:

显示使用“looptest”参数的 TAEF 下执行流的示意图。

关系图上的箭头显示 TAEF 下的执行流;显示 TAEF 如何执行设置固定例程,然后测试本身,并在测试完成后执行相应的清理固定例程。 “looptest”值会导致 TAEF 循环访问测试方法本身- 尽可能小的范围。 请注意, 不会 执行测试的设置和清理。 数据驱动测试也会发生相同的行为:“looptest”值控制“测试方法”级别的循环。

有时不能只循环测试方法,这就是可以使用“loop”参数的位置。 下图显示了 TAEF 如何表示由两个测试文件组成的测试运行,每个文件包含一个测试类,每个测试类包含单个测试方法:

说明使用“loop”参数在 TAEF 下执行流的示意图。

“loop”参数控制最大 范围的循环;整个运行。 如果指定要 Te.exe 的单个测试文件,或者有多个测试文件,则将按指定的次数循环整个运行。

压力测试模式

TAEF 的“压力”测试模式可帮助用户在“压力”环境中运行测试。 通过“/testmode:stress”命令选项启用压力测试模式,将启用以下行为:

  1. Te.exe 无限期运行 - Te.exe 要求将 Ctrl+C 发送到命令提示符,或将WM_CLOSE消息发送到其隐藏窗口以停止。

  2. Te.exe 循环访问它运行的第一组测试 - 为了避免在运行期间加载后续文件,Te.exe 将循环访问它运行的第一组测试。 请注意:

    1. 如果在命令提示符下指定了多个测试文件,而不进行任何选择,则只会执行第一个测试文件。
    2. 如果在命令提示符下指定了多个测试文件和一个选择查询,则只会执行满足选择条件的第一个测试文件中的测试。
    3. 如果在模块级别指定了数据驱动的测试文件,则将循环执行的数据驱动参数的第一个组合。
  3. 启用“压力记录器” - 为了最大程度地减少日志记录消耗的资源量,Te.exe 切换到最小输出记录器:

    • 仅将错误写入控制台 - 不会写出其他日志条目。
    • 记录器每 60 秒将当前通过/失败计数输出到控制台。
    • 记录器每秒都会输出一个“.”,以显示 Te.exe 仍在工作。

在压力测试模式下运行时,还需要指定“/inproc”开关,这意味着所有压力执行都在 Te.exe 进程中运行。 此限制使 TAEF 无需启动和维护单独的沙盒进程来执行,从而最大程度地减少由于内存分配失败而导致的测试失败。