Автор: <span>admin</span>

Тестирование

Бенчмаркинг производительности кода с QBENCHMARK и Google Benchmark

Введение Помимо корректности, для многих частей кода важна производительность — особенно горячих путей выполнения (циклы обработки данных, парсеры, алгоритмы сортировки). Замерять производительность «на глаз» через однократный запуск с…

Тестирование

Property-based тестирование в C++: RapidCheck и его применение

Введение Традиционные юнит-тесты проверяют конкретные, заранее придуманные примеры входных данных («при a=2, b=3 ожидаем 5»). Property-based тестирование переворачивает подход: вместо конкретных примеров формулируется общее свойство, которое должно выполняться…

QML

Тестирование QML-кода: Qt Quick Test на практике

Введение Логика, написанная непосредственно в QML и JavaScript (привязки свойств, обработчики событий, кастомные компоненты), нуждается в тестировании не меньше, чем код на C++, но QTest напрямую не предназначен…

Тестирование

Тестирование сигналов и слотов с помощью QSignalSpy: продвинутые сценарии

Введение QSignalSpy — специализированный инструмент QTest для проверки факта и параметров испускания сигналов без необходимости вручную подключать слот-наблюдатель и хранить состояние. В предыдущей статье он упоминался для базовой…

Тестирование

Мокирование зависимостей в Qt-тестах: подходы и инструменты

Введение Юнит-тест должен проверять конкретную единицу логики в изоляции, но реальный код часто зависит от других объектов — сетевых клиентов, баз данных, файловой системы. Подмена таких зависимостей «заглушками»…

Тестирование

QTest: пишем первый юнит-тест для Qt-класса с нуля

Введение QTest — встроенный в Qt фреймворк для юнит-тестирования, интегрированный с системой сборки через qmake/CMake и системой сигналов/слотов. В отличие от подключения сторонних фреймворков, QTest не требует дополнительных…

CUDA

cuBLAS и cuFFT: готовые GPU-библиотеки вместо своих ядер

Введение Для широкого класса задач — линейной алгебры (умножение матриц, решение систем уравнений) и преобразования Фурье — NVIDIA предоставляет высокооптимизированные библиотеки cuBLAS и cuFFT, реализующие эти операции на…