金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
有个随机数生成函数,按以下分布随机生成1个1-100的整数:90%概率为1-50,10%概率为51-100.
单元测试应该如何进行呢?
生成10000个数然后计算分布比例应该可以,只要在90%上下就算通过。
但是仍有极小可能产生测试失败的可能。
如何做一个具有确定性结论的测试用例?
posted on 2010-01-09 12:24 金庆 阅读(1200) 评论(3)  编辑 收藏 引用 所属分类: 1. C/C++5. 软工与管理

评论

# re: 随机数生成器应该如何单元测试? 2010-01-09 15:58 陈梓瀚(vczh)
这证明随机数产生函数还会在极小的可能下不满足需求嘛,这是bug,不用改单元测试,而是改随机数生成函数。  回复  更多评论
  

# re: 随机数生成器应该如何单元测试? 2010-01-11 10:08 金庆
@陈梓瀚(vczh)
是我没表达清楚。我指的测试失败是指容忍度太小。
生成10000个随机数,不可能正好9000个为1-50,在该数上下一定范围内都可判为通过。
例如容忍度取正负1%,绝大多数测试会通过,但仍有小概率不能满足误差1%,会超出范围而判断为测试失败。
  回复  更多评论
  

# re: 随机数生成器应该如何单元测试? 2010-07-27 02:42 yisa
这是个统计学上的可信度问题, google一下就知道了  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理