51Testing软件测试论坛
标题:
做题了!做题了!
[打印本页]
作者:
笨鸟
时间:
2005-12-17 17:37
标题:
做题了!做题了!
找出错误原因并写出正确答案:
设置软件日期限制源代码错误
{
//给用户的软件设置使用日期的限制
//2003年6月23日以后,弹出软件过期的错误不能用的信息
CTime.time=CTime::GetCurrentTime( );
if( time.GetYear( )>=2003 )
{ if ( time.GetMonth( )>6)
show.outofdate_message_and_exit( );
if ( time.GetDay( )>27)
show.outofdate_message_and_exit( );
}
}
作者:
Horus_Ra
时间:
2005-12-17 23:00
有意思吗?调整日期又可以用了……
作者:
笨鸟
时间:
2005-12-18 00:56
照你这么说,那我在这里问这个有什么意思?我只是要知道程序错在哪儿,怎么改!!
请不要回没用的话!!!
作者:
biaofengzgf
时间:
2005-12-18 14:33
最起码有一点上面需求的时间和你下面代码的时间就不一致啊,上面的时间是23号,下面的代码又是27号;而且,年份判断完了之后,月份和日期的判断也是该有个分界的吧,只有月份大于6的时候才判断日期吧。你的月份和日期的判断好像成了两选一了吧。
[
本帖最后由 biaofengzgf 于 2005-12-18 14:39 编辑
]
作者:
笨鸟
时间:
2005-12-18 23:21
不好意思,谢谢biaofengzgf的提醒,抱歉是我输入错误,它要判断的是2003年6月23号以后的日期为过期日期.
这是一家公司招聘软件测试员时出的笔试题,他们的目的就是要应聘者描述出这道题错误的原因,它的错误大家可能很容易看出来,可是要怎样用最精确的语言来描述这个错误呢?希望大家来讨论讨论
作者:
kpxl
时间:
2005-12-19 10:17
首先告诉楼主一句话,说话客气一点,不管人家给你的答案是不是你想要的,都不能出言不逊!
作者:
笨鸟
时间:
2005-12-19 15:10
虚心接受版主的批评.
作者:
archonwang
时间:
2005-12-19 16:47
假设其他的get函数没有错误,即不涉及字符串类型和数值类型转换的问题。那么,我的看法如下:
好像是逻辑错了。如果是时间年GetYear( )>2003了,还有必要继续IF么?
这样改试试看:
if( time.GetYear( )=2003 )
{ if ( time.GetMonth( )>6)
show.outofdate_message_and_exit( );
if (time.GetMonth()=6) and ( time.GetDay( )>27)
show.outofdate_message_and_exit( );
Else
.......
[
本帖最后由 archonwang 于 2005-12-19 16:54 编辑
]
作者:
archonwang
时间:
2005-12-19 16:56
大于2003的逻辑自己写吧。应该不难的。顺便整理下看看。
作者:
wzb521
时间:
2005-12-19 17:12
那我借这个问个问题吧:如果基础设置错了,下面的算法是否还要测试?
作者:
百事可乐
时间:
2005-12-19 17:19
我也见过这道测试考试的题,当时没做出来。。。。。。。
错误大家都知道,关键是怎么改
作者:
archonwang
时间:
2005-12-19 17:21
标题:
个人意见,仅供参考。
如果已确认基本的Get函数(GetYear/GetMonth/GetDay)发生了错误,继续往下测试只不过是浪费时间而已。
作者:
quoooyang
时间:
2005-12-20 17:02
咱们都知道,应该按顺序判断年-月-日。那么修改如下:
//给用户的软件设置使用日期的限制
//2003年6月23日以后,弹出软件过期的错误不能用的信息
//更改
Ctime.time=CTime::GetCurrentTime();
if(time.GetYear()>2003)
{
show.outofdate_message_and_exit();
return;
}
else if(time.GetYear()==2003)
{
if ( time.GetMonth( )>6)
{
show.outofdate_message_and_exit();
}
else if(time.GetMonth()==6)
{
if(time.GetDay()>23)
{
show.outofdate_message_and_exit();
return;
}
}
}
作者:
kian
时间:
2005-12-20 17:57
楼上的写的比较清晰了
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2