Вы разработали мобильное приложение и выложили в сторы. Но почему-то в отзывах пользователи гневаются, а вы недополучаете прибыль. Как так? Где допущена ошибка? Ведь вы все продумали и записали в техзадании.
Дело в том, что пользователи могут взаимодействовать с мобильным приложением не так, как мы ожидали. Или так как мы ожидали, но результаты нас не устраивают — мы хотим лучше и больше.
Первый шаг к решению проблемы — тестирование.
[Тестирование должно сопровождать каждый этап разработки. То есть, на выходе продукт должен быть оттестирован сверху до низу. Однако не стоит думать, что после релиза о тестировании можно забыть. О, нет! Поведение живых пользователей сложно имитировать, часто они взаимодействуют с приложением непредсказуемо. Поэтому узнать о некоторых проблемах приложения можно только «в бою».]
Способов протестировать приложение достаточно много.
Любой вид тестирования приложения необходим. Важно лишь понимать, с какой целью вы проводите то или иное тестирование, и что вы собираетесь сделать с результатом. Если просто провести тест и положить результат на полку — то лучше отказаться от этой затеи. Так как это пустая трата времени и сил.
Тест производительности ПК
Добавим, что любое тестирование включает в себя:
1. Планирование теста (тут мы исходим из целей).
2. Проектирование теста (здесь мы выбираем или разрабатываем инструменты, скрипты, сценарии и прочее для проведения теста).
3. Выполнение теста (собственно приводим задуманное в действие, используя все необходимые ресурсы, которые заранее подготовили).
4. Анализ результатов (а что делать дальше, чтобы исправить ошибки?
Логичным завершением тестирования должно быть исправление ошибок в мобильном приложении или доработка приложения.
Итак, теперь давайте разберемся, какие виды тестирования приложений существуют и для чего их нужно проводить обязательно.
Функциональное тестирование приложения
Для чего нужно?
Чтобы проверить, правильно ли функционирует приложение (то есть так, как мы задумали и как прописано в техническом задании). Для разработчиков работа приложения может быть очевидной, но именно этот тест покажет, правильно ли поняли исполнители, чего хотел заказчик. Все «хотелки» заказчика ищем в хорошо составленном и согласованном тз. По нему же и проводим тестирование (создаем кейсы).
Включает в себя тестирование транзакций (функции приложения в действии) и пользовательского опыта (взаимодействие пользователя с интерфейсом приложения).
В чем суть?
Проводить такое тестирование можно тогда, когда у вас уже есть приложение или его прототип. Процесс тестирования строится на проверке кейсов. Чтобы правильно определить, какие кейсы необходимо проверить, важно понимать бизнес-функциональность приложения (игровое, образовательное, банкинг, соцсеть и т.д.), а также кто является целевой аудиторией. Немаловажно учесть, по какому каналу приложение будет распространяться: через сторы или напрямую к пользователям (например, если это корпоративное приложение).
Какая самая полезная программа для ПК? #HappyPC
Все эти данные помогут составить правильные (жизненные) кейсы.
Что такое кейс?
В данном случае это сценарий поведения пользователя в приложении. По сути, тестировщик берет кейс и проходит путь пользователя в приложении.
Сценариев функционального тестирования довольно много. Например:
- проверка корректности работы полей
- проверка логики переходов по экранам
- проверка корректности работы всех кнопок
- проверка корректности взаимодействия с соцсетями
- проверка поддержки транзакций через системы онлайн-оплаты
- проверка корректности установки приложения и его работы на всех предусмотренных устройствах
В каждом случае нужно проверять позитивные и негативные кейсы. Кейс считается позитивным, если пользователь успешно достигает своей цели. Негативным — если на каком-то этапе приложение должно выдавать ошибку (то есть пользователь использует приложение неправильно). Ведь мы понимаем, что жизнь не сказка, и часто пользователи действуют «не по правилам».
Можно конкретный пример?
Допустим, пользователю нужно зарегистрироваться и авторизоваться в приложении. Возможны варианты авторизации с паролем и через соцсети.
Позитивный сценарий: пользователь регистрируется в системе, затем может авторизоваться любым удобным для него способом. Его данные корректно заполнены в профиле.
Негативные сценарии: пользователь пытается зарегистрироваться повторно на тот же email, хочет авторизоваться в системе с неправильным паролем.
Часто к функциональному тестированию относят проверку пользовательского интерфейса: совпадение экранов с мокапами, проверка работы пользовательских жестов (свайпов, мультитачей), проверка состояний элементов (корректное сворачивание списков, изменение цвета кнопок).
Нагрузочное тестирование
Для чего нужно?
Цель — проверить, корректно ли функционирует приложение при разном количестве пользователей и при переходе из Wi-Fi в мобильную сеть. Найти участки приложения, которые могут тормозить его работу. Убедиться, что приложение не съедает всю батарею смартфона. Важность этого тестирования переоценить невозможно — если приложение не справится и начнет тормозить или вовсе вылетать, разработчики получат дозу пользовательского гнева в карму.
В чем суть?
Нагрузочное тестирование проходит в автоматическом режиме путем имитации действий нужного количества пользователей.
Как проводится?
Первый этап нагрузочного тестирования — сбор информации о системе. Нужно знать среднее и максимальное количество пользователей, нормальное и максимальное время ответа приложения и т.п.
Второй этап — создание моделей загрузки (проблемные участки можно потенциально увидеть уже тут).
Третий — собственно запуск тестов.
Конфигурационное тестирование
Для чего нужно?
Конфигурационное тестирование показывает, корректно ли работает мобильное приложение (а именно, его клиентская часть) на разных устройствах.
В чем суть?
Обычно перед конфигурационным тестированием готовится матрица покрытия, куда заносят все нужные конфигурации. Далее конфигурации приоретизируют и проверяют в первую очередь важные варианты. Потому как проверить функционирование и отображение на всех устройствах и при всех условиях практически невозможно — мы должны понять, чем можно пожертвовать, а лучше, как найти оптимальный компромисс. Для этого и нужны приоритеты конфигураций.
Приоритеты берутся не с потолка и не подстраиваются под возможности и интересы разработчиков, а обуславливаются нуждами конечных пользователей. Например, если мы определили, что наше кроссплатформенное приложение в подавляющем большинстве все же будут использовать владельцы смартфонов на Android — то ставим их в приоритет.
Затем поэтапно проверяем все конфигурации. Так как другие пользователи тоже хотят получить качественный продукт.
Как проводится?
Приложение тестируют в соответствии с техническим заданием:
- на различных гаджетах: планшеты, смартфоны, декстоп и др.
- в разных конфигурациях: типы процессора, разрешение экрана, оперативная память
- на разных версиях операционных систем iOS, Android
- в разных типах сети: GSM, Wi-Fi
Тестирование безопасности мобильного приложения
Для чего нужно?
Собирая данные пользователей, вы обязаны обеспечить их безопасность. Но приложение не становится безопасным от рождения, таким его делают специально. Тестирование же помогает понять, все ли мы сделали, чтобы защитить данные (и не только пользовательские) от угроз. То есть по сути, проверяется устойчивость приложения к различным угрозам безопасности: DoS-атакам, вирусам, воровству данных.
В чем суть?
Процесс тестирования безопасности приложения сложен и многогранен. Для различных целей используются разные методы: от экспертных аудитов до имитации действий злоумышленников автоматизированным путем.
Как проводится?
Варианты сценариев тестирования:
- проверка защиты данных пользователя от сетевых атак
- проверка обязательной аутентификации при доступе к секретному контенту
- защита приложения от взломщиков и атак
- поиск и устранение неуправляемого кода
- контроль криптографических кодов
- проверка защиты бизнес-логики приложения и т.д.
По итогам тестирования безопасности вы получаете отчет со всеми слабыми местами и советами по их устранению.
Юзабилити-тестирование приложения
Для чего нужно?
Юзабилити — это свойство интерфейса, которое либо помогает взаимодействию пользователей с приложением, либо затрудняет его. С одним интерфейсом мы ладим легко и непринужденно — от взаимодействия с другим испытываем раздражение и не достигаем нужной цели (либо достигаем с трудом).
Тестирование помогает выяснить, как пользователи взаимодействуют с приложением. Понять заранее поведение и эмоции пользователя трудно. Даже если у вас есть здравый смысл и логика (два столпа юзабилити). Все потому что вы видите приложение иным взглядом: вам все понятно, вы давно «в теме». А вот пользователи видят его впервые.
В чем суть?
Проверка юзабилити может проводиться различными методами. Это отдельный пласт тестирований мобильных приложений, сайтов и сервисов.
Например, это могут быть:
- Экспертный анализ — используются накопленные знания о пользовательском опыте. Некоторые очевидные ошибки можно исправить с помощью этого метода.
- Тестирование с помощью веб-аналитики — сервисы веб-аналитики дадут понимание, что где-то, на определенных экранах есть проблема. Также можно понять, какой путь выбирают пользователи. Но этот вид анализа не даст понимания, что именно мешает пользователям совершать все больше конверсий. Хотя отчасти ответ на этот вопрос могут дать записи вебвизора Яндекс Метрики (только для сайтов).
- Тестирование с участием живых пользователей с помощью специальных сервисов. Найти эти сервисы можно в интернете. За плату «нанятые» пользователи будут следовать вашим заданиям, а вы получите записи их действий на экране. А это поможет понять, насколько удобен интерфейс «в действии».
- Живое тестирование. С приглашением пользователей вашей целевой аудитории (иногда возможно пригласить клиентов конкретной компании, для кого и создавалось приложение). Подробнее о таком тестировании мы уже писали статью.
Подытожим: как провести тестирование с пользой для дела?
- Ставим цель: что нас беспокоит, что не устраивает в работе приложения. Основываемся на техническом задании, затем на отзывах пользователей, на собственных ощущениях, что «что-то не так, как нам хотелось».
- Выбираем вид тестирования под цель.
- Находим исполнителя. Часто это может быть компания-разработчик. Он же поможет определить нужный вид тестирования.
- Анализируем результаты и исправляем ошибки. В этом также поможет компания-разработчик.
Источник: punicapp.com
Многие считают, что тестирование — самая лёгкая часть IT. Рассказываем, как на самом деле тестируют приложения и сайты
Работа над сайтом, мобильным или веб-приложением начинается задолго до первой строчки кода. Проще всего внести исправления в программный продукт до реализации проекта. Этот этап называется тестированием требований, а отвечает за него тестировщик — IT-специалист, которым можно стать без опыта и технического образования.
В статье разбираемся, что такое требования, как их тестируют и почему это важно.
Почему важно тестировать требования
Требования — важный раздел документации. Они описывают основные характеристики будущего продукта. Аналитик составляет их перед разработкой системы, а тестировщик проверяет.
Требования формулируют по-разному: в виде сухого описания функциональности системы, пользовательского сценария, картинки, блок-схемы. Даже если проект приносят на проверку тестировщику без документации, это не значит, что требований нет. Они есть всегда — либо на бумаге, либо в памяти аналитика.
При тестировании требований специалисты сверяются по списку критериев . Обычно в него входит несколько основных характеристик: полнота, однозначность, непротиворечивость, необходимость, осуществимость, тестируемость. Критериев может быть и больше — зависит от особенностей продукта и команды.
Когда тестировщик проверяет документацию на предмет полноты , он должен убедиться, что функции программного продукта описаны максимально подробно. При этом нужно проследить, чтобы документация не была растянута на сотни страниц, иначе можно запутать и себя, и разработчика — это уже проверка на соответствие критерию необходимости .
Требования должны быть однозначными , иначе каждый увидит в них что-то своё. Вместо того чтобы писать, что программа должна загружаться «быстро», лучше указать конкретный измеримый параметр, например, 0,1 секунды. И даже если документация сделана максимально чётко и подробно, тестировщик обязан проверить, насколько проект осуществим на практике — не влетит ли его реализация в копеечку и хватит ли технологических мощностей.
Так шаг за шагом тестировщик прокладывает дорогу разработчику. Очевидно, что проще исправить пару строк в документации, чем проглядеть ошибку и переписывать сотни и тысячи строк кода.
Чтобы выполнять такую проверку, не нужен опыт в IT-индустрии и техническое образование. Примерить на себя роль специалиста по тестированию и практиковаться на реальных задачах тестировщика можно на бесплатном курсе под руководством опытного наставника.
Как тестировать требования
Есть несколько способов проверки документации.
Взаимный просмотр
Коллеги или группа специалистов знакомятся с требованиями, высказывают замечания, пожелания, дают рекомендации.
Вопросы
В вопросах, как известно, содержится половина ответа. Если хорошо сформулировать вопрос и обратиться за помощью к заказчику или опытным коллегам, можно предотвратить многие ошибки в реализации проекта.
Тест-кейсы
Требование должно быть проверяемым, а значит, при тестировании удобно использовать тест-кейсы. Специалисты рекомендуют продумать хотя бы несколько пунктов чеклиста и обязательно записать их, чтобы не забыть.
Моделирование
Тестировщик мысленно моделирует поведение пользователя и прогнозирует, какие проблемы могут возникать в процессе использования продукта.
Схемы
Графика позволяет получить наглядное представление. На рисунке проще увидеть пробелы в структуре проекта.
Прототипирование
Тестировщик выполняет наброски пользовательского интерфейса, что позволяет ему оценить пользовательские решения.
В результате потенциальные баги, которые могут возникнуть при использовании программного продукта, исключены изначально. Это позволяет улучшить качество продукта, снизить стоимость его разработки и сберечь нервы всей команде.
Если вы хотите взять эту важную работу на себя и получать за неё достойное вознаграждение, вы можете пройти обучение на нашем курсе. На бесплатном интенсиве вы узнаете о перспективах профессии, необходимых навыках и инструментах, познакомитесь на практике с разными видами тестирования и попробуете решить ежедневные задачи тестировщика. Записывайтесь по ссылке , чтобы узнать подробности. Мы ждём вас.
Источник: dzen.ru