Size: a a a

Software Design/Architecture/Zen

2021 June 11

VS

Vlad Sobenko in Software Design/Architecture/Zen
Ну это же нужна инфраструктура, которая будет менять условия в моём коде и чекать какие тесты не упали. Так же?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
их цель - указать тебе что твои тесты не покрывают. Условно говоря...

if (x > 0 && y < 1) {
  // branch
}


ты можешь написать 1 кейс и получить 100% покрытие. Мутационные же скажут "не, если я тут кондишен поменяю местами то твои тесты не упали значит не покрывают
источник

SP

Sergey Protko in Software Design/Architecture/Zen
да и она обычно есть готовая
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Ну я вроде про это и писал.
источник

A

Artjom Kalita in Software Design/Architecture/Zen
Есть либы на это
источник

SP

Sergey Protko in Software Design/Architecture/Zen
есть готовые под пых, джаву, шарпы, с интеграцией в популярные раннеры
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Да, но это нужно прикрутить, починить, где у тебя чё ни так. Понять, что у тебя кодбаза огромная и инфра не вывозит. Нужно делить. Потом удобно репорты настроить.
Процессы подстроить по это дело
источник

SP

Sergey Protko in Software Design/Architecture/Zen
настраивается быстро
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ранается - настолько медленно насколько медленны твои тесты
источник

SP

Sergey Protko in Software Design/Architecture/Zen
звучит как отговорка "не делать что-то потому что надо будет потом результаты анализировать". Ну не надо значит не надо)
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Ну я на ноду с пыха прыгнул. Но думаю под неё тоже есть)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
есть stryker
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Думаю дойдёт дело, вынесу такой импрув на обсуждение. Но нужно сначало потестить, что прикрутится.
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Я так понимаю мутационные идут долго зачастую.
Тоесть ты запушил код и тесты. Подождал например ночь, пока жоба мутационных пробежала.
Утром сделал новый комит с недостающими тестами. Так?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну ты можешь не весь проект прогонять а только тот тест который хочешь заимпрувить, тогда сильно быстрее
источник

SP

Sergey Protko in Software Design/Architecture/Zen
грубо говоря - получашеь общий отчет. смотришь те тесты которые для тебя важнее (где логика сложнее) и там уже балуешься
источник

SP

Sergey Protko in Software Design/Architecture/Zen
p.s. я мутационные не юзаю - у меня и без них понятно где проблемы. Раньше баловался...
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Я понимаю, выглядит как киллер фича без недостатков.
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Вот поэтому я и хотел юзать тесты для рефача) декоппозить через тесты
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну просто это к вопросу ROI тестов. Сделать 80% кавередж условный достаточно легко. Сделать 99% сложно. Сделать 100% оч тяжело. Сделать 100% с учетом мутантов - возможно не стоит того.

Скорее всего будет пара модулей где стоит подключить мутационные тесты
источник