company_banner

Курс от Яндекса о том, что должен знать каждый разработчик, который хочет делать большие системы. Модное слово DevOps и другое

    Всю рутину, которую можно отдать роботам, нужно отдать роботам. Большие системы без этого невозможны. В разработке и тестировании очень много похожих задач, которые не требуют высокой квалификации, но отнимают много времени. Человек, который умеет обеспечить разработку, тестирование и деплой – это редкий специалист и его на количество страничек никак не масштабируешь.

    В Яндексе тестировщику невозможно без автоматизации. Мы даже развиваем экспериментального робота, который способен брать на себя функциональное тестирование. В какой-то момент мы поняли, что не так много людей осознают, сколько сейчас есть возможностей работать не 12 часов, а головой. Собрав весь свой опыт в тестировании и деплое, мы открыли в питерском офисе Яндекса Школу автоматизации процессов разработки. У нас получилась школа, где каждый, кто пишет код, может получить базовый набор знаний о том, как собрать, запустить и поддерживать сервис в продакшене так, чтобы это стоило недорого.



    Курс открывает моя лекция о том, зачем вообще автоматизировать процесс разработки. Из нее вы получите представление о то, что будут рассказывать мои коллеги.

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

    Системы хранения исходного кода


    Марат Мавлютов занимается автоматизацией тестирования той части Яндекса, надежная работа которой напрямую влияет на доходы компании – рекламных технологий.



    В лекции Марат расскажет, зачем вообще нужны системы хранения исходного кода, их историю и уделит отдельное внимание рассказу о Git и Github.

    Автоматизация сборки Java-проекта


    Иван vaniaPooh Крутов занимается вопросами, связанными с применением облачных технологий для целей тестирования. Он один из разработчиков проекта Allure Framework. Он служит для получения отчетов о прохождении автотестов. Отчеты отображают информацию в понятном виде и для тестировщиков, и для менеджеров проекта. К ним можно прикладывать скриншоты, логи и любые другие файлы. Allure позволяет разбивать сложные тесты на шаги, включать информацию о параметрах тестов и тестового окружения.


    Из лекции вы узнаете, почему промышленная разработка невозможна без использования инструментов сборки, услышите краткую историю их развития. Иван расскажет о наиболее популярных инструментах сборки для Java-платформы и некоторых других языков программирования, поговорит об основных возможностях Maven.

    Инструменты непрерывной интеграции


    Денис dchr Чернилевский руководит работой команды, которая занимается тестированием системы медийной рекламы и Яндекс.Браузера. У Дениса есть опыт и в интернет-сервисах, и в софтовых продуктах. В Яндексе он с 2012 года, а до этого четыре года был сначала инженером, а потом руководителем в Parallels.


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

    Автоматизация тестирования


    Эту лекцию читаю я. Я в Яндексе уже шесть лет.


    В этой лекции подробно рассказывается об интеграционных, системных и юнит-тестах, а также об их отрицательных и положительных сторонах.


    Фреймворки автоматизации тестирования


    Леонид leonsabr Руденко руководит командой, которая отвечает за автоматизацию тестирования поисковых интерфейсов. Сам он закончил физфак СПбГУ, пришел в Яндекс в 2010 году стажером, а сейчас – ведущий инженер.


    Все хотят писать тесты быстро и понятно, легко запускать их и анализировать результаты. Лёня расскажет, какие инструменты позволяют наладить процесс создания автотестов и что выбрать, чтобы не прогадать? В лекции вы познакомитесь с идеологией xUnit, а также Java-фреймворками JUnit и TestNG.

    Отчеты автотестов


    Дмитрий Баев – выпускник ИТМО. В Яндексе уже более двух лет. Занимается разработкой инструментов тестирования. Один из разработчиков Allure — фреймворка для получения отчетов о прохождении тестов.



    Зачем нужны отчёты автотестов, какими они бывают и какой выбрать? В лекции вы познакомитесь с системами Surefire, Thucydides, Allure, а также узнаете, как сделать свой отчёт.

    Запахи тестов


    Кирилл Lanwen Меркушев пришел в Яндекс стажером в начале 2012 года. Начинал с автоматизации тестирования Яндекс.Почты. Сейчас его команда занимается автоматизацией тестирования персональных сервисов Яндекса: внутренних почтовых компонентов, Почты, Диска. Очень любит OpenSource и Jenkins.




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

    Статический анализ кода


    Артём art_koshelev Кошелев – один из создателей фреймворка Allure и человек, который отвечает за тестирование самой посещаемой страницы рунета – главной Яндекса. Работает в Яндексе уже больше пяти лет.



    Артём расскажет от особенностях, достоинствах и недостатках динамического и статического анализа, устройстве статического анализатора. Вы услышите, почему составляющие качественного кода —понятность, простота и архитектура. Также в лекции затрагиваются популярные инструменты статического анализа и есть обзор SonarQube.

    Покрытие кода


    Илья smecsia Садыков в Яндексе около года. Он не только разрабатывает внутренние инструменты автоматизации процессов тестирования, но и различные открытые проекты команды qatools. Кандидат технических наук.



    Это лекция о способах измерить качество тестирования кода. Подробный рассказ о тестовом покрытии и факторах, которые на него влияют. Илья затронет инструменты для измерения тестового покрытия и особенности их работы, и расскажет о возможностях, которые даёт инструментирование кода.

    Нагрузочное тестирование


    Олесь doctornkz Писаренко в Яндексе уже шесть лет. При нем у нас появился Танк и Лунапарк, о которых он рассказывал. Сейчас он руководит нагрузочным тестированием и занимается поддержкой нашего опенсорсного Танка. Это инструмент для нагрузочного тестирования и анализа производительности веб-сервисов и приложений. Танк был разработан в Яндексе в 2006 году для проверки на прочность баннерной системы. Сейчас это один из основных инструментов измерения производительности.


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


    Как я говорил, помимо лекций у нас еще проводились мастер-классы. Для тех, кому удобнее смотреть их подряд вместе с лекциями, мы собрали отдельный плейлист с материалами Школы в канале Яндекс.Образование, где и дальше будут выкладываться материалы всех наших образовательных проектов.
    Метки:
    Яндекс 554,32
    Как мы делаем Яндекс
    Поделиться публикацией
    Комментарии 18
    • 0
      А есть какой-нибудь способ скачивать видео из сервиса яндекс-видео и смотреть его в ios? Кажется, яндекс, по причинам, которые невозможно постичь, не предусматривает такой use-case.
      • 0
        Яндекс, видимо, действительно такую фичу не предоставляет, но есть сторонние ресурсы, которые по ссылке на Я.видео (нати можно по кнопке Поделиться) могут выдать ссылку на скачивание. Savefrom, например.
        • 0
          С яндекс.видео не удастся скачать, так с youtube точно получится. Зайдите на канал, ссылка в конце есть.
          • +4
            Немного промахнулся — дал ниже ссылку на Диск.
          • +7
            Для того, чтобы скачать видео лекция целиком, можно сходить на Яндекс.Диск:
            yadi.sk/d/CVmVoRYBdPRpn
            • 0
              Очень уж не хватает возможности изменить вид на «список» — сложно понять порядок лекций, в именах файлов даты в конце, еле нашёл вашу вводную.
          • 0
            Отличные лекции, спасибо, смотрю с удовольствием, буду настоятельно рекомендовать друзьям и коллегам =)
            • +2
              А где девопс то?
              • +1
                Хороший вопрос.
                Прямого упоминания слова «DevOps» ни в одной лекции вы не найдете.

                Представим DevOps как пересечение разработки, тестирования и эксплуатации, прям как в wiki, да. Задача DevOps — сделать процесс поставки ПО состоящим из понятных частей, связанных ясным образом.
                В лекциях мы рассказали об инструментах, с помощью которых можно эту задачу решить. А именно, автоматизировать процесс поставки ПО от коммита до продакшена.
                Конкретный конвейер участники школы изобретают сейчас в рамках практики.

                Практика закончится в конце января. Примерно в это же время появится пост, в котором я расскажу детали.
                • 0
                  У нас в компании есть несколько людей, полноценно на 100% занимающихся облегчением жизни девелоперов и тестировщиков, которые так и называются ДевОпами. Следят за билдами, разворачивают среды, подготавливают статистики использования ресурсов и делают еще кучу всего, напрямую не связанного с процессом разработки.
                  Появление такой роли в команде существенно ускоряет процессы выпуска и поддержки продукта и сильно снижает количество ошибок, связанных с этими процессами.
                  Хотя я не занимаюсь разработкой на основной работе, могу точно сказать что ненавижу разворачивать-настраивать среду и каждый раз мечтаю о собвственном девопе когда делаю что-то «для себя».
              • +1
                Что-таки в вашем понимании означает «LGTM»? За кадром не слышно =)
                • 0
                  Looks good to me или let's get this merged.
                  • 0
                    Да, так и думал =) Пытался узнать, может что-то конкретное из этого.
                • 0
                  А почему удален ролик «Автоматизация тестирования»?

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое