В мобильной автоматизации использовать реальные устройства – дорого и не всегда эффективно. Удаленные фермы устройств, вроде Browserstack, стоят достаточно дорого. Поддержание локальной фермы стоит еще дороже – администрирование парка устройств отнимает очень много времени.
В такой ситуации спасает тестирование на эмуляторах. Их установка и настройка не занимает много времени, в большинстве своем они бесплатны, а утилиты автоматизации давно умеют подключаться к ним самостоятельно.
В этом видео я расскажу о том, как установить и настроить самый простой и доступный эмулятор Android – Genymotion. Он бесплатен для личного использования, поддерживает почти все актуальные платформы и прост в установке.
Люди совершают ошибки. Это аксиома. Кто-то больше, кто-то – меньше; кто-то учится исключительно на своих ошибках и шишках на лбу, а кому-то достаточно чужого опыта. В своей статье я расскажу об ошибках, совершаемых в нашей индустрии, и постараюсь доказать читателю, что некоторые ошибки – это позитивный опыт.
Баг, там баг!
Однажды я заблокировала продакшн-релиз… Это вполне себе обычное дело в практике тестировщика. В том случае, когда ты работаешь недавно, блокировка релизов – дело более опытных коллег. Но что делать, если твои старшие товарищи в отпуске, а на продакшн-версию может попасть «поехавшая верстка»?
К слову сказать, дефект содержался и в четырех предыдущих версиях продукта и не слишком-то мешал пользователям, но я, молодой борец за качество программных продуктов, не могла допустить, чтобы и в пятый раз эти баги остались нетронутыми.
Selenium WebDriver – это, фактически, стандарт для автоматизации Web UI. Отличный инструмент, но, как и все хорошее, зачастую используется неправильно. У меня много вопросов к использованию Selenium WebDriver, и сейчас вы узнаете об этом все!
WebDriver «Юнит-тесты»
«Юнит-тесты на WebDriver» напоминают квадратные круги – они по определению неверны логически. Если мне не изменяет память, юнит-тесты – это тесты белого ящика, что подразумевает прямой доступ к коду продукта. Тесты Web UI, использующие WebDriver – это тесты черного ящика, так как они взаимодействуют с активным, запущенным сайтом. Следовательно, они выше уровня юнит-тестов по определению. Не надо их так называть.
Всех участников ждёт встреча с легендами мира тестирования: автором методологии Rapid Software Testing Майклом Болтоном, руководителем Selenium Project Саймоном Стюартом, главным редактором Smashing Magazine Виталием Фридманом и другими экспертами мирового уровня.
Из 120 заявок организаторы отобрали три десятка лучших докладов, в которых есть то, что вы не узнаете из книг или форумов. Heisenbug позволит посмотреть на тестирование под другим углом и задуматься о вещах, которые в повседневной жизни никогда не придут вам в голову.
Помимо основной программы будет вечеринка: спортивное «Что? Где? Когда?», неформальное общение за кружкой пенного и кулуарные BoF-сессии, где каждый сможет высказаться и почувствовать себя частью мощного коммьюнити.
Если вы еще не купили билет – регистрируйтесь с промокодом SoftwareTestingPromo и получайте скидку 3000 рублей на личное посещение и 1500 на онлайн-трансляцию.
Современные тестовые фреймворки – это комплексные утилиты с богатым фунцкионалом. При помощи 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% тестировщиков не находят багов вообще в течение первой двадцатиминутной тестовой сессии. А это обычно сессия, которая проводится на крайне забагованном приложении, специально выбранном для поиска багов.