• Интеграционные тесты для Java с помощью TestContainers. Меньше безумия, больше порядка, и всё это автоматически

    • Перевод
    • Tutorial

    На Хабре совсем нет информации про TestContainers. На момент написания этой статьи, в поисковой выдаче есть анонсы наших же конференций, и всё. Между тем, в проекте на GitHub у них уже более 700 коммитов, 54 контрибьютора и 5 лет истории. Похоже, все эти пять лет проект тщательно скрывался спецслужбами и НЛО. Настало время выйти из тени на свет.



    Чукча — читатель, а не писатель. Поэтому, вместо написания своего текста, я попросил разрешения на перевод соответствующей статьи из блога RebelLabs.


    Итак, здесь мы поделимся парой слов о наимоднейшей Java-библиотеке для интеграционного тестирования — TestContainers. Кроме этого, будет немного о том, почему интеграционное тестирование настолько важно для ZeroTurnaround и их требования к интеграционным тестам. И конечно, будет полнофункциональный пример интеграционного теста для Java-агента. Если кто-то никогда в глаза не видел код Java-агента, то сейчас самое время. Добро пожаловать под кат!

    Читать дальше →
  • Обзор программы Heisenbug 2017 Moscow: сколько нужно тестировщиков, чтобы запустить тесты на атомной электростанции?

      image


      Вступление


      Как вы уже, наверное, знаете, 8-9 декабря в Москве пройдёт очередной Heisenbug, поэтому мы решили познакомить Хабр с программой предстоящего события.


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


      Почему тебе, дорогой хаброжитель, вообще стоит слушать какого-то маркетолога, который пишет эту статью? Что он может понимать в нашем нелёгком труде? За этой инфой пришлось лезть в самые тёмные глубины LinkedIn: когда-то давно, в 2010 году я устроился в одну небольшую уютную компанию в Новосибирском Академгородке на первую свою работу Java-программистом. Чтобы немножко изучить продукт, руководство поручило ответственную миссию: вручную бегать по интерфейсу нашего веб-приложения, прокликивать кнопочки и выдергивать оттуда ошибки. Довольно скоро мне поручили придумывать тест-планы, а потом и вовсе дали невероятно ответственную задачу: написать совершенно новый фреймворк для автоматического тестирования.

      Читать дальше →
    • Обзор программы HolyJS 2017 Moscow: от WebAssembly до Yarn



        До конференции HolyJS осталось совсем немного (она пройдёт в Москве 10-11 декабря), сейчас в её программу вносят последние штрихи — а значит, мы можем как следует представить эту программу Хабру. Какие доклады нас ждут? Если суммировать одним словом, то «разнообразные». HolyJS никогда не ограничивалась рамками «конференции про фронтенд-фреймворки», а стремилась охватывать JS-мир во всей его широте. И в этот раз разброс очень заметен: от Node.js и GraphQL до браузерных «Героев меча и магии» и победы над квантовым компьютером с помощью WebAssembly. В результате при взгляде на программу глаза так разбегаются, что в этом хабрапосте даже не получилось разбить её на несколько тематических блоков, и пришлось просто описать все доклады поочерёдно.

        Впрочем, кое-что мы выделили отдельно: кейноуты. Конференция пройдёт в трёх залах, но каждый день будет начинаться и заканчиваться общим для всех выступлением, так что логично начать описание с этих четырёх тем от четырёх всадников JavaScript-апокалипсиса, которые слетятся в Москву из-за рубежа.
        Читать дальше →
        • +15
        • 2,6k
        • 2
      • Особенности ручного тестирования в ALM Works и Одноклассниках

          image


          Если программирование, как утверждает известная шутка, — это процесс внесения ошибок в кодовую базу проекта, то должны быть и супергерои, не жалеющие нервов и глаз своих, чтобы число багов и недоработок не зашкаливало слишком уж сильно. Эти люди живут среди нас, и, поверьте, близко к сердцу воспринимают каждое дурное слово, сказанное по поводу очередного проявившегося в той или иной программе бага: это значит, что их работа не закончена, что их крестовый поход против поиск проблем продолжается.


          Одним из устоявшихся мифов по поводу тестирования является идея, что тестировать ПО — дело как раз для стажеров. Другим мифом можно назвать мысль, что тестированием как таковым называется сам процесс ловли багов, а успешность ловли определяется числом зарепорченных проблем (особенно это актуально для ручного тестирования, а не просто для прогонов автотестов). И тот, и другой мифы весьма живучи не просто среди ИТ-шников, но даже среди разработчиков — факт довольно удивительный, поскольку уж кто-кто, а они кухню процесса создания действительно хорошего ПО знают отлично. Однако живём с тем, с чем живём, остаётся лишь по мере сил менять ситуацию.


          Ради такой темы мы пригласили к общению двух специалистов в области тестирования: Никиту Макарова, занимающегося тестированием в Одноклассниках, и Юлию Атлыгину, отвечающую за то же направление в ALM Works.

          Читать дальше →
        • Использование buildSrc для внедрения дополнительной логики в Gradle

          • Перевод
          • Tutorial

          Интересная заметка от Madis Pink в блоге ZeroTurnaround RebelLabs. Если кто-то вас разбудит посреди ночи и спросит: «какую фичу в Gradle должен знать каждый?» — с уверенностью отвечай, что это buildSrc. Это особый магический Gradle-проект внутри твоего репозитория, доступный всем файлам build.gradle в виде библиотеки.


          Описанный далее подход позволяет писать код на удобном тебе JVM-языке, и результат использовать прямо в своих сборочных скриптах. Как бонус, можно покрыть юнит-тестами особо хитрые моменты в этих скриптах. Добро пожаловать под кат!

          Читать дальше →
          • +20
          • 3,1k
          • 5
        • Внутреннее устройство и оптимизация бандла webpack

            Webpack фактически стал стандартом для сборки крупных приложений на JS. Его используют практически все. Для разработчика webpack выглядит как магический черный ящик: если забросить в него файлы и небольшой конфиг, на выходе автоматически появится бандл.

            Чтобы разобраться в секретах этой магии, мы обратились к эксперту, человеку, который неоднократно залезал внутрь webpack, — Алексею Иванову. Он готов объяснить, как выглядит бандл изнутри, как на него влияют разные настройки, к чему и почему могут привести некоторые из них, а также рассказать, как все это отладить и оптимизировать.


            В основе материала — доклад Алексея Иванова на конференции HolyJS 2017, проходившей в Санкт-Петербурге 2-3 июня.
            Читать дальше →
          • Перформанс во всех смыслах: как прошёл DotNext 2017 Moscow



              В прошлом году конференция DotNext проходила в Москве один день, а в этом стала двухдневной. Теперь, когда очередной московский DotNext позади, а зрители прислали свой фидбэк, время оглянуться: как всё прошло, и что вошло в увеличившийся хронометраж? Подробности под катом, а для затравки скажем, что слово «performance» оказалось актуально в обоих значениях: и «производительность», и «художественное выступление».
              Читать дальше →
            • Анонс Java-конференции JBreak 2018: Соединяем точки

                Пришло время рассказать о нашей новой конференции — JBreak 2018. Для нетерпеливых, визитная карточка мероприятия:



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


                Так получилось, что у меня много друзей в возрасте около 25 лет. Все они искренне верят, что не доживут до 30, и спрашивают — ну как там, по другую сторону? Еще они спрашивают, как стать настоящим программистом (что бы это ни значило). А еще — стоит ли ехать на конференцию. Отвечаю: пока что здесь замечательно, стать успешным разработчиком можно и нужно, и чтобы объяснить это — у меня есть три истории.

                Читать дальше →
                • +33
                • 3,1k
                • 1
              • Когда стоит переходить к автоматизации тестирования

                  В этот раз мы поговорили об автоматическом тестировании с Аланом Пейджем, приложившим руку к созданию Windows 95, Internet Explorer и MS Office. Алан — великолепный специалист и собеседник. В этом интервью он простым и доступным языком рассказывает о нетривиальных аспектах процесса. Мы сконцентрировались на вопросах определения границ между разработкой и тестированием, проблемах с легаси, оценке качества тестов и отличии тестирования крупных проектов от малых.


                  Читать дальше →
                  • +27
                  • 8,8k
                  • 9
                • Оптимизация скорости визуализации веб-страниц

                    Нередко рассказы о том, как веб-разработчики заботятся о своих приложениях, начинаются с процесса визуализации сайта, опускаются на уровень DOM и останавливаются на утверждениях типа: «И это быстро потому, что используется ускорение». Мартин Сплитт рассказывает о производительности снизу вверх: он начинает с пикселя и поднимается уровень за уровнем, заканчивая компоновкой страницы.


                    В основе статьи – выступление Мартина на JavaScript-конференции HolyJS 2017 в Питере, где он рассказывает о том, как происходит визуализация в браузерах и что нужно делать для того, чтобы ваши сайты «летали».
                    Читать дальше →
                    • +22
                    • 13,8k
                    • 9
                  Самое читаемое