3. Mobile Web apps “ +” • HTML5/JavaScript/CSS app • Requires Web developer instead of specific native skilled one • Quick migrating to other mobile OS “ -” • Possibly different look-n-feel on different OS browsers • Performance fails • Testability often fails
4. Native apps “ +” • Native programming language app • Better performance • Extensible & customizable UI • Usage of standard APIs • Customizable look-n-feel for different OS • Better testability “ -” • Takes more resources to develop • No way for quick migrating to other mobile OS
9. Несколько советов 1. Приложение должно работать стабильно при: Нестабильном соединении Отсутствующем соединении Отсутствии ответа от сервера (можно сэмулировать с помощью firewall, роутера, WANem ) 2. Парсеры должны стараться учитывать всевозможные “ гадости ” 3. Если приложение поддерживает портретный и ландшафтный режим – уделите ему особое внимание 4 . При тестировании можно подключить monkey (нативно в Android) или как стороннее приложение в OS – вы обнаружите массу сюрпризов 5 . Требуйте систему репортов о крэшах, т.к. фидбек от заказчика часто будет без логов, доступ к аккаунту не дадут.
10. Примеры багов в вашем приложении Можно считерить и остановить соперников Twitter “ утаскивает ” за собой приложение при крэше. Возможно есть workaround. При быстрой навигации невозможно попасть на тот же скрин. (скорее всего из-за цепочки вызовов) Не все проблемы с сетью учтены Есть memory-leak
11. Находим Memory Leak Andoid: 1. Качаем и ставим Eclipse memory analyzer 2. Прописываем путь к hprof-conv.exe в Path 3. Подключаем эмулятор или девайс 4 . Грузим память 5. Devices>Update heap 6. Devices>Dump HPROF file 7. Конвертируем hprof-conv исходный_файл конечный_файл 8 . MAT>Open Heap Dump 9. Domination Tree – смотрим потребителей 10 . Проанализировали и идем в корень, клацаем Leak Suspects В нашем случае больше всего “ течет ” карта и небольшой лик стрингов . Остальные подробности выясняем у девелоперов. iOS: 1. Просим разработчика запустить приложение в XCode в режиме поиска ликов и нагружаем приложение 2. Действуем по обстоятельствам
12. Предоставляют удаленный доступ к реальным устройствам, установленных на тестовых стендах Устройство разбирается и его интерфейсы (клавиатура, микрофон, динамик, экран) физически подключаются к стенду Стенд дает возможность удаленно посылать управляющие воздействия, получать звук и изображение непосредственно с устройства Удобные средства записи и воспроизведения тестовых сценариев Распределенная сеть стендов в разных странах и регионах Удобная система инсталляции и деинсталляции приложений Недостатки: недешевое удовольствие при кажущемся многообразии девайсов нужные часто бывают заняты, либо в ремонте, либо в чистке посредственная скорость работы в Украине (плохая связность наших провайдеров с Америкой) тесты довольно хрупкие