Как сделать свой тест на телефоне

Обновлено: 07.07.2024

Я сижу на вашем сайте довольно давно, но особо не проявлял себя ни в комментариях, ни в созданиях постов! Думаю, пришло время немного разбавить свою деятельность пикабушника своим первым постом, длиннопостом. Он будет об Android-development, или создании Android-приложения, на примерах собственного опыта. В этом посте я опишу две, наверное, важные вещи, на которых держится все приложение, не считая самой части программирования: Дизайн и Back-end. Признаюсь, пост носит как познавательный, так и рекламный характер. Сразу скажу, что на данный момент существует две версии приложения: платная (>$1) и бесплатная. Бесплатная обладает почти тем же функционалом, что и платная версия, за исключением некоторых ограничений. Поэтому пост может быть полезным и для аудитории приложения! Итак, к самой сути.

Занимаюсь я Андроидом порядком года и уже чувствую себя довольно уверенно в некоторых аспектах создания приложения с нуля. Само приложение предназначено для школьников Казахстана для подготовки к Единому Национальному Тестированию (ЕНТ) по предмету История Казахстана, или аналог ЕГЭ в России. Как вы знаете, в Казахстане сдают ЕНТ на двух языках, русском и казахском. Приложение соответственно имеет как вопросы для тех, кто будет сдавать на русском, и для тех, кто на казахском.

Весь функционал приложения включает в себя следующее: Статистика пользователя, Быстрое тестирование (пять случайных вопросов), Тестирование по вариантам (по 20 вопросов на тест), Поиск вопросов и Возможность добавить свой вопрос в базу данных. Вы можете видеть интерфейс функционала на картинке ниже.

Моё Android-приложение для школьников Android разработка, Новичок, Parse, Backend, Реклама, Тест, Школа, Длиннопост

Так выглядит интерфейс Быстрого Тестирования:

Моё Android-приложение для школьников Android разработка, Новичок, Parse, Backend, Реклама, Тест, Школа, Длиннопост

Что касается дизайна, любой Android-developer должен знать следующее: Android Material Design, или принципы дизайна на Андроиде, который вышел совместно с Android 5.0 Lollipop в 2014 году. Официальный вебсайт расскажет как можно и нужно использовать и осуществлять анимации, расположение иконок, цветовые гаммы и прочие мелкие детали в вашем приложении, и, наоборот, чего непременно стоит избегать. Ссылка на вебсайт:

Следующее о чем бы хотелось рассказать, так это про Back-end или сервис хранения данных, который я использовал в приложении. Он будет полезен тем, у кого аудитория не самая большая и приложение будет использоваться не так уж и часто. И особенно тем, кто хочет освободить себя от части написания Back-end'a и сразу приступать к Front-end'y.

Итак, сервис называется Parse. Parse принадлежит Facebook'y и, по моему личному опыту, ну очень удобный. Документация очень детальная и понятная (написана пока только на английском языке), вы можете использовать как платный, так и бесплатный аккаунт. Скажу честно, бесплатный аккаунт довольно неплох и дает достаточно много "пространства". Например, 30 запросов/секунду, 20 ГБ хранилища файлов, 20 ГБ хранилища базы данных, 2 ТБ обмена данных, бесплатная аналитика, ПУШ-уведомления и Миллион уникальных пользователей. И все это бесплатно. Довольно неплохо, да? Картинка с Parse'a для наглядной демонстрации возможностей бесплатного аккаунта представлена ниже.

Моё Android-приложение для школьников Android разработка, Новичок, Parse, Backend, Реклама, Тест, Школа, Длиннопост

На этом, пожалуй, все.

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

Надеюсь, чуть-чуть этот пост даст некоторой информации и помощи начинающим Android-программистам в их разработке классных приложений.

Я намеренно не вдавался в подробности части самого программирования, но, если вам будет интересно, я вам отвечу в комментариях на ваши вопросы.

Повторюсь, пост, конечно же, так же и рекламного характера, не ругайтесь :)



ВЫБЕРИТЕ КАТЕГОРИЮ ТЕСТА

ПРИДУМАЙТЕ НАЗВАНИЕ ТЕСТА

КРАТКОЕ ОПИСАНИЕ ТЕСТА

ВОПРОСОВ В ТЕСТЕ



Ура! У вас всё получилось!

Прямо сейчас наш модератор начал проверять ваш тест. После проверки он появится на сайте!

Только что загрузили Android Studio, основанную на Intellij Idea.

Как создать тесты?

Я заметил, что есть опция для создания тестового модуля, но это ничего не делает, только создает новый проект с помощью src

Я также попытался нажать горячую клавишу CTRL + AlT + T, которая позволяет создавать модульные тесты для существующего класса, но, кажется, он хочет поместить его в текущий проект. Конечно, это не помогает с TDD

У кого-нибудь есть опыт здесь?

Этот ответ предназначен для тех, кто только начинает тестирование Android. Я приведу два простых примера, которые помогут вам понять, как работает тестирование. Если вы будете следовать в течение следующих 10 минут, у вас будет все готово, чтобы начать добавлять свои тесты в собственное приложение. Я думаю, вы удивитесь, насколько это просто. Я конечно был.

Введение в Android Тестирование

Есть два разных типа тестов, которые вы будете делать.

  • Локальные модульные тесты. Они выполняются локально на JVM (виртуальная машина Java). Так как они местные, они быстрые. Вы можете использовать их для тестирования частей вашего кода, которые просто нуждаются в Java, а не в Android API. (Иногда вы можете создать поддельный объект API для локального тестирования большего количества вещей. Это называется насмешливый . Примером Context является пример.)
  • Инструментированные тесты. Эти тесты выполняются на реальном устройстве или в эмуляторе. Это делает их медленнее, чем местные тесты. Однако они более гибкие, поскольку у вас есть полный доступ к API Android.

Создайте новый проект, и вы увидите следующие папки по умолчанию.

enter image description here

Все уже есть и ждут, когда вы создадите свои тесты. Все уже настроено!

Как создать локальные юнит-тесты

Откройте файл ExampleUnitTest , показанный на изображении выше. это должно выглядеть примерно так:

Нажмите двойную зеленую стрелку, чтобы запустить все тесты, или одну зеленую стрелку, чтобы запустить только один. (В этом случае есть только один тест, поэтому они оба делают одно и то же.)

enter image description here

Это должно пройти (пока 2 + 2 все еще 4 , когда вы читаете этот ответ). Поздравляем, вы только что провели первый тест!

Создание собственного теста

Давайте напишем наш собственный тест. Сначала добавьте этот класс в основной проект приложения, чтобы у нас было что проверить:

Теперь измените метод addition_isCorrect() в тестовом классе так, чтобы он был похож на следующий код (или просто добавьте другой метод с другим именем):

Запустите его снова, и вы должны увидеть, как он прошел. Поздравляем, вы только что создали свой первый тест! (Ну, я думаю, технически это было мое, но, эй, достаточно близко. Что мое, то ваше.)

Как создавать инструментальные тесты

Откройте файл ExampleInstrumentedTest . это должно выглядеть примерно так:

Нажмите одну из этих зеленых кнопок еще раз.

enter image description here

Если у вас подключено реальное устройство или настроен эмулятор, он должен был запустить его и запустить ваше приложение. Поздравляем, вы только что провели первый инструментальный тест!

Создание собственного теста

Инструментированные тесты используют Espresso для запуска тестов. Это своего рода маленький пользователь-робот, который может протестировать ваше приложение. Вы можете сказать ему сделать что-то вроде нажатия кнопки или чтения свойств TextView.

Вы можете написать инструкции о том, как выполнить тест вручную, но так как мы только начинаем, давайте использовать функция автоматической записи . Это супер просто.

Сначала добавьте кнопку в свой интерфейс, чтобы у нас было с чем работать. Я сделал это:

Затем нажмите Run> Record Espresso Test в меню.

enter image description here

После того, как он запустится, нажмите кнопку в эмуляторе, а затем, чтобы закончить, выберите OK в диалоговом окне записи. Он должен автоматически сгенерировать следующий тестовый код.

Большой! Вы только что создали первый инструментальный тест! Это было супер легко. Вы, вероятно, должны добавить утверждение, чтобы сделать его настоящим тестом, но это также довольно легко сделать с рекордером. Смотрите это видео , чтобы пойти немного глубже.

Дальнейшее обучение

Сначала я смотрел видео, а потом читал документацию. Это все очень полезно. Последняя ссылка - на серию статей, в которых рассматриваются некоторые важные вещи, которые следует учитывать при выборе того, что тестировать.

    (короткий видео-ролик от Android разработчиков) (Документы для Android)

Правка: Начиная с .1.8 теперь поддерживается в IDE . Пожалуйста, следуйте инструкциям там, вместо того, чтобы использовать инструкции ниже.

Следуя Руководство пользователя плагина Android Gradle Я смог получить тесты, работающие в командной строке, выполнив следующие шаги для вновь созданного проекта (я использовал стандартный пакет 'com.example.myapplication'):

  1. Добавить каталог src/instrumentTest/Java для тестов
  2. Добавьте тестовый класс (расширяющий ActivityTestCase) в пакет com.example.myapplication.test
  3. Запустите виртуальное устройство
  4. В командной строке (в каталоге MyApplicationProject/MyApplication) используйте команду '../gradlew connectedInstrumentTest'

Это запустило мои тесты и поместило результаты теста в MyApplicationProject/MyApplication/build/reports/instrumentTests/connected. Я новичок в тестировании Android приложений, но, похоже, работает нормально.

Из среды IDE можно попробовать запустить тот же тестовый класс. Вам нужно будет

  1. Обновите build.gradle, чтобы указать Maven Central в качестве репозитория
  2. Обновите build.gradle, добавьте JUnit 3.8 в качестве зависимости toolTestCompile, например, toolTestCompile 'junit: junit: 3.8'
  3. В "Структуре проекта" вручную переместите JUnit, чтобы быть первым в порядке зависимости

Однако это терпит неудачу (путь к классу, используемый при выполнении тестов, отсутствует в каталоге выходных данных теста). Однако я не уверен, что это сработает, независимо от того, насколько я понимаю, что требуется специальный тестировщик Android.

Я бы предложил использовать файл gradle.build.

Добавьте каталог src/androidTest/Java для тестов (Как Крис начинает объяснять)

Откройте файл gradle.build и укажите там:

Нажмите "Синхронизировать проект с файлом Gradle" (на верхней панели). Теперь вы должны увидеть папку "Java" (внутри "androidTest") зеленого цвета.

Теперь вы можете создавать там любые тестовые файлы и выполнять их.

Я думаю этот пост от Rex St John очень полезен для модульного тестирования в студии Android.

Диагностика Android-смартфона: лучшие приложения.

В сегодняшнем обзоре – 8 лучших приложений для диагностики Android-смартфонов. Они помогут вам узнать, что представляет собой устройство, проверить его исправность и оценить работу каждой функции. Пара минут – и все нужные сведения как на ладони.

AIDA64

AIDA64.

Давно и нежно любимая бывалыми юзерам ПК AIDA64 существует и в мобильной версии. В отличие от десктопных релизов, цены на которые начинаются от $40, она бесплатна, а также совместима практически с любыми Android-гаджетами: смартфонами, планшетниками, умными часами, телеприставками, ТВ и т. д. Главное, чтобы версия Андроида на устройстве была не старше 4.0.

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

AIDA64 сведения о системе.

В приложении 13 основных разделов:

  • Система, где собраны главные сведения об устройстве – марка, модель, серийный номер, объемы памяти и т. д.
  • ЦП – содержит информацию о модели SoC, архитектуре, ревизии, количестве ядер, диапазоне частот и остальном.
  • Отображение – показывает характеристики экрана и графического ускорителя.
  • Сеть – отображает данные о сетевых интерфейсах и подключениях.
  • Батарея – об источнике питания.
  • Андроид – об операционной системе.
  • Устройства – о графическом процессоре, камерах, USB, Vulkan, PCI, CUDA, OpenCL.
  • Температуры.
  • Датчики.
  • Установленные приложения.
  • Кодеки.
  • Папки.
  • Системные файлы.

Однако мобильная Aida64 не имеет в составе инструментов нагрузочного тестирования и бенчмаркинга. Полученные данные она отображает в виде списков и числовых показателей, понимать которые должен сам пользователь. То есть рассчитана на опытных.

Phone Doctor Plus

Phone Doctor Plus.

В числе его возможностей:

  • Быстрое и точное тестирование 30-ти (как заявлено производителем) аппаратных элементов с определением их работоспособности.
  • Экспресс-оценка состояния основных компонентов – процессора, хранилища, оперативной памяти, батареи и сети.
  • Детальная диагностика аккумулятора и прогнозирование срока его службы.
  • Диагностика сетевых подключений.
  • Сбор сведений об установленных приложениях с оценкой их полезности и возможностью удаления.

Рабочая область Phone Doctor Plus состоит из четырех основных вкладок:

PhoneDoctorPlus тесты.

  • На третьей – список приложений.
  • На четвертой – сведения о батарее и кнопки отключения ресурсоемких функций.

Утилита не собирает столь подробных сведений о каждой детали, как Aida64, а только тестирует функционал. Для проведения теста пользователь должен выполнить инструкции, которые видит на экране.

Phone Check

Phone Check.

Phone Check (Mobile Phone Checker / Tester & Info) совмещает в себе функции Аиды и Доктора: отображает подробные сведения об аппарате и проверяет его работоспособность. Всего в приложении 11 диагностических тестов:

  • Инфо об устройстве.
  • Аккумулятор.
  • Сеть, Bluetooth.
  • Звук.
  • Дисплей.
  • Сенсорный экран (тачскрин).
  • GPS.
  • Внешний вид.
  • Камеры.
  • Датчики.
  • SoC, память, хранилище.

Phone Check тесты.

И 2 режима тестирования – простой и подробный. Тесты запускаются последовательно – один за другим. У пользователя есть возможность пропускать отдельные тесты или их этапы.

Помимо оценки функциональности, Phone Check отображает информацию о текущем использовании устройства – загрузке процессора, памяти, сети, заряде аккумулятора, а также общие сведения о системе.

Device Checker *SAM*

Device Checker *SAM*.

Утилита Device Checker *SAM* (Phone and tablet testing) разработана для диагностики смартфонов и планшетов Samsung, однако исправно выполняет свои задачи и на устройствах других марок. За исключением определения подлинности аппарата – эти функции доступны только владельцам Самсунгов. Зато остальное – 20 с лишним тестов, могут использовать все.

Device Checker *SAM* тестирует следующие компоненты и функции:

  • Bluetooth.
  • Сотовую связь.
  • SD-карту.
  • Микрофон.
  • LCD (экран).
  • Яркость и затемнение экрана.
  • Тачскрин (TSP).
  • Приемник.
  • Вывод звука через динамики.
  • Вывод звука через наушники.
  • Камеры.
  • Вспышку (фонарик).
  • Датчики.
  • Вибромотор. .
  • Wi-Fi.
  • Аккумулятор.

Последний тест – информация об устройстве, оказался самым неинформативным. Видимо, он тоже предназначен только для Самсунгов.

PhDoctor

PhDoctor.

При работе с PhDoctor некоторые пользователи столкнутся с такой же проблемой, что и в Device Checker *SAM* – он тоже страдает отсутствием русского языка.

PhDoctor диагностические тесты.

Прочие функции и возможности PhDoctor:

Тестирование Android

Тестирование Android.

Интерфейс утилиты так же прост, как и название. Функциональные кнопки сгруппированы по назначению:

Тестирование Android.

Это интересно: Возможно ли настроить роутер без компьютера? Настраиваем Wi-Fi роутер Tp-Link с планшета, или смартфона

Phone Doctor For Android

Phone Doctor For Android.

Phone Doctor For Android имеет несколько унылый дизайн. И первое, что видит пользователь после его запуска, – такой же унылый рекламный баннер. Русским языком здесь тоже, увы, не пахнет. Похоже, у многих это отбивает желание юзать программу дальше, но если присмотреться к ее функционалу, то всё не так уж и печально.

Phone Doctor For Android тест давления.

AnTuTu Benchmark

AnTuTu Benchmark.

Согласитесь, без AnTuTu Benchmark обзор приложений для диагностики Андроид-гаджетов был бы неполным. Ведь это, пожалуй, самое популярное в мире средство сравнительного тестирования производительности мобильных устройств.

  • Быстродействие памяти.
  • Быстродействие процессора и графического ускорителя.
  • Удобство использования девайса (скорость прокрутки текста и т. п.).
  • Скорость обработки данных и изображений.
  • Безопасность обработки данных.

Кроме того, AnTuTu Benchmark собирает общие сведения о системе и отдельных ее составляющих – сенсорах, экране, батарее, тачскрине, HTML 5 в браузере, а также проводит стресс-тесты на стабильность.

Читайте также: