4.3.2 数值限度测试
数值限度测试是将测试的数值结果和限度值进行比较,如果数值结果在限度范围之内(或者逻辑比较结果为真),则测试通过,而数值结果一般来自于所调用的代码模块。图4-26所示为数值限度测试步骤的数据空间,重要属性有Step.Result.Numeric、Step.Limits、Step.DataSource。
图4-26 数值限度测试步骤的数据空间
数值限度测试有三个特定配置页:模块(Module)、限度(Limits)、数据源(Data Source)。模块页面和之前合格/失败测试中是一样的,用于声明代码模块;数据源页面中的默认数据源是Step.Result.Numeric;在限度页面(如图4-27所示),可以设定限度值,选择比较类型,默认的比较类型是“GELE”,表示如果满足“Low Limit<=Data Source<=High Limit”(数据源在上下限之间),则测试通过。下限(Low Limit)和上限(High Limit)可以是常量,也可以是表达式,其他比较类型还有大于等于、小于等于、等于、大于、小于。
图4-27 数值限度测试步骤特定配置页(限度)
新创建序列文件并添加数值限度测试步骤,在模块页面同样选择Tests.dll,使用Add函数,根据Add函数原型double Add(double a,double b),先在变量窗格中创建两个局部变量x和y,数据类型为数值型,初始值为默认值0。添加好之后,局部变量窗格如图4-28所示。
图4-28 创建局部变量
在参数列表区域配置参数:在Return Value参数的“Value Expression”栏中输入“Step.Result.Numeric”,即代码模块的输出传递给该属性。对于参数列表中的每个参数,选中后可以在相应的参数配置区对其进行配置,如图4-29所示。
图4-29 数值限度测试步骤特定配置页(模块)
在范例资源的第4章练习中,附有例程<Exercises>\Chapter 4\Tests\NumericLimitTest.seq,读者可以通过菜单命令“ExecuteSingle Pass”运行该范例并观察结果。在变量窗格中,修改局部变量的值,比如x的值为4、y的值为3,重新运行序列,观察数值测试步骤的状态。
分析数值限度测试步骤工作过程:首先数据源是Step.Result.Numeric,数据源会与限度值进行比较,如果它在限度范围内,则步骤状态为合格,否则为失败;然后模块页面中代码模块的返回值传递给了Step.Result.Numeric,因此代码模块的返回值会影响数据源,数据源继而影响步骤状态。在数值限度测试步骤中,上述逻辑可以用下面一段伪码表示: