Как стать автором
Обновить

Автоматическое тестирование ускорило разработку в 50 раз. Сказка от создателей FoundationDB

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров9.1K
Всего голосов 31: ↑26 и ↓5+33
Комментарии13

Комментарии 13

Да, как-то слишком всё радужно. Сама по диффам решает, какие тесты писать? Или как?

Система деиерминированна, а тестируемый софт нет. Так что 100 % не будет никогда. И да, откуда она знает, какие методы дергать и в каком порядке. Значит программист опять сидит и пишет этот высокоуровневый тест. Декларирует. А если сделал ошибку в описании теста или не все описал? Возвращаемся в начало. Программист ленивый и не написал тест для системы или криво написал, и баг не нашелся.

У них там эмулятор, который делает софт детерминированным насколько это возможно, т.е. при повторном запуске каждый системный вызов возвращает тот же результат, что и в прошлый раз. К этому прикручен фаззинг, симуляция разных ошибок (потери пакетов, притормаживание тредов и т.д.)

https://antithesis.com/blog/deterministic_hypervisor/

Это невозможно. float недетерминированный. Процессоры работают с разной частотой. Нужно делать польностью софтварный компьютер (Он будет жутко тормозить), и только чтобы это работало внутри него, без сети, без всего. Как выводить графику, она тоже недетерминированна. Время отрисовки кадра разное, значит код работающий с кадром, будет ждать разное время. В это время другие потоки успеют сделать больше или меньше. Т.е. Эта задача, впринципе не разрешимая. А нассать в уши покупателям можно конечно.

Конечно это не Вам претензия )

Только https://ru.wikipedia.org/wiki/Проблема_остановки не разрешима для машины Тьюринга. Авторы похоже про это не знают или специально умалчивают, раздуваю стоимость своего стартапа. А вообще это больше на скам походе, так как технических подробностей (как у них пишутся тесты) в статье нет

https://antithesis.com/docs/using_antithesis/sdk/go/overview.html вот SDK, тут видно, что они предоставляют замену random и другие вспомогательные пакеты, которые позволяют интегрировать код в платформу. Технические подробности того что легло в основу можно глянуть в исходниках FoundationDB.

Тоесть теперь 100% времени разработчике уверяют систему тестирования, что данный тест кейс - не соответствует заданию?

Базовый подход Antithesis — использовать случайные значения. Например, следующий код в итоге сгенерирует все комбинации двух функций размером до сотни

Я так понял, они придумали/реализовали фаззинг.

На словах "ноль ошибок", ребята из PVS Studio сочувственно улыбнулись и прошли мимо.

Обычная рекламная компания перед "запуском для всех". Осталось подключить к ней в качестве модуля программиста chat gpt, разработка ускорится в 500 раз по "субъективным ощущениям" ген дира оставшегося последним человеком в команде и разработка по наконец-то станет бксплатной, надеемся, ждем.

Правильно Мету экстремистами назвали! Развели тут экстремальное программирование…

Дожили. Блог компании, живущий рекламными статьями во имя себя, переводит рекламную статью другой компании.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий