51Testing软件测试论坛

标题: (某公司的笔试题)写一段代码的测试用例 [打印本页]

作者: li_feibo    时间: 2012-5-10 23:25
标题: (某公司的笔试题)写一段代码的测试用例
应聘某公司软件测试一职位的其中一道笔试题,请大家前来帮助解答下!
写出覆盖下面程序的测试用例。
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
白盒的。。额,不太懂。。。
作者: metoto    时间: 2012-5-11 16:59
应该是叫你设计输入吧
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
本帖最后由 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
正如我3楼回复的,验证这段代码的功能就是验证
1)if的判断是否正常
2)输出是否正常

需要你做的就是准备输入的数据,如何才能用全面的数据保证代码的正常,就是这个嘛
作者: tangchun2008    时间: 2012-5-12 13:23
按照代码的解释貌似是先定义3个整形的变量,在将这3个数用IF判断,满足条件输出“b is the middle”
不满足执行ELSE输出“b is not the middle”
作者: archonwang    时间: 2012-5-13 13:28
路径覆盖方法即可。

我觉得写出来多少用例都是形式,关键是思维模式。
作者: archonwang    时间: 2012-5-13 13:29
可以尝试使用图论来设计相关测试用例。将这些条件作为分区工作,列出所有的情况,设计路径覆盖。
作者: li_feibo    时间: 2012-5-13 13:30
回复 6# metoto
嗯,谢谢metoto的回答.........
作者: qjcslg    时间: 2012-5-13 22:27
a>b 为一个条件,b>c为一个条件
条件组合判定(其中包括>,<,=)
作者: Charles_H    时间: 2012-5-14 09:25
版主和Metoto说的都有道理……
作者: 297322716    时间: 2012-5-14 10:48
路径覆盖
作者: ttcbl    时间: 2012-5-14 15:52
我的第一反应的跟版主想的一样的,把a>b和b>c分别看成是两个组合的条件,然后将a>b(a<=b)与b>c(b<=c)进行组合。




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