<? phpukraine СПІВБЕСІДИ
⌕Пошук по платформі

Тестування для Senior: питання на співбесіду

2 питання рівня Senior з теми Тестування з розгорнутими відповідями, порадами та перевіркою.

Тема
Рівень
2 питання
TST
Тестування·Senior ·легасі ·characterization tests ·golden master

Спершу зафіксувати те, що код робить зараз, а не те, що він мав би робити: characterization-тести (Майкл Фезерс) або golden master на рівні HTTP чи консольної команди. Далі знайти шви (seams), через які можна підставити залежності, мінімальними безпечними рефакторингами винести логіку в класи, що тестуються, і лише тоді міняти поведінку. Нову логіку пишуть поруч і з тестами (sprout method, wrap method), а не всередині старого моноліту.

Завантажую відповідь…
Сторінка питання →
TST
Тестування·Senior ·швидкість тестів ·parallel ·шардування

Спершу виміряти (`pest --profile`, час по джобах CI), потім прибрати дешеві втрати: хешування паролів, міграції на кожен тест, справжні `sleep()` і мережу, зайві дані з фабрик. Далі паралелити (`--parallel`, шардування на кілька машин), тримаючи тести ізольованими: своя база на процес, без спільних файлів і статики. Надійність тримається на правилі «flaky-тест це баг з власником», а не на автоматичних повторах.

Завантажую відповідь…
Сторінка питання →
Прогрес карток і тестів зберігається у профілі. Створити профіль·Увійти