Вы находитесь на странице: 1из 55

Особенности и

тестирование Mobile
Виды мобильных приложений

● Нативные

● WAP (WEB)

● Гибридные
Виды мобильных приложений.
Нативные

Такие приложения разработаны только под определенную платформу


и по максимуму используют возможность той или иной операционной
системы. Как правило, нативные приложения характеризуются широкой
функциональностью и высокой скоростью работы.
Нативные
Виды мобильных приложений.
WAP (WEB)

Наиболее распространенный тип приложений сегодня с легкостью


позволяет отображать сайты на различных устройствах. К тому же такие
приложения кросс-платформенные, их не нужно устанавливать, и они
достаточно просты в использовании.
WAP (WEB)
Виды мобильных приложений.
Гибридные

Комбинация двух вышеупомянутых типов. В отличие от нативных,


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

● Нативные - iOS (Objective-C/Swift), Android (Java/Kotlin)

● WAP (WEB) - JS, HTML, CSS


● Гибридные - преимущественно HTML/С, C++, C#

(но и все остальные нативные языки)


Итог
Этапы разработки и тестирования
Этапы разработки и тестирования

● User Story

● Создание проекта и дизайна

● Тестирование

● Мониторинг
Создание проекта и дизайна

● UI
● UX
User Interface

UI design — это визуальное оформление «изделия»: какие использовать


цвета, удобно ли будет человеку попадать пальцем в кнопки,
читабельным ли будет текст.
User Interface

Apple HIG

Ссылка -https://developer.apple.com/desig
n/human-interface-guidelines

Google Material Design

Ссылка - https://material.io/design
User Interface
UI элементы ОС:
User Interface

1. Сравнить дизайн с эталонным вариантов

a. Рекомендации: ios, android.

b. Реальные UI элементы ОС

2. Проверка разработанного UI с дизайном продукта


User Experience

UX design — Опыт пользователя, опыт взаимодействия (User eXperience,


UX) — это восприятие и ответные действия пользователя, возникающие в
результате использования и/или предстоящего использования продукции,
системы или услуги.
Принципы обеспечения UX
Видимость статуса системы
Пользователь должен всегда знать, что происходит, получая подходящую обратную связь в
приемлемое время.
Соответствие между системой и реальным миром
Система должна «говорить на языке пользователя», используя понятную ему терминологию
и концепции, а не «системно-ориентированный» язык.
Управляемость и свобода для пользователя
Пользователь часто выбирает системные функции по ошибке и должен иметь ясно видимый
«аварийный выход» из нежелаемого состояния системы, не требующий сложных диалогов.
Следует поддерживать функции отмены (undo) и повтора (redo).
Принципы обеспечения UX
Согласованность и стандарты
Пользователи не должны гадать, значат ли одно и то же разные слова, ситуации или операции. Также
нужно следовать соглашениям, принятым для данной платформы.
Предотвращение ошибок
Продуманный дизайн, который не позволяет какой-то проблеме даже возникнуть, лучше, чем самые
хорошие сообщения об ошибках. Следует устранять сами условия возникновения ошибок, либо выявлять их
и предупреждать пользователя о предстоящей проблеме.
Распознавать лучше, чем вспоминать
Минимизируйте нагрузку на память пользователя, явно показывая ему объекты, действия и варианты
выбора. Пользователь не должен в одной части диалога запоминать информацию, которая потребуется ему
в другой. Инструкции по использованию системы должны быть видимы или легко получаемы везде, где
возможно.
Принципы обеспечения UX
Гибкость и эффективность использования
Акселераторы (средства быстрого выполнения команд), которые новичок даже не видит, для опытного
пользователя часто могут ускорить взаимодействие. Поэтому система должна удовлетворять как
неопытных, так и опытных пользователей. Следует давать возможность настраивать под себя часто
используемые операции.
Эстетический и минималистический дизайн
В интерфейсе не должно быть информации, которая не нужна пользователю или которая может
понадобиться ему в редких случаях. Каждый избыточный элемент диалога отнимает внимание от нужных
элементов.
Помочь пользователю понять и исправить ошибку
Сообщения об ошибках следует писать простым языком, без кодов, чётко формулируя проблему и
предлагая конструктивное решение.
Справка и документация
Практические рекомендации по UX/UI:
1. Удалите беспорядок
Практические рекомендации по UX/UI:
2. Сделайте навигацию
самоочевидной
Практические рекомендации по UX/UI:
3. Создайте бесшовный опыт
Вы не должны думать о
мобильном дизайне в изоляции.
Практические рекомендации по UX/UI:
4. Используйте правильные
размеры целей нажатия
(тэп таргеты)
Практические рекомендации по UX/UI:
5. Текст должен
быть разборчивым
Практические рекомендации по UX/UI:
6. Элементы интерфейса
должны быть ясно видны
Практические рекомендации по UX/UI:
7. Разработайте управление,
основанное на расположении руки
Практические рекомендации по UX/UI:
8. Снизьте необходимость
в наборе текста
Практические рекомендации по UX/UI:

Так же, как с любыми другими элементами дизайна, советы, указанные выше – это
только место для старта.

Смешивайте и сочетайте эти идеи с вашим собственным для достижения наилучших


результатов. Просто помните, что дизайн — не только для дизайнеров — он для
пользователей.
Эмуляторы и Симуляторы
Эмуляторы и Симуляторы

Это разница в фокусе.

Эмуляторы - задача сосредоточить внимание на воссоздании поведения системы,


не обращая внимания на то, как система функционирует внутренне.

Симуляторы - задача сосредоточиться на моделировании компонентов системы. Вы


используете эмулятор, когда вы в основном заботитесь о том, что делает система,
и симулятор, когда вы заботитесь о том, как он это делает.
Эмуляторы и Симуляторы
Эмуляция происходит от æmulus, "стремления, соперничества" и связана с "имитацией" и
"изображением", что предполагает сходство с поверхностным рычагом. "Моделирование"
происходит от similis "like", как и слово "похоже", что, возможно, предполагает более глубокое
сравнение.
Эмуляторы, Симуляторы и удалённая отладка

Тестирование на физических устройствах – штука оправданная. Но это не значит, что не нужно


тестировать на эмуляторах и симуляторах. Они позволяют расширить тестируемый набор
устройств и проверять изменения на лету.
Эмуляторы, Симуляторы и удалённая отладка

Симулятор iOS

Для тестирования яблочных устройств, айфонов и айпадов,


есть несколько вариантов. Первый среди них –
официальный Apple iOS Simulator, входящий в поставку
Xcode. Позволяет тестировать разные комбинации софта и
железа – но только на Mac.
Эмуляторы, Симуляторы и удалённая отладка

Симулятор iOS

Для использования установите и запустите


Xcode. Потом ПКМ и выберите «Show
Package Contents». Затем пройдите
“Contents” → “Applications” → “iPhone
Simulator.”
Эмуляторы, Симуляторы и удалённая отладка

Эмулятор Android

У андроида эмулятор кросс-


платформенный.
К сожалению, он сложен в настройке.

Для начала, скачайте Android Studio,


включающую Android Development
Tools (ADT) и Android software
development kit (SDK).
Эмуляторы, Симуляторы и удалённая отладка

Эмулятор Android

Cледуйте инструкциям по установке.

Затем создайте Android virtual device


(AVD) для тестируемого устройства. В
менеджере AVD есть список готовых
устройств в “Device Definitions”. Для
начала выберите одно из них и
нажмите “Create AVD”
Эмуляторы, Симуляторы и удалённая отладка

Genymotion Android Emulator

быстрый эмулятор Android, который


включает в себя настроенные образы
Android.

Ссылка для скачивания и установки.


Эмуляторы, Симуляторы и удалённая отладка

Эмуляторы и симуляторы полезны, но не на


100% достоверны. Всегда нужно пытаться
проводить тестирование на максимальном
количестве реальных устройств.
Эмуляторы, Симуляторы и удалённая отладка

Удалённая отладка

Инструменты удалённой отладки


предоставляют интерфейс для подключения к
мобильному устройству с десктопа. Таким
образом, мы работаем с данными с реальных
устройств на мощном десктопном компьютере.
Эмуляторы, Симуляторы и удалённая отладка

iOS

С выходом 6-й версии Apple представила


инструмент для отладки МУ через Safari Web
Inspector.

Для начала надо разрешить удалённую


отладку на устройстве. “Settings” → “Safari”
→ “Advanced” и разрешить “Web Inspector”
Эмуляторы, Симуляторы и удалённая отладка

iOS

Затем подключите устройство к компьютеру


через USB. Потом откройте Safari (версии не
ниже 6) и в “Preferences” → “Advanced”
выберите “Show Develop menu in menu bar”.

В этом меню вы увидите ваше устройство и


несколько страниц с настройками.
Эмуляторы, Симуляторы и удалённая отладка

iOS

На каждой из страниц
представлено много
инструментов, DOM
Inspector и подобные.

Подробно всё это описано в “


Safari Web Inspector Guide”.
Эмуляторы, Симуляторы и удалённая отладка

Android

В случае с Андроидом инструменты удалённой


отладки позволяют работать с десктопа при
помощи Chrome’s Developer Tools. Кроме того,
инструменты эти опять-таки кросс-платформенные.

Сначала, на телефоне пройдите в “Settings” →


“About Phone” (для Android 4.4+), или “Settings” →
“About Tablet”. Затем нужно нажать на “Build
Number” семь раз. Кроме шуток. После этого вы
увидите сообщение насчёт разработчика.
Эмуляторы, Симуляторы и удалённая отладка

Android

Затем обратно в основных


настройках “Developer Options”
нужен пункт “USB debugging”.
Эмуляторы, Симуляторы и удалённая отладка

Android

В адресной строке браузера Chrome


наберите about:inspect.

Разрешите “Discover USB devices”, и


вы увидите в меню своё мобильное
устройство.
Эмуляторы, Симуляторы и удалённая отладка

Android

Ссылка на инструкцию:
Get Started with
Remote Debugging Android Devices
Способы установки приложений:
Для Android – встроенное в магазин решение (Бета-версия) + ADB

Для iOS - TestFlight.

Желательно оборачивать приложения в оболочки


(Crashlytics, TestFairy, HockeyApp).
Способы установки приложений:
Android Debug Bridge, или сокращенно ADB, — это многофункциональная утилита для работы
с Android-устройствами через командную строку.

ADB – это компонент Android SDK.

читать:

Android Debug Bridge (adb)


ADB для чайников. Часть 1.
ADB (Android Debug Bridge)
Чит-лист:
1. Все элементы должны быть такого размера, чтобы пользователь мог попасть по ним;
2. Отсутствие пустых экранов в приложениях;
3. Многократные нажатия на кнопки;
4. Проверка нативных жестов в приложениях;
5. Обработка ситуаций нехватки памяти, для работы приложения;
6. Недостаток места для установки приложения;
7. Отсутствие у приложений поддерживаемых функций (SD – карта, 3G);
8. Установка или перенос приложения на SD – карту;
9. Соответствие правилам хорошего тона (Apple HIG, Google Material Design);
10. Размер элементов;
11. Количество информации;
12. Адаптация под разные размеры экранов;
13. Проверка изменения ориентации устройства (Portrait, Landscape);
Чит-лист:
14. Отзывчивость на воздействия (Графическая, звуковая, тактильная);
15. Сообщения об ошибках;
16. Цветовая гамма;
17. Retina и обычные экраны (изображения для retina, попавшие в обычные устройства
будут выглядеть очень большими);
18. Версии OS (Приложения не должны устанавливаться на неподдерживаемые версии OS);
19. Соответствие используемых экранов в приложении (Решения, которые имеют смысл
для одной платформы, могут быть неуместны в другой);
20. Входящие и исходящие SMS, MMS, звонки, оповещения других приложений;
21. Выключение устройства, изъятие аккумулятора, зарядка устройства;
22. Переход в режим ожидания (В том числе и с защитой паролем);
23. Изменение ориентации устройства в режиме ожидания;
24. Включение/отключение сети, GPS, авиа – режима, Bluetooth;
25. Отключение/подключение SD – карты, физической клавиатуры, гарнитуры.
Чит-лист:
26. Соответствие цены и содержимого, заявленного в приложении тому, что попадает к
пользователю;
27. Восстановление покупок;
28. Сохранение покупок при обновлении приложения;
29. Использование различных функциональных возможностей девайса (Например, кнопка
Back на Android)
30. Проверка корректности перевода;
31. Все переведенные слова, корректно располагаются в отведенных для них местах;
32. Проверка форматов дат, разделителей в числах и других нетривиальных моментах.
33. Проверка работоспособности в разных часовых регионах;
34. Убедиться, что поддерживаются все версии из предыдущих релизов (если в
приложении добавлена функциональность из новой версии ОС, то необходимо
разрабатывать урезанный функционал для старых версий ОС);
35. Проверка обновлений (Сохранение всех данных пользователей, Авторизация)
Чит-лист:
36. Если приложение поддерживает Portrait/Landscape – уделите смене ориентации много
времени;
37. Лучше всего переходите между экранами во время взаимодействия с сетью;
38. Запросы должны отменяться, если они не завершены;
39. Использовать настройки разработчика: эмитирование слабого соединения, не
сохранять действие (состояние активити - Android) и тд.
40. Проверять деинсталляцию - удаление всех пользовательских данных.
Спасибо за внимание!

Оценить