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