Сообщение Re[3]: В GoLang, таки, добавили generic'и от 16.03.2022 15:20
Изменено 16.03.2022 15:20 vsb
Re[3]: В GoLang, таки, добавили generic'и
Здравствуйте, Reset, Вы писали:
R>Насколько я понимаю, там подают на вход любые данные и смотрят, когда тестируемый код упадет.
R>Можешь объяснить, зачем этот Fuzzing нужен. По мне так это безумный вариант модульного тестирования (Unit testing), который уж точно будет реализован со всеми граничными случаями, до того, как дело дойдет до Фаззинга. Т.е. выглядит как очень нишевая технология, там где нужно особо фанатичное круглосуточное тестирование всеми немыслимыми входными данными.
R>Но с другой сторны, если это сделали, значит это кому-то нужно (и вряд ли все эти люди совсем неразумны).
Не очень понял, почему дело дойдёт до фаззинга только после всех граничных случаев. Суть в том, что не будешь ты тестировать граничные случаи, тебе лень или у тебя жизнь слишком коротка. А фаззинг будет. И, может быть, найдёт баг. Его же не сложно писать, а польза есть, хотя бы гипотетическая.
В моём понимании он полезен:
1. Там, где критична безопасность. Например парсинг файлов, приходящих извне.
2. Там, где сложная state-машина, которую юнит-тестами покрыть невозможно, слишком много сочетаний.
R>Насколько я понимаю, там подают на вход любые данные и смотрят, когда тестируемый код упадет.
R>Можешь объяснить, зачем этот Fuzzing нужен. По мне так это безумный вариант модульного тестирования (Unit testing), который уж точно будет реализован со всеми граничными случаями, до того, как дело дойдет до Фаззинга. Т.е. выглядит как очень нишевая технология, там где нужно особо фанатичное круглосуточное тестирование всеми немыслимыми входными данными.
R>Но с другой сторны, если это сделали, значит это кому-то нужно (и вряд ли все эти люди совсем неразумны).
Не очень понял, почему дело дойдёт до фаззинга только после всех граничных случаев. Суть в том, что не будешь ты тестировать граничные случаи, тебе лень или у тебя жизнь слишком коротка. А фаззинг будет. И, может быть, найдёт баг. Его же не сложно писать, а польза есть, хотя бы гипотетическая.
В моём понимании он полезен:
1. Там, где критична безопасность. Например парсинг файлов, приходящих извне.
2. Там, где сложная state-машина, которую юнит-тестами покрыть невозможно, слишком много сочетаний.
Re[3]: В GoLang, таки, добавили generic'и
Здравствуйте, Reset, Вы писали:
R>Насколько я понимаю, там подают на вход любые данные и смотрят, когда тестируемый код упадет.
R>Можешь объяснить, зачем этот Fuzzing нужен. По мне так это безумный вариант модульного тестирования (Unit testing), который уж точно будет реализован со всеми граничными случаями, до того, как дело дойдет до Фаззинга. Т.е. выглядит как очень нишевая технология, там где нужно особо фанатичное круглосуточное тестирование всеми немыслимыми входными данными.
R>Но с другой сторны, если это сделали, значит это кому-то нужно (и вряд ли все эти люди совсем неразумны).
Не очень понял, почему дело дойдёт до фаззинга только после всех граничных случаев. Суть в том, что не будешь ты тестировать все граничные случаи, тебе лень или у тебя жизнь слишком коротка. А фаззинг будет. И, может быть, найдёт баг. Его же не сложно писать, а польза есть, хотя бы гипотетическая.
В моём понимании он полезен:
1. Там, где критична безопасность. Например парсинг файлов, приходящих извне.
2. Там, где сложная state-машина, которую юнит-тестами покрыть невозможно, слишком много сочетаний.
R>Насколько я понимаю, там подают на вход любые данные и смотрят, когда тестируемый код упадет.
R>Можешь объяснить, зачем этот Fuzzing нужен. По мне так это безумный вариант модульного тестирования (Unit testing), который уж точно будет реализован со всеми граничными случаями, до того, как дело дойдет до Фаззинга. Т.е. выглядит как очень нишевая технология, там где нужно особо фанатичное круглосуточное тестирование всеми немыслимыми входными данными.
R>Но с другой сторны, если это сделали, значит это кому-то нужно (и вряд ли все эти люди совсем неразумны).
Не очень понял, почему дело дойдёт до фаззинга только после всех граничных случаев. Суть в том, что не будешь ты тестировать все граничные случаи, тебе лень или у тебя жизнь слишком коротка. А фаззинг будет. И, может быть, найдёт баг. Его же не сложно писать, а польза есть, хотя бы гипотетическая.
В моём понимании он полезен:
1. Там, где критична безопасность. Например парсинг файлов, приходящих извне.
2. Там, где сложная state-машина, которую юнит-тестами покрыть невозможно, слишком много сочетаний.