C ростом команд неизбежно растет количество фич, а вместе с тем и тестовая модель и количество тест-кейсов, которые необходимо проверять при регрессионном тестировании. При этом количество команд растет не просто так, в нашем случае бизнесу хочется релизиться все чаще и чаще, не потеряв в качестве.
То, как мы в Альфа-Лаборатории решали проблему поиска баланса между скоростью, бюджетом и качеством, мы и рассмотрим сегодня на примере Альфа-Мобайла. Забегая вперед, ВНИМАНИЕ, СПОЙЛЕР!!! наше решение доступно на github: библиотека colibri-ui и шаблон colibri-ui-template для быстрого старта.
К сожалению, нет магической формулы для разработки высококачественного программного обеспечения, но очевидно, что тестирование улучшает его качество, а автоматизация тестирования улучшает качество самого тестирования.
В данной статье мы рассмотрим один из самых популярных фреймворков для автоматизации тестирования с использованием BDD-подхода – Cucumber. Также посмотрим, как он работает и какие средства предоставляет.
Первоначально Cucumber был разработан Ruby-сообществом, но со временем был адаптирован и для других популярных языков программирования. В данной статье рассмотрим работу Cucumber на языке Java.
Процесс тестирования можно построить разными способами. Один из эффективных методов автоматизации процесса тестирования - это непрерывное тестирование в рамках непрерывной поставки ПО. Непрерывное тестирование позволяет стабилизировать и улучшить качество кода. Т.к. любое приложение начинается с разработки, то необходимо внедрять полноценное тестирование в циклы разработки.
Основная идея непрерывной поставки в том, чтобы построить конвейер (Deployment Pipeline), позволяющий каждому изменению в системе контроля версий попасть в боевое окружение стандартным и полностью автоматизированным способом.
Python библиотека pywinauto — это open source проект по автоматизации десктопных GUI приложений на Windows. За последние два года в ней появились новые крупные фичи:
Поддержка технологии MS UI Automation. Интерфейс прежний, и теперь поддерживаются: WinForms, WPF, Qt5, Windows Store (UWP) и так далее — почти все, что есть на Windows.
Система бэкендов/плагинов (сейчас их двое под капотом: дефолтный "win32" и новый "uia"). Дальше плавно двигаемся в сторону кросс-платформенности.
Win32 хуки для мыши и клавиатуры (hot keys в духе pyHook).
Также сделаем небольшой обзор того, что есть в open source для десктопной автоматизации (без претензий на серьезное сравнение).
Эта статья — частично расшифровка доклада с конференции SQA Days 20 в Минске (видеозапись и слайды), частично русская версия Getting Started Guide для pywinauto.
Для профессионалов в области обеспечения качества настали дивные времена, когда у них есть масса возможностей развивать свои навыки и стать мастерами автоматизации.
"Неважно, как все это называть – DevOps или Agile, для тестировщиков все это означает, что тестирование должно быть автоматизируемым и воспроизводимым", говорит Уэйн Ариола, директор по маркетингу и специалист по тестированию в компании Tricentis, занимающейся тестированием. "Временные циклы тестирования существенно уменьшились. У нас больше нет такой роскоши, как тестировать несколько недель в конце цикла разработки. Тестирование осуществляется параллельно с итеративной разработкой ПО, и оценка рискованности релиз-кандидата должна производиться на лету".
Что же это значит для специалистов-профессионалов, стремящихся найти достойную и хорошо оплачиваемую работу в ближайшие годы? В отличие от ранее высказанных мнений, что автоматизация DevOps переведет тестирование на поле разработки и лишит тестировщиков работы, организациям все еще очень нужны профессионалы тестирования.
Сегодня проблема ручного выполнения процессов тестирования является одной из актуальных из-за обнаружения многих ошибок на этапе внедрения.
В данной публикации предлагается подход к автоматизации тестирования OpenStack, который поможет увеличению качества и скорости разработки программного обеспечения на базе OpenStack, а также уменьшению времени внедрения IT продуктов.
В начале описывается сам процесс автоматизации со схемами и диаграммами. После описания процесса рассмотрены инструменты, которые предназначены для автоматизации тестирования OpenStack.
Построение процесса автоматизации тестирования OpenStack
Данный подход построен на основе непрерывного тестирования в рамках непрерывной поставки ПО. Непрерывное тестирование позволяет стабилизировать и улучшить качество кода. Т.к. любое приложение начинается с разработки, то необходимо внедрять полноценное тестирование в циклы разработки.
В этой статье я хочу поделиться рядом принципов, которые помогут вам добиться от вашей автоматизации скорости зайца и надежности черепахи.
Начнем со скорости. Что мы можем сделать, чтобы автоматизация ускоряла вам работу?
Принципскорости 1 – избегайтепадений
Падения тестов замедляют вам работу. Они требуют дебага и понимания, почему тест упал. Конечно же, тесты должны падать, если они натолкнулись на баг, но ваш труд замедлит вообще любое падение тестов.
Что же делать, если у вас на руках чересчур часто падающий набор тестов?
Первый шаг – это определить, как собрать данные о падениях. Какие данные вы можете получить из системы запуска тестов? Можно ли выкопать что-то в git-логах, сообщающее вам, как часто вам нужно менять определенные тесты? Как только данные у вас на руках, легко определить, какие тесты создают проблемы, и отправить их на рефакторинг. К тому же, когда способ легко получать информацию найден, вы будете контролировать процесс и в дальнейшем. Всегда стремитесь к тому, чтобы ваши тесты приносили пользу.
Поддержка автотестов может занимать много времени, как и понимание отчетности по ним. К счастью, эти процессы можно ускорить.
В своей консалтинговой практике я часто помогаю клиентам с автоматизацией. И раз за разом я сталкиваюсь с тестировщиками, автоматизаторами и разработчиками, создающие длинные тест-кейсы, с которыми сложно работать, и цель которых неясна. Если бы их тесты были бы четче и сфокусированнее, использующие их команды могли бы сэкономить массу времени.
Вот пять советов по улучшению ваших кейсов, основанных на моем опыте работы с клиентами, внедряющими автоматизацию.
В тестировании распределенных систем существует множество подходов и способов. Поиск методов и их совершенствование продолжается по сей день. Эта тема постоянно развивается, и именно этим она интересна.
Ниже представлена подборка докладов по автоматизированному тестированию со SQA Days 21, которая проходила в Москве в конце мая.
1. Ядро автоматизации под микро-сервисную архитектуру, Дмитрий Химион, Avito, Москва
2. Тестирование распределенных систем или Jepsen это совсем не сложно, Илья Сунцов, GridGain Systems, Санкт-Петербург
3. Тестирование REST-сервисов с применением инженерных практик, Илья Сизов, AlfaLab, Москва