Тестирование
Важным этапом при разработке приложения является тестирование — проверка полного функционала на работоспособность и отсутствие сбоев. Это ответственный и кропотливый процесс, так как гаджеты различаются по разрешениям дисплея, аппаратным особенностям, версиям операционной системы и другим признакам.
Этапы
- Общее
- Функциональное
Общее тестирование
-
Требования
Еще до начала разработки тестеры анализируют схему навигации и взаимодействия экранов с учетом требований, невидимых на дизайне.
-
Тестовые сценарии
Пока разработчики анализируют документацию, тестировщики готовят сценарии тестирования, которых иногда бывает и несколько сотен — это зависит от интерфейса.
-
Контент
Проверка графических и текстовых блоков, правильного отображения всех элементов на экране, поддержки различных языков и дополнительной информации: чисел, дат, цен и так далее.
-
Юзабилити
Если приложение не только полезно, но и удобно, то оно обязательно будет пользоваться успехом. Этап выявляет проблемы в навигации, проблемы с элементами управления и многое другое.
-
Отклик на пользовательские действия
Проверка отклика кнопок, оповещений о выполняемых процессах или об ошибках, соответствие нажатых элементов их состоянию. Для полноты результатов тест проводится и на гаджетах с низкой производительностью.
-
Обновление
Тестируется простота и понятность апдейтов, сохранение информации при установке новой версии.
-
Неожиданная остановка приложения
Тестируется адекватность реакции приложения на неожиданную остановку и на изменение статуса гаджета: выключение, активация режима ожидания, синхронизацию с ПК, подсоединение к зарядному устройству, поворот экрана.
-
Нехватка памяти и нестабильная связь
Все приложения также обязательно проверяются в «экстремальных условиях»: нехватка внутренней памяти, недостаточность дискового пространства для инсталляции, отсутствие необходимой функции у гаджета (карты памяти, камеры), в условиях низкого уровня сигнала или недостаточного баланса счета пользователя. Тестируется возможность сворачивания приложения и его параллельной работы с другими.
-
Соответствие требованиям сторов
Для публикации в ведущих магазинах для Android и iOS продукт должен соответствовать гайдлайнам магазинов.
Функциональное тестирование
После окончания общего этапа и устранения обнаруженных ошибок происходит функциональное тестирование. Исправленные отделом разработки ошибки проходят дополнительную проверку в рамках Sanity Test. Если ошибки не повторяются, то происходит переход к функциональному тестированию, затрагивающему специфику приложения и целевую аудиторию. Вслед за ним проводится предрелизная проверка, которая подразумевает повтор общего этапа, и после этого приложение может быть отправлено в магазины.
Особенности тестрирования для разных операционных систем
Android
- Инсталляционный файл в формате .apk согласуется с Program Policies, которые представляют собой перечень запрещенных к публикации типов материалов: спам, нелегальный контент, конфиденциальная информация, malware и т. д.;
- При публикации новой версии нумерация сборок производится с принятым порядком;
Приложение тестируется на соответствие документу User Interface Guidelines.
Тестирование iPhone приложений
- Для упрощения модерации в App Store имя приложения проходит проверку на уникальность и согласуется с гайдлайнами компании Apple (Human Interface Guidelines),
- Проверяется категория приложения, а также наличие ссылки для обратной связи пользователей с разработчиком,
Важность тестирования в цикле разработки
Тестирование приложения — это неотъемлемая часть разработки, как и проектирование. Разрабатывать мобильное приложение без контроля его качества невозможно. Именно тестирование в своем комплексе показывает качество будущего продукта. Без проверки приложения на ошибки и коллизии на выходе вы сможете получить только недоработанное, «сырое» приложение, которое не привлечет к вам новых клиентов.
Цена ошибки при релизе высока: неполадки в приложении вызывают негативную реакцию у пользователей, которые ставят низкие оценки приложению, а новые пользователи, видя низкие баллы, не устанавливают приложение. Так вы теряете потенциальных клиентов, а значит и свои деньги. Тестирование приложений поможет вам увидеть слабые места в вашем приложении и заблаговременно от них избавиться.
Что должно включать в себя независимое тестирование?
- Тестирование обновлений, которые должны проходить легко и просто, не требуя особых знаний.
- Тестирование интернационализации – включает языковую поддержку и корректность перевода, учитывает особенности других стран, что актуально для приложений, ориентированных на международную аудиторию.
- Тестирование удобства пользования – один из наиболее важных этапов, так как юзабилити значительно влияет на популярность приложения. В критерии входит удобство навигации, использование тач-жестов (в том числе многократные и одновременные нажатия), соответствие особенностям целевой аудитории, уровень энергопотребления.
- Нагрузочное тестирование показывает объемы использования памяти и системных ресурсов, производительность приложения и возможные утечки, выявляет поведение в режиме workflow, при некорректном кэшировании и отсутствии в телефоне необходимых функций.
- Случайное тестирование («monkey»/fuzzy testing) – выявляет реакцию приложения на неожиданные ситуации и внешние вмешательства: входящие и исходящие сообщения и звонки, оповещения других приложений, выключение и разрядка устройства, изъятие аккумулятора, режим ожидания, отключение и подключение провода, зарядного и другого устройства, включение сети, Bluetooth, GPS.
- Кроссплатформенное и кроссдевайсовое тестирование – показывает насколько корректно продукт работает на заявленных устройствах, ОС и их версиях, разрешениях, ориентациях, размерах экранов (в том числе на ретина-дисплеях).
- Лабораторное тестирование, при котором создаются возможные реальные условия среды и связи, например, нестабильный интернет или нулевой баланс на счету в сети 3G.
- Аттестационное тестирование определяет соответствие продукта лицензионным соглашениям, стандартам и условиям использования.
Современный пользователь интернета, гаджетов и программ сильно избалован. Он ждет понятных, удобных и доступных инструментов, которые быстро и четко работают и легко решают поставленные перед ними задачи. Поэтому перед тем как полноценно запустить мобильное приложение, оно должно пройти тщательное тестирование. В противном случае, столкнувшись с багами, пользователь просто найдет другое аналогичное приложение, которых в сети более чем достаточно.
Для проведения тестирования мы применяем следующие технологии:
- Баг трекеры: Mantis, Bugzilla, Jira, Trac, Rational, ClearQuest, Redmine, PR-Tracker, Eventum.
- Инструменты автоматизированного тестирования: WinRunner, Selenium RC, Selenium IDE, TestComplete, AutomatedQA.
- Инструменты управления проектами: Testlink, Confluence, Microsoft Project.
- Инструменты для тестирования производительности: Mercury LoadRunner, Grinder,Wapt, Apache JMeter, WebLoad, Siege, Pylot, LoadImpact.
После окончания тестирования заказчик получает полный отчет о багах и уязвимости мобильного продукта. Исходя из типа тестирования и пожеланий клиента могут быть предоставлены рекомендации по оптимизации и развитию приложения.
Почему стоит обратиться к нам
Наш опыт разработки мобильных приложений включает навыки общей и функциональной проверки. Мы выпускаем только проверенные и качественные продукты, что подтверждено нашими клиентами.
Разработчики и владельцы программного обеспечения для мобильных платформ могут обратиться к нам как за комплексной проверкой работоспособности, так и за отдельными этапами общего и функционального тестирования.