Бибилиотека: все, что нужно для тестирования мобильных приложений 📚
📝 Теория, книги, статьи:
Чек-лист тестирования мобильных приложений
Push-уведомления
UI-элементы и жесты в мобильных приложениях
🖇 Guidelines:
iOS Interface Guidelines
Android Components
💻 IDE:
Android Studio
Xcode
🧩 Android specific:
Android Debug Bridge (adb)
Android developer options
Exerciser Monkey
Apkanalyzer
⚖️ Аналитика:
Firebase Crashlytics
⚙️ Симуляторы и эмуляторы Android:
Genymotion
BrowserStack App Live
🛠 Симуляторы и эмуляторы iOS:
Xcode Simulator
🍪 Фермы устройств:
Firebase Test Lab
Microsoft App Center
Samsung Remote Test Lab
AWS Device Farm
HUAWEI DIGIX Lab Test Services
🚜 Распределение платформ и устройств:
Мобильные ОС
Worldwide Mobile Vendor
🎮 Инструменты прокси трафика:
Fiddler
Charles Proxy
Mitmproxy
#read #rdclr_QA
📝 Теория, книги, статьи:
Чек-лист тестирования мобильных приложений
Push-уведомления
UI-элементы и жесты в мобильных приложениях
🖇 Guidelines:
iOS Interface Guidelines
Android Components
💻 IDE:
Android Studio
Xcode
🧩 Android specific:
Android Debug Bridge (adb)
Android developer options
Exerciser Monkey
Apkanalyzer
⚖️ Аналитика:
Firebase Crashlytics
⚙️ Симуляторы и эмуляторы Android:
Genymotion
BrowserStack App Live
🛠 Симуляторы и эмуляторы iOS:
Xcode Simulator
🍪 Фермы устройств:
Firebase Test Lab
Microsoft App Center
Samsung Remote Test Lab
AWS Device Farm
HUAWEI DIGIX Lab Test Services
🚜 Распределение платформ и устройств:
Мобильные ОС
Worldwide Mobile Vendor
🎮 Инструменты прокси трафика:
Fiddler
Charles Proxy
Mitmproxy
#read #rdclr_QA
Хабр
Чек-лист тестирования мобильных приложений
У многих начинающих специалистов в области тестирования возникает вопрос: «А как же протестировать мобильное приложение. С чего начать, какие проверки стоит осуществить?» Данный вопрос актуален, когда...
👍6
Android Debug Bridge (adb)
Android Debug Bridge (adb) — инструмент командной строки, который позволяет взаимодействовать с устройством. Команда adb упрощает выполнение различных действий с устройством, которую можно использовать для выполнения различных команд на устройстве.
Это клиент-серверная программа, состоящая из трех компонентов:
🌵 Клиент, отправляющий команды.
Клиент работает на вашей машине разработки. Вы можете вызвать клиента из терминала командной строки, введя команду adb.
🍀 Демон, запускающий команды на устройстве.
Демон работает в фоновом режиме на каждом устройстве.
🌳 Сервер, который управляет обменом данными между клиентом и демоном. Сервер работает как фоновый процесс на вашей машине разработки.
Установка ADB
adb входит в пакет Android SDK Platform-Tools. Скачать этот пакет можно с помощью SDK Manager , который устанавливает его в android_sdk/platform-tools/. Или, если вам нужен автономный пакет Android SDK Platform-Tools, вы можете скачать его с официального сайта.
Основные команды:
$ adb devices — просмотр списка устройств;
$ adb get-state — состояние устройства;
$ adb reboot — перезагрузка устройства;
$ adb install -f /path/some_name.apk — можно выполнить установку приложения во внутреннюю память;
$ adb shell pm list packages — список установленных приложений;
$ adb logcat — просмотр журналов системы и приложений.
Еще можно почитать про команды для ADB :)
#rdclr_QA #read
Android Debug Bridge (adb) — инструмент командной строки, который позволяет взаимодействовать с устройством. Команда adb упрощает выполнение различных действий с устройством, которую можно использовать для выполнения различных команд на устройстве.
Это клиент-серверная программа, состоящая из трех компонентов:
🌵 Клиент, отправляющий команды.
Клиент работает на вашей машине разработки. Вы можете вызвать клиента из терминала командной строки, введя команду adb.
🍀 Демон, запускающий команды на устройстве.
Демон работает в фоновом режиме на каждом устройстве.
🌳 Сервер, который управляет обменом данными между клиентом и демоном. Сервер работает как фоновый процесс на вашей машине разработки.
Установка ADB
adb входит в пакет Android SDK Platform-Tools. Скачать этот пакет можно с помощью SDK Manager , который устанавливает его в android_sdk/platform-tools/. Или, если вам нужен автономный пакет Android SDK Platform-Tools, вы можете скачать его с официального сайта.
Основные команды:
$ adb devices — просмотр списка устройств;
$ adb get-state — состояние устройства;
$ adb reboot — перезагрузка устройства;
$ adb install -f /path/some_name.apk — можно выполнить установку приложения во внутреннюю память;
$ adb shell pm list packages — список установленных приложений;
$ adb logcat — просмотр журналов системы и приложений.
Еще можно почитать про команды для ADB :)
#rdclr_QA #read
👍3
Куда развиваться тестировщику?
В любой профессии может быть множество разных ролей. Так и в тестировании: ручной тестировщик может совмещать роли проджект-менеджера или тест-аналитика. Например, работать над постановкой задач и курировать младших специалистов.
В тестировании можно условно выделить три направления:
🚙 ручное — продукт тестируют вручную;
🚕 автоматизированное — повторяющиеся тесты проводят автоматически, чтобы не тратить время на одни и те же проверки;
🚑 нагрузочное — специальными инструментами и скриптами проверяют, выдержит ли приложение высокую нагрузку. Например, при большом количестве пользователей или атаке ботов.
😎 Также выделяют уровни специалистов. В каждой компании — по-разному, но чаще всего уровни делят так:
Младший специалист, или джуниор (англ. junior)
Джуниор спрашивает, как сделать задачу: чаще всего он ещё не может сделать её или быстро подстроиться к новым условиям, вводным данным и окружению.
Специалист, или миддл (англ. middle)
Миддл спрашивает, какую задачу нужно сделать: он уже умеет выполнять несложные задачи самостоятельно — ему нужно только задать направление.
Старший специалист, или синьор (англ. senior)
Синьор спрашивает, зачем делать эту задачу: он может оценить полезность изменений, заметить потенциальные риски и спроектировать план задачи.
Ведущий специалист, или лид (англ. lead)
У ведущего специалиста уровень и экспертиза выше синьора. Как правило, он ведёт проекты либо руководит подразделением, либо принимает ключевые решения по технической части. Бывает и то, и другое одновременно — именно такую роль чаще всего играет QA Lead, он же руководитель отдела тестирования.
Сейчас компании все чаще выделяют такие позиции, как strong junior и strong middle, а в матрице скиллов конкретизируют требования к специалисту под каждый уровень. Также следует помнить, что в каждой компании свои требования и в компании «А» ты можешь быть junior, а в компании «В» middle.
В любом случае, я желаю удачи тебе в дальнейшем развитии, карьерного роста и вдохновения от дела, которым ты занимаешься! 🥂
#rdclr_QA
В любой профессии может быть множество разных ролей. Так и в тестировании: ручной тестировщик может совмещать роли проджект-менеджера или тест-аналитика. Например, работать над постановкой задач и курировать младших специалистов.
В тестировании можно условно выделить три направления:
🚙 ручное — продукт тестируют вручную;
🚕 автоматизированное — повторяющиеся тесты проводят автоматически, чтобы не тратить время на одни и те же проверки;
🚑 нагрузочное — специальными инструментами и скриптами проверяют, выдержит ли приложение высокую нагрузку. Например, при большом количестве пользователей или атаке ботов.
😎 Также выделяют уровни специалистов. В каждой компании — по-разному, но чаще всего уровни делят так:
Младший специалист, или джуниор (англ. junior)
Джуниор спрашивает, как сделать задачу: чаще всего он ещё не может сделать её или быстро подстроиться к новым условиям, вводным данным и окружению.
Специалист, или миддл (англ. middle)
Миддл спрашивает, какую задачу нужно сделать: он уже умеет выполнять несложные задачи самостоятельно — ему нужно только задать направление.
Старший специалист, или синьор (англ. senior)
Синьор спрашивает, зачем делать эту задачу: он может оценить полезность изменений, заметить потенциальные риски и спроектировать план задачи.
Ведущий специалист, или лид (англ. lead)
У ведущего специалиста уровень и экспертиза выше синьора. Как правило, он ведёт проекты либо руководит подразделением, либо принимает ключевые решения по технической части. Бывает и то, и другое одновременно — именно такую роль чаще всего играет QA Lead, он же руководитель отдела тестирования.
Сейчас компании все чаще выделяют такие позиции, как strong junior и strong middle, а в матрице скиллов конкретизируют требования к специалисту под каждый уровень. Также следует помнить, что в каждой компании свои требования и в компании «А» ты можешь быть junior, а в компании «В» middle.
В любом случае, я желаю удачи тебе в дальнейшем развитии, карьерного роста и вдохновения от дела, которым ты занимаешься! 🥂
#rdclr_QA
👍5
Разработчики из Воронежа, приходите знакомиться с нами в офлайне! 🀄
26 апреля собираемся на новый митап из серии RDCLR.HOME — о «Карте развития PHP-разработчика» расскажет специалист Red Collar Иван Марков.
Ждём в гости тех, кто только начинает изучение PHP, или уже освоил базы и хочет вырасти до уровня Middle/Senior.
— Поговорим про экосистему PHP.
— Расскажем, какие навыки увеличат вашу востребованность на рынке.
— Проанализируем понятие «хороший код».
— Пройдемся по карте навыков PHP.
Митап по традиции пройдет в нашем офисе в бизнес-парке «Текстильщики» по адресу: ул. Текстильщиков, 5б, 3 подъезд, 3 этаж.
Вход свободный, но количество мест ограничено. Успейте зарегистрироваться по ссылке: https://forms.gle/W66uESCgUEFBLzeF6
Подробнее о том, что такое RDCLR.HOME, читайте тут: https://vk.com/rdclr.home
26 апреля собираемся на новый митап из серии RDCLR.HOME — о «Карте развития PHP-разработчика» расскажет специалист Red Collar Иван Марков.
Ждём в гости тех, кто только начинает изучение PHP, или уже освоил базы и хочет вырасти до уровня Middle/Senior.
— Поговорим про экосистему PHP.
— Расскажем, какие навыки увеличат вашу востребованность на рынке.
— Проанализируем понятие «хороший код».
— Пройдемся по карте навыков PHP.
Митап по традиции пройдет в нашем офисе в бизнес-парке «Текстильщики» по адресу: ул. Текстильщиков, 5б, 3 подъезд, 3 этаж.
Вход свободный, но количество мест ограничено. Успейте зарегистрироваться по ссылке: https://forms.gle/W66uESCgUEFBLzeF6
Подробнее о том, что такое RDCLR.HOME, читайте тут: https://vk.com/rdclr.home
👍2
«Быть тим-лидом: ожидания и реальность» — первый материал от Red Collar на Хабре собрал больше 7 тысяч просмотров за неделю. 🦾 👾
Наш Java-разработчик Макс рассказал о том, как специалисту (вы)расти в тим-лида, научиться ловить баланс качества и сроков, прогнозировать риски и не стать по пути «мелким тираном».
🔹 Прочитать материал будет ценно не только разработчикам, но и руководителям любых направлений — Макс отдельно выделил вопросы грамотной коммуникации, актуальные для всех.
Читайте по ссылке: https://lnkd.in/ezdfPxtQ 🤝
Наш Java-разработчик Макс рассказал о том, как специалисту (вы)расти в тим-лида, научиться ловить баланс качества и сроков, прогнозировать риски и не стать по пути «мелким тираном».
🔹 Прочитать материал будет ценно не только разработчикам, но и руководителям любых направлений — Макс отдельно выделил вопросы грамотной коммуникации, актуальные для всех.
Читайте по ссылке: https://lnkd.in/ezdfPxtQ 🤝
lnkd.in
LinkedIn
This link will take you to a page that’s not on LinkedIn
👍5
Привет, меня зовут Павел, я backend-разработчик Red Collar! Пишу на Java/Kotlin. 🦾
На этой неделе буду автором на канале и расскажу вам:
- о принципах SOLID
- о Spring Data JDBC и её подводных камнях
- о Keycloak
Стартуем прямо сейчас!
На этой неделе буду автором на канале и расскажу вам:
- о принципах SOLID
- о Spring Data JDBC и её подводных камнях
- о Keycloak
Стартуем прямо сейчас!
❤14
Микросервсиная архитекутера
Наверняка вы уже работали с приложением, построенным на микросервисах, а если нет, то слышали об этой архитектуре.
Можно взять и разбить приложение на микросервисы. Но это не даст гарантий, что проект будет легко поддерживать и масшабировать, гибко изменять код — рано или поздно вы столкнетесь с проблемами. Для решения таких проблем как раз и появились различные принципы программирования — SOLID, DRY, KISS, CQRS.
#rdclr_backend #Java
Наверняка вы уже работали с приложением, построенным на микросервисах, а если нет, то слышали об этой архитектуре.
Можно взять и разбить приложение на микросервисы. Но это не даст гарантий, что проект будет легко поддерживать и масшабировать, гибко изменять код — рано или поздно вы столкнетесь с проблемами. Для решения таких проблем как раз и появились различные принципы программирования — SOLID, DRY, KISS, CQRS.
#rdclr_backend #Java
👍4
Друзья, привет! На связи всё так же я, Павел, Java-разработчик Red Collar. 🤝
Решил потестить новый формат, чтобы текст легче воспринимался, а иллюстрации кода не терялись потом в поиске.
В общем, встречайте первую статью в Telegraph! Собрал здесь все принципы SOLID с примерами, подсветил сложные моменты, про всё рассказал подробно. 🦾
Читайте тут: https://telegra.ph/Open-closed--princip-otkrytosti--zakrytosti-05-16
#rdclr_backend #Java
Решил потестить новый формат, чтобы текст легче воспринимался, а иллюстрации кода не терялись потом в поиске.
В общем, встречайте первую статью в Telegraph! Собрал здесь все принципы SOLID с примерами, подсветил сложные моменты, про всё рассказал подробно. 🦾
Читайте тут: https://telegra.ph/Open-closed--princip-otkrytosti--zakrytosti-05-16
#rdclr_backend #Java
Telegraph
SOLID
Роберт С. Мартин сформулировал 5 принципов ООП: 🖐🏻 - Single Responsibility - Open-closed - Liskov substitution - Interface segregation - Dependency Inversion Данные принципы помогают избавиться от плохого кода, оптимизировать его и создавать гибкие приложения…
👍5
Как вам такой формат? Удобнее читать?
Anonymous Poll
58%
Да, так лучше
6%
Нет, хочу отдельными постами
36%
И так, и так — ок
Друзья, всем привет! Это вновь я, Java-разработчик Red Collar Павел.
Продолжаю тестить Телеграф и рассказывать вам о фишках разработки. На этот раз — о Spring DATA JDBC.
Это классная альтернатива JPA, но у неё, конечно, есть свои подводные камни.
Читайте о них здесь: https://telegra.ph/Spring-DATA-JDBC-05-24
#rdclr_backend #Java
Продолжаю тестить Телеграф и рассказывать вам о фишках разработки. На этот раз — о Spring DATA JDBC.
Это классная альтернатива JPA, но у неё, конечно, есть свои подводные камни.
Читайте о них здесь: https://telegra.ph/Spring-DATA-JDBC-05-24
#rdclr_backend #Java
Telegraph
Spring Data JDBC
⚡️ В 2018 году разработчики Spring Data представили альтернативу JPA — Spring Data JDBC. Она стремится быть концептуально проще по трём критериям: 1) Никаких ленивых загрузок или кеширования. При получении сущности, она загружается сразу, как только выполняется…
🔥16👍1
Авторизация, идентификационные брокеры
Как часто происходит: при работе над проектом, начинающие разработчики создают, к примеру, сущность User и сохраняют ее в базе данных, ставят пароль с шифрованием либо с использованием какого-то хэша. Со временем проекты приходится расширять, добавляя новые, это требует бесшовного перехода пользователей из одного приложения в другое.
🔸На ум приходит первое решение: написать сервис и дать доступ к базе, где хранятся наши юзеры — получим единый сервер авторизации для разных проектов под одним аккаунтом. А можно копнуть чуть глубже и посмотреть на Keycloak.
💡Почему Keycloak? Это продукт с открытым исходным кодом, предназначенный для идентификации и контроля доступа.
Keycloak версий 16.0 и ниже использует сервер WildFly, но начиная с версии 17.0.0 Keycloak перешел на Quarkus и стал самостоятельным фреймворком. Более подробно можно почитать здесь.
🙌🏻 Keycloak предлагает:
- единый вход (SSO)
- брокерскую идентификацию и вход в систему
- управление пользователями
- клиентские адаптеры
- консоль администратора и консоль управления учетными записями
А ещё с его помощью для каждого приложения можно быстро и гибко разграничивать доступ, выдавать различные поля, роли и атрибуты для пользователей. Все это легко и просто — без больших затрат на разработку.
👾Из основного функционала стоит выделить:
- Single-Sign On and Single-Sign Out для браузерных приложений.
- Поддержку OpenID/OAuth 2.0/SAML.
- Identity Brokering — это аутентификация с помощью внешних OpenID Connect или SAML идентификационных провайдеров.
- Social Login – поддержку Google, GitHub, Facebook, Twitter для идентификации пользователей.
- Кастомизацию решения на основе фирменного стиля компании.
- Login Flows — возможна саморегистрация пользователей, восстановление и сброс пароля и прочее.
- Session Management — администраторы могут управлять из единой точки сессиями пользователей.
- Token Mappers — это привязка атрибутов пользователей, ролей и иных требуемых атрибутов в токены.
- Гибкое управление политиками через realm, application и пользователей.
- Service Provider Interfaces (SPI) — большое количество SPI, позволяющих настраивать различные аспекты работы сервера: потоки аутентификации, идентификационных провайдеров, сопоставление протоколов и многое другое.
🔥Как итог — с помощью Keycloak мы можем быстро настроить единый сервер для регистрации/авторизации пользователей и кастомизировать все с наименьшими затратами ресурсов.
Как часто происходит: при работе над проектом, начинающие разработчики создают, к примеру, сущность User и сохраняют ее в базе данных, ставят пароль с шифрованием либо с использованием какого-то хэша. Со временем проекты приходится расширять, добавляя новые, это требует бесшовного перехода пользователей из одного приложения в другое.
🔸На ум приходит первое решение: написать сервис и дать доступ к базе, где хранятся наши юзеры — получим единый сервер авторизации для разных проектов под одним аккаунтом. А можно копнуть чуть глубже и посмотреть на Keycloak.
💡Почему Keycloak? Это продукт с открытым исходным кодом, предназначенный для идентификации и контроля доступа.
Keycloak версий 16.0 и ниже использует сервер WildFly, но начиная с версии 17.0.0 Keycloak перешел на Quarkus и стал самостоятельным фреймворком. Более подробно можно почитать здесь.
🙌🏻 Keycloak предлагает:
- единый вход (SSO)
- брокерскую идентификацию и вход в систему
- управление пользователями
- клиентские адаптеры
- консоль администратора и консоль управления учетными записями
А ещё с его помощью для каждого приложения можно быстро и гибко разграничивать доступ, выдавать различные поля, роли и атрибуты для пользователей. Все это легко и просто — без больших затрат на разработку.
👾Из основного функционала стоит выделить:
- Single-Sign On and Single-Sign Out для браузерных приложений.
- Поддержку OpenID/OAuth 2.0/SAML.
- Identity Brokering — это аутентификация с помощью внешних OpenID Connect или SAML идентификационных провайдеров.
- Social Login – поддержку Google, GitHub, Facebook, Twitter для идентификации пользователей.
- Кастомизацию решения на основе фирменного стиля компании.
- Login Flows — возможна саморегистрация пользователей, восстановление и сброс пароля и прочее.
- Session Management — администраторы могут управлять из единой точки сессиями пользователей.
- Token Mappers — это привязка атрибутов пользователей, ролей и иных требуемых атрибутов в токены.
- Гибкое управление политиками через realm, application и пользователей.
- Service Provider Interfaces (SPI) — большое количество SPI, позволяющих настраивать различные аспекты работы сервера: потоки аутентификации, идентификационных провайдеров, сопоставление протоколов и многое другое.
🔥Как итог — с помощью Keycloak мы можем быстро настроить единый сервер для регистрации/авторизации пользователей и кастомизировать все с наименьшими затратами ресурсов.
👍6
Microsoft прекратил поддержку Internet Explorer
Cегодня последний день работы Internet Explorer. Уже завтра браузер при открытии будет перенаправлять в Edge.
Первая версия Internet Explorer вышла почти 27 лет назад — 16 августа 1995 года. С тех пор она поставлялась вместе с Windows вплоть до версии 8.1.
https://www.kommersant.ru/doc/5411292
#news
Cегодня последний день работы Internet Explorer. Уже завтра браузер при открытии будет перенаправлять в Edge.
Первая версия Internet Explorer вышла почти 27 лет назад — 16 августа 1995 года. С тех пор она поставлялась вместе с Windows вплоть до версии 8.1.
https://www.kommersant.ru/doc/5411292
#news
Коммерсантъ
Microsoft прекратил поддержку Internet Explorer
Подробнее на сайте
👍3😢1
Друзья, всем привет! На связи снова Даша, фронтенд-разработчик Red Collar. Пишу на ванильном JS и периодически влетаю к вам с материалами. 🤝
В прошлый раз рассказывала про веб-компоненты, на этот раз пришла сразу с несколькими темами. Но обо всём по порядку)
В прошлый раз рассказывала про веб-компоненты, на этот раз пришла сразу с несколькими темами. Но обо всём по порядку)
🔥6
Оптимизация анимаций
🔥Стартуем с первым материалом в Телеграфе! Написала для вас о настоящей чёрной магии трансформов:
https://telegra.ph/CHyornaya-magiya-transformov-ili-ob-optimizacii-animacij-06-14
Enjoy!
#rdclr_frontend #Vanilla_JS
🔥Стартуем с первым материалом в Телеграфе! Написала для вас о настоящей чёрной магии трансформов:
https://telegra.ph/CHyornaya-magiya-transformov-ili-ob-optimizacii-animacij-06-14
Enjoy!
#rdclr_frontend #Vanilla_JS
Telegraph
Чёрная магия трансформов или об оптимизации анимаций
🤔 Предположим, стоит задача «сделать параллакс». Первая мысль — поменять свойство top при скролле. Тогда получаем примерно такой код: const scroll = () => { percent = window.scrollY / height; squareArray.forEach((square, i) => { square.style.top = (i *…
❤9🔥3
Как использовать will-change
🤓И почему его нельзя ставить где попало. Влетаю с новым материалом для фронтов!
https://telegra.ph/Ne-ispolzuj-will-change-gde-popalo-06-22
🤓И почему его нельзя ставить где попало. Влетаю с новым материалом для фронтов!
https://telegra.ph/Ne-ispolzuj-will-change-gde-popalo-06-22
Telegraph
Не используй will-change где попало!
Наверняка, вы встречали совет из заголовка материала, но не задумывались, почему этого не стоит делать. Дело в том, will-change выносит элемент на отдельный композитный слой, а при создании композитного слоя выделяется память на gpu. Когда слоев много, памяти…
🔥9