Testbed低层测试如何处理局部静态变量

        在使用 LDRA Testbed 进行低层测试时,处理局部静态变量是一个常见的问题。由于局部静态变量的作用域限制和初始化特性,直接测试这些变量可能会比较复杂;因此可通过多次调用函数来改变静态变量的值,具体方法如下:

        局部静态变量在函数调用之间保持其值,因此可以通过多次调用被测函数来间接控制静态变量的值。例如,假设有一个函数 test_func,其中包含一个局部静态变量 cnt,每次调用时 cnt 会自增。

void test_func(int input) {
    static int cnt = 0;
    cnt++;
    if (cnt <= 10) {
        glob_out = 1 * input;
    } else if (cnt <= 20) {
        glob_out = 2 * input;
    } else {
        glob_out = 3 * input;
    }
}

        为了覆盖所有逻辑分支,可以在测试用例的初始化代码中多次调用该函数,使 cnt 达到不同的值。

int i;
for (i = 0; i < 10; i++) {
    test_func(1); // 调用 10 次,使 cnt 达到 10
}

         具体在Tbrun中的操作过程为,在用例建立完成后,添加函数调用代码,在建立的测试用例上选中,然后右键点击,选择Code Inserts->Initialisation Code

然后设置输入输出后,点击Run Driver,为覆盖函数 test_func中所有分支,还需设计测试用例调用在大于10次小于等于20次、大于20次情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值