li_feibo 发表于 2012-5-10 23:25:24

(某公司的笔试题)写一段代码的测试用例

应聘某公司软件测试一职位的其中一道笔试题,请大家前来帮助解答下!
写出覆盖下面程序的测试用例。
int a、b、c
.......
if(a>b & b>c)
print (b is the middle)
else
print (b is not the middle)

hi_9 发表于 2012-5-11 14:56:22

白盒的。。额,不太懂。。。

metoto 发表于 2012-5-11 16:59:15

应该是叫你设计输入吧
a>b>c
a>c>b
a>b=c

b>a>c
b>c>a
b>a=c

c>a>b
c>b>a
c>a=b

a=b=c

li_feibo 发表于 2012-5-11 22:48:54

本帖最后由 li_feibo 于 2012-5-11 22:50 编辑

突然想到一个解决的方法,不知道是否正确,现在写出来, 希望大家都进来发表下自己的看法
采用组合的方法分析,把a>b和b>c分别看成是两个组合的条件,并用0、1表示,其中1表示真,0表示假,那么有4种组合的情况:(0,0),(0,1),(1,0),(1,1)。
不知道能否这样理解呢

metoto 发表于 2012-5-12 10:29:19

正如我3楼回复的,验证这段代码的功能就是验证
1)if的判断是否正常
2)输出是否正常

需要你做的就是准备输入的数据,如何才能用全面的数据保证代码的正常,就是这个嘛

tangchun2008 发表于 2012-5-12 13:23:09

按照代码的解释貌似是先定义3个整形的变量,在将这3个数用IF判断,满足条件输出“b is the middle”
不满足执行ELSE输出“b is not the middle”

archonwang 发表于 2012-5-13 13:28:28

路径覆盖方法即可。

我觉得写出来多少用例都是形式,关键是思维模式。

archonwang 发表于 2012-5-13 13:29:09

可以尝试使用图论来设计相关测试用例。将这些条件作为分区工作,列出所有的情况,设计路径覆盖。

li_feibo 发表于 2012-5-13 13:30:17

回复 6# metoto
嗯,谢谢metoto的回答.........

qjcslg 发表于 2012-5-13 22:27:52

a>b 为一个条件,b>c为一个条件
条件组合判定(其中包括>,<,=)

Charles_H 发表于 2012-5-14 09:25:24

版主和Metoto说的都有道理……

297322716 发表于 2012-5-14 10:48:26

路径覆盖

ttcbl 发表于 2012-5-14 15:52:10

我的第一反应的跟版主想的一样的,把a>b和b>c分别看成是两个组合的条件,然后将a>b(a<=b)与b>c(b<=c)进行组合。
页: [1]
查看完整版本: (某公司的笔试题)写一段代码的测试用例