Комментарии 8
Теперь понимаю, почему тестировщики — это отдельная профессия.
Что-то вы совсем про методику не рассказали, а это самое интересное. Какие блоки и как будут испорчены, например?
Видимо, имелись ввиду «испорченные» входные данные. Невалидные — это, например, mp3 вместо docx.
А вы тестируете работу ваших продуктов на невалидных входных данных?
Видимо, имелись ввиду «испорченные» входные данные. Невалидные — это, например, mp3 вместо docx.
Методика проста:
1. Simple Mode — можно задать процент файла, который нужно побить. При этом смещения битостей получаются рандомно. Блоки затираются произвольным байтом. Этот режим хорош для неуправляемой битости.
2. Professional Mode — в данном режиме можно управлять параметрами повреждений, здесь уже нет рандомностти, если не поставить соответствующие галочки. Можно задать через сколько байт бить, каким значением, через какие промежутки.
>>Видимо, имелись ввиду «испорченные» входные данные. Невалидные — это, например, mp3 вместо docx.
Интересно насколько уделяется внимание целостности и корректности файлов, если они подаются приложениям на вход.
1. Simple Mode — можно задать процент файла, который нужно побить. При этом смещения битостей получаются рандомно. Блоки затираются произвольным байтом. Этот режим хорош для неуправляемой битости.
2. Professional Mode — в данном режиме можно управлять параметрами повреждений, здесь уже нет рандомностти, если не поставить соответствующие галочки. Можно задать через сколько байт бить, каким значением, через какие промежутки.
>>Видимо, имелись ввиду «испорченные» входные данные. Невалидные — это, например, mp3 вместо docx.
Интересно насколько уделяется внимание целостности и корректности файлов, если они подаются приложениям на вход.
Спасибо, становится понятнее.
Что вы понимаете под блоком? Еще, на сколько я понял, совершенно игнорируется реальная структура файла, вы рассматриваете его как битовый поток. Верно? И на сколько рандомные повреждения похожи на те, что происходят в реальной жизни?
Что вы понимаете под блоком? Еще, на сколько я понял, совершенно игнорируется реальная структура файла, вы рассматриваете его как битовый поток. Верно? И на сколько рандомные повреждения похожи на те, что происходят в реальной жизни?
Под блоком подразумевается непрерывный кусок файла, который бьется за раз. Размер либо случайный для каждого такого блока, либо в Professional Mode его можно задать.
В простом режиме структура файла не учитывается — просто произвольное повреждение. Этот режим особенно полезен при тестировании продуктов на стабильность.
Структуру файла и ее повреждение можно имитировать при управляемой битости, если знать формат файла, то настроить программу под повреждение основных структур — не проблема.
>>И на сколько рандомные повреждения похожи на те, что происходят в реальной жизни?
Основные типы реальных повреждений вполне можно имитировать, но само собой для каждого формата настройки будут свои. К примеру, некоторые форматы особенно часто затираются в конце файлов, для других форматов, наоборот, основные битости происходят в первых 8-32Кб.
В простом режиме структура файла не учитывается — просто произвольное повреждение. Этот режим особенно полезен при тестировании продуктов на стабильность.
Структуру файла и ее повреждение можно имитировать при управляемой битости, если знать формат файла, то настроить программу под повреждение основных структур — не проблема.
>>И на сколько рандомные повреждения похожи на те, что происходят в реальной жизни?
Основные типы реальных повреждений вполне можно имитировать, но само собой для каждого формата настройки будут свои. К примеру, некоторые форматы особенно часто затираются в конце файлов, для других форматов, наоборот, основные битости происходят в первых 8-32Кб.
У Microsoft есть подобные утилиты (бесплатные): SDL MiniFuzz File Fuzzer и SDL Regex Fuzzer.
Задание параметров через command-line поддерживается?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Утилита FileCorrupter для тестирования продуктов на «битых» входных данных