51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5276|回复: 14
打印 上一主题 下一主题

[求助] 面试考题,请帮忙

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-11-29 23:30:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个考题,我是新手请帮助,谢谢!
以下程序接受x,y,z的值,并交计算结果X的值返回给调用程序;
int fun(int x,int y, int z)
{
if((y>1)&&(z==0))
{x=x/y}
if((y==2)||(x==1))
{x=x+1}
return x;
(1)画出流程图;
(2)用白盒设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-11-30 12:37:39 | 只看该作者
我也想知道,懂的朋友赶紧帮帮啊!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-11-30 14:09:02 | 只看该作者
ding.会的人帮帮忙萨
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-11-30 16:35:00 | 只看该作者
流程图我就不画了,比较简单。
路径覆盖的话,应该把两个IF语句中的四个判断条件都覆盖一下,也就是应该有四个路径可以走,保证每个条件都做一边。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-11-30 16:56:33 | 只看该作者
能画出流程图就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-11-30 20:26:57 | 只看该作者
Return    |  X   Y   Z
__________________________
     3        |  3   3   3
     0        |  0   1   0
     1        |  0   2   0
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-12-1 09:40:01 | 只看该作者
A: if((y>1)&&(z==0))
B: x=x/y
C: if((y==2)||(x==1))
D: x=x+1
E: return x;
(1)画出流程图;
(2)用白盒设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。

1.输入: y=2; z=0; x=2  
 输出:x=2
满足语句覆盖
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-12-1 09:55:52 | 只看该作者
A: if((y>1)&&(z==0))
B: x=x/y
C: if((y==2)||(x==1))
D: x=x+1
E: return x;
(1)画出流程图;
(2)用白盒设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。

1.输入: y=2; z=0; x=2   输出:x=2 路径:ABCDE 满足语句覆盖
2.输入: y=2; z=0; x=2   输出:x=2 路径:ABCDE
   输入: y=1; z=1; x=0   输出: x=0 路径:ACE 
   满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖
3.输入: y=2; z=0; x=2   输出:x=2 路径:ABCDE
   输入: y=1; z=1; x=0   输出: x=0 路径:ACE 
   输入: y=2; z=1; x=0   输出: x=1 路径:ACDE
   输入: y=1; z=0; x=1   输出: x=2 路径:ACDE
   满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖
4.输入: y=2; z=0; x=2   输出:x=2 路径:ABCDE
   输入: y=1; z=1; x=0   输出: x=0 路径:ACE 
   输入: y=3; z=0; x=0   输出: x=0 路径:ABCE
   输入: y=2; z=1; x=2   输出: x=3 路径:ACDE
   满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、路径覆盖
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-12-1 10:25:34 | 只看该作者
不对吧,ricelane版主?
例如:2.y y>1  y=2   z=0 x!=1 return x=x/2?? x=x+1不用执行吗?

评分

参与人数 1综合技术指数 +10 收起 理由
njforange + 10

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2005-12-2 10:48:05 | 只看该作者
应该有8中情况
x,y,z作为条件,用0,1标识符合条件与不符合条件
000
001
010
011
100
101
110
111
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2005-12-2 12:23:20 | 只看该作者

谢谢

真是太感谢你们了,我也是一个新手对软件测试感兴趣,想找份这方面的工作,以后多多交流!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2005-12-22 11:04:13 | 只看该作者
如果面试考这类相关试题的话,我就赚大了,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2005-12-22 18:09:31 | 只看该作者
我认为应该是 5 条路径:(路径覆盖)
A   {
B    Y>1
C   Z==0
D   X=X/Y
E   Y==2
F    X==1
G   X=X+1
H   return x;
流程图不画了,路径如下:
1.A -> B -> H
2.A -> B -> C -> H
3.A -> B -> C -> D -> E -> F -> H
4.A -> B -> C -> D -> E -> G -> H
5.A -> B -> C -> D -> E -> F -> G -> H
这里的疑问是,对于C语言的  “ || ” 操作,是不是当第一个条件为真时,那么第二个条件就不必判断了?我不太记得了。如果是的话,那么大家就丢了第四个路径。
同样的对于语句覆盖,应该是: Y=3,Z=0,X=3,  返回:X=2   如果是 Y=2,Z=0,X=2的话,不会进行第二个条件的判定。
至于其他,我想也应该考虑下,这里就不多说了。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2005-12-23 11:13:23 | 只看该作者
一个函数中,两条件语句顺序执行,内含与、或关系,而且还少了个“}”。
能画出流程图,基本上就没问题了,用等价类划分法加上边界值检验制定出Test Case应该不成问题。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2005-12-23 13:24:20 | 只看该作者
画出流程图,然后覆盖路径就可以了,比较简单
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 02:38 , Processed in 0.072383 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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