51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2080|回复: 1
打印 上一主题 下一主题

[原创] 如何测试随机函数

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-3-22 20:18:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如 题,想请问一下如何测试一个随机函数?测试不是讲究要测试结果有可见性吗?谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-3-23 00:29:01 | 只看该作者
测试这个 随机函数,如果是在单元测试的层次上,那么就按照详细设计核对程序实现是否一直。
并且设计驱动桩(ps-应该代码的长度不会过8行,我印象里C语言的实现好像代码不长)。

如果代码不可见,就是一个函数接口:
那我会判断它的输出(包括类型和形式)是否和接口文档种描述的一直?

我臆断啊!随机数的实现原理应该是利用时间种子,或者是利用物体热噪声的随机性,最好根据这些来推断它。(具体实现我不懂啦)

如果是时间种子的话,那么最对这个函数做大量的调用。
例如写个代码。(记录当前的时间,年月日小时分秒)
for(int i = 0;i != Integer.MAX_VALUE; i ++)
//按格式输出 毫秒级别的时间 +  当前随机函数的输出      
System.out.println("current time is " + System.currentTimeMillis() + ", random number is " + 随机函数的输出);

将得到的输出报存。
然后修改本地时间,改成上次记录的时间再来一次。
检查这两次的输出,有相同的吗?
这我的预计,因为当前电脑没有安装编程环境,那些都是猜想。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-19 22:35 , Processed in 0.067334 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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