Современные тестовые фреймворки – это комплексные утилиты с богатым фунцкионалом. При помощи JUnit или TestNG можно написать тесты практически любой сложности. Тем не менее, такое богатство функционала зачастую избыточно. Если ваша задача – автоматизировать небольшое мобильное приложение, или вы только начинаете работать с автоматизацией, использование универсальных фреймворков не всегда будет оправдано. Многообразие возможностей и большое количество кода могут отпугнуть начинающих от написания автотестов.
В такой ситуации помогут специализированные фреймворки. Один из таких фреймворков – Cucumber – проектировался как фреймворк для приемочного тестирования, поддерживает Behavior Driven Development, а разработка в нем ведется на языке Gherkin. Этот язык близок к естественным языкам, и код на нем выглядит куда более дружелюбным. Конечно, за шагами Cucumber также стоит некоторое количество кода, но гранулярность и понятность самих шагов облегчает его написание.
В этом видео я рассказываю о префиксах Given, When, Then, And и Or, и об их правильном использовании в тестах.
Мобильная автоматизация – непростая тема. В ней еще нет наработанных решений, мало экспертов, а инструменты – новые и нестабильные. При этом любая компания хочет сократить срок разработки новых версий мобильных приложений, в том числе и за счет автоматизации тестирования.
Автоматизатор мобильных приложений – одна из наиболее высокооплачиваемых профессий на рынке. Учитывая дефицит кадров, многие автоматизаторы стоят дороже программистов. Поэтому любому хорошему тестировщику стоит освоить базовые навыки мобильной автоматизации.
Курс «Автоматизатор мобильных приложений» дает все необходимые навыки для самостоятельной настройки полного стека автоматизации с нуля. Мы не учим просто писать тесты или разворачивать среду тестирования, ведь этого недостаточно в работе.
На этом курсе вы научитесь:
Работать с обеими платформами – iOS и Android;
Выбирать правильные инструменты, подходящие именно под ваши задачи;
Настраивать среду автоматизации с нуля на различных операционных системах;
Писать качественные тесты, которые легко поддерживать и расширять;
Получите все необходимые знания для старта автоматизации в вашем проекте.
По окончании курса ваших навыков будет вполне достаточно для работы автоматизатором мобильных приложений в любой крупной компании.
Мы используем связку из самых популярных инструментов: Java8 + JUnit + Appium. Популярность стека можно оценить по опросу, актуальному на январь 2018.
Философия разработки через реализацию поведения ставит во главу угла автоматизацию: спеки поведения должна превратиться в автоматизированные тесты. Однако BDD вполне может включать в себя и ручное тестирование. У ручного тестирования есть свое место и свои задачи, даже в BDD. Помните, поведенческие сценарии – это в первую очередь поведенческие спецификации, и их ценность выходит за рамки тестирования/автоматизации. Любой сценарий можно прогнать как ручной тест. Следовательно, встают вопросы, в каких случаях пользоваться ручным подходом, и как с ним управляться.
Appium - популярный инструмент для автоматизации мобильных приложений. Его достаточно просто установить и запустить. Но часто у пользователей возникают проблемы с запуском приложения через графический интерфейс Appium, ведь надо правильно установить все необходимые capabilities для приложения, а их список - огромен.
В этом видео показывается, как можно при помощи ADB достать данные из приложения и запустить его на эмуляторе.
Код-ревью очень важное явление в процессе разработки ПО. Ставшее популярным, благодаря сообществу разработчиков ПО с открытым исходным кодом, оно сейчас является стандартом для любой команды девелоперов. Если оно выполняется правильно, то польза заключается не только в уменьшении количества багов и лучшем качестве кода, но и в обучающем эффекте для программиста.
И хотя код-ревью и запросы на включение кода (pull requests) хорошо известны разработчикам, эти понятия все еще остаются не до конца понятны тестировщикам. В большинстве scrum команд, в которых мне приходилось работать, инженеры-тестировщики по умолчанию не принимали участия в процессе просмотра запросов на изменение кода. Самое время изменить подобное мышление тестировщиков (и команд!). В этой статье я бы хотел рассмотреть код-ревью с позиции тестировщика и обозначить его преимущества для тестировщиков и scrum команд.
Наблюдать, как некоторые тестировщики сомневаются в себе, практически вызывает боль. Двое из каждого десятка сомневаются, если быть точным.
Я преподавал воркшопы нескольким сотням тестировщиков только в этом году. По какой-то причине эти 20% тестировщиков не находят багов вообще в течение первой двадцатиминутной тестовой сессии. А это обычно сессия, которая проводится на крайне забагованном приложении, специально выбранном для поиска багов.
Основная идея чемпионата - соревнование по поиску дефектов в программном обеспечении. В этом соревновании побеждает тот, кто за час сможет найти больше критичных багов, а так же знает тест - дизайн и обладает практическими навыками поиска неисправностей.
Тестовое приложение делаем специально для чемпионата, в нем будут спрятаны заранее придуманные баги, которые вам предстоит найти :)
Участвуй, прокачай свои навыки и получи шанс выиграть крутые призы! Победитель заберет самый крутой шлем виртуальной реальности HTC VIVE! (А так же будут футболки и памятные статуэтки/медальки - но это не точно )) )
Тестирование миграции данных – неклассическая задача инженеров по тестированию ПО, но с повсеместным распространением «больших данных» она встречается все чаще.
В данной статье команда A1QA расскажет на примере реального проекта, как подойти к тестированию миграции данных, какие подводные камни могут встретиться на пути, как оптимизировать выполнение проверок и завершить тестирование не просто в срок, а даже раньше.
Итак, начнем.
Миграция данных – перенос данных на новый ресурс/окружение.
Казалось бы, что может быть проще, чем перенести данные из системы А в систему Б? Но на деле часто оказывается, что системы А и Б имеют разную архитектуру и функциональность. Данные различия, в свою очередь, вызывают потерю данных, перенос нерабочих компонентов, нарушение прав доступа.
Чтобы избежать этих проблем, на проект привлекаются инженеры по тестированию программного обеспечения. Гибкость ума, умение разработать и реализовать грамотный план тестирования – навыки, которые позволяют тестировщикам обеспечить полный и безошибочный перенос всех данных, что и было сделано на проекте, описанном ниже.
Трудно ли автоматизировать мобильные приложения с нуля?
Нужно разобраться в инструментах, выбрать из них подходящие, подобрать правильные версии утилит, настроить их работу, а потом ещё и написать код.
Кажется сложным? Вы не одиноки — эта сложность останавливает многих. Порог вхождения в мобильную автоматизацию довольно высок, ведь инструменты только развиваются, а информации о них не так много. Но решать задачу надо, иначе качество вашего приложения не будет достаточным.
На мастер-классе в Екатеринбурге Арсений Батыров рассказывал, как развернуть автоматизацию мобильного приложения на Android с нуля. Ученики установили и настроили все нужные утилиты, запустили эмуляторы и написали первые тесты. На сложную логику времени не хватило, зато каждый смог настроить свою машину, подключить девайс и написать рабочий тест. Продолжить автоматизировать можно будет самостоятельно: всё-таки разбираться в рабочем процесс гораздо проще, чем начинать с нуля.