CPPPROGLIB Telegram 6106
🔍 FuzzTest: Фреймворк для фаззинг-тестирования в C++

FuzzTest (от Google) — это библиотека для фаззинг-тестирования C++ кода.

🐼 Что это такое?

FuzzTest — это фреймворк, который автоматически генерирует тысячи тестовых случаев для вашего кода, пытаясь найти крайние случаи, утечки памяти, крэши и другие баги. В отличие от классических unit-тестов, где вы вручную задаёте входные данные, фаззер делает это за вас.


🍴 Почему стоит использовать?

void MyTest(int x, const std::string& s) {
EXPECT_TRUE(MyFunction(x, s));
}

FUZZ_TEST(MySuite, MyTest);


Простой синтаксис
Интеграция с GoogleTest
Умная генерация данных — автоматически создаёт осмысленные входные данные для сложных типов: строк, контейнеров, структур


✏️ Пример использования

#include "fuzztest/fuzztest.h"

void ParseUrlTest(const std::string& url) {
auto result = ParseUrl(url);
// Проверяем, что не крашится на любых входных данных
EXPECT_TRUE(result.has_value() || !result.has_value());
}

FUZZ_TEST(UrlParser, ParseUrlTest)
.WithDomains(fuzztest::Arbitrary<std::string>());


‼️ Когда использовать?

Парсеры и обработчики пользовательского ввода
Сериализация/десериализация
Криптографические функции
Работа со сложными структурами данных
API, которые должны быть устойчивы к любым входным данным


💌 Github

Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤔41



tgoop.com/cppproglib/6106
Create:
Last Update:

🔍 FuzzTest: Фреймворк для фаззинг-тестирования в C++

FuzzTest (от Google) — это библиотека для фаззинг-тестирования C++ кода.

🐼 Что это такое?

FuzzTest — это фреймворк, который автоматически генерирует тысячи тестовых случаев для вашего кода, пытаясь найти крайние случаи, утечки памяти, крэши и другие баги. В отличие от классических unit-тестов, где вы вручную задаёте входные данные, фаззер делает это за вас.


🍴 Почему стоит использовать?

void MyTest(int x, const std::string& s) {
EXPECT_TRUE(MyFunction(x, s));
}

FUZZ_TEST(MySuite, MyTest);


Простой синтаксис
Интеграция с GoogleTest
Умная генерация данных — автоматически создаёт осмысленные входные данные для сложных типов: строк, контейнеров, структур


✏️ Пример использования

#include "fuzztest/fuzztest.h"

void ParseUrlTest(const std::string& url) {
auto result = ParseUrl(url);
// Проверяем, что не крашится на любых входных данных
EXPECT_TRUE(result.has_value() || !result.has_value());
}

FUZZ_TEST(UrlParser, ParseUrlTest)
.WithDomains(fuzztest::Arbitrary<std::string>());


‼️ Когда использовать?

Парсеры и обработчики пользовательского ввода
Сериализация/десериализация
Криптографические функции
Работа со сложными структурами данных
API, которые должны быть устойчивы к любым входным данным


💌 Github

Библиотека C/C++ разработчика

BY Библиотека C/C++ разработчика | cpp, boost, qt


Share with your friend now:
tgoop.com/cppproglib/6106

View MORE
Open in Telegram


Telegram News

Date: |

How to create a business channel on Telegram? (Tutorial) Just at this time, Bitcoin and the broader crypto market have dropped to new 2022 lows. The Bitcoin price has tanked 10 percent dropping to $20,000. On the other hand, the altcoin space is witnessing even more brutal correction. Bitcoin has dropped nearly 60 percent year-to-date and more than 70 percent since its all-time high in November 2021. The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel. The public channel had more than 109,000 subscribers, Judge Hui said. Ng had the power to remove or amend the messages in the channel, but he “allowed them to exist.”
from us


Telegram Библиотека C/C++ разработчика | cpp, boost, qt
FROM American