Типовые ошибки в iOS приложениях Тачков Дмитрий OZON.RU В тестировании более 5 лет В тестировании мобильных приложений – 3 года. Платформы iOS, Android, Windows Phone 7-8 Контакты:
Какие приложения я тестировал Кредитный калькулятор Ozon.ru FlightHero inTaxi ShopPoints Fidel.ruМои адреса
Тестирование iOS приложений это - … Ручное тестирование Тестирование на реальных устройствах Тестирование взаимодействия с пользовательским интерфейсом и операционной системой
Классификация мобильных приложений cо т.з. тестирования С точки зрения взаимодействия с сетью С точки зрения использования аппаратных возможностей. С точки зрения функционала Бизнес приложения Мультимедиа приложения Игры
Типовые ошибки в iOS приложениях. Ошибки верстки и дизайна. Ошибки локализации Ошибки взаимодействия с сетью и геолокацией Тупики в пользовательских интерфейсах и зависания Креши или аварийное завершение работы Ошибки функционала
Локализация и ошибки верстки 1.Слова на разных языках имеют разную длину 2.Книжная и альбомная ориентация 3.Переносы в словах для разных языков 4.Языки с ориентацией справа налево(иврит) Заранее договориться с переводчиком о сокращениях и прописать длину слов и сокращений 1.Добавление локализаций 2.Разные разрешения устройств 3.Промоэкраны и описание Заранее делать дизайн под разные разрешения и языки
Ошибки взаимодействия с сетью Типы сетевого взаимодействия 1.Выполнение команд – API 2.Получение данных для просмотра и проигрывания 3.Upload and Download 4.Взаимодействие с социальными сетями. 5.Сетевые оповещения 6.Синхронизация 7.Определение координат
Тупики в пользовательских интерфейсах Блокирование интерфейса в результате показа нескольких элементов одновременно. Ошибки дизайна интерфейса
Пример блокировок
Классификация крешей По степени повторяемости – Слабо повторяемые – Стабильные креши – Трудно повторяемые По воздействию на пользователя и важности – Потеря данных – пользователь разочарован и ушел к конкуренту – Без последствий – негативная реакция пользователя – Ограничение части функционала в результате креша
Пример трудно повторяемого креша Ввести сумму, срок, ставку и нажать сохранить Удалить значение из поля срок и нажать сброс - да. Закрыть сообщения Снова ввести параметры кредита и нажать сохранить- закрыть сообщение Нажать на вкладку настройки - приложение крешнуло Нажать сброс – далее в нажать да - номер кредита останется введенным Приложение крешится всегда при переходе на вкладку настройки
Как предотвратить креши? Главное его поймать и записать(видео). Тестировать мультитач и последовательные нажатия Стресс тестирование(нехватка ресурса) Анализировать креши из App Store и TestFlight Автотестирование(утечки памяти и проверка на множестве данных) Многопользовательское тестирование перед выпуском продукта на разных устройствах и версиях iOS.(4, 5 и 6 версии отличаются)
Ошибки функционала (регрессионное тестирование) Декларируемый и новый функционал – то, что ожидает пользователь. Поддерживаемый функционал – то что пользователь воспринимает как должное(обновление, синхронизация)
Ошибки везде!!!!! Ошибки в дизайне интерфейса Грамматические ошибки локализации интерфейса и скриншотов Функциональные ошибки Ошибки в сторонних библиотеках. Влияние сторонних приложений(см. видео) Замыленный взгляд тестировщика. Прислушиваться к пользователям