Где я могу получить «ненужные» данные, чтобы помочь проверить мой код? - PullRequest
0 голосов
/ 13 октября 2010

Для моего класса C я написал простую статистическую программу - она ​​рассчитывает max, min, mean и т. Д. В любом случае, я успешно откомпилировал программу, поэтому все, что мне нужно сейчас сделать, это на самом деле протестировать ее;единственная проблема в том, что у меня нет ничего, чтобы проверить с .

В моем случае мне нужен список значений типа double - моя программа должна принимать от 2 до 1 000 000;Есть ли какой-нибудь ресурс в Интернете, который может создавать списки бессмысленных данных?Я знаю, Lorem Ipsum используется для набора текста, и мне интересно, есть ли что-то похожее для различных типов числовых данных.

Или мне не повезло, и мне придетсяпросто создать свои собственные ненужные данные?

Ответы [ 6 ]

3 голосов
/ 13 октября 2010

Проблема с программным обеспечением для тестирования заключается не в источнике данных, а в наборе . Я имею в виду, можете ли вы проверить метод int sum(int a, int b), просто введя в него случайные числа? Нет, тебе нужно знать, чего ожидать. Это тестовый набор: входы и ожидаемые результаты.

Что вы скажете, когда обнаружите, что 548888876 + 99814465 = 643503341? Как вы можете сказать, что это реальный результат?

Больше, чем нахождение случайных чисел для вашей программы, вы должны каким-то образом знать результаты своих вычислений заранее, чтобы сравнить их.

Есть несколько способов сделать это: я предлагаю вам выбрать генератор случайных чисел (амфетаминак +1) и использовать данные оба в вашем коде и в программа, которую вы уже знаете, хороша, т.е. Matlab для ваших целей. После вычисления вашей статистики с обоими, сравните свои результаты и посмотрите, хорошо ли вы написали код или вам нужно отладить.

Кстати, я добровольно изменил результат вышеупомянутой суммы ...

2 голосов
/ 13 октября 2010

Как насчет генерации случайного двойного числа?

Random r = new Random();
for (int i = 0; i < 100000; i++)
{ 
    double number = r.NextDouble();
    //do something with the value
}
1 голос
/ 13 октября 2010

http://www.generatedata.com/#generator

Я использовал этот генератор данных раньше с некоторым успехом. Чтобы быть справедливым, обычно это включает копирование / вставку генерируемых данных в какой-то другой формат, в котором вы сможете читать.

Вы можете легко сгенерировать свои собственные данные для этого конкретного случая. Цикл случайное число раз с завершающим условием 1 000 000. Генерация случайных двойников в пределах ожидаемого вами диапазона. Поток это и прочь вы идете.

Генерация собственных тестовых данных в этом случае, вероятно, является наилучшим вариантом.

1 голос
/ 13 октября 2010

Создать файл со случайными байтами:

$ dd \
    of=random-bytes \
    if=/dev/urandom \
    bs=1024 \
    count=1024
1 голос
/ 13 октября 2010

Поскольку необходимые вам данные будут зависеть от программы, я не знаю источника общих данных.

Если вы можете написать эту программу, вы сможете написать сценарий для создания фиктивных данных для себя.

Просто используйте цикл для распечатки случайных чисел в диапазоне, который может принять ваша программа.

0 голосов
/ 13 октября 2010

Вы можете взять первый миллион цифр числа Пи и разделить их на столько двойных чисел, сколько захотите.

Первые несколько могут быть, например, 3.14159, 2.65358, 9.79323, 8.46264, 3.38327, 9.50288, 4.19716 и 9.39937.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...