Разделы портала

Онлайн-тренинги

.
Введение в тестирование контрактов, часть 5: адаптация к изменениям
27.05.2022 00:00

Автор: Баз Дейкстра (Bas Dijkstra)
Оригинал статьи
Перевод: Ольга Алифанова

В предыдущей статье мы остановились на том, что у нас все в порядке с интеграционным тестированием: провайдер Address способен удовлетворить ожидания потребителей Customer и Order. Затем мы успешно справились с автоматизацией генерации контрактов и их публикации. Мы также автоматизировали их загрузку, проверку и публикацию результатов верификации на стороне провайдера.

Однако, как все мы знаем, системы постоянно меняются, и в них часто добавляются новые требования и функции. В этой статье мы рассмотрим ситуацию, когда на стороне потребителя внедряются два различных требования, а затем разберемся, как это повлияет на результаты верификации со стороны провайдера и предположим, как справляться с проблемами интеграции в ходе тестирования контрактов.

Подробнее...
 
Тест-ревью: как прошли два года написания unit-тестов
25.05.2022 00:00

Автор: Рубанов Михаил

Часто слышу мнение, что unit-тесты не нужны для мобильной разработки: в приложении должно быть минимум логики, основная работа с UI, а его сложно тестировать, да ещё и тесты отнимают время, которое можно было бы потратить на написание фич. 

За этим мнением скрывается простая правда — люди, которые так говорят, не умеют писать тесты. Не умеют писать их быстро; писать там, где нужно; писать так, чтобы была ощутимая польза для бизнеса. Я тоже был таким — понимал, что тесты нужны, но не понимал какие, где и как их писать. 

Рассказываю, что поменялось спустя 2 года и 4 тысячи тестов.

Подробнее...
 
Создание стратегии качества
24.05.2022 00:00

Автор: Кристин Джеквони (Kristin Jackvony)
Оригинал статьи
Перевод: Ольга Алифанова

В моей прошлой статье я рассказала о концепции Модели зрелости качества: наборе характеристик, помогающей командам добиться определенных атрибутов качества в своем ПО. Тут важно отметить, что внедрение модели зрелости качества требует вклада всей команды. Качество – это не то, что можно бросить через стену к тестировщикам; это цель, общая для разработки и тестирования.

Но как добиться того, чтобы за качество отвечала вся команда? Один из способов – это создание стратегии качества. Стратегия качества – это документ, с которым согласна вся команда. Это контракт, описывающий, как будет разрабатываться, тестироваться и выпускаться качественное ПО. В этой статье я обсужу ряд вопросов, на которые нужно дать ответы, создавая стратегию качества.

Подробнее...
 
50 оттенков нагрузочного тестирования
23.05.2022 00:00

Автор: Коршунова Александра

С нарастающими скоростями и распределёнными системами всё сложнее бывает создать приложение удобным для конечного пользователя. Программы обладают кучей фич. Но выполняют ли они то, что нужно юзерам? А скорость их выполнения достаточная? А производительность при выполнении не хромает? На эти вопросы помогает ответить нагрузочное тестирование (НТ).

Меня зовут Саша, я работаю в команде тестирования Ozon Fintech и расскажу про разнообразный спектр вариантов НТ: как именно мы его применяем и какие инструменты используем. Статья будет полезна тем, кто уже что-то слышал про НТ и хочет добавить его в свой проект, но пока страшновато. Давайте разбираться!

Подробнее...
 
Демо-сайты для практики тест-автоматизации
19.05.2022 00:00

Автор: Энди Найт (Andy Knight)
Оригинал статьи
Перевод: Ольга Алифанова

Одна из самых больших проблем на пути становления отличным автоматизатором – это практика. Тестирование – это настолько же искусство, насколько и наука. Определение, где добавлять явные ожидания, как создавать устойчивые локаторы, и почему нужно проверять этот элемент, а не другой, требует времени. Обучение также требует наличия приложений со специфическими элементами или конечными точками, чтобы проверить определенные операции. К сожалению, при огромном количестве ресурсов по обучению автоматизации (вроде Test Automation University) количество публичных демо-сайтов, на которых можно попрактиковаться, практически ничтожно. Я с трудом нашел нравящиеся мне, и люди часто просят меня порекомендовать такие площадки.

Подробнее...
 
Тестирование надежности (стабильности)
18.05.2022 00:00

Автор: Ольга Назина (Киселёва)

Тестирование стабильности или надежности (Stability / Reliability Testing) — проверка работоспособности приложения при длительном тестировании с ожидаемым уровнем нагрузки.

Если не перезагружать компьютер, рано или поздно начнет даже ворд тупить. Потому что «ну хватит уже, месяц ап-тайма, дай мне почистить внутренние кеши!». Или браузер — открыли вы кучу вкладочек, работает нормально. А через день-два-три-неделю начинает тормозить, пока не перезапустите. Это и есть надежность приложения — сколько он проработает в нормальном режиме?

Особенно важно для мобильных телефонов — вы вообще часто закрываете приложение? Я обычно просто жму на домашнюю кнопку, сворачивая его. А потом снова открываю. Приложения, не тестировавшиеся на надежность, постоянно зависают / вылетают / теряют соединение с сетью. 

Подробнее...
 
Создание пирамиды тестирования, метрики производительности, Bug Bash, скидка на Heisenbug: самые интересные новости тестирования за конец апреля - начало мая 2022
16.05.2022 12:16

Опубликован выпуск рассылки за начало марта.

В выпуске собраны ссылки на новые статьи, слайдкасты, отобраны самые интересные публикации в ленте блогов и темы на форуме.

Содержание рассылки доступно по ссылке.

Подписаться на рассылку

 
Переключение между окружениями в Cypress
16.05.2022 00:00

Автор: Филип Рик (Filip Hric)
Оригинал статьи
Перевод: Ольга Алифанова

Возможно, вам нужно запускать ваши тесты в нескольких окружениях. Неоднократно видел, как люди делали что-то вроде этого:

cy.visit(Cypress.env('localUrl'))

Я большой поклонник использования Cypress.env() для хранения переменных, но есть способы куда лучше.

Подробнее...
 
Как создать пирамиду из мороженки, если надежды нет
13.05.2022 00:00

Автор: Максим Бугров, начальник отдела тестирования Департамента разработки клиентских систем и сервисов, Московская биржа

Для организации разработки и тестирования сегодня принято выстраивать пирамиду тестов, это считается мейнстримом. Существуют десятки, если не сотни, вариаций пирамиды, опубликовано много докладов и статей о том, как она должна выглядеть. И почти все эти материалы помогут ответить на вопрос «Как мне построить пирамиду тестирования в новом проекте?».

Но что делать, если вы приходите в проект, в котором исторически применялся подход «мороженки» тестирования, когда основную часть проверок закрывали ручным тестированием? При этом компания проходит трансформацию, и от вас ждут, что вы приведёте процессы в соответствие современным практикам и ускорите их?

Меня зовут Максим Бугров, я больше 8 лет работаю в тестировании ПО. На Московскую биржу я пришел летом 2021 года на позицию начальника отдела тестирования. Наш департамент преимущественно разрабатывает софт, который связывает клиентов и торгово-клиринговые системы Биржи. И я расскажу, как мы начали превращать мороженку в пирамиду — нас ждал огромный ледник задач.

Подробнее...
 
Heisenbug 2022 Spring: Selenide в легаси-проекте, вред от собственного QA-фреймворка и Mocks vs Testcontainers
12.05.2022 00:00

Программа конференции по тестированию Heisenbug 2022 Spring почти готова — всего в ней будет 24 доклада. Вас ждут материалы о том, что сейчас происходит в мире тестирования и как делать работу так, чтобы коллеги смотрели на вас с неподдельным уважением.

Среди докладов:

– «Как перевести легаси-проект на Selenide». Спикер в деталях покажет, как внедрить фреймворк в старый проект с велосипедами и костылями так, чтобы никому не было очень больно.
– «Replay логов в качестве профиля нагрузки для MongoDB. Миф или реальность?» Рассказ о разработке нагрузчика для тестов capacity MongoDB. Сравним два варианта его реализации — на JS и на Java.
– «Why Java Test Frameworks are Overrated». Выясним, почему фреймворки для тестирования на Java переоценены, почему качество тестов для проекта важнее всего и как избавиться от излишнего усложнения кода.
– «Mocks vs Testcontainers». Нужны ли вообще моки, когда есть Testcontainers? Если мок не работает так же, как «настоящая» система, то в чем его польза? Можно ли избежать flakiness в интеграционных тестах? Об этом и многом другом узнаем из доклада.
– «Уберите из своего резюме "разработка QA-фреймворка"». Зачастую «запилил свой фреймворк» на деле означает «переусложнил свой код». Доклад позволит вам узнать, действительно ли оно вам нужно и почему для хорошего фреймворка достаточно четырех простых классов.

Online-часть пройдет 30 мая – 1 июня. А 21 июня — offline-день конференции в Санкт-Петербурге.

Подробности и билеты ждут вас на сайте конференции.

А этот промокод даст вам скидку при покупке персонального билета: softwaretesting2022JRGpc

Помимо Heisenbug, JUG Ru Group проведут весной-летом еще 6 конференций по разным направлениям: Java, JS, .NET, C++, мобильная разработка, распределенные и параллельные системы. Если что-то из этого вам интересно, покупать билеты на каждую конференцию необязательно. Для этого есть абонемент Full Pass, который дает доступ сразу ко всем семи, а стоит всего как два «отдельных» билета.

Переходите за подробностями на сайт Full Pass. Кстати, промокод выше действует и в этом случае.

А в качестве старта сезона JUG Ru Group проводят бесплатный фестиваль TechTrain. В программе — 9 докладов по разным IT-направлениям. В том числе — о плагинах для Selenide: зачем они нужны, как устроены и как написать свой. Подробности и регистрация ждут вас на сайте.

14 мая. Отправление — в 11:45. Choo-choo!

 
Как нанять тестировщика
11.05.2022 00:00

Автор: Кристин Джеквони (Kristin Jackvony)
Оригинал статьи
Перевод: Ольга Алифанова

В этом месяце я решила сделать что-то новенькое! Обычно мои статьи нацелены на тестировщиков, которые хотят прокачать свои навыки и лучше размышлять о том, что тестировать. Но в этот раз я хочу обратиться к тем, кто нанимает тестировщиков.

Принятие правильных решений о найме – это очень важно. Оказаться с неэффективным тестировщиком на руках зачастую хуже, чем вообще без него, по следующим причинам:

  • Он, возможно, не сможет автоматизировать тесты вообще – все тестирование будет вручную, и это сильно замедлит релиз.
  • Он будет плохо автоматизировать тесты, и вы получите нестабильные тесты, которым нельзя доверять, нуждающиеся в постоянной поддержке.
  • Он будет плохо понимать технические концепции – другим членам команды придется тратить время, чтобы снова и снова объяснять их коллеге.
  • Он не сумеет создать тест-стратегию – в итоге тестироваться будет не то, что нужно, а то, что нужно, не будет проверяться вообще.
Подробнее...