51Testing软件测试论坛

标题: 请教一个函数的testcase设计方法 [打印本页]

作者: liulinzhu    时间: 2007-6-13 17:03
标题: 请教一个函数的testcase设计方法
被测函数:
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;
            以下省略
}

急等
作者: TestCenter    时间: 2007-6-13 22:07
标题: 你写错了!
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
标题: 回复 #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
标题: 回复 #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
标题: 回复 #4 xiaocuier 的帖子
slmsg = (struct SL_IPT_MSG *)rcvmsg;(这句的意思是slmsg指向了rcvmsg所指的空间,这里可能要判断以下SL_IPT_MSG的字节大小是不是小于或等于TASK_IF_MSG 所占字节的大小,如果不是就出错了。)

差点忘了这一步!
太感激了,sdlkfj9 sdlkfj9
作者: xiaocuier    时间: 2007-6-14 15:06
标题: 回复 #5 liulinzhu 的帖子
呵呵
感谢俺的话,送束花或扔个鸡蛋都行。sdlkfj5
作者: yeziqingqing    时间: 2007-6-14 15:12
真想好好学习一下,请问这些是什么编成语言,推荐几本书!谢谢!
作者: liulinzhu    时间: 2007-6-14 15:19
标题: 回复 #7 yeziqingqing 的帖子
谢谢你的鲜花,这是用C语言编写的代码,至于书嘛,呵呵,只是用过谭浩强的《C程序设计》,其他都来源于平时的开发实践。
作者: yeziqingqing    时间: 2007-6-14 15:25
好好佩服!下功夫学学!特想做性能测试!
作者: liulinzhu    时间: 2007-6-14 15:31
标题: 回复 #9 yeziqingqing 的帖子
个人认为测试有发展,支持测试!
作者: 不要长大的小孩    时间: 2007-6-15 09:52
sdlkfj3 鲜花。。。。
作者: liulinzhu    时间: 2007-6-15 10:15
标题: 回复 #11 不要长大的小孩 的帖子
猪头,就知道鲜花sdlkfj2
作者: 不要长大的小孩    时间: 2007-6-19 10:23
sdlkfj2




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2