51Testing软件测试论坛

标题: 预期结果到底如何判断呢,笔误的情况,测试用例能判断出来吗 [打印本页]

作者: ljan    时间: 2005-8-1 18:54
标题: 预期结果到底如何判断呢,笔误的情况,测试用例能判断出来吗
bool fun(int n)
{
   if(n > 0) // 若写代码笔误,实际应该为n < 0
   {
   ...;
    return true;
   }

   return false;
}

但我们测试时不知道笔误,
采用路径方法判断时
fun(100), 预期结果为true,和返回结果一致
fun(-1),预期结果false,返回结果false,一致

这样岂不是判断不出bug来吗
新手,感觉很困惑
作者: Kapok    时间: 2005-8-2 14:19
怎么会一致?

如果正确的判断条件是 n<0
fun(100) 预期当然应该是 false
fun(-1) 预期应该是 true
作者: Kapok    时间: 2005-8-3 17:02
Originally posted by snappyboy at 2-8-2005 16:05:
这个是需求实现的问题了,从代码上来说,它没有错。
但是从该函数要实现的功能上来说错了。
应该是代码实现的问题了。这类代码的测试不能光看源码,要看所实现的功能了吧。要只看代码也很容易疏忽。


代码本身无所谓对错 只有如何优化的问题
测试阶段的代码至少是能通过编译的

测试本来就是要检查程序的implementation是否符合specification
作者: ljan    时间: 2005-8-4 20:23
谢谢各位了,了解了
作者: skinapi    时间: 2005-8-9 10:12
1、笔误也是单元测试的内容,想发现笔误和测试用例的设计相关,还是楼主提到的例子,如果笔误是将n<0错写成n<=0了,这样楼主提到的两个用例是测试不出来的。可以考虑通过边界值法补充一些用例。
2、楼主提到的是采用路径覆盖的方法,其实不管是路径覆盖还是其它覆盖都由其局限性,往往要综合使用。不要认为覆盖率100%就没有问题了。
3、单元测试时不一定需要通过动态方式,也就是通过用例的设计和执行,也可以通过静态的方式,比如代码走读等,关键是尽快发现问题。




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