Шесть советов об использовании PostgreSQL в функциональных тестах

В 2018-м году, работая в Akvelon Inc., я собеседовал одного человека. Перед интервью мне дали на проверку его тестовое задание: небольшое web-приложение по типу записной книжки или todo-списка – ReactTypeScript, C# на бэке и MS SQL Server в качестве персистентного хранилища. Приложение было модное: с обилием unit-тестов на mock’ах, упакованное в docker-образ – видно, что человек старался. И у этого решения был всего один недостаток – оно не работало. Совсем. Падало при попытке сохранить новую строку в базу данных.

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

Первая из них – ложная уверенность от модульных тестов. Даже 100% покрытие кода тестами не гарантирует, что в нём нет ошибок.

И вторая – отсутствие функциональных тестов. Если ваше приложение работает с СУБД, то вы обязательно должны покрыть эту часть кода реальными тестами с реальной базой данных. И здесь есть очень важное условие: проверять нужно именно на той версии СУБД, которая работает у вас в production’е. Думаю, очень многие разработчики под Oracle, прогоняющие свои тесты на H2HSQLDB, сталкивались с ситуацией, когда тесты проходят, а production не работает (boolean, group by и другие чудеса).

Сейчас я работаю в основном с PostgreSQL и мигрирую наши микросервисы с 10-й версии на 11-ую. В процессе миграции (и разработки вообще) я столкнулся с несколькими нюансами, о которых хотелось бы рассказать.

Читать дальше →
Шесть советов об использовании PostgreSQL в функциональных тестах
Source: habrahabr

Пост №4349990

Автор: LYVrus

ссылка на гифкуссылка на гифкуссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/4349990″ }, «headline»: «много гифок :: Разные :: Медведи :: детёныши :: гиф анимация (гифки — ПРИКОЛЬНЫЕ gif анимашки)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B3%D0%B8%D1%84%D0%BE%D0%BA-%D0%B3%D0%B8%D1%84%D0%BA%D0%B8-%D0%A0%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5-%D0%9C%D0%B5%D0%B4%D0%B2%D0%B5%D0%B4%D0%B8-5910819.gif», «height»: 400, «width»: 400 }, «datePublished»: «2020-05-11T19:24:26+03:00», «dateModified»: «2020-05-11T19:24:26+03:00», «author»: { «@type»: «Person», «name»: «LYVrus» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №4349990
Source: Joyreactor

Пост №4349977

Автор: Leznz

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/4349977″ }, «headline»: «А1епка @|_Ка1е51тик-19.06.2019 Сижу в мфц Это место максимально угнетает С>1 11 Д МФЦ России рет / Приколы для даунов :: разное», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%9F%D1%80%D0%B8%D0%BA%D0%BE%D0%BB%D1%8B-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B0%D1%83%D0%BD%D0%BE%D0%B2-%D1%80%D0%B0%D0%B7%D0%BD%D0%BE%D0%B5-5910805.jpeg», «height»: 960, «width»: 960 }, «datePublished»: «2020-05-11T19:14:42+03:00», «dateModified»: «2020-05-11T19:14:42+03:00», «author»: { «@type»: «Person», «name»: «Leznz» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «витнул(-а) О МФЦ России @пг^сгиз51а В ответ @1_Ка1е$11ик V V Ебальник твой угнетает, а не это место. У нас великолепный ремонт и позитивная атмосфера. Спасибо, что вы с нами!» }
Комментировать 
Пост №4349977
Source: Joyreactor

[recovery mode] Как мы профакапили уникальный Agile-курс

Две недели, четыре вебинара, десятки часов подготовки, планирования и ретроспектив,
40 улучшений и…. большие потери.

Поворотное Ретро

Итак, 28 апреля стартовала Вечерняя школа Слёрма. Вместе с нашими студентами на основе обратной связи мы создаём курс про Agile и по принципам Agile. За две недели отработали технические вопросы, внедрили более 40 улучшений, продолжили наполнять копилку полезностей, постоянно получали обратную связь от студентов. В общем, улучшались, собой и продуктом были довольны.

На Ретро после 4 вебинара пригласили студентку, чтоб от народа услышать, какие мы крутые. Обратная связь оказалась неожиданной, словно холодная вода в лицо. И много непонятных терминов, английских слов в речи спикеров. И в личный кабинет не получается зайти, и в чат в Телеграм не попала. И темы вебинаров «размазаны», непонятно, на какую целевую аудиторию рассчитаны.

Невесёлая воронка

Начался анализ. Глубокий инсайт изменил наше сознание. Дойдя до 4 вебинара – до четвёртого!!! – мы только узнали, что теряем людей. Мы забыли о цифрах, смотрели на них, но не видели. Сами судите:

Вот такая невесёлая воронка при полной уверенности, что наш курс имеет огромную ценность. Уже две недели мы даём людям сотни полезностей, рассказываем, как в кризис не утонуть, увидеть новые горизонты, поймать возможности, запастись эффективными Agile-инструментами.
Но народ-то уходит…

WTF?!!! В чём дело?!

Читать дальше →
[recovery mode] Как мы профакапили уникальный Agile-курс
Source: habrahabr

Как мы профакапили уникальный Agile-курс

Две недели, четыре вебинара, десятки часов подготовки, планирования и ретроспектив,
40 улучшений и…. большие потери.

Поворотное Ретро

Итак, 28 апреля стартовала Вечерняя школа Слёрма. Вместе с нашими студентами на основе обратной связи мы создаём курс про Agile и по принципам Agile. За две недели отработали технические вопросы, внедрили более 40 улучшений, продолжили наполнять копилку полезностей, постоянно получали обратную связь от студентов. В общем, улучшались, собой и продуктом были довольны.

На Ретро после 4 вебинара пригласили студентку, чтоб от народа услышать, какие мы крутые. Обратная связь оказалась неожиданной, словно холодная вода в лицо. И много непонятных терминов, английских слов в речи спикеров. И в личный кабинет не получается зайти, и в чат в Телеграм не попала. И темы вебинаров «размазаны», непонятно, на какую целевую аудиторию рассчитаны.

Невесёлая воронка

Начался анализ. Глубокий инсайт изменил наше сознание. Дойдя до 4 вебинара – до четвёртого!!! – мы только узнали, что теряем людей. Мы забыли о цифрах, смотрели на них, но не видели. Сами судите:

Вот такая невесёлая воронка при полной уверенности, что наш курс имеет огромную ценность. Уже две недели мы даём людям сотни полезностей, рассказываем, как в кризис не утонуть, увидеть новые горизонты, поймать возможности, запастись эффективными Agile-инструментами.
Но народ-то уходит…

WTF?!!! В чём дело?!

Читать дальше →
Как мы профакапили уникальный Agile-курс
Source: habrahabr

Как стать востребованным даже в кризис: изучаем DevOps и Data Science

Сейчас востребованность и конкурентоспособность многих специальностей под вопросом. Но есть отрасли, актуальность которых только растёт — речь о Data Science и DevOps. Освоить новую профессию и преуспеть […]
Как стать востребованным даже в кризис: изучаем DevOps и Data Science
Source: 4pda

Пост №4349938

Автор: FiendFromVault3

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://Fallout.reactor.cc/post/4349938″ }, «headline»: «Fallout art :: Fallout (Фоллаут,) :: шлем :: Xie Jinghan :: Pixel Art (Пиксель Арт, Пиксель-Арт) :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Fallout-art-Fallout-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-%D1%88%D0%BB%D0%B5%D0%BC-5910727.jpeg», «height»: 450, «width»: 1800 }, «datePublished»: «2020-05-11T18:30:20+03:00», «dateModified»: «2020-05-11T18:30:20+03:00», «author»: { «@type»: «Person», «name»: «FiendFromVault3» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №4349938
Source: Joyreactor

Пост №4349935

Автор: Elis_Reterica

«Are you serious, man?»Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://mlp.reactor.cc/post/4349935″ }, «headline»: «"Are you serious, man?" / Pinkie Pie (Пинки Пай) :: mane 6 :: mlp art :: my little pony (Мой маленький пони) :: reterica_art :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/my-little-pony-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-Pinkie-Pie-mane-6-5910710.png», «height»: 1536, «width»: 2727 }, «datePublished»: «2020-05-11T18:28:51+03:00», «dateModified»: «2020-05-11T18:28:51+03:00», «author»: { «@type»: «Person», «name»: «Elis_Reterica» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №4349935
Source: Joyreactor

Основные linux-команды для новичка

Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!

Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков.

Я дам кратенькое описание основных команд с примерами + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме».
Читать дальше →
Основные linux-команды для новичка
Source: habrahabr

Инсайды #2205: новый процессор MediaTek, Apple AirPods Studio, долгоиграющий смартфон realme

В новом выпуске Инсайдов: MediaTek разрабатывает конкурента Snapdragon 875; realme выпустит смартфон с аккумулятором на 6000 мАч; Apple готовит к релизу профессиональные студийные наушники.

MediaTek разрабатывает […]
Инсайды #2205: новый процессор MediaTek, Apple AirPods Studio, долгоиграющий смартфон realme
Source: 4pda