Был ли опыт с QA

Ответ

Да, работал с QA на нескольких проектах. Основные взаимодействия:

  • Тест-кейсы и баг-репорты – анализировал, воспроизводил и исправлял баги.
  • Автоматизация тестов – писал UI-тесты на Espresso и Unit-тесты (JUnit, Mockito).
  • CI/CD – настраивал запуск тестов в пайплайне (GitHub Actions, Bitrise).

Пример Espresso-теста:

@Test  
fun loginButton_opensMainScreen() {  
    onView(withId(R.id.loginButton)).perform(click())  
    onView(withId(R.id.mainScreen)).check(matches(isDisplayed()))  
}  

Всегда старался улучшить покрытие и ускорить фидбэк от QA.

Ответ 18+ 🔞

А, работал с тестировщиками, да? Ну, это как ездить на машине с постоянно горящим «чек-энджином» — вроде едет, но подозрение ебать чувствую, что щас что-то отвалится.

В общем, да, взаимодействовал. Основные моменты:

  • Тест-кейсы и баг-репорты – это святое. Сидишь такой, кодишь свою красоту, а тебе в тикет-систему: «НЕ РАБОТАЕТ ВСЁ, ХУЙНЯ ПОЛНАЯ». Открываешь баг-репорт, а там скриншот пол-экрана и описание «нажимаю сюда — ничего не происходит». Приходится самому, как шаман, воспроизводить этот пиздец, копаться в логах и в итоге находить косяк в одной строчке. Бывало, сам от себя охуевал — как это вообще работало до этого.
  • Автоматизация тестов – вот это уже дело. Чтобы не кликать каждый раз эту мартышлюшку вручную. Писал эти UI-тесты на Espresso. Выглядит, вроде, понятно, но когда начинается… AmbiguousViewMatcherException… ёпта, да пошли вы все. Плюс юнит-тесты на JUnit. Подменяешь зависимости через Mockito, а они тебе, сволочи, возвращают не то, что надо. В общем, доверия ебать ноль ко всему, пока сам не проверишь.

Пример того самого Espresso-теста, который вроде простой, но может сломаться от смены id в макете:

@Test  
fun loginButton_opensMainScreen() {  
    onView(withId(R.id.loginButton)).perform(click())  
    onView(withId(R.id.mainScreen)).check(matches(isDisplayed()))  
}
  • CI/CD – а вот это уже серьёзные танцы с бубном. Настраивал запуск всей этой тестовой обоймы в пайплайне, на GitHub Actions или Bitrise. Цель-то была простая: чтобы после каждого моего коммита не прилетало сообщение от QA «чувак, ты всё сломал, иди на хуй». Чтобы фидбэк был быстрым. Потому что ждать полдня, пока человек протестирует — терпения ноль ебать.

В целом, если без мата — старался сделать так, чтобы тесты ловили косяки до того, как их увидит живой человек. Это как сетка безопасности, только для кода. Иногда, правда, кажется, что некоторые тесты пишет не человек, а хитрая жопа, специально чтобы они падали в самый неподходящий момент. Но это уже другая история.