CI 불안정한 테스트 해결: Evil Martians의 포괄적 접근법

테스트 스위트의 불안정성(Flakiness)은 개발 생산성을 저해하며, 이를 해결하기 위한 '무관용 정책'과 체계적인 접근법이 필수적입니다.

🔗 원문 보기

CI 불안정한 테스트 해결: Evil Martians의 포괄적 접근법

테스트 스위트의 불안정성(Flakiness)은 개발 생산성을 저해하며, 이를 해결하기 위한 '무관용 정책'과 체계적인 접근법이 필수적입니다.

Ruby-News

Ruby on Rails 앱 성능 최적화: 일상적인 접근 방식과 개발 문화

Red Canary의 힐러리 스톨스 크라우시는 Ruby on Rails 앱에서 일상적인 성능 작업을 수행하는 방법과 개발 문화 및 도구가 이러한 노력에 어떤 영향을 미치는지 공유합니다.

🔗 원문 보기

Ruby on Rails 앱 성능 최적화: 일상적인 접근 방식과 개발 문화

Red Canary의 힐러리 스톨스 크라우시는 Ruby on Rails 앱에서 일상적인 성능 작업을 수행하는 방법과 개발 문화 및 도구가 이러한 노력에 어떤 영향을 미치는지 공유합니다.

Ruby-News

FlakyDetector 2.0: Один комментарий, который перевернул моё представление о нестабильных тестах

Полгода назад я написал статью про FlakyDetector — инструмент, который ищет нестабильные тесты по одному лишь исходному коду, Потом была статья FlakyDetector 2.0 . AST + CatBoost, 37 признаков, вроде бы всё круто. Но один комментарий меня добил. Пользователь Ariless рассказал реальный кейс: в их проекте тест падал с SLOT_OVERLAP — не потому, что в коде теста было что-то плохое, а потому что фикстура была общая на несколько тестов (shared scope). Предыдущий тест не успел почистить слот — следующий упал.

https://habr.com/ru/articles/1043792/

#python #catboost #fastapi #flaky_tests #flakyтесты #ast

FlakyDetector 2.0: Один комментарий, который перевернул моё представление о нестабильных тестах

Как мы с вашей помощью добавили анализ фикстур, подняли размерность признаков до 42 и научились видеть order dependency до того, как она рушит CI 🔥 Лид: «А давайте просто пометим тест flaky и забудем»...

Хабр

FlakyDetector 2.0: Как я превратил сырое исследование в продакшен-инструмент с AST, ML и красивым дашбордом…

Представь: пятница, вечер. Ты запускаешь CI для последнего пулл-реквеста, идёшь наливать кофе, возвращаешься… а билд упал. Один тест. Ты перезапускаешь проходит. «Флаки», — вздыхаешь ты и ставишь лейбл flaky . На следующей неделе история повторяется. Потом ещё раз. Мы привыкли, что нестабильные тесты — это неизбежное зло . Их ловят повторными прогонами, а если повезёт вырезают. Но знаешь, что реально бесит? В 80% случаев корень проблемы можно найти, просто посмотрев на код теста. Я написал инструмент, который это делает автоматически. Без логов CI, без истории прогонов — только AST и машинное обучение. Назвал его FlakyDetector . Первая версия была исследовательским прототипом (про него у меня выходила статья на Хабре ). А теперь — это полноценный продукт: CLI, веб-дашборд, CI-интеграция и даже React-фронтенд. И да, он open source. Давай разберёмся, как это устроено .

https://habr.com/ru/articles/1035782/

#python #ast #catboost #flaky_tests #тестирование #machine_learning #test_smells #fastapi #static_analysis

FlakyDetector 2.0: Как я превратил сырое исследование в продакшен-инструмент с AST, ML и красивым дашбордом…

— История о том, почему половина ваших тестов падает «сама по себе», и как я научился находить виновников по исходному коду.  Лид: Час на перезапуск билда — это норма? Представь: пятница, вечер....

Хабр

Архитектура тестового фреймворка

Красные тесты на CI, зелёные локально, time.sleep в каждом втором тесте, а после смены селектора всё равно всё падает? Знакомо. Это не судьба, а отсутствие архитектуры. Разбираем, как превратить хаос из автотестов в промышленный фреймворк: слои, паттерны (POM, Builder, DI), анти-паттерны и работу с окружениями. С примерами на Python.

https://habr.com/ru/companies/otus/articles/1026132/

#архитектура_тестового_фреймворка #автотесты_Python #Page_Object_Model #pytest #антипаттерны_тестирования #flaky_tests #WebDriver_ожидания #тестовые_данные_изоляция #стабильность_автотестов

Архитектура тестового фреймворка

Наверняка многие сталкивались с ситуацией, когда в пятницу вечером падает CI‑пайплайн? Вы открываете лог, видите красный тест, перезапускаете его... и он проходит. Какой‑то сбой думаете вы....

Хабр

Избавляемся от Flaky тестов в CI/CD при помощи JMina

Представьте: вы написали код, покрыли его тестами, запустили их локально — тесты успешно прошли. Вы загрузили изменения в репозиторий, пайплайн успешно завершился. Самое время расслабиться и приступить к новым задачам. Но не тут-то было! Спустя некоторое время в CI/CD падает тест. Вы запускаете тесты локально — они проходят успешно. Вы снова запускаете пайплайн в CI/CD — и тесты снова проходят. Однако через какое-то время ситуация повторяется.

https://habr.com/ru/articles/904952/

#java #test #integration_testing #flaky #flaky_tests #logging #slf4j #tdd #kotlin #groovy

Избавляемся от Flaky тестов в CI/CD при помощи JMina

Представьте: вы написали код, покрыли его тестами, запустили их локально — тесты успешно прошли. Вы загрузили изменения в репозиторий, пайплайн успешно завершился. Самое время расслабиться и...

Хабр