Как стать автором
Обновить

Компания Vivid Money временно не ведёт блог на Хабре

Сначала показывать

Взаимодействие с alerts и permissions в ui-тестировании iOS

Время на прочтение 4 мин
Количество просмотров 3.1K

Привет, Хабр!
Меня зовут Ахмат. Я iOS QA Automation Engineer - в Vivid Money.

В этой статье я хочу рассказать про взаимодействие с alerts и permissions в iOS тестах и показать, как их можно эффективно обрабатывать в своём проекте.

Данная статья будет полезна начинающим iOS-автоматизаторам, либо разработчикам, которые решили изучить XCUITest и покрыть свой проект ui-тестами.

В рамках статьи мы разберем:

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Ускоряем прохождение iOS UI-тестов. Часть 2. Распараллеливание тестов

Время на прочтение 4 мин
Количество просмотров 3.8K

Хабр, привет!

Меня зовут Борис. Я Mobile AQA lead в Vivid Money.

Это вторая статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.

Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.

В рамках этой статьи мы разберем такие этапы:

- зачем распараллеливать тесты?;

- распараллеливаем тесты, используя Xcode;

- распараллеливаем тесты, используя Fastlane.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 5

Vivid Money. General technical view

Время на прочтение 2 мин
Количество просмотров 1.8K

В продолжение темы и прежде, чем приступать к изложению DevOps практик, расскажем о Компании. 

Vivid Money – это цифровая платформа, которая включает продукты:

• цифровой банк (накопления, переводы, платежи, умные расходы и т.д.), 

• инвестиции (покупка и продажа ценных бумаг),

• крипта (покупка и продажа).

Продукты тесно интегрированы между собой и доступны через единый интерфейс мобильного приложения на iOS и Android.

Платформа размещена в облачной геораспределенной инфраструктуре Amazon и построена на микросервисной архитектуре на базе k8s и совместимых технологиях, что дает нам возможность достигать высокие показатели:

• производительности,

• гибкости и скорости,

• надежности,

• безопасности,

• масштабируемости.

Продукты объединены в группы функциональных сервисов, посредством которых выполняется:

• доставка продуктов и фич до клиента

• разработка,

• развитие,

• клиентская поддержка.

Читать далее
Всего голосов 8: ↑2 и ↓6 -4
Комментарии 1

Ускоряем прохождение iOS UI-тестов. Часть 1. Запуск тестов без сборки проекта

Время на прочтение 6 мин
Количество просмотров 4.9K

Хабр, привет!

Меня зовут Борис. Я Mobile AQA lead в Vivid Money.

Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.

Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.

В рамках этой статьи мы разберем такие этапы:

- зачем ускорять время прохождения UI-тестов;

- что такое Test runner, и какие они бывают;

- что нужно для прогона тестов без компиляции проекта;

- делимся опытом, как это помогает нам.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Запуск Fintech. Откровения DevOps

Время на прочтение 2 мин
Количество просмотров 7.1K

DevOps’ы? - админы, за всё ответственные, ИТ-архитекторы, разбираются в безопасности, понимают бизнес, умеют кодить, свои среди разработчиков, экономят косты и, просто приятные собеседники. Дополняйте … мы, в Vivid Money этот список можем продолжать очень долго..

Читать далее
Всего голосов 20: ↑7 и ↓13 -6
Комментарии 11

Как устроен счетчик ссылок в Swift

Время на прочтение 14 мин
Количество просмотров 18K

Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для человека в код понятный компьютеру. Стандартная библиотека предоставляет разработчикам готовые структуры данных, оптимизированные для применения в боевых проектах. А вот рантайм – это, поистине, сердце языка. В нем происходит выделение памяти, динамическое приведение типов и подсчет ссылок. И нам стало интересно, как реализован подсчет ссылок в рантайме. И  вот мы вдохновились публикациями легендарного Майка Эша (Mike Ash), собрали компилятор и начали исследовать. Посмотрели на работу алгоритма подсчета ссылок и в этой статье расскажем вам о нём.

Читать далее
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 14

Внедряем Snapshot testing в UI-тесты iOS

Время на прочтение 7 мин
Количество просмотров 12K

Хабр, привет!

Меня зовут Борис. Я AQA iOS-engineer в Vivid Money.

В этой статье я хочу рассказать про snapshot тесты и показать, как их можно эффективно применять в своём проекте.

Данная статья будет полезна начинающим iOS-автоматизаторам, либо разработчикам, которые решили изучить XCUITest и покрыть свой проект ui-тестами.

В рамках статьи мы разберем:

• Что такое snapshot тесты и когда их применять;

• Какие есть библиотеки;

• Поэтапно расскажу и покажу как внедрить их у себя в проекте.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 5

Танцы с ассетами

Время на прочтение 7 мин
Количество просмотров 3.4K

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

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 6

Автоматизация тестов на Go + Allure

Время на прочтение 16 мин
Количество просмотров 18K

Привет всем. Меня зовут Таня. Я автоматизирую тесты на Go уже около года, до этого занималась 4 года автоматизацией на Java.

В этой статье расскажу:

- Как писала интеграционные тесты на Go + Allure

- С какими проблемами столкнулась

- С какими библиотеками и инструментами работаю

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 11

Фантастические RecyclerView.ViewHolder и где они создаются

Время на прочтение 8 мин
Количество просмотров 9.8K

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 4

Проверка эффективности автотестов

Время на прочтение 2 мин
Количество просмотров 5K

Важно выстроить процесс работы с автотестами, требующими поддержки и особенно с нестабильными(flacky) тестами. Если сразу не уделять должного внимание к автотестам доверие к ним упадет и в конечном итоге упавшие тесты будут полностью игнорироваться

Обычно мы делаем это так:

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 0

iOS интервью в Vivid

Время на прочтение 5 мин
Количество просмотров 4.6K

Хотим поделиться с сообществом тем, как у нас в Vivid проходят iOS собеседования, на что мы обращаем внимание и как оцениваем кандидатов.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 7

Как мы используем Kafka Streams в команде хранилища данных Vivid Money?

Время на прочтение 6 мин
Количество просмотров 7.4K

Привет! Меня зовут Андрей Серебрянский, я дата инженер в Vivid Money. Сегодня я расскажу про то, для каких задач можно применять Kafka Streams и покажу код для наших простых примеров. Это будет полезно тем, кто использует Kafka, но еще не пробовал Kafka Streams. Если вы бы хотели сохранять состояние при обработке Kafka топиков или искали простой синтаксис для обогащения одних топиков информацией из других, то сегодня я покажу, как это можно делать легко и практически из коробки.

Читать далее
Рейтинг 0
Комментарии 4

Как сохранить нервы тестировщика или ускорить регресс с 8 до 2 часов

Время на прочтение 7 мин
Количество просмотров 23K

Кукусики!

Меня зовут Юля, и я Mobile QA в компании Vivid Money.

В тестировании уже давно — столько всего интересного видела. ​ Но как показывает практика, проблемы и заботы у всех одинаковые. Разница только в анализе, подходах и реализации решений.

В этой статье я расскажу, КАК ОБЛЕГЧИТЬ ЖИЗНЬ ТЕСТИРОВЩИКУ ВО ВРЕМЯ РЕГРЕССА!

Расскажу по порядку:

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 11

Нестабильные тесты — одна из основных проблем автоматизированного тестирования(Часть 2)

Время на прочтение 4 мин
Количество просмотров 4.7K

Это продолжение серии статей о нестабильных тестах.

В первой статье(оригинал/перевод на хабре) говорилось о 4 компонентах, в которых могут возникать нестабильные тесты.

В этой статье дадим советы как избежать нестабильных тестов в каждом из 4 компонентов.

Читать далее
Рейтинг 0
Комментарии 0

Нестабильные(Flaky) тесты — одна из основных проблем автоматизированного тестирования

Время на прочтение 3 мин
Количество просмотров 13K

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

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

Данная статья призвана рассказать как бороться с каждой из причин.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 5

Пишем под android с Elmslie

Время на прочтение 6 мин
Количество просмотров 6.5K

Это третья часть серии статей об архитектуре android приложения vivid.money. В ней мы расскажем об Elmslie - библиотеке для написания кода под android с использованияем ELM архитектуры. Мы назвали ее в честь Джорджа Эльмсли, шотландского архитектора. С сегодняшнего дня она доступна в open source. Это реализация TEA/ELM архитектуры на kotlin поддержкой android. В первой статье мы рассказали о том почему выбрали ELM. Перед прочтением этой статьи лучше ознакомиться как минимум со второй частью, в которой мы более подробно рассказывали том собственно такое ELM.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 4

Подходы к спискам на UICollectionView

Время на прочтение 14 мин
Количество просмотров 7.2K

Уже давным давно, во всех известных нам галактиках мобильные приложения представляют информацию в виде списков - будь то доставка еды на Татуине, имперская почта или обычный ежедневник джедая. С незапамятных времен мы писали UI на UITableView и не задумывались.

Копились бесчисленные баги и знания об устройстве этого инструмента и о лучших практиках. И когда мы получили очередной infinite scroll дизайн, мы поняли: пришло время задуматься и дать отпор тирании UITableViewDataSource и UITableViewDelegate.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 3

Почему стек горутины бесконечен?

Время на прочтение 3 мин
Количество просмотров 5.6K

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


package main

import "fmt"

type S struct {
        a, b int
}

// String implements the fmt.Stringer interface
func (s *S) String() string {
        return fmt.Sprintf("%s", s) // Sprintf will call s.String()
}

func main() {
        s := &S{a: 1, b: 2}
        fmt.Println(s)
}
Читать дальше →
Всего голосов 11: ↑5 и ↓6 -1
Комментарии 4

Разбираем ELM архитектуру в рамках мобильного приложения

Время на прочтение 6 мин
Количество просмотров 13K

Это вторая часть серии статей об архитектуре android приложения vivid.money. В ней мы расскажем в деталях о том, что из себя представляет ELM архитектура. В связи с тем, что наша реализация доступна в open source в качестве библиотеки Elmslie, в статье будет использоваться нейминг из нее.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 9
1