Самая полная коллекция различных инструментов тестирования iOS в истории!
Самая полная коллекция различных инструментов тестирования iOS в истории!

введение:

С развитием мобильного Интернета тестированию приложений уделяется все больше внимания! Из-за открытого исходного кода инструменты и методы тестирования системы Android широко распространены, но конфиденциальность системы iOS делает выполнение многих тестов немного затруднительным.

Чтобы помочь всем работать лучше iOS APP В этой статье собран очень подробный тест для каждого.инструменты тестирования iOS,Охватывая все основные области, я считаю, что это будет полезно всем!

01

Автоматизированное тестирование

1、UIAutomation

UIAutomation Предоставлено Apple UI Автоматизированное тестированиерамка,использовать JavaScript писать.

на основе UIAutomation Есть расширенные инструменты приводаизрамка。Расширенныйрамкак JavaScript Методы библиотеки расширений предоставляют множество полезных js Инструменты, среды внедрения обычно предоставляют некоторые Lib или есть Платформа требует, чтобы тестировщики импортировали это содержимое в проект кода тестируемого приложения, и платформа может завершить тестирование через них. app драйва.

Тип привода UI Automation существовать Автоматизированное тестирование. Используется нижний слой UI Automation Библиотека, через TCP Драйвер метода связи UI Automation завершить Автоматизированное Кроме того, таким образом сценарий редактирования языка больше не ограничивается JavaScript。

Этот инструмент находится в iOS UI Автоматизированное тестированиесерединаиспользовать Оченьшироко。

2、XCTest

XCTest Это Apple iOS 7 и Xcode5 Представлена ​​простая и мощная среда тестирования, интегрированная в Xcode середина,Используется для написания тестового кода。он обеспечивает различные уровниизтест。

XCTest Тесты очень просты в написании и выполнении. xUnit стиль. Xcode При создании проекта он будет использоваться по умолчанию XCTest и создается по умолчанию. Unit Тест(юниттест)и UI Тест (тест интерфейса) два Target;

  • в Unit Test В основном используется для большинства основных функций тестового кода, таких как большинство Model издобрыйиметодтест,Бизнес-логикатест,Сетевой интерфейс вызывает тест и так далее.
  • UI Test Как правило, во внимание принимается процесс взаимодействия с пользователем, а операции взаимодействия с пользователем моделируются. XCTest из UI Запишите атрибуты, чтобы получить серию элементов представления и событий операций в интерфейсе, а затем инициируйте событие в тестовом методе.

Таким образом, можно обеспечить все уровни тестизрамки.,Например, модульный тест,Автоматизированное тестирование,Тестирование производительностиждать。

3、KIF

KIF да Keep It Functional проект из аббревиатуры,даодинПлатформа функционального тестирования приложений iOS,от Square, эта среда тестирования поддерживает только iOS。

Кроме того, во всех тестах используется Objective-C Он написан на языке, который очень прост в использовании для Apple. Он также широко рекомендуется. тестирования。

KIF Использование нераскрыто Apple API (частный API), что безопасно для тестизиянда, на на основе Третья сторона iOS UI Фреймворк модульного тестирования, поэтому вы можете проводить модульное тестирование проекта или UI Интегрированный тест. Но недостаток в том, что он работает медленно.

4、Frank

Фрэнк да Инструмент для реализации автоматического тестирования в среде разработки iOS.,Xcode После завершения разработки в среде перейдите Frank Для реализации структурированных тестовых случаев используется базовый язык Ruby как открытый исходный кодинструменты тестирования iOS широко используется за рубежом. Однако в да относительно мало соответствующей информации. Его самым большим преимуществом является то, что он позволяет нам реализовать реальную логику операций, используя знакомый естественный язык.

этоПредусмотрено тестирование платформы iOS из функций Возможности,Может имитировать действия пользователя в приложениях «черного ящика».,ииспользовать Cucumber Напишите тестовые примеры так, чтобы тестовые примеры описывали функциональные требования, такие как естественный язык, чтобы тест стал мостом между бизнес-клиентами и командой доставки в форме «исполняемых документов».

  • преимущество: тестовая сценадаат Cucumber С помощью,Пишите понятными на английском языке предложениями.,Существует также активная поддержка сообщества,И постоянное расширение китайской библиотеки
  • недостаток:жестиз Ограниченная поддержка,Поэтому запустить тест на устройстве немного сложно.

5、Calabash-iOS

Calabash даодинПрименимо к iOS и Android Кроссплатформенность для разработчиков app среда тестирования,Может использоваться для создания снимков экрана, жестов и реального функционального кода. Калабаш Открытый исходный код, бесплатный и поддерживаемый Cucumber Язык, Огурец Позволяет вам выражать свои мысли на естественном английском языке. app поведение, реализация BDD(Behavior Driven Развитие, поведенческое развитие).

и Calabash-iOS Просто дана основе Calabash из iOS из Функция、Автоматизированное тестированиерамка。

преимущество:

  • Иметь широкую поддержку сообщества;
  • Элементы списка просты,Похожие английские выражения,например, скольжение,Увеличить,вращать,постукивание и т. д.

недостаток:

  • После провала шага теста,Все последующие шаги будут пропущены.,Это может привести к более серьезному вопросу о пропущенных продуктах.
  • тест требует времени, потому что по умолчанию он всегда устанавливается первым. приложение, нужно Calabash рамка установлена ​​в iOS из ipa В файле Поэтому персонал, проводящий испытания, должен иметь iOS из app Исходный код
  • Не дружелюбен к другим языкам, кроме Ruby

6、Subliminal

Subliminal даеще одна модель с XCTest интегрированныйизрамка,такжеда Хороший iOS Фреймворк интеграционного тестирования.и KIF Разная изда, это основе UIAutomation Написано, скрыто от разработчиков UIAutomation некоторые сложные детали. Жаль, что в последние годы не было обновлений, если их можно поддерживать. swift Просто отлично.

7、Kiwi

Kiwi да, верно XCTest Полная альтернатива, используйте xSpec стиль письматест。Kiwi поставляется со своим собственным набором инструментов,включать ожидания, макеты, заглушки и даже поддержка асинхронного тестирования.

Это да Применимо к iOS Разработка Behavior Driven Библиотека разработки (BDD),Имеет очень красивую грамматику,Преимущество заключается в его простоте, интерфейсе и удобстве использования.,Легко настроить и использовать,Умение писать структурированные и легко читаемые тесты.,ОченьПодходит для начинающих разработчиков.。Kiwi Также используется Objective-C Язык написан, легко понять iOS Разработчики начинают работу.

8、Appium

Appium даодинКроссплатформенные инструменты с открытым исходным кодом,поддерживать iOS、Android и FirefoxOS платформа. проходить Appium, разработчикам не нужно перекомпилировать app Или, если вы внесете какие-либо изменения, вы можете протестировать мобильное приложение и включить тестовый код для доступа к серверной части. API и база данных.

Это да, управляя яблоком из UIAutomation рамка для достижения из iOS платформаподдерживать。РазработчикМожно использовать WebDriver совместим с написанием тестовых сценариев на любом языке.,Такие как Руби,C#,Java, JS,OC, PHP,Python,Perl и Clojure язык.

02

тестирование производительности iOS

1、Instruments

Instruments да Xcode Поставляется с из для динамического отслеживания и анализа. MacOS и iOS Код из утилиты в автономный режим APP Форма существует в наборе инструментов,Содержит множество мощных функций обнаружения:ввключатьсуществовать真机ина симулятореиз APP Провести тестирование производительности.

Основные функции:

  • Анализ поведения процессов программы
  • Анализ распределения памяти и сведения о выпуске
  • Найдите проблемы с процессором
  • Найдите узкие места в производительности программы
  • Проверьте функции, связанные с устройством Например: Wi-Fi, Bluetooth и т. д.
  • Находить App серединаизMemoryвопрос Например, утечки памяти (Leaked память), заброшенная память (Abandoned память), зомби и т.д.

2. Сторонний SDK

множество третьих лицизспециализированныйИспользуется для тестирования производительности и поведения пользователей, анализа атрибутов из SDK.,например Багли, OneAPM, Тингюн, Firebase Аналитика, интеграция ее в проект позволяет достичь целей тестирования производительности в краткосрочной перспективе.

Принципы этих сторонних инструментов схожи.,использовать swizzle из метода Обработка АОП (аспектно-ориентированное программирование),Автоматически записывайте и сообщайте о точках до и после ключевых функций. Некоторые платформы также поддерживают загрузку файлов таблицы символов для точного определения мест выполнения кода и скрытое ручное добавление записей журнала. относительно удобно использовать,В основном знакомим с SDK и связанными библиотеками.,Просто запустите обнаружение при входе в программу.

ОднакоиИспользуйте третьих лиц SDK изнедостатоктакжеда Оченьочевидныйиз:

  • Прежде всего, не хватает настройки. Нам нужны некоторые индикаторы и статистика. SDK Нет, СДК Есть из, но он нам совершенно не нужен
  • Есть проблемы с безопасностью, эти SDK Все статистические данные, связанные с изда APP из Деловая конфиденциальная информация, имеющая определенное влияние на рынок APP Будут сомнения
  • Этот тип продукта бесплатен. Обычно вы разрабатываете демо-версию SDK.

03

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

  • Xcode

Xcode да работает в операционной системе Mac OS X Об интегрированном инструменте разработки (IDE), автор: Apple Inc разработка. этодаразвитие macOS и iOS Приложения — самый быстрый и быстрый способ. Xcode иметь единствоиздизайн пользовательского интерфейса,Кодирование, отладка, тестирование,Все делается в простом окне.

Кроме того, Xcode Также можно использовать для тестирования APP Получите это в любое время APP из Журнал, анализ bug ивопрос。

  • iTunes

iTunes даApple официально предоставляет инструмент, который APP Мобильные телефоны также могут быть предоставлены при тестировании. APP Войти из метода.

  • ITools

iTools этот инструментдаодинтретья сторонаиз iOS инструменты тестирования,этои iTune Функции аналогичны, но да меньше, чем iTunes Инструмент проще и имеет простой в использовании интерфейс. Его можно скачать с сайта. iTunes изгромоздкийсерединаосвобождение。также可к提供安装、удалить、резервное копирование、Получите различные функции, такие как журналы.

03

Внутренняя платформа бета-версии

  • fir.im

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

  • одуванчик

『одуванчик』да Предназначен для iOS、Разработчик Android обеспечивает бесплатное тестирование внутри приложения.、Хостинг-платформа, предназначенная для решения проблем распространения приложений среди пользователей внутреннего тестирования.、Неэффективный извопрос.

  • TestFlight

TestFlight Предоставлено Appleприложениеинструменты тестирование, позволяет разработчику приглашать пользователей к тестированию с момента официального выпуска приложения до App Store Предварительно соберите отзывы пользователей.

Если статья вам полезна, подписывайтесь, ставьте лайки, смотрите и делитесь ею с друзьями!

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода