liulinzhu 发表于 2007-6-13 17:03:32

请教一个函数的testcase设计方法

被测函数:
ucharfl_evt_alz(struct TASK_IF_MSG *rcvmsg)
{
struct SL_IPT_MSG*slmsg;
uchar ret;
struct CALL_PARA *rcvmsg2;   
structTASK_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;
          以下省略
}

急等

TestCenter 发表于 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都十几年了.

liulinzhu 发表于 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;

xiaocuier 发表于 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)...
这样就没有问题了

liulinzhu 发表于 2007-6-14 13:08:51

回复 #4 xiaocuier 的帖子

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

差点忘了这一步!
太感激了,sdlkfj9 sdlkfj9

xiaocuier 发表于 2007-6-14 15:06:30

回复 #5 liulinzhu 的帖子

呵呵
感谢俺的话,送束花或扔个鸡蛋都行。sdlkfj5

yeziqingqing 发表于 2007-6-14 15:12:20

真想好好学习一下,请问这些是什么编成语言,推荐几本书!谢谢!

liulinzhu 发表于 2007-6-14 15:19:14

回复 #7 yeziqingqing 的帖子

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

yeziqingqing 发表于 2007-6-14 15:25:19

好好佩服!下功夫学学!特想做性能测试!

liulinzhu 发表于 2007-6-14 15:31:01

回复 #9 yeziqingqing 的帖子

个人认为测试有发展,支持测试!

不要长大的小孩 发表于 2007-6-15 09:52:08

sdlkfj3 鲜花。。。。

liulinzhu 发表于 2007-6-15 10:15:28

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

猪头,就知道鲜花sdlkfj2

不要长大的小孩 发表于 2007-6-19 10:23:20

sdlkfj2
页: [1]
查看完整版本: 请教一个函数的testcase设计方法