Пятого декабря в Санкт-Петербурге прошёл третий митап Scala разработчиков. Юзер-группа встречается раз в 2-3 месяца, в гостях у какой-либо из компаний — активных участников сообщества, использующих язык Scala или смежные ему технологии. На этот раз, площадкой проведения был выбран офис компании JetBrains на Васильевском острове. В нём ведёт свою деятельность команда разработчиков Scala plugin для сред IntelliJ IDEA и Android Studio.
В программе митапа были три выступления наших коллег:
Подробности выступлений и видеоматериалы под катом…
Мутационное тестирование. Пожалуй, самое краткое объяснение этого процесса у меня получилось такое: а) есть код покрытый unit-тестами; б) тесты проверяют качество кода; в) намеренно вносимые в код изменения (мутации) проверяют качество тестов.
Например, если в функции, считающей сумму элементов, знак "+" поменять на "-", а тесты, покрывающие её, продолжат проходить, то стоит обратить на это внимание. Мутации вносятся «осознанно», это могут быть замены арифметических и логических операторов, констант, возвращаемых значений функций и др. Чем больше «мутаций» выживает (не обнаруживаются тестами), тем хуже качество тестов.
Известны инструменты М.Т. для Java, Ruby, JavaScript, PHP, С# и Haskell. Так же, известно, что для Scala предпринималась попытка создать таковой инструмент, но не пошло, из-за большого количества манипуляций с кодом на стадии компиляции. Как Андрей справлялся с поставленной задачей, что получилось, и как с этим работать смотрим в выступлении:
В мире Scala абсолютным лидером среди build tools является SBT. И хоть он и поддерживается центром разработки языка Scala, он имеет свои проблемы и сложности. Как мы знаем, прогресс не стоит на месте — предпринимаются попытки эти проблемы решить, в т.ч. и созданием более совершенных инструментов. CBT — молодой и подающий надежды претендент на место основного build tool'a в среде Scala.
Илья, в своём выступлении рассказал о возможностях и преимуществах этого инструмента:
Одна из особенностей языка Scala — сочетание объектно-ориентированной и функциональной парадигм. Возможности, которые оно производит, реализуются в библиотеке Slick для работы с БД. Сергей раскрыл эту тему на ряде практических примеров из опыта работы своей команды:
Спасибо и до новых встреч!
В программе митапа были три выступления наших коллег:
- Андрей Сугак (JetBrains) рассказал о результатах своей дипломной работы: инструменте Мутационного тестирования проектов на языке Scala;
- Илья Кириллов (СПБГУ) представил недавно появившийся build tool CBT;
- Сергей Рублев (eLama) дал ряд практических примеров использования библиотеки Slick.
Подробности выступлений и видеоматериалы под катом…
Инструмент мутационного тестирования для Scala проектов
Мутационное тестирование. Пожалуй, самое краткое объяснение этого процесса у меня получилось такое: а) есть код покрытый unit-тестами; б) тесты проверяют качество кода; в) намеренно вносимые в код изменения (мутации) проверяют качество тестов.
Например, если в функции, считающей сумму элементов, знак "+" поменять на "-", а тесты, покрывающие её, продолжат проходить, то стоит обратить на это внимание. Мутации вносятся «осознанно», это могут быть замены арифметических и логических операторов, констант, возвращаемых значений функций и др. Чем больше «мутаций» выживает (не обнаруживаются тестами), тем хуже качество тестов.
Известны инструменты М.Т. для Java, Ruby, JavaScript, PHP, С# и Haskell. Так же, известно, что для Scala предпринималась попытка создать таковой инструмент, но не пошло, из-за большого количества манипуляций с кодом на стадии компиляции. Как Андрей справлялся с поставленной задачей, что получилось, и как с этим работать смотрим в выступлении:
Cowboy Build Tool, GSoC и прочее
В мире Scala абсолютным лидером среди build tools является SBT. И хоть он и поддерживается центром разработки языка Scala, он имеет свои проблемы и сложности. Как мы знаем, прогресс не стоит на месте — предпринимаются попытки эти проблемы решить, в т.ч. и созданием более совершенных инструментов. CBT — молодой и подающий надежды претендент на место основного build tool'a в среде Scala.
Илья, в своём выступлении рассказал о возможностях и преимуществах этого инструмента:
Практика использования Slick
Одна из особенностей языка Scala — сочетание объектно-ориентированной и функциональной парадигм. Возможности, которые оно производит, реализуются в библиотеке Slick для работы с БД. Сергей раскрыл эту тему на ряде практических примеров из опыта работы своей команды:
Для дальнейшего знакомства
- Фотоматериалы со встречи находятся во встрече мероприятия;
- Информация о новых митапах будет появляться в Юзергруппе Scala SPb;
- Инструмент мутационного тестирования для Scala проектов на GitHub.
Спасибо и до новых встреч!