Программа для тех, кто хочет знать о своем iPhone все
В поисках приложения для отслеживания количества циклов батареи iPhone я обнаружил очень интересную (и к тому же бесплатную) программу под названием AIDA64 и открыл для себя отличную утилиту для тех, кто любит знать о своем устройстве все.
Приложение очень простое, но содержит всю необходимую информацию — от общих данных об устройстве до производителя процессора, модели камеры, версии модуля Wi-Fi и так далее.
Кроме того, здесь же доступна информация об аккумуляторе (собственно, это то, для чего я скачал приложение), также можно посмотреть износ батареи — на сколько уменьшился ее ресурс. А «вишенка на торте» — возможность провести различные тесты экрана.
Вероятно, кто-то из читателей уже знал о таком приложении, но не поделиться таким удобным инструментом мы просто не могли. Тем более, когда он доступен бесплатно — небольшой баннер внизу вас вряд ли будет напрягать. Ссылочку оставлю ниже — а там вы знаете, что надо делать. Программа доступна не только для iPhone, но и для iPad.
Название: AIDA64
Издатель/разработчик: FinalWire
Цена: Бесплатно
Встроенные покупки: Да (отключение рекламы)
Совместимость: Универсальное приложение
Ссылка: Установить
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Лонгриды для вас
MagSafe Battery Pack уже добрался до первых пользователей. Благодаря им мы выяснили, каких на самом деле размеров внешний аккумулятор для iPhone, насколько эффективно он заряжает iPhone и может ли использоваться с другими устройствами Apple
Операционные системы сейчас быстро адаптируются под пользователей. Те возможности,которые были недоступны даже через сторонний софт, сейчас глубоко вшиты в систему. Однако из большого количества стандартных возможностей Mac OS мы нашли те, которых очень не хватает.
Быстрая зарядка убивает аккумулятор iPhone — вопрос, который волнует многих. Мы разобрались в этом и готовы рассказать, как работает беспроводная зарядка, почему лучше не разряжать iPhone до нуля и кто виноват в быстро падающей емкости батареи
Видать, подросли молодые люди, которые не помнят такой программы для Windows. Была такая (а скорее и есть) AIDA, сначала была AIDA32, потом и AIDA64.
Источник
Тестирование iOS-приложений
Тестовое приложение
В качестве примера я решил написать простейший калькулятор. Это приложение не имеет никакой практической пользы и имеет весьма скудный функционал, но на мой взгляд его вполне достаточно для того чтобы дать старт написанию тестов.
Для удобства я выложил готовое приложение на гитхаб.
Модульные тесты
Для написания модульных тестов я использую замечательный инструмент — Cedar.
Он позволяет писать тесты в стиле RSpec, что улучшает структурированность и читабельность кода.
На гитхабе дано достаточно полное описание того как собрать фрэймворк, но когда встал вопрос сборки на нескольких машинах, был написан простой скрипт на bash’е, который выполнял всю эту рутину.
Для установки необходимо склонировать проект и запустить скрипт install.sh, Cedar будет установлен в /opt/cedar и будут добавлены символические ссылки в домашнюю директорию пользователя (для большего удобства при подключении в проекты).
После того как Cedar собран нужно настроить тестовый таргет.
- Добавьте к вашему проекту новый таргет (Empty Application), я назвал его UnitTests.
- Прилинкуйте Cedar к таргету (Link Binary With Libraries)
- Добавьте в Other Linker Flags -ObjC -all_load -lstdc++
- Удалите AppDelegate. Этого можно и не делать, но он нам не нужен.
- Отредактируйте main.m как показано ниже
Давайте напишем первый тест.
Создайте в UnitTests target файл FooBar.mm с таким содержанием:
Теперь вы можете запустить таргет для тестов, если все настроено верно, то запустится симулятор с таблицей, в ячейках которой будут описаны ваши тесты.
Вернемся к калькулятору. Допустим у нас будет какой-нибудь класс-синглтон, который будет заниматься вычислениями, назовем его CalculationManager. У него должен быть метод который должен возвращать инстанс этого класса, назовем его sharedInstance.
Напишем тест на этот кейс.
Создайте пустой класс CalculationManager в вашем главном target’е и добавьте еще один файл для тестов (к примеру CalculationManager.mm) с таким содержимым:
При запуске видно что тест валится.
Добавьте реализацию чтоб тест проходил успешно и продолжим.
Добавим пару тестов на операции сложения и вычитания.
На этом все, будем считать что прилжение достаточно покрыто модульными тестами, и перейдем к тестированию интерфейса.
Тестирование интерфейса
Существует немало средств для тестирования интерйеса iOS приложений, но я хочу рассказать о тех которыми пользуюсь сам, а именно Calabash-iOS и Frank.
Эти инструменты очень похожи, они оба позволяют писать тесты на Cucumber’е и оба реализованы на Ruby, разница лишь в функционале.
В одном из проектов мне пришлось мигрировать с Frank’а, я просто запустил тесты с использованием Calabash’а и все они прошли почти сразу, пришлось только немного изменить пару шагов.
Сейчас я остановился на Calabash. Думаю что многие iOS разработчики не знакомы с Cucumber, потому и хочу немного рассказать как он работает и как писать тесты.
Cucumber
Я ни в коем случае не претендую на верность этого описания, просто опишу как я понимаю его работу, и надеюсь это описание внесет некоторую ясность и поможет стартануть тем кто все еще не решился его использовать.
Итак, в Cucumber’е есть несколько главных «сущностей»:
Feature — это набор нескольких связанных по логике сценариев (или не связанных, уж как программист решит). Она состоит из названия и краткого, информативного описания. К примеру:
Scenario — конкретный сценарий описывающий некоторый use case. Состоит из имени и набора шагов.
Step — описание конкретного действия пользователя (нажатие на кнопку/ссылку, ввод текста, свайп и.т.п).
Step definition — реализация конкретного действия пользователя. Выглядит она примерно так:
При прогоне тестов Cucumber берет один шаг и ищет нужную реализацию по регулярному выражению, прогоняет эту реализацию и берется за следующий шаг. Не уверен что это совсем так, но надеюсь суть ясна.
Давайте добавим Calabash в наш проект.
Перейдите в деректорию с проектом и выполните следующие команды:
Calabash добавил к нашему проекту еще один таргет, по умолчанию он имеет шаблон project_name-cal. Нам необходимо выполнить build для этой цели.
Теперь мы почти готовы запустить тесты.
После генерации выводится подсказка как запустить тесты
но на выполнении этой команды все валится, т.к. calabash не знает где находится наше приложение. Для этого необходимо указать еще одну переменную — APP_BUNDLE_PATH. По умолчанию Xcode 4.x хранит приложения по адресу
/Library/Application\ Support/iPhone\ Simulator/x.x/Applications/hash/app_name.app
где x.x — версия iOS, а hash — сгенерированный Xcode’ом уникальный ключ для приложения.
Попробуйте найти свой .app и выполнить следующее
Теперь все должно пройти хорошо.
Guard
Такой способ не очень удобен, но он вполне оправдан, т.к. calabash не может знать где лежит наше приложение. И тут нам на помощь приходит Guard.
Guard — это гем, который следит за файловой системой и при изменении файлов, за которыми он следит выполняет какие-либо операции. Список guard’ов довольно обширный, но нам нужен guard-calabash-ios.
Для его установки и использования необходимо выполнить следующее:
Это создаст Guardfile — файл в котором описаны свойства необходимые guard’у и файлы за которыми нужно следить. (Детальные настройки можно найти на гитхабе.)
Последний штрих — откройте настройки Xcode и установите Derived Data как Relative. Теперь Xcode будет хранить сборки в директории с проектом, что позволит скрипту из guard-calabash-ios найти нужный нам APP_BUNDLE_PATH автоматически.
Теперь для прогона тестов необходимо выполнить в папке с проектом следующее.
Пишем тесты
Теперь когда все работает более удобно мы можем приступить к написанию наших UI-тестов.
Calabash создал папку features, в которой находятся наши сценарии и реализация шагов.
Давайте удостоверимся что наш калькулятор позволит пользователю сложить или вычесть два числа, и показать верный результат в alert view.
Отредактируйте файл my_first.feature
Если у вас все еще запущен guard, то при сохранении файла он автоматически запустит тесты, причем будет тестировать только измененный файл. Это очень удобно если у вас есть несколько файлов с фичами, т.к. не приходится после каждой строчки ждать пока прогонятся все тесты.
Итак, все тесты провалились, что логично.
Давайте добавим UI.
Для доступа к контролам из calabash’а нужно задать им accessibility label. Кроме того к кнопкам можно обращаться по надписи на них, а к текстовым полям по плэйсхолдеру.
Я сделал примитивный интерфейс: два текстовых поля и две кнопки в navigation bar’е, «+» и «-«.
После того как мы добавили контролы на наш экран нам нужно выполнить следующие действия:
1. Добавить outlet’ы для кнопок и текстовых полей
2. Задать плэйсхолдеры нашим текстовым полям «left» и «right»
3. Задать accessibility label’ы для кнопок
4. Повесить обработчики на наши кнопки
5. Добавить метод для отображения результата
6. Перейдите в терминал с запущенным guard’ом и нажмите Enter, это запустит все ваши сценарии, у нас он один и если вы все сделали правильно, то тесты пройдут успешно.
Теперь напишем тест для вычитания.
После запуска Cucumber сообщит что не знает таких шагов, и предложит их реализовать.
Скопируем и немного подредактируем то что он вывел в файл calabash_steps.rb (project_dir/features/steps_definitions/)
В реальной жизни мы скорее всего использовали бы теже методы что и в первом сценарии, но здесь я хотел показать как выглядят step definitions, как вызывать другие шаги из реализации шагов(step %<>), как добраться до какого-либо значения (query) и как писать assert (should).
На этом по тестам все.
Заключение
Описанные тесты и приложение выглядят совершенно нелепо, но я ставил своей целью описать на этом примере основные возможности, которые позволят сразу начать использовать TDD/BDD, надеюсь что это у меня вышло и для статья окажется полезной.
Источник
ТОП-5 эффективных приложений для проверки работоспособности Айфона
Проверить свой Айфон или Айпад на наличие ошибок или уязвимостей вы можете при помощи специальных приложений и программ для проверки Айфона.
Предустановленными в операционную систему iOS инструментами оценить производительность и проверить работоспособность iPhone, iPad или iPod Touch нельзя – из доступного функционала – изучение серийных номеров и IMEI для проверки гарантии.
А вот за остальной информацией придется обращаться в цифровой магазин App Store, где обязательно найдутся утилиты, способные отобразить и количество используемой оперативной памяти, и частоту процессора, и емкость аккумулятора.
TestM
Незаменимый мультифункциональный инструмент на Айфон, сосредоточенный на поэтапной проверке ключевых составляющих техники: экрана, технологий 3D Touch и Touch ID, внутренней памяти и камеры, микрофонов и динамика, дисплея и даже оперативной памяти.
Каждый перечисленный элемент проверяется приложением в полуавтоматическом режиме – иногда система проводить «закрытые» тесты с выводом результатов, порой – предлагает владельцам техники Apple принять непосредственное участие в проверке: а потому придется то водить пальцем по экрану, то вслушиваться в произносимые фразы, то делать снимки и описывать получившееся качество.
После проведения тестов разработчики предлагают взглянуть на результаты других участников сообщества, а заодно – поделиться мнением о проделанной работе в социальных сетях.
Geekbench 4
Приложение – небезызвестный инструмент на Айфон для проверки производительности, официально разрабатываемый и поддерживаемый студией Primate Labs. Разработчики предлагают открыть Geekbench 4 и сразу, не вдаваясь ни в какие дополнительные подробности и инструкции, нажать на единственную кнопку – Start Test.
Не пройдет и 5 минут, как на экране появится результат – баллы, набранные при стресс-тесте процессора (информация указывается и для одного ядра, и для всего комплекта сразу). Полученные результаты можно сравнить с глобальной таблицей лидеров и общей, и с «тематической».
К примеру, если проводился стресс-тест iPhone 6, то при просмотре результатов таких же смартфонов от Apple, можно понять – справляется ли техника с нагрузкой, или же стоит обратить в сервисный центр.
Testm Labz
Незатейливо оформленная программа на Айфон, проверяющая информацию о гарантии и работоспособности некоторых элементов iPhone, iPad или iPod Touch: дисплея, микрофона, оперативной памяти, внутренней памяти (скорость записи и передачи информации, свободное и занятое пространство). Перед тестированием разработчики предлагают освободить 10-15 минут – прерывать стресс-тест не рекомендуется.
iNetTools
Крошечный инструмент на Айфон, способный в два счета определить и скорость подключения к сети, и закрытые порты, и недоступные IP-адреса и DNS-сервера.
Работать с iNetTools разработчики из ComcSoft Corporation разрешают и в ручном режиме, когда для проверки указываются адреса серверов или сайтов, и в автоматическом – когда подходящая информация берется с открытых и часто используемых источников и применяется непосредственно к технике Apple (Ping до Google, трассировка, закрытые порты социальных сетей или некоторых развлекательных серверов).
Из минусов приложения – реклама. Иной раз даже результаты посмотреть не получается – так и приходится вечно просматривать промо-ролики и тематические изображения.
Battery Care
Программа, сканирующая емкость аккумулятора и в процентном соотношении и с текстовыми подсказками подсказывающая – в какой момент максимальная работоспособность смартфона, планшета или плеера нарушится.
Работает приложение Battery Care также, как и встроенный в iOS сканер аккумулятора, однако тут предусмотрены и любопытные советы, которые помогают меньше «убивать» батарею и дольше работать в максимальной «комплектации».
Источник