51Testing软件测试论坛

标题: 用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成几个等价区间? [打印本页]

作者: feifeimao    时间: 2009-5-20 11:55
标题: 用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成几个等价区间?
题目:
用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成几个等价区间?

答案是4个。我怎么觉得是3个呀:8位,少于8位,多于8位。

哪位朋友能帮忙给个正解呢?
谢谢先^^
作者: wolsion    时间: 2009-5-20 11:57
还有非数字吧
作者: feifeimao    时间: 2009-5-20 11:59
还有一题,题目如下:

针对下列程序段,需要(52)个测试用例才可以满足语句覆盖的要求。
switch ( value )
{
case 0:
other = 30;
break;
case 1:
other = 50;
break;
case 2:
other = 300;
case 3:
other = other / value;
break;
default:
other = other * value;
}

答案是4个测试用例可以覆盖全部语句,但我怎么觉得是5个才行呢,那个default语句不也是一句了吗?

希望是答案错误吧,给位朋友,给我你们的答案吧,谢谢啦
作者: feifeimao    时间: 2009-5-20 12:00
谢谢楼上的,关于第一题,我是对等价区间的理解不清楚,是指的包括有效、无效等价类,还是指真对那个8位。

唉,纠结在这个题目上。。。。
作者: feifeimao    时间: 2009-5-20 12:01
想明白了,谢谢楼上了,呵呵
作者: wolsion    时间: 2009-5-20 13:20
原帖由 feifeimao 于 2009-5-20 11:59 发表
还有一题,题目如下:

针对下列程序段,需要(52)个测试用例才可以满足语句覆盖的要求。
switch ( value )
{
case 0:
other = 30;
break;
case 1:
other = 50;
break;
case 2:
other = 300;
case 3:
...


case 2:
other = 300;这个没有break,明白了吧
作者: feifeimao    时间: 2009-5-20 14:13
呵呵,明白了,谢谢楼上了
作者: 幽灵鱼    时间: 2009-5-20 14:37
第一题隐含1-8位
第二题你要看清楚是语句覆盖,最好你画个图,你就知道了 一共4条语句

[ 本帖最后由 幽灵鱼 于 2009-5-20 14:41 编辑 ]
作者: june.diny    时间: 2009-5-21 22:08
是4个。
有效等价类:8为数字类型;
无效等价类:大于8位的数字类型;小于8为的数字类型;非数字类型;
作者: jiang860718    时间: 2009-5-22 14:02
break   刚开始也没看见
作者: feifeimao    时间: 2009-5-22 14:07
上面两题都想明白了,谢谢楼上各位,这里又有新问题了,能再帮我看看吗

int GetMaxDay( int year, int month )
{
int maxday = 0;
if ( month >= 1 && month <= 12 )
{
if ( month == 2 )
{
if ( year % 4 == 0 )
{
         if ( year % 100 == 0 )
{
              if ( year % 400 == 0 )
maxday = 29;
              else   maxday = 28;
         }
         else
             maxday = 29;
       }
       Else
            maxday = 28;
}
Else
     {
          if ( month == 4 || month == 6 || month == 9 || month == 11 )
maxday = 30;
else
               maxday = 31;
}
  }
return maxday;
}

要求画控制流图,求V(G)

里面有两个判定是组合的:
if ( month >= 1 && month <= 12 )
if ( month == 4 || month == 6 || month == 9 || month == 11 )
我按照书上的说法, 把判定拆开成单个条件画了控制流图,这样V(G)就是十多个,但我参看答案V(G)=7,这个怎么解呢?
作者: feifeimao    时间: 2009-5-22 14:18
C:\Documents and Settings\Administrator\桌面\程序
C:\Documents and Settings\Administrator\桌面\控制流图
作者: feifeimao    时间: 2009-5-22 14:20
想把整理过的程序和控制流图附件粘上来,不成功呢
作者: june.diny    时间: 2009-5-23 20:18
圈复杂度有三种计算方式:
1、V(G)=R,R代表区域数;
2、V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;
3、V(G)=P+1,P是流图G中判定结点的数量。
要注意的是:
如果判断中的条件表达式是由一个或多个逻辑运算符 (OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。

可以针对你的程序流图,验证一下。。。
作者: feifeimao    时间: 2009-5-27 14:08
呵呵,谢谢楼上的了
我也是按照书上说的方法来做的,但是拆开来以后,v(g)就是十几个了,但答案等于7 呢。
作者: luomin1017    时间: 2009-5-27 15:45
按照V(G)=P+1来算,V(G)=7;但是正确的控制流图应该是怎么样画呢?
作者: june.diny    时间: 2009-5-31 22:27
标题: 回复 15# 的帖子
我画了下,是7个。结果28,29,30,31是要合并到一个节点上的哦
作者: feifeimao    时间: 2009-6-2 18:12
原帖由 june.diny 于 2009-5-31 22:27 发表
我画了下,是7个。结果28,29,30,31是要合并到一个节点上的哦


楼上,为什么28,29,30,31是要合并到一个节点上呢?
可以说说原因吗?
作者: june.diny    时间: 2009-6-2 20:54
标题: 回复 18# 的帖子
在选择或多分支结构中,分支的汇聚处应有一个汇聚结点
可以参考
http://www.51testing.com/html/10/n-76410.html
作者: feifeimao    时间: 2009-6-12 21:13
谢谢楼上了,但我还是不清楚,我怎么觉得粘附件好困难的哟,不好交流阿。
作者: 无痕    时间: 2011-2-27 16:07
晕 这些都是测试面试题目?
作者: 小妖童    时间: 2011-10-20 13:18
回复 21# 无痕


    这些都是软考的题目




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