iOS_Testing.pptx

26
Delivering Excellence in Software Engineering ® 2011. EPAM Systems. All rights reserved. Особенности тестирования iOS приложений

description

 

Transcript of iOS_Testing.pptx

Page 1: iOS_Testing.pptx

Delivering Excellence in Software Engineering

® 2011. EPAM Systems. All rights reserved.

Особенности тестирования iOS приложений

Page 2: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved. 2

Сравнение инструментовСравнение инструментов3

Автоматическое тестированиеАвтоматическое тестирование2

Ручное тестированиеРучное тестирование1

Page 3: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

iOS 4.X устройства

Page 4: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

iOS Human Interface Guidelines

Несколько основных направлений описанных в iOS HIG:- Принципы построения

интуитивно понятного интерфейса

- «Опыт пользователей»- Стандартные UI элементы- Стандарты используемые при

создании картинок, иконок.

iOS Human Interface Guidelines описывает основы разработки дизайна приложения.

Page 5: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

iOS Human Interface Guidelines

Пользователи iOS устройств привыкли к стандартным жестам так как они используются во встроенных приложениях.

На основании этого опыта пользователи ожидают, что остальные приложения будут вести себя также.

Жест Действие

Tap Нажатие либо выбор кнопки/иконки (аналог одиночного клика мыши)

Drag Прокручивать либо медленно двигать

Flick Прокручивать либо быстро двигать

Swipe В таблице – прокрутить до кнопки «Удалить»

Double tap - Увеличить и центрировать блок текста или картинки- Уменьшить

Pinch open Увеличить

Pinch close Уменьшить

Touch and hold В редактируемом поле – отобразить всплывающее меню

Shake Отменить действие

Page 6: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

iOS Human Interface Guidelines

Действие – РезультатНемедленный результат – то

чего ожидают пользователи. При продолжительных действиях появление статус-индикатора обязательно.

Все настройки приложений хранятся в приложении «Settings».

iOS устройства и встроенные приложения интуитивно понятны и просты в использовании, поэтому пользователи не нуждаются во всплывающих меню-помощниках.

Page 7: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Создание багов

Как разработчики так и инженеры по тестированию не знают как называются элементы интерфейса приложения.

Page 8: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Возможности iOS 4.*

iPhone iPod iPad

Многозадачность + + +

AirPrint + + +

Клавиатура + + +

Универсальный доступ + + +

Поддержка внешних устройств + + +

Page 9: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Клавиатура

iPhone поддерживает более 34 языков интерфейса между которыми можно легко переключаться. Так как клавиатура является программой, то можно выбрать любую из 40 различных раскладок поддерживающие функции для каждого языка: диакритические символы, рукописный ввод для китайского языка и контекстуальные варианты ввода для японского.

Page 10: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Клавиатура

Продолжительное нажатие на клавишу клавиатуры открывает дополнительные символы.

В Японской раскладке есть специальная клавиша для вставки смайликов (Japanese Emoji)

Page 11: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Внешняя клавиатура

iOS устройства, начиная с iPad и iPad 2, iPhone 3GS и 4G, iPod touch 3rdg и выше поддерживают внешнюю Bluetooth-клавиатуру.

Page 12: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Внешний дисплей

Так же как и с клавиатурой, подключение внешнего монитора, телевизора, проектора доступно не во всех iOS устройствах: начиная с iPad и iPad 2, iPhone 4, или iPod touch 4g.

Page 13: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Универсальный доступ

Apple очень заботится о людях с ограниченными физическими возможностями, поэтому проверить совместимость разрабатываемого приложения с универсальным доступом – обязанность каждого инженера по тестированию.

Универсальный доступ включает в себя: масштабирование, голосовое сопровождение интерфейса (VoiceOver), поддержка беспроводных дисплеев и таблиц Брайля, а также «белое на черном» для увеличения контрастности отображаемой картинки.

Page 14: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Важно!

Скриншоты в iOS устройствах снимаются при помощи одновременного нажатия на кнопки блокировки и Home.

Page 15: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Что тестировать?!

При нажатии в редактируемом поле, появляется клавиатура, кроме того это поле располагается чуть чуть левее от центра видимой (не закрытой клавиатурой) области экрана.

Page 16: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Что тестировать?!

Если в приложении используется «самописная» клавиатура, ее необходимо проверять особо тщательно. На рисунках, два таких примера: 1. Открытие клавиатуры; 2. Дезориентация устройства в следствии «неожиданного» появления системного вызова.

Page 17: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Что тестировать?!

Акселерометр. Как правило является самой большой занозой для разработчиков т.к. шаги по воспроизведению зачастую неизвестны.

Но не стоит ограничиваться только тестированием акселерометра, лучше всего совместить это с блокировкой устройства, pop-up меню, многозадачностью.

Page 18: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Что тестировать?!

Инерционная полоса прокрутки (inertial scroll). Наличие важно, при увеличении картинки помогает пользователю ориентироваться в какую часть картинки он просматривает.

Page 19: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Что тестировать?!

Алерты могут менять положение

Кроме того они могут завалить приложение если нажать кнопку Home во время его появления.

Некоторые меню также могут «двигаться»

Page 20: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved. 20

Сравнение инструментовСравнение инструментов3

Автоматическое тестированиеАвтоматическое тестирование2

Ручное тестированиеРучное тестирование1

Page 21: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

UI Automation

UI Automation позволяет писать небольшие скрипты для тестирования элементов интерфейса приложения как на симуляторе так и на обычном устройстве. Тесты пишутся на скриптовом языке JavaScript и позволяют манипулировать элементами интерфейса с помощью UI Automation API, возвращает лог отработки на хостовую машину.

Page 22: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

UISpec

UISpec – это фреймворк предоставляющий полное автоматическое тестирование приложения как на симуляторе так и на устройстве (так пишут о нем разработчики). Код теста встраивается в основной код приложения и пишется на Objective-C. В настоящий момент разработка данного фреймворка прекращена, что не удивительно для опенсорс.

Page 23: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

FoneMonkey

FoneMonkey – это не просто инструмент, это фреймворк позволяющий как записывать так и воспроизводить тесты. Кроме того может воспроизводить уже готовые скрипты написанные на Objective-C либо JavaScript. Проект активно развивается, распространяется под лицензией GNU.

FoneMonkey на ряду с UISpec также встраивается в исходный код приложения и не подходит для «чистого» тестирования.

Page 24: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved. 24

Сравнение инструментовСравнение инструментов3

Автоматическое тестированиеАвтоматическое тестирование2

Ручное тестирование Ручное тестирование 1

Page 25: iOS_Testing.pptx

® 2011. EPAM Systems. All rights reserved.

Сравнительная таблица

UI Automation UISpec FoneMonkey

«Чистый билд» + - -

Исходники +/- + +

Порог вхождения JavaScript, Interface Builder, Mac OS X, Instruments

Objective-C, Xcode, Mac OS X

Objective-C/JavaScript, Xcode, Mac OS X,

Полная автоматизация тестирования

+/- + +

Платформа iOS симулятор, iOS устройство

iOS симулятор, iOS устройство

iOS симулятор, iOS устройство

Лицензия Proprietary EULA GNU GNU