Почему тестирование iOS?
Впервые выпущенная 29 июня 2007 года, iOS — это название платформы Apple для мобильных приложений. В отличие от Android, Apple не лицензирует iOS для установки на оборудование сторонних производителей. Приложения iOS и iOS устанавливаются только на устройствах Apple. Ваше приложение должно быть совместимо с четырьмя типами устройств и версиями iOS.
Это общий вопрос, когда разработчик создает приложение для iOS.
Неважно, сколько времени вы потратите на разработку и реализацию, ошибки неизбежны, и будут появляться ошибки. Есть несколько распространенных ошибок в приложении для iOS. Как показано на рисунке ниже.
- Сбой приложения
Одна из самых неприятных проблем при использовании устройств Apple заключается в том, что во время выполнения приложение может часто зависать. Много раз приложение вылетает из-за ошибок или утечки памяти в приложениях.
- Несовместимость приложений
Ваше приложение iOS может отлично работать на текущей версии iOS, но если iOS обновлена, она может не работать из-за проблем несовместимости.
- Уязвимость безопасности
Уязвимость безопасности в iOS позволяет хакеру атаковать ваши устройства iOS, украсть вашу личную информацию. До сих пор серьезные уязвимости безопасности iPhone обнаруживались в разных версиях iOS.
- Утечки памяти
Утечки памяти — это блоки выделенной памяти, которые программа больше не использует. Утечки памяти приводят к сбою приложения iOS. Они ошибки и всегда должны быть исправлены.
В этом уроке вы узнаете
- Почему тестирование iOS?
- iOS тестирование MindMap
- Контрольный список тестирования iOS
- Стратегия тестирования iOS
- Автоматизированное тестирование
- Ручное тестирование
- Тестирование iOS Лучшая практика
- МИФЫ о тестировании iOS
iOS тестирование MindMap
Как показано на рисунке выше, iOS Testing MindMap показывает все элементы, которые тестер должен учитывать при проведении тестирования на iOS.
Контрольный список тестирования приложений iOS
Этот контрольный список специально разработан для проверки характеристик мобильных приложений iOS. Очевидно, что он тестирует только общие характеристики приложения, а не его функциональность.
- Проверьте время установки приложения на устройство. Убедитесь, что приложение установлено в течение приемлемого времени.
- После того, как приложение установлено, проверьте, есть ли у приложения значок и имя приложения. Кроме того, убедитесь, что и значок, и имя говорят сами за себя, отражая основной смысл приложения.
- Запустите приложение и проверьте, отображается ли заставка.
- Проверьте время ожидания заставки и время, необходимое для загрузки начального экрана. Главный экран приложения должен загрузиться в течение приемлемого времени. Если загрузка главного экрана занимает больше времени, у пользователя появляется больше шансов выйти или даже удалить само приложение. Также проверьте, как содержимое загружается на главном экране.
- Основная функция приложения должна быть очевидна сразу. Это должно говорить само за себя.
- Проверьте, поддерживает ли приложение как альбомную, так и портретную ориентацию. Если это так, проверьте приложение в обоих направлениях. Пользовательский интерфейс приложения должен быть настроен соответствующим образом.
- Без подключения к интернету, запустите приложение. Убедитесь, что приложение ведет себя так, как задумано / желательно. Существует вероятность того, что приложение может произойти сбой при запуске или может просто отобразить пустой экран.
- Если приложение использует службы определения местоположения, проверьте, отображается ли предупреждение о разрешении местоположения или нет. Это предупреждение должно быть предложено пользователю только один раз.
- Если приложение отправляет push-уведомления, проверьте, отображается или нет уведомление о разрешении push-уведомлений. Это предупреждение также должно быть предложено пользователю только один раз.
- Запустите приложение, выйдите из него и перезапустите. Проверьте, работает ли приложение как задумано / желательно
- Закройте приложение, нажав кнопку «Домой» на устройстве, и снова откройте приложение. Проверьте, работает ли приложение как задумано / желательно.
- После установки проверьте, есть ли приложение в списке настроек iPhone.
- После того, как приложение запущено, проверьте, можно ли найти приложение в «App Store». Будет поддерживаемая версия ОС для приложения. Поэтому убедитесь, что приложение можно найти в «App Store» устройства с поддерживаемой версией ОС. Кроме того, приложение не должно быть указано в неподдерживаемой версии ОС устройства «App Store».
- Проверьте, не переходит ли приложение в спящий режим при работе в фоновом режиме, чтобы предотвратить разрядку аккумулятора.
- Если производительность приложения низкая или когда содержимое загружается, проверьте, имеется ли значок состояния выполнения («Загрузка…»), предпочтительно с определенным сообщением.
- Найдите приложение по названию в строке поиска устройства. Проверьте, есть ли приложение в списке
- Проверьте, не изменяется ли в приложении внешний вид кнопок, выполняющих стандартные действия (например, «Обновить», «Организовать», «Корзина», «Ответить», «Назад» и т. Д.).
- Проверьте, не используются ли стандартные кнопки для других функций, тогда как они обычно используются для
Стратегия тестирования iOS
На рисунке ниже представлены некоторые общие типы стратегии тестирования iOS.
Автоматизированное тестирование
Автоматизированное тестирование — это большинство преимуществ тестирования iOS. Это позволяет быстро обнаруживать ошибки и проблемы с производительностью. Преимущества автоматического тестирования, как показано ниже:
- Automated testing can run on multiple devices, saving your time
- Automated testing can target SDKs. You can run test on different SDK versions
- Automated testing increase your productivity of testing, save your cost of software development
- There are many open source Testing frameworks support automated testing on iOS
Unit testing with OCUnit
When the original iOS SDK was released, it lacked Unit Testing capabilities. So Apple has brought back the OCUnit unit test solution in iOS SDK version 2.2.
OCUnit is a testing framework for C- Objective in the Mac OS. The biggest advantages of an OCUnit framework are the tight integration into XCode development environment as shown below.
Some of the benefits of OCUnit are shown in below figure.
UI Testing with UIAutomation
UI Automation is a JavaScript library provided by Apple Inc, which can be used to perform an automated test on real devices and on iOS Simulator. This framework is added to iOS SDK4.0. Using UI Automation, you can automate testing the application not only on the simulator but also the real device.
UIAutomation brings you these benefits:
- Reduce effort on Manual Testing
- Use less your memory to execute all your tests
- Simplify your UI testing procedure ( just push one or three buttons and run full your test suites)
UIAutomation instrument works from scripts, which are written in JavaScript. It simulates user events on target iOS application.
UIAutomation Cons vs. Pros
Pros | Cons | |
---|---|---|
1. | Хорошая поддержка жестов и вращения | Это не с открытым исходным кодом, меньше поддержки со стороны разработчика |
2. | Может запускать тесты UIAutomation на устройстве, а не только на симуляторе. | Не очень хорошо интегрируется с другими инструментами |
3. | Разработанный на JavaScript, это популярный язык программирования. |
Рисунок выше представляет некоторые общие классы в рамках UIAutomation.
- Класс UIAElement является суперклассом для всех элементов пользовательского интерфейса в контексте автоматизации
- Класс UIATarget представляет высокоуровневые элементы пользовательского интерфейса тестируемой системы.
- Класс UIALogger предоставляет информацию о тестах и ошибках в функциях поиска
- Класс UIAActivityView обеспечивает доступ к представлениям активности в вашем приложении и управление ими.
- Класс UIAActionSheet позволяет получить доступ и управлять листами действий в вашем приложении.
- Пользователь Действие события
- Класс UISlider
- Класс UIAButton
- Класс UIAKey
- UIAКлавиатура
Другие автоматизированные рамки тестирования
- MonkeyTalk : инструмент для автоматического тестирования приложений iOS, Android, HTML5 и Adobe. Это интегрированная среда для управления и запуска тестовых пакетов.
- Фрэнк : рамки автоматизированного приемочного тестирования для iPhone и iPad
- KIF : интегрированная среда тестирования iOS . Это позволяет легко автоматизировать приложения для iOS, используя атрибуты доступности, которые ОС делает доступными для людей с нарушениями зрения.
Ручное тестирование
Исследовательское тестирование
Это тестирование без официального плана тестирования. Исследовательское тестирование — это недорогой метод тестирования, но он может пропустить потенциальные ошибки в вашем приложении iOS.
Исследовательское тестирование против и за
Pros |
Cons |
|
---|---|---|
1. |
Требуется меньше подготовки, рано выявлять серьезные ошибки. |
Требует высокого мастерства тестера |
2. |
Не нужно, чтобы план тестирования ускорял обнаружение ошибок. |
Тестовый охват низкий. Это не гарантирует, что все ваши требования проверены. |
3. |
Большинство ошибок обнаруживаются на ранних этапах своего рода предварительных испытаний |
Отсутствие документации по тестированию |
Тестирование пользователя
Пользовательское тестирование — это тип ручного тестирования на iOS. Целью этого тестирования является создание более качественных приложений, а не только приложений без ошибок . На рисунке ниже показаны четыре типа пользовательского тестирования.
Концептуальное тестирование
Оцените реакцию пользователя на идею приложения перед выпуском на рынок. Процедуры концептуального тестирования на iOS описаны ниже
Юзабилити-тестирование
Юзабилити-тестирование — это тест на удобство использования вашего iOS-приложения. В тестировании iOS тест на юзабилити можно было записать, чтобы запомнить или поделиться с другими.
Существует несколько инструментов поддержки юзабилити-тестирования на iOS.
Magitest , простое iOS-тестирование юзабилити для сайтов и приложений.
Delight.io , этот инструмент может фиксировать реальное взаимодействие с пользователем в ваших приложениях для iOS.
Бета-тестирование
Бета-тестирование — это интеграционное тестирование с реальными данными для получения окончательной обратной связи с пользователями. Чтобы распространять свои приложения для бета-тестирования, вы должны выполнить следующие шаги.
— Предварительное условие : если вы проходите бета-тестирование окончательного кандидата на выпуск, обязательно проверьте приложение, прежде чем распространять его среди тестировщиков.
— Найти тестера через сервис : вы собираете идентификаторы устройств у тестеров и добавляете их в Member Center
— Создание специального распределения : специальное распространение позволяет тестировщику запускать ваше приложение на своем устройстве без необходимости Xcode. Этот шаг включает в себя 2 подэтапа
- Создать сертификаты распространения
- Создайте специальные профили обеспечения
— Запрашивайте отзывы от тестера: Тестер проводит тестирование и отправляет вам отчеты об ошибках. После того, как ваше приложение выпущено, вы можете получать отчеты из iTunes connect.
A / B тестирование
A / B-тестирование — один из самых мощных способов оценки эффективности вашего приложения для iOS . Он использует рандомизированные эксперименты с двумя устройствами, A и B.
A / B тестирование включает в себя три основных этапа
- Настройка теста : подготовлены 2 версии вашего приложения для iOS (A & B) и метрика теста
- Тест : Тестируйте 2 версии приложений iOS одновременно на устройствах.
- Анализ : измерьте и выберите лучшую версию для выпуска
Следующие инструменты поддерживают A / B-тестирование на iOS.
- Возникните : A / B-тестирование для iOS и Android. Он может быть интегрирован в ваше приложение iOS и ускорить процесс тестирования.
Лучшие практики для A / B-тестирования
- Определите цель вашего теста. Любой тест бесполезен без цели.
- Смотрите, как конечные пользователи используют ваше приложение в первый раз
- Запускайте только один тест на обновление. Это экономит ваше время при проведении тестирования
- Контролируйте свой тест тщательно. Вы можете узнать опыт из своего теста, контролируя его.
Тестирование iOS Лучшая практика
Вот несколько советов, которые вы должны знать при организации тестирования вашего приложения iOS
- Протестируйте приложение на реальном устройстве, чтобы узнать о производительности
- Улучшите свои методы тестирования, потому что традиционных методов тестирования больше не достаточно, чтобы охватить все тесты по тестированию iOS
- Использование консольного журнала для тестирования iOS-приложения. Эта функция iOS включает информацию о каждом приложении на устройстве.
- Документируйте ошибки приложения, используя встроенную экранную команду. Это помогает разработчику понять, как возникают ошибки.
- Отчеты о сбоях полезны при тестировании вашего приложения. Они могут обнаруживать сбои и регистрировать детали, чтобы вы могли легко исследовать ошибки.
МИФЫ о тестировании iOS
В этом разделе рассматриваются несколько популярных мифов и реалий тестирования iOS
Тестирование приложения на iOS и Android — это одно и то же.
iOS и Android — две платформы, разработанные Apple Inc и Google. Они совершенно разные. Тестовые среды Etc, тестовые среды, языки программирования.
Тестового приложения на iOS Simulator достаточно.
iOS Simulator недостаточно силен для тестирования приложения. Потому что iOS Simulator имеет некоторые ограничения:
- Аппаратные ограничения (камера, микрофонный вход, датчик)
- Пользовательский интерфейс вашего приложения может работать быстрее и плавнее, чем на устройстве
- Ограничения API
- Некоторые фреймворки не поддерживаются (Media Player, Store Kit, Message UI ..)
Каждый будет загружать мои приложения в магазине приложений, потому что он имеет много функций
Чем больше функций в вашем приложении, тем больше ошибок вы можете получить. Ни один пользователь не загрузит ваше приложение, если оно все еще имеет много дефектов.