测试随机值 - 对这种方法的想法? [英] Testing for Random Value - Thoughts on this Approach?
问题描述
好的,我一直在研究随机图像选择器和队列系统(所以你不会经常看到相同的图像).
OK, I have been working on a random image selector and queue system (so you don't see the same images too often).
一切都很顺利(就我的蹩脚代码而言)直到我得到了随机位.我想测试它,但你如何测试它?没有 Debug.Assert(i.IsRandom)
(遗憾):D
All was going swimmingly (as far as my crappy code does) until I got to the random bit. I wanted to test it, but how do you test for it? There is no Debug.Assert(i.IsRandom)
(sadly) :D
所以,我在用茶给它浇水后开始思考并想出了以下内容,我只是想知道我是否可以有你的想法?
So, I got my brain on it after watering it with some tea and came up with the following, I was just wondering if I could have your thoughts?
- 基本上我知道 random 位是问题所在,所以我将它撕掉给一个委托(然后将其传递给对象构造函数).
- 然后我创建了一个类,它执行的逻辑与 live 代码几乎相同,但会记住在私有变量中选择的值.
- 然后我将该代表扔到现场课堂并进行了测试:
- Basically I knew the random bit was the problem, so I ripped that out to a delegate (which would then be passed to the objects constructor).
- I then created a class that pretty much performs the same logic as the live code, but remembers the value selected in a private variable.
- I then threw that delegate to the live class and tested against that:
即
Debug.Assert(myObj.RndVal == RndIntTester.ValuePassed);
但我忍不住想,我是在浪费时间吗?我反复运行了很多次,看看它是否会随时倒下等.
But I couldn't help but think, was I wasting my time? I ran that through lots of iterations to see if it fell over at any time etc.
你认为我在浪费时间吗?或者我可以侥幸逃脱:
Do you think I was wasting my time with this? Or could I have got away with:
GateKiller 的回答让我想起了这一点:
- 我应该补充一点,我基本上不想从 Y 大小的池中看到相同的结果超过 X 次.
- 添加测试容器基本上让我可以查看之前选择的任何图像是否是随机"的.已选中.
- 从技术上讲,我猜这里正在测试的东西不是 RNG(因为我从未编写过该代码),而是我期望 random 来自有限池的事实,我想跟踪它们.
- I should add that I basically never want to see the same result more than X number of times from a pool of Y size.
- The addition of the test container basically allowed me to see if any of the previously selected images were "randomly" selected.
- I guess technically the thing here being tested in not the RNG (since I never wrote that code) but the fact that am I expecting random results from a limited pool, and I want to track them.
推荐答案
从需求测试:所以你不会经常看到相同的图像"
Test from the requirement : "so you don't see the same images too often"
要求 100 张图片.您是否经常看到某张图片?
Ask for 100 images. Did you see an image too often?
这篇关于测试随机值 - 对这种方法的想法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!