Обычные метрики покрытия (coverage 90%) ничего не говорят о качестве тестов. Код можно покрыть, но не проверить. Mutation testing проверяет не код, а тесты.
〰️Как это работает: Инструмент специально вносит мелкие изменения (мутации) в код:
🟣 > заменяет на < 🟣== на != 🟣убирает строки, инвертирует условия
Если после этого тесты всё равно проходят — значит, они не ловят ошибку 😬
💡 Пример:
def is_adult(age): return age >= 18
Тест проверяет
age = 18
. Мутация меняет код на
>
— тест всё ещё проходит. Вывод: тест слабый, не покрывает граничные случаи.
Обычные метрики покрытия (coverage 90%) ничего не говорят о качестве тестов. Код можно покрыть, но не проверить. Mutation testing проверяет не код, а тесты.
〰️Как это работает: Инструмент специально вносит мелкие изменения (мутации) в код:
🟣 > заменяет на < 🟣== на != 🟣убирает строки, инвертирует условия
Если после этого тесты всё равно проходят — значит, они не ловят ошибку 😬
💡 Пример:
def is_adult(age): return age >= 18
Тест проверяет
age = 18
. Мутация меняет код на
>
— тест всё ещё проходит. Вывод: тест слабый, не покрывает граничные случаи.
The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. To delete a channel with over 1,000 subscribers, you need to contact user support Image: Telegram. The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information.
from us