Файлы Проверка для тестирования

голоса
5

Я работал с качеством вчера делать некоторые формальные проверки. В своей процедуре они проверяли все файлы на тестовой машине были выведены из выпуска. То, как они проверяли эти файлы были такими же был, проверив размер и дата / время окна поставить на них в Windows Explorer. Они оказались вне по другой причине, которую я смог выяснить, почему.

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

Задан 07/08/2008 в 13:54
источник пользователем
На других языках...                            


5 ответов

голоса
3

Хэш очень хорошо. Но с другой стороны, немного ниже технологий альтернатива запустить инструмент сравнения, как WinMerge или TextWrangler и сравнить две версии каждого файла. Скучный и есть место для человеческой ошибки.

Лучше всего, использовать систему контроля версий, чтобы обеспечить файлы, которые вы тестирования файлы, которые вы отредактированные и те, которые вы собираетесь запустить. У нас есть проверочные папки с нашего репо, как постановка и живых сайтов, поэтому, как только вы совершили изменения из рабочей копии, вы можете быть 100% уверены, что файлы тестирования, нажмите на постановку, а затем живут такие же, потому что вы просто запустить «обновление СВН» на каждом окне и проверьте номер версии.

Да, и если вам нужно откатить в спешке (это случается со всеми когда-то или другими нас), вы просто запустить SVN обновления снова с -r выключателем и вернуться к предыдущей ревизии практически мгновенно.

Ответил 07/08/2008 в 14:17
источник пользователем

голоса
3

Единственный 100% способ выяснить, если два файла равно это сделать двоичное сравнение двух.

Если вы можете жить с риском ложных срабатываний (то есть. Два файлов, которые не являются 100% идентичны, но ваш код говорит, что они являются), то алгоритмы дайджеста и контрольной суммы могут быть использованы, чтобы уменьшить работу, особенно если файлы живут две разные машины с менее оптимальной пропускной способности, так что бинарное сравнение является неосуществимым.

Дайджест и контрольные сумма алгоритмов у всех есть шансы ложных срабатываний, но точный шанс зависит от алгоритма. Общее правило заключается в том, что более криптографически сделал это, и тем больше битов выводит, тем меньше вероятность ложных срабатываний.

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

Если вы делаете только сравнение размера / метки времени, то я извиняюсь, чтобы сказать, что это легко обойти и не будет на самом деле дать вам большую часть уверенности, что файлы являются одинаковыми или разными.

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

Ответил 07/08/2008 в 14:07
источник пользователем

голоса
1

Нормальный способ для вычисления хэша два файлов , и сравнить. MD5 и SHA1 типичные алгоритмы хэширования. md5sum должен быть установлен по умолчанию на большинстве машин типа Unix и Википедия md5sum статья содержит ссылки на некоторые реализации окон.

Ответил 07/08/2008 в 14:00
источник пользователем

голоса
1

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

Ответил 07/08/2008 в 13:59
источник пользователем

голоса
0

Вы должны выполнить проверку CRC на каждый файл ... из вики:

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

Она производит почти уникальное значение на основе содержимого файла.

Ответил 07/08/2008 в 13:57
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more