Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Прокачиваем ваши релизы

Блог компании TINKOFFТестирование IT-систем
Из песочницы


Генри Форд однажды сказал: «Лучшая машина — новая машина». Так и мы в группе компаний Тинькофф думаем про релизы софта. Инертность в процессе доставки фич и срочных фиксов рано или поздно приводит к большой технической задолженности перед заказчиком и чаще всего заканчивается стагнацией проекта в целом.


Гарантировать высокий показатель time to market, сохранив качество, — непростая задача. C моей точки зрения, нельзя сразу построить рельсы, по которым можно будет быстро и удобно доставлять изменения и спустя много месяцев после старта. Рост проекта обычно сопровождается ростом числа людей, работающих над ним, а значит, создает потенциальный источник хаоса внутри ваших релизов.


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

Читать дальше →
Всего голосов 31: ↑30 и ↓1 +29
Просмотры3.4K
Комментарии 3

Тестировщики-гомеопаты или хронические проблемы найма

Тестирование веб-сервисовУправление разработкойКарьера в IT-индустрии

Подходы к разработке за последние десять лет претерпели серьезные изменения, требования к тестировщикам (QA, QE, инженерам по качеству) тоже поменялись. Но не все тестировщики готовы перешагнуть на качественно новый уровень. Вчера можно было прийти с улицы, чтобы попасть в профессию. Чтобы сегодня стать востребованным специалистом, нужно быть инженером.


Когда начинал карьеру, на курсах показывали презентацию с обоснованием необходимости тестирования. Подпись к слайду гласила: «Чем раньше находишь баг в жизненном цикле продукта, тем дешевле его фикс». Рейты тестировщиков ниже, чем у программистов. Наймём тестировщиков → обеспечим качество и сэкономим на разработке. Профит!


Тестировщики были охотниками за багами. Программисты пишут фичи, готовится релиз, релиз проходит стадию QA. В то время тестировщик «надевал шляпу» реального пользователя и начинал выполнять типичные сценарии. Считалось, что на эту позицию подойдёт человек без технического бэкграунда.


Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Просмотры18K
Комментарии 30

Автоматизация тестирования с использованием Selenide через Selenoid в Docker контейнере

Тестирование IT-систем

Данная статья будет полезна начинающим QA специалистам, а также тем, кто интересуется особенностями и возможностями таких популярных фреймворков тестирования, как Selenide и Selenoid.

Здесь мы рассмотрим некий базовый проект на Selenium. Увидим, как подключить Selenium и TestNG к проекту, пример Page Object с описанием элементов страницы и используемых методов.

Далее, знакомство с Selenide: рассмотрим сам фреймворк, его основные возможности и преимущества, добавление Selenide в тестовый проект. Рассмотрим работу с элементами, проверки и ожидания, доступные в Selenide.

И наконец, подключим к своему проекту фреймворк Selenoid для запуска тестов в Docker контейнере и вне его.


Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры22.2K
Комментарии 4

Управление аппаратными ресурсами по расписанию

Тестирование IT-систем
Из песочницы
В данной статье рассмотрен возможный вариант реализации автоматизированной системы управления аппаратными ресурсами (на примере электромагнитных реле) с привязкой к абсолютному времени. Подобная система может оказаться очень полезной при решении задачи автоматизации тестирования различной аппаратуры.

Например, в некоторой тестовой лаборатории есть необходимость автоматизировать сброс питания исследуемых / тестируемых устройств в строго установленные моменты времени с привязкой к абсолютной шкале (например, в понедельник в 10:00 утра). Однако, задача усложняется тем что на принятие решения о возможности выполнения операции управления питанием влияет текущее состояние других аппаратных ресурсов исследуемого устройства (например, тот или иной уровень на выходной GPIO линии).

Последнее обстоятельство несколько усложняет решение и заставляет задуматься о применении некоторого внешнего аппаратного модуля в котором есть поддержка необходимых аппартных ресурсов для решения такой задачи, а именно: реле, часы реального времени, входные GPIO линии.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры1.1K
Комментарии 0

Ещё одна библиотека для создания mock'ов

Тестирование IT-системPythonТестирование веб-сервисов
Из песочницы

Добрый день. Я занимаюсь автоматизацией тестирования. Как и у всех автоматизаторов, у меня есть набор библиотек и инструментов, которые я обычно выбираю для написания тестов. Но периодически возникают ситуации, когда ни одна из знакомых библиотек может решить задачу с риском сделать автотесты нестабильными или хрупкими. В этой статье я хотел бы рассказать, как вроде бы стандартная задача использования mock'ов привела меня к написанию своего модуля. Также хотел бы поделиться своим решением и услышать обратную связь.

Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры3.2K
Комментарии 4

Автоматизация аппаратного тестирования Embedded Систем

PerlТестирование IT-системОтладкаПромышленное программированиеDIY или Сделай сам
Продолжим цикл статей об автоматизации тестирования Embedded систем. В этой статье будет рассказано как можно быстро и относительно просто интегрировать возможность управления питанием тестируемого устройства из тестового скрипта а так же получить возможность имитировать нажатия механических кнопок по команде из тестового скрипта.

Итак, что имеем:

  1. Десятки Embedded устройств в которых нужно проводить тестирование новой версии FirmWare (если быть точнее — ежедневная сборка прошивки)
  2. В виду особенностей процедуры загрузки FW может потребоваться необходимость сбросить питание (т.н. режим загрузки прошивки в режиме Power On Capture)
  3. Хотелось бы в некоторые конкретные моменты времени по ходу выполнения тестового скрипта имитировать нажатия на механические кнопки размещенные на отладочной плате Embededed системы
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры3.1K
Комментарии 17

Что дает автоматизация тестирования

Блог компании SimbirSoftТестирование IT-систем
При создании IT-решений ошибки обходятся дорого, это особенно заметно в медицине, где от качества ПО зависят человеческие жизни, или в сфере банкинга, где возможны крупные финансовые потери. Автоматизация тестирования позволяет организовать постоянную проверку качества продукта. Давайте разберемся, в каких случаях она необходима.

Одни компании ошибочно считают, что автоматизация – пустая трата времени и средств, другие – что это крутой тренд и «таблетка» от всех болезней. Рассмотрим, где золотая середина и в чем смысл автоматизации.

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры6.4K
Комментарии 7

Путь тестировщика: из “ручников” в автоматизаторы

Блог компании MaxilectТестирование IT-системУправление персоналомКарьера в IT-индустрииЛайфхаки для гиков
Ручных тестировщиков часто подталкивают в автоматизаторы, и я считаю этот путь вполне закономерным. Именно так получаются лучшие автоматизаторы. Они в первую очередь неплохие ручники, а уже во вторую — немного разработчики.

В этой статье я поделюсь своим мнением, почему стоит идти именно по этому пути и что будет, если в автоматизацию прийти иначе.

image
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры12.1K
Комментарии 14

Автоматизация тестирования ПО QIWI-терминалов

Блог компании QIWIТестирование IT-системJavaФинансы в ITСтарое железо
Привет, Хабр!

Сегодня поговорим на специфическую тему: автоматизация тестирования ПО для терминалов самообслуживания QIWI.

В теме автоматизации тестирования есть области, которые исхожены вдоль и поперек несколько раз, например, тестирование веб-сервисов. Для таких областей существуют отдельные инструменты, паттерны и best practices. Выдумывать ничего не нужно, риски минимальны, берешь и делаешь.

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

Вот о чем-то таком и хотелось рассказать сегодня. Статья подойдет тем, кто занимается разработкой и тестированием софта для банковских терминалов или автоматов самообслуживания. А также тем, кто хочет расширить свой технический кругозор примерами «а еще бывает вот так».


QIWI-терминал в 2020. На заднем фоне можно увидеть его начинку.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры7.5K
Комментарии 19

Методы автоматизированного тестирования

IT-компании
Tutorial
Данная статья скорее является размышлениями на тему необходимости, целесообразности и обоснованности применения автоматизированных тестов, нежели погружением в то, как именно их применять.

Компоненты системы


Современная информационная система – большой, сложный и комплексный продукт, состоящий из множества компонентов:

  • Клиента с GUI
  • Программного сервера
  • СУБД
  • Аппаратного обеспечения
  • И т.д.

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

Этапы жизненного цикла системы


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

  • этап разработки и внедрения,
  • этап сопровождения и развития,
  • работы по обновлению целевой системы в связи с выпуском вендорами новых версий ее компонентов.

На этих этапах присутствуют:

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

Для обеспечения стабильности системы в связи с изменением ее компонентов и алгоритмов применяются различные методы тестирования.
Читать дальше →
Всего голосов 6: ↑3 и ↓3 0
Просмотры6.2K
Комментарии 5

Selenium + AutoIT. Автоматизация тестирования Windows окон

Блог компании Digital DesignТестирование IT-системТестирование веб-сервисов
Tutorial
Меня зовут Иван Сидоренко, я инженер по тестированию в компании Digital Design.

Передо мной стояла задача разработки авто-тестов для одного из наших проектов с помощью инструмента Selenium WebDriver на языке Java. Подробнее про это вы можете прочитать в моей прошлой статье

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


Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры3.6K
Комментарии 7

Организация автотестов на примере мобильного приложения для СЭД

Блог компании DirectumТестирование мобильных приложений


+ более качественная, но менее смешная версия обложки
image

Рано или поздно все приходят к АТ. Ситуация, когда это происходит поздно, понятна, а когда рано? И как понять, что уже можно?

Статья основана на опыте одной команды: расскажу про наши предпосылки и поводы внедрения автотестирования, какие мы выделили критерии готовности к АТ и какие инструменты используем в итоге. Спойлер: в конце немного успешных и не очень кейсов с Xamarin.UITest.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры1.7K
Комментарии 2

Чем Cypress прекрасен для новичков автоматизации?

Тестирование IT-системТестирование веб-сервисов
Из песочницы

Документация


Уверен, что никакой другой framework для тестирования не имеет такой понятной, объёмной и обширной документации. Она написана на простом английском языке, содержит описание API, тонну полезных гайдов от разработчиков проекта, к примеру — настройка конфигурации.

image
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Просмотры25.4K
Комментарии 9

Автоматизация тестирования: Java или Python?

Блог компании OTUSТестирование IT-системТестирование веб-сервисовТестирование мобильных приложений
Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear.




Один из самых популярных вопросов звучит так:
Какой курс мне лучше пройти: по автоматизации тестирования на Python или по автоматизации тестирования на Java? И почему у нас есть курсы на обоих языках?

Первое и самое важное, о чем нужно сказать: не имеет значения, на каком языке вы проводите автоматизацию.

Приложение, которые вы хотите протестировать может быть написано на Java, Python, C#, Assembly, Scala или на любом другом доступном языке программирования. Фреймворки для автоматизированного тестирования на Python будут автоматизировать ручные тесты ничем не хуже фреймворков на Java. Когда речь заходит об автоматизации графического интерфейса, нет разницы на каком фреймворке вы проводите тестирование.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры9K
Комментарии 5

4 лучших паттерна проектирования автоматизированного тестирования (и еще 86)

Блог компании OTUSТестирование веб-сервисовТестирование мобильных приложений
Перевод
Всем привет. В преддверии старта курса «Python QA Engineer» подготовили перевод еще одного интересного материала.




Большая часть успеха ваших проектов по автоматизации заключается в переиспользовании известных паттернов тестирования, которые, как уже доказано, помогают повысить надежность сценариев автоматизации.

Паттерн проектирования автоматизированного тестирования – это то простое решение, которое день ото дня доказывает миру свою эффективность. Эти шаблоны также считаются лучшими практиками для любого проекта, построенного за счет объектно-ориентированного программирования.
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры10.9K
Комментарии 2

Система автотестирования e-commerce

Тестирование IT-систем
Чувствую себя изобретателем велосипеда. И долго думал, стоит ли писать, о том, что мне кажется самоочевидным. Но очередной раз столкнулся с тем, что, с упорством достойным лучшего применения, так не делают.

И так ситуация: e-commerce в транспорте / туризме / индустрии гостеприимства. Разрабатывали, разрабатывали и вот уже — сквозные бизнес-процессы, множество систем, все как положено в большом e-commerce.

image
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры966
Комментарии 1

Единственно верный способ загружать и скачивать файлы в Selenium тестах

Тестирование IT-системТестирование веб-сервисов
Из песочницы

image


Selenium WebDriver создавался как кросс-платформенный инструмент для управления веб браузерами. И вот уже почти 14 лет он делает эту работу очень и очень хорошо. Впрочем, автотесты из реального мира создают ситуации, в которых Selenium бессилен. Например, по сценарию нужно загрузить или скачать какой-либо файл. После нажатия кнопки "Загрузить" или "Скачать", поверх окна браузера появляется окно файлового менеджера операционной системы к которому Selenium уже не имеет доступа. Тест останавливается.


Я слышал рекомендации использовать утилиты типа AutoIt или Sikuli для работы с такими системными окнами. Мой совет — никогда так не делайте, это порочная практика, которая приводит к нестабильным тестам:


  • Такое решение не кросс-платформенное. Приходится изобретать свой велосипед для каждой новой операционной системы.
  • Хрупкое. Нет гарантии, что скрипт будет работать корректно если на машине открыто несколько браузеров.
  • Это делает невозможным использование headless режима браузера

Меня зовут Ярослав Пернеровский. Я уже 15 лет в тестировании и около 8 лет в автоматизации. Сейчас я расскажу как нужно правильно обрабатывать такие ситуации.

Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Просмотры14.3K
Комментарии 17

Создайте ваш первый тест на Cypress

Блог компании Factory5Тестирование веб-сервисов
Tutorial
Всем привет!

Меня зовут Роман Мостафин. Я тестировщик-автоматизатор в компании Clover, и обычно пишу автотесты на pytest + selenium. Недавно для написания тестов на UI на проекте «Умный Локомотив» для автоматизации регрессионного тестирования наша команда фронтенд-разработчиков начала использовать Cypress. Я вызвался им помогать и проникся этой технологией. В этой статье я расскажу о Cypress, и как создать на нем свой первый тест.

Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры7.1K
Комментарии 8

Автоматическое тестирование микросервисов в Docker для непрерывной интеграции

Блог компании AurigaТестирование веб-сервисовDevOps
🔥 Технотекст 2020 🔥 Технотекст 2020

В проектах, связанных с разработкой микросервисной архитектуры, CI/CD переходит из разряда приятной возможности в категорию острой необходимости. Автоматическое тестирование является неотъемлемой частью непрерывной интеграции, грамотный подход к которой способен подарить команде множество приятных вечеров с семьёй и друзьями. В противном же случае, проект рискует быть никогда не завершенным.


Можно покрыть весь код микросервиса юнит-тестами с мок-объектами, но это лишь частично решает задачу и оставляет множество вопросов и сложностей, особенно при тестировании работы с данными. Как всегда, наиболее острые – тестирование консистентности данных в реляционной БД, тестирование работы с облачными сервисами и неверные предположения при написании мок-объектов.


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


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


  • конфликты параллельных задач в одном докер-хосте;
  • конфликты идентификаторов в БД при итерациях теста;
  • ожидание готовности микросервисов;
  • объединение и вывод логов во внешние системы;
  • тестирование исходящих HTTP-запросов;
  • тестирование веб-сокетов (с помощью SignalR);
  • тестирование аутентификации и авторизации OAuth.

Это статья по мотивам моего выступления на SECR 2019. Так что для тех, кому лень читать, вот запись выступления.


КДПВ

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры5.5K
Комментарии 0

От пирамиды тестов – к колесу автоматизации: какие проверки нужны на проекте

Блог компании SimbirSoftТестирование IT-системТестирование веб-сервисовУправление разработкой
Перевод
О задачах автоматизации тестирования и случаях, когда она необходима, мы уже писали на Хабре. А для выбора необходимых проверок удобно иметь под рукой наглядное пособие, не ограничиваясь знаменитой пирамидой автотестов. Предлагаем перевод статьи Кристин Джеквони (Kristin Jackvony), где графически показан еще один метод – колесо автоматизации.

Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры7K
Комментарии 10