Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Типовые ошибки в 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 версии отличаются)
Ошибки функционала
  (регрессионное тестирование)
• Декларируемый и новый функционал – то,
  что ожидает пользователь.
• Поддерживаемый функционал – то что
  пользователь воспринимает как
  должное(обновление, синхронизация)
Ошибки везде!!!!!
• Ошибки в дизайне интерфейса
• Грамматические ошибки локализации
  интерфейса и скриншотов
• Функциональные ошибки
• Ошибки в сторонних библиотеках.
• Влияние сторонних приложений(см. видео)
• Замыленный взгляд тестировщика.
• Прислушиваться к пользователям

More Related Content

Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дмитрий Тачков, Ozon

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