51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4727|回复: 6
打印 上一主题 下一主题

[讨论] 请教DSP 平台 如何做 白盒测试。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-1-14 17:31:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
做了两年开发,代码流程都很清楚。
只是,刚刚转到测试上来,做白盒测试,我看了几天网页,还是没明白如何在dsp上实现。
有没有哪位兄弟,做过这方面的东西。请给个提醒!
需要做什么?
怎么做?

覆盖测试到底要怎么做?代码有几十k,我测试时,如何才能做到覆盖???
接口、ISR这些函数如何处理?

问题太多太多,谢谢大家不吝赐教,回答一个也行!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-1-15 16:51:20 | 只看该作者
覆盖测试:首先画出程序的流程图,然后根据流程图画出DD路径,选取需要测试的路径(可根据判定覆盖、条件覆盖等,选择测试的强度)。然后在需要的地方插入打印信息或调试信息等。

单元测试时,函数可一个一个的测,对于接口函数,可先假定这些被调用函数都是正确的,模拟给出传入的参数,目的是是本函数(被测函数)可正确执行,也可根据需要设置参数的等价类及边界值。

说的不知道对不对,请见谅。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-1-16 10:05:31 | 只看该作者

谢谢 yamaya 的关注。

谢谢,我就按照你说得做了,但是,对覆盖的实现很疑惑。
1。是不是对每个函数都要进行覆盖测试测试?
2。如下例程序:如何做白盒测试(因为系统所限,决定使用C语言、在DSP板上跑如下程序,程序是一个简单的嵌入式处理流程,在中断服务程序中接收数据,然后,处理,最后发送数据)。

这个例子,是常用的简单模型,我想做嵌入式程序中基本上都有这样的流程,不知道如何进行,全面的白盒测试,我没有做过测试,望请经验前辈,指点一二,不胜感激。



int RecFlag;
int OutputFlag;

void main(void)
{
        HwInit();                          //硬件初始化
        IntInit();                        //中断初始化

        while(1)
        {
                if(RecFlag == 1)
                {
                    DataProc();
                }

                if(OutputFlag  == 1 )
                {
                        DataOutput();
                }       
        }
}


void isr()
{
        RecData(gInArray);
        RecFlag = 1;
}       


//由gInArray 获取,处理,返回gOutArray();
void DataProc(void)
{       
    int        i ;

    if(gInArray[0] == 0)
        gOutArray[0] = 1;
    else  if(gInArray[0] == 1)
        gOutArray[0] = 2;
    else
        gOutArray[0] = 3;
   
    for(i = 0;i<sizeoflast;i++)
        gOutArray[i+1] = 0x80;

    OutputFlag  = 1 ;

}

void DataOutput(void)
{
        for(i = 0;i< SENDBUFSIZE ;i++)
        {
                writeSerialPort(gOutArray);
        }
}
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-1-16 17:17:30 | 只看该作者
我觉得最基本的,可以在isr函数中分别指定不同的参数,给gInArray数组和RecFlag赋不同初值组合,从而测试main函数的不同分支。此外再加上DataProc和DataOutput函数中,i参数的不同取值(可考虑边界值),取值组合的多少依据判定覆盖、条件覆盖及你希望的测试强度。
至于是不是每个函数都要测试,我觉得在这个例子里,需要测的应该是main、DataProc和DataOutput三个函数,而且可以一并测试。

这方面接触的也不多,说的错的地方敬请指正。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-6-8 17:08:19 | 只看该作者
我是作嵌入式测试工具的。在覆盖率这块:语句覆盖,分支覆盖,Call覆盖。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-6-8 19:31:42 | 只看该作者
我只有学习 帮顶得份了 呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-6-19 11:55:54 | 只看该作者
正在学习中,受教了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 05:49 , Processed in 0.067597 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表