Обновить
71.14

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

Методы, советы, опыт

Сначала показывать
Порог рейтинга
Уровень сложности

Marshmallow. Это должен сделать каждый. Добавляем поддержку SDK 23 в наши приложения

Время на прочтение6 мин
Охват и читатели35K
Мне повезло стать Google Developer Expert Android в России, и поэтому я вдвойне переживаю, что не все из вас подготовились к релизу заранее. Сейчас мы с вами постараемся запрыгнуть на уплывающий пароход с зефирками.

Вы можете не читать, а просто посмотреть мой доклад на прошедшем DroidCon.

Но специально для тех, кто любит читать хабр больше чем смотреть youtube — добро пожаловать под кат. Там мы пройдемся по чеклисту действий, которые каждый обязательно должен сделать в своем приложении, а потом посмотрим на новые возможности для разработчиков в sdk 23.
Читать дальше →

Android 6.0: Doze Mode, App Standby, Runtime Permissions. Всё, что необходимо знать каждому разработчику

Время на прочтение5 мин
Охват и читатели66K

В этой статье мы рассмотрим три самых важных изменения в новом Android, которые не могут быть проигнорированы ни одним разработчиком, который поставил у себя в проекте targetSdk = 23 и выше.
Doze Mode — режим «отключки», в который переходят все устройства на Marshmallow после некоторого времени обездвижения без зарядки.

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

Runtime Permissions — новая модель запроса разрешений. Теперь мы, как разработчики, каждый раз обращаясь, например, к микрофону устройства, должны проверять, есть ли у нашего приложения разрешение на доступ к нему.
Читать дальше →

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

Время на прочтение12 мин
Охват и читатели135K
Наша новая статья представляет собой список рекомендаций и советов. Из неё вы узнаете:

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

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

Как облегчить процесс тестирования?


1. Используйте принципы эвристики и мнемоники — они помогают удержать в голове все аспекты, которые нужно учесть при тестировании фичи или приложения.

2. Скриншоты, логи и видео — лучшие аргументы тестировщика!
К сожалению, с логами «общения» с сервером зачастую не всё так гладко, как с клиентскими логами. Обычно они добавляются скорее для удобства разработчика при отладке работы с сервером, чем для работы тестировщика.
Читать дальше →

Xamarin.UITest

Время на прочтение5 мин
Охват и читатели17K
В этой статье я расскажу вам о Xamarin.UITest — фреймворке для приемочного UI тестирования от Xamarin.

Что это такое и как его готовить


Xamarin.UITest сделан на основе Calabash и имеет сходный с ним принцип работы. Однако, тесты на данном фреймворке пишутся на С# и NUnit (в отличие от Calabash, в котором используется Gherkin+Ruby). Фреймворк кроссплатформенный и, следовательно, он позволяет писать тесты как для платформы iOS, так и для Android. Windows Phone не поддерживается, что я лично считаю недостатком данного инструмента. Зато в нем вполне поддерживается тестирование нативных приложений на Java и Objective-C.

image

Как это работает

Charles: незаменимый тул в арсенале QA-инженера

Время на прочтение5 мин
Охват и читатели249K

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

Чтобы редактировать выдачу сервера и воспроизводить сложные тестовые сценарии в QA Redmadrobot, мы используем Charles.
Читать дальше →

Опубликована программа Второй международной конференции мобильных разработчиков MBLTdev

Время на прочтение1 мин
Охват и читатели3.5K
Мы опубликовали программу мероприятия, которую вы можете посмотреть на сайте MBLTdev. В этом году программа будет поделена на несколько потоков: доклады и семинары для mid+ мобильных разработчиков и доклады для руководителей направлений мобильной разработки и IT-директоров. Программа будет постепенно дополняться новыми выступлениями, следите за новостями.



Среди подтвердившихся докладчиков:

  • Крис Эйдхоф, iOS-разработчик, основатель блога objc.io
  • Филлип Коннатон, iOS-разработчик, Runkeeper
  • Цезарь Валиенте, Android-разработчик, Wunderlist
  • Бриджит Лионс, QA, Soundcloud
Читать дальше →

Написание Unit-тестов. Mocking объектов

Время на прочтение17 мин
Охват и читатели41K
Кому нужны модульные тесты? Не Вам — Ваш код идеален. Но все же, Вам просто нужно прочитать эту статью, которая должна больше рассказать о написании модульных тестов на Swift’е. Вдруг это Вам в дальнейшем пригодиться.

Модульное тестирование являются отличным способом для написания безупречного кода; тестирование поможет Вам найти большинство ошибок на ранней стадии написания проекта. Как показывает опыт: если у Вас возникают трудности при тестировании кода, тогда у Вас возникнут сложности с его поддержкой или отладкой.

Модульное тестирование работает с изолированными “микрокомпонентами”. Зачастую Вам нужно «мокировать» классы – то есть обеспечить фейк функциональной реализацией, чтобы изолировать специфический микрокомпонент, таким образом, он сможет быть протестирован. В Objective-C существует несколько сторонних фреймворков, которые помогают это реализовать. Но они еще не доступны в Swift’е.

В этом руководстве Вы научитесь, писать свои собственные mock-обьекты, fakes и stub'ы, чтобы покрыть тестами давольно простое приложение, которое поможет вам запомнить дни рождения ваших друзей.
Читать дальше →

Тестирование на Android: Robolectric + Jenkins + JaСoСo

Время на прочтение5 мин
Охват и читатели30K
Тестирование Android приложений — тема большая и емкая, говорить о ней можно бесконечно. Мы в Rambler&Co автотесты любим, пишем и активно используем для всех наших приложений. В данной статье мы расскажем, как получать и анализировать результаты тестирования android (и не только) приложений. Покажем как настроить Robolectric, JaCoCo и Jenkins, чтобы было вот так:


Читать дальше →

История одного факапа Яндекс.Навигатора. В шести действиях с прологом и раскаянием

Время на прочтение4 мин
Охват и читатели130K
Факапы случаются и у больших компаний, с тестировщиками и строгими релизными процедурами. В понедельник такой факап случился у нас — мы выкатили версию Яндекс.Навигатора под Андроид с неприятной ошибкой: приложение постоянно держало включённым микрофон и записывало весь звук в локальный файл. В результате быстро забивалось место на устройстве, да и просто это выглядело подозрительно, хотя содержимое файла по сети никуда и никогда не передавалось.



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

Мы решили не стесняться, а поделиться с вами опытом, который из этой ситуации извлекли. Возможно, это поможет вам быть лучше. Как обычно, причиной стало сочетание технологических факторов и дискоммуникации между людьми. Подробности — под катом.
Шесть драматических действий с прологом и раскаянием

Использование Intel HAXM при разработке приложений для Android Wear и TV

Время на прочтение5 мин
Охват и читатели40K
За плечами платформы Android долгий путь. Всё началось со смартфонов, потом были планшеты, дальше – устройства, работающие под управлением Google TV, Android Wear, Android TV (вместо Google TV), и, наконец – Android Auto. Сборка и тестирование приложений, которые предназначены для всего этого разнообразия, могут стать непростыми задачами для разработчиков. А если добавить сюда различные форм-факторы и разрешения экранов устройств, можно быстро столкнуться с проблемой всесторонней проверки и тестирования программ. Как же быть? К счастью, у нас есть Intel HAXM.

Читать дальше →

SCADA и мобильники: оценка безопасности приложений, превращающих смартфон в пульт управления заводом

Время на прочтение9 мин
Охват и читатели18K
image

Сегодня мобильные технологии – неотъемлемая часть нашей жизни, и иногда проникают туда, где их не следовало бы использовать. Удобство часто оказывается важнее безопасности. Сейчас можно отслеживать состояние АСУ ТП (автоматизированной системы управления технологическим процессом) или даже управлять ей с новенького смартфона на Android или iOS. Поищите “HMI” (человеко-машинный интерфейс), “SCADA” (система диспетчерского контроля и сбора данных) или “PLC” (программируемый логический контроллер) в магазине Google Play, и вы удивитесь количеству результатов. Более того, многие из этих приложений разработаны серьезными производителями: Siemens, GE, Omron и т. д., и обеспечивают доступ, контроль и управление HMI, PLC, DCS (распределенная система управления) и SCADA-системами в инфраструктуре АСУ ТП. Безопасны ли они? Может ли злоумышленник нанести вред, получив доступ к планшету инженера-технолога? Какие уязвимости существуют в этих приложениях? Какие векторы атак возможны?
Читать дальше →

М-м-м-м… Маршмэллоу: что нового в Android 6 и Android SDK

Время на прочтение6 мин
Охват и читатели212K
Всем привет! Как вы все уже, наверное, знаете, шестая версия нашей ОС Android наконец получила официальное название: Android 6.0 Marshmallow. Предположений о том, как именно будет называться новая версия было много: и Milkshake, и Merengue, и M&M’s с MilkyWay. Кроме того, вышла финальная версия Android SDK, поддерживающая все новые возможности OS Android. О названии, инструментах для разработчиков, самых важных улучшениях и о том, что нас ждёт с приходом Android 6.0, сегодня и поговорим.


Читать дальше →

Используем CircleCI для тестирования и деплоя iOS приложений

Время на прочтение3 мин
Охват и читатели11K
CircleCI — это continuous integration сервис для веб и мобильных приложений. В статье опишу процесс настройки CircleCI для тестирования и последующего деплоя билда на Crashlytics.

Одно из преимуществ данного сервиса — сборка билда в облаке, то есть не нужна локальная билд-машина. Сервис позволяет гибко настраивать тестирование сборки, так как у пользователя есть доступ к sudo. Также существует возможность устанавливать сторонние пакеты. На данный момент поддержка iOS находится в бете, поэтому надо писать в support, чтобы открыли доступ.
Кого заинтересовал — прошу под кат.
Читать дальше

Ближайшие события

Новый взгляд на MindMap в тестировании

Время на прочтение5 мин
Охват и читатели31K


Любой маломальски опытный QA-инженер (или в простонародье тестировщик) сможет сходу назвать пяток различных видов тестов: удобство пользователя, дымовое, нагрузочное, регрессионное, конфигурационное, тестирование взаимодействия и т.д. Какие-то виды тестирования используются редко, например нагрузочное, почаще применяется тестирование удобства пользователя, о таких экзотических видах, как конфигурационное тестирование или тестирование взаимодействия, многие вообще слышали только в книгах Канера и Фолка «Тестирование программного обеспечения» и никогда не использовали в работе. Но есть вид тестирования, про который можно сказать совершенно четко: его делал каждый. Я говорю о регрессионном функциональном тестировании. Этот вид теста, пожалуй, является одним из наиболее важных, нудных и трудоемких.

Читать дальше →

Как сделать кэш браузера не таким бесполезным, как обычно

Время на прочтение7 мин
Охват и читатели45K
Хочу рассказать вам о том, как мы в Яндекс.Браузере попытались сделать кэш не таким бесполезным для пользователей, как обычно. В недавно вышедшей новой бете Яндекс.Браузера для Android (планируем и для других ОС) можно получить доступ к недавно посещенным сайтам даже при отсутствии соединения с интернетом. Причём работать это должно гораздо надёжнее и удобнее, чем всё, что вы видели до этого.



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

Генерируем номер версии и билда на иконке iOS приложения

Время на прочтение2 мин
Охват и читатели12K


В процессе разработки приложение тестируется, и бывает, что нужно знать, какая версия приложения и с каким номером сборки у тестировщика/другого участника процесса установлена. Например, баг уже исправлен, а человек новый билд ещё не поставил и сетует, что ничего не исправлено.

Зачастую эту информацию прячут где-нибудь, например, в приложении Яндекс.Маркет, нужно ткнуть в раздел Кабинет и выбрать пункт «О приложении»:

Пример

Для удобства (или потому, что этот экран ещё не готов), можно вынести эту полезную информацию прямо на иконку приложения.
Читать дальше →

40+ полезных инструментов для разработчика приложений под Android

Время на прочтение6 мин
Охват и читатели56K
Для выхода на мобильный рынок не нужно тратить тысячи долларов и месяцы работы. Для создания приложения для собственного бизнеса, продукта или услуги вам нужно лишь знать Java и найти подходящие инструменты. Сейчас таких инструментов уже тысячи. Мы попытались составить из них набор, необходимый для разработки, тестирования, монетизации, анализа и улучшения приложений.

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

41. JSONView
jsonview.com

image

Расширение для Firefox, которое позволяет просматривать JSON в браузере. Документ выглядит отформатированным, есть подсветка и можно сворачивать и раскрывать объекты и массивы.

40. Android GUI Set
www.bypeople.com/free-photoshop-android-interface-gui

image

Набор интерфейсов, в который входят и файлы для фотошопа. Главное меню, клавиатура, панель статуса, браузер, слайдер, список контактов, и т.д. и т.п.
Читать дальше →

Google Developer Launchpad — программа Google для стартапов

Время на прочтение4 мин
Охват и читатели19K
Хабр, привет! Не так давно мы уже делились информацией о программе для стартапов от Google, — Google Developers Launchpad. Сейчас мы бы хотели подробнее рассказать о возможностях и преимуществах этой программы.



Программа Launchpad разделена на две стадии (или уровня) — Start и Scale. Участие в Launchpad’е является бесплатным, а у самой программы нет каких-то временных ограничений, хотя мы надеемся, что вы максимально быстро сможете из стартапа вырасти в приносящую прибыль кампанию (кому-то на это требуется 1-2 года, а кому-то и 5 лет мало, всё зависит от того, чем вы занимаетесь).
Android-стартапы, мы ждём вас!

Реализация идеи подписки не на человека, как в твиттере/инстаграме, а на место

Время на прочтение4 мин
Охват и читатели2.8K
Повествование реализации тривиальной идеи получать свежие изображения (на самом деле не только свежие и не только изображения), сделанные в определённой географической локации. Это могут быть места, где вы жили, где живёт кто-то близкий, просто интересно следить за запусками ракет на Байконуре или мысе Канаверал, что угодно, на самом деле, фантазии (и любопытству) нет предела.
Читать дальше →

TagConf 2015 — Пятая ежегодная IT-конференция в Таганроге

Время на прочтение2 мин
Охват и читатели2.8K
Каждый год компания Softline проводит в Таганроге крупнейшую региональную конференцию для разработчиков и тестировщиков – TagConf. В этот раз встреча будет организована совместно с нами, компанией Аркадия. Мы и наши коллеги из Softline представим вам 6 докладов. Событие состоится 11 июля — приходите, будет интересно!


Читать дальше →

Вклад авторов