Тестирование iOS приложений

advertisement
Типовые ошибки в iOS
приложениях
Тачков Дмитрий
OZON.RU
В тестировании более 5 лет
В тестировании мобильных приложений – 3 года.
Платформы iOS, Android, Windows Phone 7-8
Контакты: dtachkov@ozon.ru, dtachkov@mail.ru
Какие приложения я тестировал
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 версии отличаются)
Ошибки функционала
(регрессионное тестирование)
• Декларируемый и новый функционал – то,
что ожидает пользователь.
• Поддерживаемый функционал – то что
пользователь воспринимает как
должное(обновление, синхронизация)
Ошибки везде!!!!!
• Ошибки в дизайне интерфейса
• Грамматические ошибки локализации
интерфейса и скриншотов
• Функциональные ошибки
• Ошибки в сторонних библиотеках.
• Влияние сторонних приложений(см. видео)
• Замыленный взгляд тестировщика.
• Прислушиваться к пользователям
Download