тестирование мобильных приложений скиллбокс
Введение в тестирование: проверяем приложение Яндекса на баги
Интенсив завершен, но вы можете посмотреть его в записи
За три дня вы познакомитесь с профессией и инструментами мобильного тестировщика. Изучите основы тест-дизайна и напишете чек-лист для проверки приложения от Яндекса.
Кому подойдёт интенсив
Новичкам без опыта в IT
Узнаете, как попасть в IT без опыта в программировании, и изучите основы тестирования. Напишете чек-лист для проверки приложения, проведёте первые тесты, получите обратную связь и советы от QA-инженера Яндекса по развитию карьеры тестировщика.
Тестировщикам
Познакомитесь с особенностями дебаггинга мобильных приложений и узнаете, какие специфические инструменты используют мобильные тестировщики.
Тестировщики востребованы на рынке. 6252 вакансии для разных уровней открыто на рынке труда.
Вы научитесь
Понимать особенности мобильного тестирования
Писать чек-листы
Применять инструменты мобильного тестирования
Инструменты, которые вам понадобятся
• Мобильное приложение Яндекс.Погода на Android или iOS для тестов.
• Браузер Google Chrome последней версии.
Подробную инструкцию для подготовки к интенсиву и ссылки на мобильное приложение мы пришлём в письме после регистрации на интенсив.
Программа
Знакомимся с профессией тестировщика. Основы мобильного тестирования
Погружаемся в инструменты мобильного тестирования
Тестирование мобильного приложения: подводим итоги
Подарки и призы
Сертификат на обучение в Skillbox
Все, кто сдаст домашнюю работу, получат сертификат на 15 000 рублей на любой курс.
«Век живи — век учись» Кей Петерсон и Дэвида Колба
Всем, кто дойдёт до конца, — электронная книга от издательства «МИФ».
Преподаватель
Роман Радин
Что вас ждёт
Мощная программа
Три дня вебинаров по 1,5 часа для полного погружения в тему — такого вы ещё не видели.
Реальные задачи
Которые помогут закрепить знания и понять, в каком направлении двигаться дальше.
Комьюнити
Вас ждёт общение с другими участниками и ведущим интенсива в закрытом чате в Telegram.
Кейс в портфолио
На интенсиве вы создадите проект, который наверняка оценят потенциальные работодатели.
Получить доступ к записи бесплатного интенсива
Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.
Ваша заявка успешно отправлена
Получайте расписание новых интенсивов каждую неделю
Раз в неделю мы будем присылать вам расписание грядущих интенсивов на почту. Подпишитесь, чтобы не пропустить вебинары по своим темам.
Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.
Данные успешно отправлены.
Прежде чем вы уйдёте… Загляните на распродажу
Профессии с трудоустройством и топовые курсы. Для вас — со скидками до 50%.
Тестирование мобильных приложений
Вы научитесь тестировать приложения на iOS и Android вручную и с помощью автотестов и станете востребованным QA-специалистом.
На рынке не хватает опытных QA-специалистов
сейчас ищут тестировщиков мобильных приложений
средняя зарплата специалиста по тестированию
Кому подойдёт этот курс
Новичкам в тестировании мобильных приложений
Вы узнаете, как создаются мобильные приложения, разберётесь во всех этапах тестирования, научитесь запускать автотесты для Android и iOS и освоите новую востребованную специальность.
Тестировщикам смежных сфер
Вы изучите специфику тестирования мобильных приложений, научитесь работать с эмуляторами и симуляторами, писать сложные проверочные тесты и находить баги, которые пропускают даже опытные мобильные тестировщики.
Чему вы научитесь
Работать с Android studio и Xcode
Разберётесь в интерфейсе и научитесь пользоваться IDE главным инструментом мобильного тестировщика.
Проверять особенности мобильных приложений
Сможете вручную проверять характерные для мобильных приложений кейсы на Android и iOS и за несколько минут находить основные ошибки в работе программы.
Использовать эмуляторы и симуляторы
Научитесь успешно находить ошибки в разных приложениях на любой операционной системе, используя при этом только одно устройство.
Составлять баг-репорты
Научитесь делать подробные и понятные отчёты об ошибках, чтобы разработчики исправляли баги быстро и без дополнительных вопросов.
Автоматизировать сценарии и разрабатывать тесты под любые задачи
Сможете создавать сложные автотесты, которые будут искать баги, пока вы занимаетесь другими делами.
Работать с Gitlab
Узнаете, как настраивать непрерывную интеграцию ПО и проводить тестирование приложения на разных этапах разработки.
Подарки от партнёров на Чёрную пятницу
Помогаем построить карьеру мечты
Вас ждёт индивидуальная карьерная консультация, помощь в оформлении резюме и портфолио. На основе ваших пожеланий подберём подходящие вакансии, подготовим к собеседованию и сделаем всё, чтобы вы получили оффер.
Узнайте, как мы поддерживаем пользователей платформы Skillbox в поиске работы
Отзывы работодателей
Максим Зубцов
Skillbox подбирают кандидатов с горящими глазами и желанием развиваться. Например, руководитель нашего SEO-отдела когда-то был новичком, с которым мы встретились благодаря Центру карьеры.
Ольга Новодворская
Сотрудничество со Skillbox это гарантия, что мы получим будущих сотрудников с определёнными знаниями. Новички, которые пришли к нам, выросли и приблизились к middle-уровню спустя 8 месяцев.
Богдан Пилипенко
Skillbox помогает найти инициативных новичков, которым интересны простые, но ценные задачи. После прохождения курсов ребята выходят со структурированными, свежими знаниями по дисциплинам.
Начали карьеру в 2021 году
Сменили профессию в 2021 году
Записаться на курс или получить бесплатную консультацию
Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.
Ваша заявка успешно отправлена
О Skillbox
Как пользоваться платформой
Изучаете тему
В курсе — практические видеоуроки.
Выполняете задания
В том темпе, в котором вам удобно.
Работаете с преподавателем
Закрепляете знания и исправляете ошибки.
Защищаете дипломную работу
И дополняете ею своё портфолио.
Программа
Вас ждут 4 практических курса, прохождение которых можно приравнять к году полноценной работы.
Ручное тестирование
Java-разработчик
Автоматизированное тестирование
Бонусный курс
Результаты:
Уже прошли какие-нибудь курсы?
Скажите об этом менеджеру — за этот курс платить не придётся!
Получить презентацию курса и консультацию специалиста
Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.
Ваша заявка успешно отправлена
Дипломный проект
Ручное тестирование приложения по аренде велосипедов
Вы вручную протестируете основной функционал, проверите приложение на безопасность и UX. Подготовите набор тестовых сценариев и доску в Jira с описанными баг-репортами.
Набор автотестов для приложения по аренде велосипедов
Вы создадите автотесты, которые позволят проверять основной функционал приложения после его доработки.
Спикеры
Андрей
Малых
Больше 8 лет опыта в тестировании. Занимался ручным и автоматизированным тестированием в Яндексе, банке «Точка», Samsung Next и других компаниях. Эксперт в тестировании десктопных и мобильных веб-приложений, iOS- и Android-приложений.
Анастасия
Крутова
4 года опыта в тестировании. Занималась автоматизированным тестированием в Сбербанке, СберТехе и Альфа-банке. Тестировала REST API, UI десктопных веб-приложений и мобильных приложений с использованием языка Java.
Даниил
Пилипенко
Больше 50 выступлений на семинарах и конференциях. Более 10 лет работает в сфере Java-разработки. Руководил отделом разработки ПО в издательстве «Вокруг Света». Долгое время являлся ведущим разработчиком «Ютинет».
Отзывы студентов
Если какой-то материал тяжело даётся, есть вопрос по ДЗ, достаточно написать преподавателю, который поможет разобраться с информацией и подскажет как решить задачу.
По итогу 9-месячной учебы стал по-другому смотреть на сайты. Замечаю «баги», разбираюсь в вёрстке, веду репорты. Узнал, как работать со специфическим ПО.
Уже сейчас нисколько не жалею, что выбрал Skillbox. Спасибо.
Валентина Нарушевич, г. Санкт-Петербург
Благодаря урокам я научилась создавать классные постеры и векторные изображения.
Также мой список новых скиллов пополнили ретушь и обтравка изображений — одни из главных навыков профессионального графического дизайнера.
Ну и умение верстать журналы! Теперь я, как самый настоящий графический дизайнер, с легкостью могу создать разворот какого-нибудь модного журнала.
Яна Щербицкая, г. Санкт-Петербург
Курс очень круто структурирован, там есть все знания, которые мне нужны, чтобы освоить программу. Сама бы я точно что-нибудь пропустила.
Преподаватели всё спокойно и терпеливо объясняют. Если ты что-то не понял, снимут дополнительный видеоролик и покажут ещё раз.
Самое крутое в курсах Skillbox — постоянная связь с теми, кто подскажет, как правильно.
Мой сайт
Алла Комиссаренко, г. Москва
Работать дизайнером мне очень нравится, от UX я вообще в восторге, тяга к аналитике у меня была всегда. После долгих поисков работы в новой сфере подруга помогла мне получить заказ на редизайн сайта большой компании.
Отдельно хочу сказать спасибо преподавателю Александру Свобода, он очень подробно расписывал все недочёты и ошибки решений в дизайне.
Мой сайт
Елена Кальво, г. Ницца, Франция
«Почему бы не сделать из хобби источник заработка?», — однажды подумала я.
Недолго размышляя, записалась на курс в Skillbox и встала в ряд претендентов на гордое звание копирайтера.
Работа с текстом помогла мне вернуть свою жизнь, вдохновила. Я начала снова ухаживать за собой, читать. Увидела, что я не только мать, но и писатель.
Читайте мои тексты в Instagram
Ирина Семёнова, г. Бельцы, Молдова
Я узнала, что такое охваты, KPI и прочие непонятные слова, которые пугали в группах по SMM. Поняла, что чем проще и понятней, тем лучше. Разобралась в сложной иерархии рекламного кабинета и научилась настраивать аудиторию и рекламу.
Я уже в теме и не боюсь назвать своих более опытных друзей коллегами.
Мой дипломный проект
Ваше резюме после обучения
Профессиональные навыки:
Диплом Skillbox
Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.
Стоимость обучения
Рассрочка без первого взноса
Оставьте заявку и узнайте у менеджера про скидку на курс и подарки от партнёров
Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.
Ваша заявка успешно отправлена
Получите консультацию и курс в подарок при покупке
Мы свяжемся с вами и ответим на любые возникшие вопросы
Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.
Ваша заявка успешно отправлена
Записаться на курс
Наш специалист свяжется с вами и ответит на любые ваши вопросы
Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.
Ваша заявка успешно отправлена
Спасибо за заявку!
Наш менеджер свяжется с вами
в ближайшее время
Купите со скидкой 3392 ₽ или оформите рассрочку
Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.
Условия рассрочки
Сумма первых 5 платежей поступит на Ваш счет, с которого будет списываться плата за обучение.
Ваши собственные средства начинают списываться только с 6 месяца обучения
Часто задаваемые вопросы
Я никогда не работал с мобильными приложениями. У меня получится?
Какой график обучения? Получится ли совмещать его с работой?
Сколько часов в неделю мне нужно будет уделять учёбе?
Я смогу общаться с преподавателями?
Действуют ли какие-нибудь программы рассрочки?
Что нужно знать, чтобы учиться на курсе?
г. Москва, Ленинский проспект,
дом 6, строение 20
Аналитик мобильных приложений
Вы освоите мобильную аналитику с нуля: научитесь собирать данные, изучать поведение пользователей, запускать и анализировать тесты. Настроите аналитику на реальном приложении, улучшите показатели монетизации и конверсии и пополните портфолио. Сможете найти работу в перспективной и высокооплачиваемой сфере.
Рынок мобильных приложений растёт
сейчас ищут аналитика мобильных приложений
зарплата начинающего специалиста
Кому подойдёт этот курс
Frontend-разработчикам
Изучите другую сторону мобильной разработки — узнаете, как интегрировать системы аналитики в приложение, анализировать поведение пользователей и правильно интерпретировать показатели. Разберётесь, как считать экономику приложения и сможете предлагать улучшения с точки зрения бизнес-целей.
UX- и веб-аналитикам
Научитесь внедрять мобильную аналитику и работать с её инструментами Adjust, Amplitude, AppMetrika. Узнаете, как тестировать мобильные приложения, составлять план действий по улучшению и визуализировать данные так, чтобы они стали понятны бизнесу. Расширите свои компетенции, станете более ценным специалистом и увеличите доход.
Project-менеджерам в IT
Узнаете, как пользователи взаимодействуют с продуктом: найдёте точки роста, возможности для монетизации, определите, какая аудитория приносит приносит прибыль компании. Научитесь настраивать отчёты и создавать полезные дашборды. Сможете видеть приложение глазами пользователя, находить бизнес-инсайты в показателях и управлять продуктом на основе данных.
Выпускникам технических вузов
Научитесь собирать данные мобильной аналитики, анализировать контекстную и медийную рекламу, проводить тесты и делать отчёты для руководства. Узнаете, как работают рекламные сети и поисковой трафик. Развернёте мобильное приложение в Android Studio, подключите к нему аналитику и пополните этим проектом портфолио. Сможете освоить перспективную и высокооплачиваемую профессию.
Чему вы научитесь
Подарки от партнёров на Чёрную пятницу
О Skillbox
Как пользоваться платформой
Изучаете тему
В курсе — практические видеоуроки.
Выполняете задания
В том темпе, в котором вам удобно.
Работаете с преподавателем
Закрепляете знания и исправляете ошибки.
Защищаете дипломную работу
И дополняете ею своё портфолио.
Содержание курса
Вас ждут онлайн-лекции и практические задания на основе реальных кейсов.
Введение в мобильную аналитику
Узнаете, какие задачи решает мобильная аналитика и какие сложности возникают при её внедрении. Познакомитесь с сервисом Google Tag Manager и средой разработки Android Studio.
Отчёты, метрики и навыки в мобильной аналитике
Научитесь составлять карту бизнеса по методологии Lean Canvas, определять KPI, строить пирамиду метрик и карту целей сайта. Узнаете основы Unit-экономики.
Firebase
Разберёте основные возможности сервиса, который обеспечивает поддержку приложения: хранит данные, аутентифицирует пользователей, предоставляет хостинг. Узнаете, как работать в нём: строить дашборды, фильтровать данные, создавать события и отчёты.
Как внедрить Firebase
Поймёте, как автоматически собирать данные и события, устанавливать пользовательские параметры.
Google Tag Manager — базовый уровень
Познакомитесь с возможностями и терминологией сервиса. Научитесь отслеживать клики по кнопкам, отправку форм, транзакции, показатели отказов и глубину просмотров.
Google Tag Manager — продвинутый уровень
Узнаете, что такое электронная торговля, поймёте нюансы её настройки для мобильных приложений.
Google Analytics — базовый уровень
Познакомитесь с основными возможностями и терминологией сервиса. Научитесь определять источники трафика, создавать стандартные отчёты, использовать UTM-метки.
Google Analytics — продвинутый уровень
Научитесь создавать собственные автообновляемые отчёты, настраивать сегменты и счётчик Google Analytics с помощью Google Analytics.
AppMetrika — базовый уровень
Разберётесь, как работать в сервисе: настраивать трекинг и ремаркетинг, проводить когортный анализ и анализ вовлечённости, создавать отчёты и настраивать события.
AppMetrika — продвинутый уровень
Научитесь настраивать сегменты, электронную торговлю, создавать технические отчёты об аварийных остановках приложения и ошибках.
Анализ эффективности рекламных каналов
Поймёте, как работают рекламные сети и поисковый трафик, научитесь анализировать медийную и контекстную рекламу, считать количество установок приложения. Разберётесь, как использовать ретаргетинг, триггерные письма, рассылки по SMS, создавать дашборды и графики.
Подключение рекламных кабинетов
Узнаете, как устанавливать счётчики Facebook и Google Ads на сайт. Научитесь настраивать динамический ретаргетинг и события в рекламных кабинетах Facebook и Google Ads с помощью Google Tag Manager. Поймёте, как подключить Google Merchant Center и Яндекс.Вебмастер к сайту.
Adjust — базовый уровень
Научитесь отслеживать в приложении выручку, события и количество установок.
Adjust — продвинутый уровень
Поймёте, как подключать платформу мобильной аналитики Adjust к сторонним рекламным системам, настраивать ретаргетинг, проводить когортный анализ.
Amplitude — базовый уровень
Научитесь строить прогнозы и создавать стандартные отчёты в системе мобильной аналитике Amplitude, анализировать пути пользователей, сегментацию и выручку.
Amplitude — продвинутый уровень
Научитесь отслеживать в приложении выручку, события и количество установок. Поймёте, как идентифицировать пользователей.
Подведение итогов
Подведёте итоги обучения и поймёте, как можно использовать данные в продуктовой аналитике, BI-системах и прогнозировании финансов.
Дипломный проект. Подключение мобильного приложения к системам аналитики
Вы создадите проект мобильного приложения в Android-studio и подключите его к аналитическим системам AppMetrica, Adjust, Amplitude.
Получить презентацию курса и консультацию специалиста
Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.
Гид по ручному тестированию приложений: преимущества, этапы и методологии
Детально разбираем то, как проводить ручное тестирование, когда оно лучше автоматизированного, что нужно уметь тестировщику и как он может построить свою карьеру от джуниора до тест- лида. Гид подготовлен совместно с руководителем отдела тестирования компании Agima Дариной Гордеевой.
Привет! Меня зовут Дарина Гордеева. Работаю в компании AGIMA руководителем отдела почти 3 года. В области тестирования и обеспечения качества более 6 лет. За это время прошла путь от джуниора до руководителя отдела, занимаясь тестированием железа, а также мобильных и веб-приложений, автоматизацией и настройкой процессов QA. Сегодня я расскажу вам про особенности, возможности и скрытые проблемы ручного тестирования.
Напомним, что любой читатель, воспользовавшийся промословом “Хабр” может получить скидку в 10 000 рублей на понравившийся курс, а самые усидчивые и внимательные могут собрать себе скидку в 25 000 рублей, разгадывая ребусы из материалов, подготовленных совместно с агентством Agima:
Оперативность, гибкость, возможность импровизации и другие плюсы
Сегодня есть множество фреймворков для тестирования, поддерживающих практически все существующие языки. Казалось бы — можно брать и автоматизировать. Но даже сейчас ручные тесты важны.
Одно из объяснений их необходимости заключается в том в том, что при ручном тестировании функционала мы можем гораздо быстрее получить информацию о состоянии продукта, который анализируем, о качестве разработки. Кроме того, при автоматизации предварительно разработанные кейсы часто приходится менять и актуализировать, а на написание автотестов требуется определённое время.
При этом в процессе разработки может прийти обратная связь от заказчика, когда он увидит в готовом продукте какую-то функцию, которую решит изменить до релиза — и, если вы уже подготовили для неё программные тесты, их придётся переписать. Обновление кейсов, автотестов и их проверка отнимут ценное время, которое можно было бы использовать на само обновление этой фичи.
Всё это означает, что главная цель ручных тестов — предварительно убедиться в том, что заявленный функционал работоспособен, не имеет ошибок и выдаёт ожидаемые, запланированные результаты. Без них нельзя быть уверенным в том, что можно работать дальше. Особенно это актуально для функций, на реализацию которых завязана последующая разработка. В таком случае возня с созданием автотестов на эти фичи становится блокирующим фактором для всей разработки продукта, сдвигая сроки и срывая дедлайны. Момент, когда кейсы придёт пора автоматизировать, всё равно рано или поздно наступит — но не стоит стремиться приблизить его искусственно в погоне за тотальным исключением ручного труда.
В дополнение к этому, на первых этапах разработки приложения автоматизация может оказаться довольно дорогой. Вам потребуется специалист, обладающий специфической квалификацией (и, возможно, не один). Постоянное поддержание тестов в актуальном состоянии требует затрат ресурсов вплоть до релиза фичи. А месяцы простоя, посвященные вылизыванию автотеста ударят по мотивации команды.
Если вы хотите регулярно добавлять новый функционал и успевать за действиями конкурентов, то перед тем, как создавать автотесты всегда проверяйте возможности продукта вручную. Просто потому что ручное тестирование ускоряет ваши процессы.
Это особенно актуально для мобильной разработки. Большинство таких проектов сегодня разрабатывается короткими спринтами, а значит фичи в них внедряются в ускоренном темпе. В подобных условиях ручное тестирование позволяет максимально оперативно давать команде обратную связь: сообщать о наличии багов — или радовать её тем, что всё окей и можно двигаться дальше. Провести серию автотестов вы сможете позже, покрыв с их помощью большие массивы кода. Ручное тестирование поможет подготовить кейсы для этой проверки.
Автотесты не позволяют проверить удобно ли использовать новые возможности приложения — проверка юзабилити всегда осуществляется вручную.
В ручных тестах можно импровизировать, создавая безумные сочетания действий, которые никогда не придут в голову пользователю, но могут быть совершены им случайно. Это позволяет создавать новые кейсы.
Новые кейсы появляются еще и потому, что тестировщик постоянно задает себе вопрос «а что, если?». Так он находит оригинальные способы взаимодействия с приложением — даже если их не было в базовых сценариях.
Проблемы ручного тестирования и их решения
Самый большой из недостатков ручного тестирования — человеческий фактор. Он, конечно, влияет на всё, происходящее в команде — и на работу участников, и на события, происходящие на стороне клиента. В случае QA причиной того, что тестировщик будет слабо погружен в процесс и пропустит потенциальную ошибку может стать всё что угодно — недостаток опыта, семейные проблемы или головная боль.
Один и тот же сценарий два тестировщика могут проверить разными способами. Что с этим делать? Важно, чтобы каждый непредусмотренный или отличающийся от ожидаемого результат был зафиксирован в виде кейса. Чтобы любой тестировщик мог проверить его, совершив тот же набор действий. Но и этого может быть мало — если кейс окажется недостаточно подробным, а тестировщик — не разберётся в описании. Гарантировать стопроцентное исключение человеческого фактора, конечно, невозможно — но можно постараться максимально снизить вероятность проблем, которые он вызывает.
Это тоже негативно сказывается на сроках поставки фичи в продакшн и трудозатратах: ведь теперь к периодически проводимым базовым кейсам и регрессии добавляются и “хитрые” кейсы, придуманные тестировщиками в процессе.
Усугубляет ситуацию вероятность того, что часть встреченных багов ещё не будет иметь строгого описания потому что причины их возникновения пока не понятны. Как бороться с такими повторными тестированиями? Либо найти уже источник ошибки и устранить его, либо — всё таки автоматизировать прохождение проблемных кейсов — в этом случае переход к программным тестам будет вполне оправдан как с точки зрения времени, так и финансово. (Нет, это не противоречит вышесказанному — потому что такие ситуации возникают уже в ходе активной разработки и к этому времени вы уже в любом случае развернёте процессы автотестирования).
В любом случае — появление первых кейсов, нуждающихся в регрессивных тестах или релиз второй версии приложения и соответствующее этим событиям масштабирование команды — тот момент, когда автоматизация станет актуальна (но не исключит ручное тестирование новых возможностей). На этом этапе автоматизация уже начнёт экономить время: разработчик сможет сам, ещё до передачи QA-отделу запустить регресс-тесты новой фичи, чтобы убедиться, что она не ломает существующий функционал, а тестировщику не придётся лишний раз проходить по набившим оскомину базовым кейсам. Ещё одно преимущество внедрения автотестов на этом этапе — их можно запускать по определённому расписанию — каждую ночь, в дни окончания спринтов или при публикации новых сборок приложения.
Резюмируем: ручное тестирование даёт большое преимущество по скорости и трудозатратам на первых этапах, а по мере разрастания приложения и появления большого количества регрессивных тестов оно переходит в разряд “оперативного тестирования” новых фич в рамках отдельного спринта. Оно будет актуально и при необходимости срочно проверить как приложение отреагирует на изменение операционной системы или обновление окружения.
Этапы тестирования: что, когда и как
Если смотреть на процесс разработки в целом и на тестирование как на одну из его частей, то при грамотном планировании вы всегда будете понимать что и когда будет готово. Это позволит лучше планировать время тех или иных действий — поскольку одни события логично следуют за другими и у вас есть возможность выстраивать их в цепочки на основании своих ожиданий.
Тестировщик появляется в процессе создания приложения уже на ранних этапах. Вот у клиента появляется некая идея, бизнес-аналитики собирают из этого требования — а тестировщики уже в этот момент приступают к работе, проверяя эти требования.
Как это происходит? Они задают вопросы по предполагаемому функционалу. Пытаются представить, как будет выглядеть приложение, когда оно будет реализовано. Если речь идёт о новой фиче в уже существующем продукте — разбираются, как она будет взаимодействовать с существующим функционалом. После того, как разработчики провели оценку трудозатратности идей клиента и определили сколько потребуется времени на их реализацию.
После этого начинается этап проектирования. Здесь появляется необходимость понять, как будут осуществляться переходы между экранами, валидироваться те или иные поля, как приложение или его отдельная функция вообще будет взаимодействовать с конечным пользователем. В случае с фичами важно разобраться и с тем, как они будут входить в архитектуру существующего приложения.
На этапе дизайна, когда создаётся карта переходов между экранами, тестировщик уточняет поведение отдельных элементов из которых они состоят и то, какими визуальными эффектами будут сопровождаться те или иные действия пользователя. Кроме этого тестировщик валидирует макеты на полноту, подтверждая, что они отображают всё, что нужно для реализации задуманного функционала. Нелишней будет и самостоятельная проверка макетов на соответствие гайдлайнам.
С началом разработки QA-специалисты сразу же приступают к написанию тест-кейсов. На разных этапах разработки они могут обладать различным уровнем детализации, но к её окончанию желательно обеспечить максимальное покрытие кейсами всего продукта, чтобы, получив сборку, можно было приступить к тестированию немедленно.
Первый шаг непосредственно тестирования — смоук-тест: оценка на то, что приложение или его новая часть вообще готовы к проверке. Смоук-тест — это проверка того, запускается ли приложение или конкретная функция в принципе.
Смоук-тест — быстрый способ убедиться, можем ли мы вообще начать функционально тестирование. Термин пришел от создателей плат и микросхем, которые для начала должны были убедиться не сгорит ли новая схема — отсюда и название: задымилась/не задымилась.
Это быстрый способ убедиться в том, что нам действительно сдали задачу и её можно принимать в работу, а не отправлять обратно программистам.
На примере формы авторизации смоук — это оценка того, можно ли залогиниться вообще, без уточнения того, валидны ли данные, вводимые в поля, работают ли дополнительные возможности вроде напоминания пароля и прочего. Если мы смогли авторизоваться в принципе — можно переходить к дальнейшей, углублённой проверке этого модуля: брать негативные кейсы, пограничные значения, оценивать соответствие установленным правилам валидации.
Следующий этап — проведение регресс-тестов. В ручном или автоматическом режиме проводится основной заранее запланированный массив тестов.
Регрессионное тестирование хорошо тем, что оно позволяет найти ошибки даже в тех местах, где раньше всё было в порядке. Это происходит благодаря тому что регресс — это оценка функционала на стандартный набор кейсов при внедрении каждого нового модуля и каждого изменения приложения. Ведь, когда разработчики добавляют новый функционал может быть повреждена текущая версия или новая фича может вступать в конфликт с уже существующими.
Например, добавление новых экранов, а значит и изменение навигации может нарушить функционирование меню или, как минимум — его отображение. С другой стороны неприятные сюрпризы может принести и глобальный рефакторинг кода приложения — после него тоже необходимо проводить регресс-тесты.
Проблемы могут вызвать и обновление используемой приложением библиотеки и изменение среды в которой оно работает. Чем чаще вы обновляете приложение — тем более важную роль играют регрессионные проверки. Не стоит ограничиваться однократной проверкой, проводимой, когда фича уже внедрена — проверяйте все изменения. Здесь вам поможет автоматизация регрессионного тестирования — просто потому что ручное регрессионное тестирование новой фичи, создававшейся всего неделю может занять две, а то и больше и отдел тестирования просто завязнет в этом.
Полная проверка, конечно, осуществляется когда release candidate с одной или несколькими фичами готов выкатываться в продакшн, но применять те или иные соответствующие кейсы на отдельных этапах разработки всё таки необходимо.
Завершается всё тестированием финальной сборки — release candidate. В него входят проверка бета-версии внутренними тестировщиками, бизнес-тестирование — оценка получившегося продукта самим клиентом и получение от него обратной связи, а также предложение определённой группе пользователей познакомиться с предрелизной альфа-версией приложения или его новых возможностей. После этого приложение готово к тому, чтобы его выкатили в продакшн.
Но на этом работа QA-специалиста не заканчивается — ему предстоит тестировать обновления приложения и их совместимость с более ранними версиями, составлять кейсы для проверки нововведений и, в случае необходимости, автоматизировать прохождение этих сценариев.
Параллельно с этим тестировщики участвуют в дальнейшем анализе статистики, собираемой аналитиками, мониторинге поведения приложения и того, как взаимодействуют с ним пользователи. Это позволяет не только увидеть живое использование результатов их работы, но и, порой, открыть для себя новые сценарии и неизвестные баги, вызывающие падения приложения.
Время ребуса: отгадайте его и десятипроцентная скидка на любой из курсов Skillbox ждёт вас прямо сейчас или проявите усидчивость и соберите ответы на все ребусы — эти скидки суммируются между собой (но ни с какими другими скидками на курсы Skillbox).
Однако, слишком медлить не стоит — промо работает до 30 августа 2018 года. Напомним, что тематика загадки — мобайл, а английские слова могут мешаться здесь с русскими, так что будьте внимательны! Отправьте заявку на курс, и когда с вами свяжется менеджер — назовите ему промослово, зашифрованное в ребусе (или — несколько!).
Формализация тестирования: тест-план, формат баг-репортов, отчётность
Для того, чтобы подготовиться к функциональному тестированию QA-инженер составляет тест-план. Это — документация, которая потребуется ему при тестировании продукта, список действий, которые ему нужно будет совершить. В тест-плане обозначаются сроки тестирования, описываются продукт или конкретная задача — для того, чтобы точно определить, что именно надо проверять. Детально описываются все основные тест-кейсы. Перечисляются виды тестирования, которые необходимы: функциональное и, например, нагрузочное. Описывается порядок автоматизации тех или иных кейсов и то, на каких этапах они будут автоматизированы.
Завершается тест-план описанием формата отчёта: нужно заранее объяснить, в каком виде будет предоставлен результат. Наиболее распространённым форматом отчёта является список тест кейсов со статусом их прохождения. Зная, насколько кейсы покрывают весь объём требований и прочитав отчёт, можно будет сделать вывод о текущем состоянии разработки приложения. Для этого достаточно будет посмотреть, сколько из них было успешно пройдено в той или иной сборке.
Финальной отмашкой, свидетельствующей о том, что продукт готов является статус “все требования покрыты кейсами, все кейсы пройдены успешно”.
Кроме того, в тест-плане формализуется формат отчёта по ошибкам. Это может быть баг-лист, список задач в трекере.
Задача тестировщика — предоставить наиболее полную информацию о качестве продукта всем участникам команды.
Что нужно знать и уметь, чтобы стать тестировщиком
В первую очередь тестировщик должен уметь думать и быть внимательным и усидчивым. Важен опыт — он позволяет накопить определённые наработки и закрепить знания процессов тестирования, превратив их в навыки.
Специалист по ручным тестам не обязательно должен уметь писать код и глубоко разбираться в архитектуре. Это никак не помешает ему проверять функционал и на прикладном уровне понимать принципы взаимодействия приложения и сервера.
Специалист по автоматизированному тестированию — это отдельная профессия, с абсолютно другим набором знаний. Качественное автотестирование — это не просто скрипты, но и понимание того, как приложение устроено изнутри, и специфические умения, вроде знания о том, как параллелить тесты или о том, как запускать их в облаке или на нескольких серверах. Только такой пул навыков позволяет с гордостью называть себя “автоматизатором с большой буквы”. Так что без знания языков, их фреймворков, принципов ООП и внимательной слежкой за развитием технологий настоящему автотестеру не обойтись.
Путь каждого тестировщика начинается с освоения теоретического базиса тестирования, получения первичных представлений о том, как приложение взаимодействует с сервером и со средой. Если эти знания есть, а вместе с ними человек обладает и очень серьёзным намерением учиться — он уже может считаться джуниор-тестировщиком. За группой таких новичков с горящими глазами закрепляется старший специалист — либо ведущий тестировщик, либо, если компания может себе это позволить — тренер, целенаправленно прокачивающий своих подопечных. Они объясняют джуниорам непонятные моменты и дают болевые задачи вроде прогонки фич по тест-кейсам. В процессе человек учится читать тест-кейсы и осваивает практические основы функционального тестирования. На этом этапе за джуниорами ещё нужно проверять качество проведённых ими тестов, проходя их вслед за ними.
Следующим шагом становится создание индивидуального (или коллективного, в зависимости от масштабов компании) плана по развитию, согласно которому начинающий тестировщик должен будет развиваться, осваивая новые знания и достигая определённых результатов за отведённые ему на это сроки. Именно это — путь к тому, чтобы стать специалистом миддл-уровня.
Миддл-тестировщик — это человек, который уже способен самостоятельно выполнять поставленные перед ним задачи, находить решения и вообще выполнять свою работу сознательно, а не слепо следуя установленным алгоритмам.
С развитием навыков тест-дизайна, познаний в функциональной и прикладной областях, а также освоении новых методик тестирования — которые теперь уже нужно развивать самостоятельно — происходит постепенная трансформация в ведущего специалиста. Теперь ему могут поручить ведение и поддержку таких же джуниоров, каким он сам раньше был.
Следующий уровень — это тест-лид. Он уже может управлять командой, в которую входят представители всех трёх предыдущих категорий, процессами которых он управляет и временем которых — распоряжается, в том числе участвуя в планировании глобальных процессов разработки, оценке трудозатрат и формировании бюджетов для своих команд.
Дальнейший вертикальный рост тим-лида — руководство отделом или переход в продук-менеджмент. Если же, человек стремится к новым знаниям, а не к новым административным позициям, то он может выбрать разработку, аналитику или такое направление, как DevOps, объединяющее в себе обязанности системного администратора, тестировщика и программиста.
Тестирование — лишь одна из многих областей мобильной разработки, которые мы рассматриваем в рамках курса “Fullstack-мобильный разработчик”. Сотрудничающие с нами профессионалы индустрии будут делиться с вами своим опытом и проверять ваши домашние задания, а итогом обучения может стать принятие на стажировку в крупную компанию. Приходите к нам учиться!