51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3441|回复: 12
打印 上一主题 下一主题

[讨论] 请教一个函数的testcase设计方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-6-13 17:03:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
被测函数:
uchar  fl_evt_alz(struct TASK_IF_MSG *rcvmsg)
{
struct SL_IPT_MSG  *slmsg;
uchar ret;
struct CALL_PARA *rcvmsg2;   
struct  TASK_IF_MSG3    *msg3;   
slmsg = (struct SL_IPT_MSG *)rcvmsg;
ful_port = 0;
ret  = 0;
switch(rcvmsg->ifcode)
以下省略
}

在写testcase时:下面红色语句是否正确?顺便阐述一下理由。谢谢大侠了。
             void test_fl_evt_alz()
           {
             struct TASK_IF_MSG *rcvmsg;
             struct SL_IPT_MSG   *slmsg;
             rcvmsg=( struct TASK_IF_MSG * ) malloc (sizeof (struct TASK_IF_MSG ));
             rcvmsg=( struct SL_IPT_MSG   * ) malloc (sizeof (struct SL_IPT_MSG ));
             slmsg=rcvmsg;
            以下省略
}

急等
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

13#
发表于 2007-6-19 10:23:20 | 只看该作者
sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-6-15 10:15:28 | 只看该作者

回复 #11 不要长大的小孩 的帖子

猪头,就知道鲜花sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-6-15 09:52:08 | 只看该作者
sdlkfj3 鲜花。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-6-14 15:31:01 | 只看该作者

回复 #9 yeziqingqing 的帖子

个人认为测试有发展,支持测试!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-6-14 15:25:19 | 只看该作者
好好佩服!下功夫学学!特想做性能测试!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-6-14 15:19:14 | 只看该作者

回复 #7 yeziqingqing 的帖子

谢谢你的鲜花,这是用C语言编写的代码,至于书嘛,呵呵,只是用过谭浩强的《C程序设计》,其他都来源于平时的开发实践。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-6-14 15:12:20 | 只看该作者
真想好好学习一下,请问这些是什么编成语言,推荐几本书!谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-6-14 15:06:30 | 只看该作者

回复 #5 liulinzhu 的帖子

呵呵
感谢俺的话,送束花或扔个鸡蛋都行。sdlkfj5
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-6-14 13:08:51 | 只看该作者

回复 #4 xiaocuier 的帖子

slmsg = (struct SL_IPT_MSG *)rcvmsg;(这句的意思是slmsg指向了rcvmsg所指的空间,这里可能要判断以下SL_IPT_MSG的字节大小是不是小于或等于TASK_IF_MSG 所占字节的大小,如果不是就出错了。)

差点忘了这一步!
太感激了,sdlkfj9 sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-6-14 12:33:43 | 只看该作者

回复 #3 liulinzhu 的帖子

可以的,因为slmsg = (struct SL_IPT_MSG *)rcvmsg;之后的switch(rcvmsg->ifcode) 只是对rcvmsg进行处理,而没有对slmsg操作,不会有什么影响
初始化只需要对传入函数的参数分配空间即可。
rcvmsg=( struct TASK_IF_MSG * ) malloc (sizeof (struct TASK_IF_MSG ));
struct SL_IPT_MSG  *slmsg;  
slmsg = (struct SL_IPT_MSG *)rcvmsg;(这句的意思是slmsg指向了rcvmsg所指的空间,这里可能要判断以下SL_IPT_MSG的字节大小是不是小于或等于TASK_IF_MSG 所占字节的大小,如果不是就出错了。)
switch(rcvmsg->ifcode)...
这样就没有问题了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-6-14 08:37:57 | 只看该作者

回复 #2 TestCenter 的帖子

说的一点没错,我是菜鸟
那第一条malloc不写的话,可以直接对rcvmsg->ifcode赋值吗?
譬如在这下面 rcvmsg=( struct SL_IPT_MSG   * ) malloc (sizeof (struct SL_IPT_MSG ));
                   slmsg=rcvmsg;

                    rcvmsg->ifcode=2;
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2007-6-13 22:07:21 | 只看该作者

你写错了!

rcvmsg=( struct TASK_IF_MSG * ) malloc (sizeof (struct TASK_IF_MSG ));
rcvmsg=( struct SL_IPT_MSG   * ) malloc (sizeof (struct SL_IPT_MSG ));
-------这样写, 会造成第一次分配的空间已经"飞"了,因为没有任何一个指针指向它.

呵呵,你是菜鸟吧,我写C都十几年了.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 14:48 , Processed in 0.072984 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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