ݺߣ

ݺߣShare a Scribd company logo
Тестирование мобильных приложений Александр Хозя
Базовый  scope  приложений No Bugs Intuitive ness Performance Uniqueness Integration Easy installation
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
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
Что тестируем ? Память Сеть Заряд Удобство Оптимизация
Как тестируем ? Exploratory + Session-based Cheat sheet/Check list Mind maps Scripted testing
О, это сладкое слово  “ Баг ”  и не слишком сладкое оформление  
Будь готов, тестировщик!  
Несколько советов 1. Приложение должно работать стабильно при: Нестабильном соединении Отсутствующем соединении Отсутствии ответа от сервера (можно сэмулировать с помощью firewall, роутера,  WANem ) 2. Парсеры должны стараться учитывать всевозможные  “ гадости ” 3. Если приложение поддерживает портретный и ландшафтный режим – уделите ему особое внимание 4 . При тестировании можно подключить monkey (нативно в Android) или как стороннее приложение в OS – вы обнаружите массу сюрпризов   5 . Требуйте систему репортов о крэшах, т.к. фидбек от заказчика часто будет без логов, доступ к аккаунту не дадут.
Примеры багов   в вашем приложении Можно считерить и остановить соперников Twitter “ утаскивает ”  за собой приложение при крэше. Возможно есть  workaround. При быстрой навигации невозможно попасть на тот же скрин. (скорее всего из-за цепочки вызовов)  Не все проблемы с сетью учтены Есть  memory-leak
Находим  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.  Действуем по обстоятельствам 
Предоставляют удаленный доступ к реальным устройствам, установленных на тестовых стендах Устройство разбирается и его интерфейсы (клавиатура, микрофон, динамик, экран) физически подключаются к стенду Стенд дает возможность удаленно посылать управляющие воздействия, получать звук и изображение непосредственно с устройства Удобные средства записи и воспроизведения тестовых сценариев Распределенная сеть стендов в разных странах и регионах Удобная система инсталляции и деинсталляции приложений Недостатки: недешевое удовольствие при кажущемся многообразии девайсов нужные часто бывают заняты, либо в ремонте, либо в чистке посредственная скорость работы в Украине (плохая связность   наших провайдеров с Америкой) тесты довольно хрупкие
Полезные ссылки : http :// blogs.globallogic.com/mobile-application-testing   http :// blogs.globallogic.com/mobile-application-testing-ii   http :// blogs.globallogic.com/mobile-application-testing-iii   http://thetesteye.com/posters/TheTestEye_SoftwareQualityCharacteristics.pdf  - Software Quality Characteristics http :// www.unifiedtestinginitiative.org/Android-UTC  -  чек-лист для тестирования приложений под Android http://unifiedtestinginitiative.org/files/uti_best_practices_v1_final.pdf  - best practices  для разработчиков мобильных приложений http://habrahabr.ru/blogs/testing/123026 /   - обзор тулов для автоматизированного тестирования http :// www.mutualmobile.com/wp-content/uploads/2011/04/ADG1.1.pdf   http:// developer.android.com/design/index.html   - GUI guideline   for Android http://developer.apple.com/library/ios/# documentation/userexperience/conceptual/mobilehig/AppDesign/AppDesign.html  - GUI guideline   for iOS http ://docs.blackberry.com/en/developers/subcategories/? userType=21&category=BlackBerry+UI+Guidelines  GUI guideline   for Blackberry http:// developer.android.com/guide/developing/tools/monkey.html  -  Android monkey exerciser http://habrahabr.ru/blogs/android_development/131637 /  - Monkey & MonkeyRunner http://wanem.sourceforge.net /  - WANem
Полезные ссылки : 1 2 .  http://pencil.evolus.vn/en-US/Home.aspx  - Pencil  13.  http://www.gorillalogic.com/fonemonkey  - FoneMonkey for iOS & Android 14.  http://bitbar.com  - TestDroid
Спасибо за внимание!  Вопросы и свободная дискуссия Контакты : Skype: h0ssman88 E-mail:  [email_address]

More Related Content

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

  • 2. Базовый scope приложений No Bugs Intuitive ness Performance Uniqueness Integration Easy installation
  • 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
  • 5. Что тестируем ? Память Сеть Заряд Удобство Оптимизация
  • 6. Как тестируем ? Exploratory + Session-based Cheat sheet/Check list Mind maps Scripted testing
  • 7. О, это сладкое слово “ Баг ” и не слишком сладкое оформление 
  • 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. Предоставляют удаленный доступ к реальным устройствам, установленных на тестовых стендах Устройство разбирается и его интерфейсы (клавиатура, микрофон, динамик, экран) физически подключаются к стенду Стенд дает возможность удаленно посылать управляющие воздействия, получать звук и изображение непосредственно с устройства Удобные средства записи и воспроизведения тестовых сценариев Распределенная сеть стендов в разных странах и регионах Удобная система инсталляции и деинсталляции приложений Недостатки: недешевое удовольствие при кажущемся многообразии девайсов нужные часто бывают заняты, либо в ремонте, либо в чистке посредственная скорость работы в Украине (плохая связность наших провайдеров с Америкой) тесты довольно хрупкие
  • 13. Полезные ссылки : http :// blogs.globallogic.com/mobile-application-testing http :// blogs.globallogic.com/mobile-application-testing-ii http :// blogs.globallogic.com/mobile-application-testing-iii http://thetesteye.com/posters/TheTestEye_SoftwareQualityCharacteristics.pdf - Software Quality Characteristics http :// www.unifiedtestinginitiative.org/Android-UTC - чек-лист для тестирования приложений под Android http://unifiedtestinginitiative.org/files/uti_best_practices_v1_final.pdf - best practices для разработчиков мобильных приложений http://habrahabr.ru/blogs/testing/123026 / - обзор тулов для автоматизированного тестирования http :// www.mutualmobile.com/wp-content/uploads/2011/04/ADG1.1.pdf http:// developer.android.com/design/index.html - GUI guideline for Android http://developer.apple.com/library/ios/# documentation/userexperience/conceptual/mobilehig/AppDesign/AppDesign.html - GUI guideline for iOS http ://docs.blackberry.com/en/developers/subcategories/? userType=21&category=BlackBerry+UI+Guidelines GUI guideline for Blackberry http:// developer.android.com/guide/developing/tools/monkey.html - Android monkey exerciser http://habrahabr.ru/blogs/android_development/131637 / - Monkey & MonkeyRunner http://wanem.sourceforge.net / - WANem
  • 14. Полезные ссылки : 1 2 . http://pencil.evolus.vn/en-US/Home.aspx - Pencil 13. http://www.gorillalogic.com/fonemonkey - FoneMonkey for iOS & Android 14. http://bitbar.com - TestDroid
  • 15. Спасибо за внимание! Вопросы и свободная дискуссия Контакты : Skype: h0ssman88 E-mail: [email_address]