Этот дайджест создан совместно с телеграм-каналом QA Live 🚩 тестирование ПО. Подпишитесь, чтобы получать дайджесты прямо в телеграм!
🔖 Почитать:

Из серии открытых практикумов Google «Правильный код». Фрагменты подобных текстов с графикой расклеивались в туалетах офисов Google в рамках акции Google Testing on the Toilet.

Чрезвычайно коварные, скрытные, очень трудно найти, еще труднее устранить.
На других русскоязычных платформах:
Основная сущность в банке — это «Клиент», в простонародье — «пользователь» или «пользак». У клиента есть куча различных параметров, от ФИО до счетов, кредитов и карт. Всё крутится вокруг Клиента. За каждый отдельный логический модуль отвечает большое количество команд. Они имеют архитектурные различия (Java, C#, Python и т.д.) и находятся на различных серверах, неймспейсах — по терминологии К8S. Каждый из этих «модулей», которые вкупе составляют «Банк», имеют ряд ограничений на взаимодействия между собой. Сделали микросервис по созданию тестовых пользователей. С Redis время с 15-30 секунд сократилось до 300 мс. В результате мы уменьшили время прохождения автотестов примерно на 40 минут — с 4 часов до 3 часов 20 минут.
Как подвязать Robolectric к JUnit 5. Как запустить JUnit4-тесты при совместном использовании с JUnit Jupiter с помощью тестового движка Vintage. Как с JUnit Platform разработчики Kotest и Spock Framework создавали кастомные фреймворки. Чтобы разобраться со всем этими вопросами, нужно понять мотивы разработчиков, которые создавали JUnit 5. Для этого сравним архитектуру JUnit 4 и JUnit 5 и ограничения и возможности, которые предоставляют нам эти библиотеки.
Несмотря на странное название, статья подробно и толково описывает процессы в QA-отделе из 14 человек в средней компании ISPsystem. С точки зрения лида.
Объективно, с точки зрения бизнеса, QA-фуллстеки выгоднее. Конкретно в этой компании (а это Тинькофф) «QA-инженеры должны тратить на задачи по автоматизации, включая обучение, минимум пять часов в неделю», то есть всех ручников принудительно обучают автоматизации по часу в день.
Помимо Baeldung и Ютуба, автор советует не пренебрегать уникальными возможностями ChatGPT.
Корректный XML. Положительные и негативные тест-кейсы (негативные раньше были известной проблемой ChatGPT). Тест-планы. Гибкое и уместное применение техник тест-дизайна. Умеет работать с RestAssured! Корректно прописывает SQL-запросы. Генерация тестовых данных и раньше была неплохой.
Туториал. Если не зайдет этот, у нас есть получше — Charles Proxy. Обзорный гайд.
«Рассчитан на начинающих тестировщиков», но ближе к концу душновато.
При написании автотестов, так же как и при написании основного кода, важно придерживаться чистой архитектуры. Без нее мы можем столкнуться с некоторыми трудностями: при любых изменениях интерфейса потребуется обновлять код во множестве файлов, иногда тесты могут дублировать функциональность, а задача поддержать новые возможности приложения может превратиться в долгую и сложную адаптацию существующих тестов.
В мире QA на других платформах (англоязычных):
«В каждом домене свои данные, свой набор микросервисов и свои версии всех продуктов. Каждый продукт имеет свой набор тестов, от юнит-тестов до интеграционных, компонентных и E2E-тестов (в зависимости от продукта, разумеется). Тесты, для работы которых требуется отдельная среда, запускаются каждый раз, когда происходит развертывание одного или нескольких продуктов/сервисов».
Programming Fundamentals, то есть ЯП на приличном уровне: или Python, или Java, или JavaScript. Все вместе — не нужно и не возможно. Разумеется, база по автоматизации: фреймворки, в первую очередь Selenium, со временем Postman. Системы контроля версий — Git. Где учить: Coursera, Udemy, Codecademy, SoloLearn. Если есть время, читать официальную документацию и гайды. Со временем понадобятся регулярные выражения. Плюс — активно участвовать в комьюнити и на форумах.
Выявление flaky-тестов в тестовых наборах Playwright, которые являются распространенной проблемой.
Библиотека предоставляет классы и методы генерации фейковых тестовых данных, таких как номер мобильного телефона, адрес, данные кредитки, мейлы.
Capabilities are used with these Appium Clients, which consume the capabilities provided to them and pass on these capabilities to the Appium Server, which in turn understands them and starts the mobile device session based on these capabilities.
Сейчас количество (и сложность) тестов на разных этапах цикла могут быть настолько разными, что вообще нет смысла рассуждать о тестовых пирамидах, кубках, песочных часах выдуманных девопсами, и прочих абстракциях.
👀 Посмотреть:
- Веб или мобильное тестирование ⏱10 минут
«Краткий взгляд и советы для выбирающих путь.»
- Особенности тестирования Desktop-проектов ⏱2 часа 40 минут
Основательно. Не спеша.
- Особенности веб-тестирования ⏱1 час 45 минут
Стрим для новичков. Бодрое изложение. Вопрос подписчицы, робко: «Скажите, пожалуйста, что такое эскуэл?»
Хорошей недели!
