Найти в Дзене
Тестирование ПО

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

Подборка ресурсов о тестировании ПО.
подборка · 7 материалов
2 года назад
Как-то я писал про книгу "Effective software testing". В прошлом году был опубликован перевод этой книги на русский язык, вчера я его дочитал и мне есть что сказать про эту книжку.
2 года назад
Организаторы Heisenbug выложили видео моего доклада про реализацию поддержки фаззинга Lua-скриптов, чтобы тестировать сервер приложений в СУБД Tarantool. https://youtu.be/TRNifH9N5zM
2 года назад
Организаторы Highload любезно предоставили запись доклада, которой я делюсь с вами. https://www.youtube.com/watch?v=qwynLfpf9zk
3 года назад
Материалы к моему докладу "О чём я говорю, когда говорю о тестировании корректности работы компиляторов" Примеры кода к докладу - https://github.com/ligurio/snippets/tree/master/highload-2022 Слайды - https://bronevichok.ru/papers/2022-HighLoad-Testing-correctness-of-LuaJIT.pdf Страница доклада Антона Солдатова "Как мы работаем над стабильностью нашей реализации Lua" на сайте конференции. Тот самый баг, который Mike Pall закрыл как неприемлимый. Интересно, что он сначала написал про небезопасное выполнение недоверенного байткода в LuaJIT FAQ, а потом закрыл баг сославшись на эту часть FAQ. Фаззеры для C/C++ компиляторов: CSmith и YARPGen Слайды про YARPGen. Попытки рандимизированного тестирования PUC Rio Lua: - "NAUTILUS: Fishing for Deep Bugs with Grammars" - "GRIMOIRE: Synthesizing Structure while Fuzzing" - "Language-Agnostic Generation of Compilable Test Programs" Материалы про фаззер для JavaScript - FuzzIL: - Дипломная работа - Доклад - Принцип работы Слайды про Alive2. Слайды, диссертация и пейпер про Alive. Что интересно - авторы CSmith заметили, что чаще всего баги появляются в одной конкретной оптимизации InstCombine, и, чтобы фокусно тестировать эту оптимизацию, они решили проверить корректность оптимизаций с помощью LLVM IR и SMT-решателя. Вот ещё слайды про Alive. Проект Cosetta. Баг в PyPy, найденный с помощью SMT-решателя.
3 года назад
Материалы к докладу "Делаем фаззер для Lua на основе libFuzzer" Примеры кода из доклада - https://github.com/ligurio/snippets/tree/master/heisenbug-2022 Все примеры можно запустить, см. комментарии в файлах: - add_tests.py - тестирование функции сложения с помощью примеров, Hypothesis и Atheris - trace-pc.c - пример инструментирования программы в Clang для предоставления обратной связи - libfuzzer-example.c - пример фаззера для libFuzzer Здесь опубликую модуль для фаззинга Lua - https://github.com/ligurio/luzer/ Слайды Дополнительные ссылки: Hypothesis - расширение для тестирования с помощью свойств в Python Atheris - фаззер с обратной связью для Python на основе libFuzzer lua-quickcheck - модуль для тестирования с помощью свойств в Lua afl-lua - форк PUC Rio Lua для фаззинга Lua c помощью AFL libFuzzer - библиотека для фаззинга кода С/C++ Пример интеграции Lua с AFL без изменения интерпретатора - https://gist.github.com/stevenjohnstone/2236f632bb58697311cd01ea1cafbbc6 Будет работать, но не так эффективно, потому что не инструментируются полезные инструкции в Lua ВМ. Доклад, в котором Tavis Ormandy описал идею использования обратной связи, чтобы сделать фаззинг эффективнее - "Making Software Dumber". Видео и слайды. Доклад "ClusterFuzz: Fuzzing at Google Scale".