Тестовый курс
Практический курс о тестировании в Ruby и Rails. С наставником, теорией, домашкой и дополнительными материалами: статьями, советами, видео.
Объясняем теорию на пальцах
И на примерах
Задаём домашние задания
И проверяем их в Гитхабе
Для кого
Для разработчиков знакомых с Ruby и RSpec, но не до конца понимающих что и как тестировать. Для тех, кто прошёл курс или интенсив по Ruby on Rails, но не может написать тест с нуля. Для тех, кто исправляет баг за 5 минут, а потом 2 часа пишет тест.
Если вы в совершенстве владеете TDD/BDD и отличаете мок от стаба, то курс не принесёт вам ощутимой пользы.
Чем полезен
Курс поможет научиться проверять собственную работу автоматическими тестами. Объясним, как проверять приложение модульными и интеграционными тестами, как имитировать действия пользователя.
Отдельный раздел курса посвящен правилам, с помощью которых вы научитесь писать тесты так, чтобы их было легко читать и поддерживать.
В курсе предусмотрена практика. Набьёте на ней руку и станете писать тесты быстрее чем код.
Курс в вашей компании
Если вы не хотите записывать своих коллег на курс поодиночке, проведите курс только для сотрудников вашей компании, чтобы вся команда училась синхронно. График занятий индивидуальный для каждой компании. Участники обсуждают с преподавателем вопросы из ежедневной работы — не боясь показать тесты и код посторонним.
Чтобы начать разговор, напишите:
vasily@polovnyov.ru
Ответы на вопросы
Что внутри?
Вот уроки, которые мы отправляем:
- Модульные тесты
- 1. Знакомство с пирамидой Тестоу
- 2. Что и как тестировать у модуля
- 3. Если модуль использует другой модуль
- 4. 5 правил модульных тестов
- Понятные тесты
- 5. Пишите для людей
- 6. describe и context
- 7. before и let
- 8. Одна проверка на тест
- 9. Ничего лишнего
- Тесты в браузере
- 10. Модульные тесты с Jest
- 11. UI тесты
- 12. Хорошие сценарии
- Бонус-треки
- 13. Как тестировать рандом
- 14. Как тестировать код, использующий внешний АПИ
- 15. Как тестировать рейк-таски
- 16. Как бороться с «мигающими» тестами
- 17. Как начать писать тесты в «махровом легаси»?
Что будем использовать?
RSpec и Capybara. Тесты на них выразительные: их проще читать и понимать.
Какие системные требования?
Акаунт на Гитхабе и базовые знания Ruby и Rails: отличать класс
от модуля, attr_reader
от attr_accesor
, контролер от модели.
Сколько времени занимает?
Около 3-4 часов в неделю. Первые домашние задания самые сложные: бывает, в них
по 70-80 замечаний, нужно будет чуть больше времени.
Если я куплю курс, это 12000 рублей один раз заплачу или каждый
месяц, каждую неделю?
Один раз. Никакой подписки или ежемесячных списаний нет.
А можно купить в рассрочку?
Конечно. Напишите на vasily@polovnyov.ru,
что-нибудь придумаем.
Как и когда проверят мою домашнюю работу?
Мы проверяем домашнюю работу в течение двух дней. Проверка — кодревью пуллреквеста в Гитхабе. Если проверка задержится, мы вас предупредим.
Можно ли отказаться?
Конечно. Если курс вам не понравится в первую неделю, вернём деньги.
Что еще почитать по тестам?
Пожалуйста:
- Подборка статей про модульные, интеграционные и приемочные тесты
- Как начать писать тесты в махровом легаси
- По хардкору: дублеры, моки, стабы
- По хардкору: instance_double, verify_partial_doubles
- По хардкору: describe и context
- Проблемы с subject
- Гигиена в тестах
- Как тестировать коллбэки ActiveRecord моделей
Отзывы
Чего вы ждали от курса?
Хорошей и правильной практики тестирования, чтобы создать крепкий фундамент: с какого боку подойти к тесту, с чего начать, как закончить, для чего применить ту или иную конструкцию, как правильно структурировать сделанное.Что получили?
Получил то, чего и ожидал, и даже больше. Узнал новые для себя приемы и подходы. Всеобъемлющий cheat sheet по тестированию)
Увидел свои слабые стороны — нужно уметь контролировать своё время и подтягивать английский. Желание написать свой первый миллион тестов :-)Что понравилось?
Здоровская поддержка, даже, сказал бы, титаническая. Хорошо структурированный и удобно поданый материал. Полное погружение в тему тестирования.Чего не хватило курсу, чтобы он вам принес ещё больше пользы?
Наверное, практических заданий, чтобы тесты прям от фаланг отскакивали) (Может быть, когда-то появится Pro-версия курса :-)).Кому бы вы порекомендовали курс?
Буду краток, не знаю как там у опытных, скажу, что новичкам, страстно желающих уловить суть.Благодарю за терпение и за возможность правильной мысли в тестировании с самого старта!
Евгений Соболенко
Чего вы ждали от курса?
Я хотел получить структурированные знания о тестировании с использованием RSpec.Что получили?
В целом всё, что ожидал.Что понравилось?
Краткость (хотя сначала и было непривычно) и конкретность изложения. Уровень внимания к деталям во время ревью.Чего не хватило курсу, чтобы он вам принес ещё больше пользы?
Возможно чуть больше практических заданий. Или ещё большей связанности заданий: чтобы в последующих заданиях встречались моменты на закрепление уже пройденных уроков.Кому бы вы порекомендовали курс?
Себе три года назад.Василий, спасибо за курс! Очень круто получилось!
Александр Борисов
Чего вы ждали от курса?
Ждал, что буду понимать, что и как тестировать. Сложится структура, как надо и как не стоит тестировать.Что получили?
Собственно это и получил. Осталось только больше практиковаться.Что понравилось?
Всё понравилось.Чего не хватило курсу, чтобы он вам принес ещё больше пользы?
Еще больше домашки. И очень сильно не хватает теста GraphQl с домашним заданием.Кому бы вы порекомендовали курс?
Так коллегам и посоветую. Хотя коллеги мне и посоветовали пройти этот курс ) Им спасибо.П.С. Василий, большое спасибо за терпение )
Алексей
Чего вы ждали от курса?
Я хотел получить структурированные знания о тестировании с использованием RSpec.Что получили?
Получил то, что хотел, и даже больше.Что понравилось?
Мне очень понравилось, что во время курса все подходы были аргументированы. Аргументы в выборе того или иногда предлагаемого подхода дали возможность переосмыслить сформированные привычки в тестировании и осознать в каких именно местах моих тестов была выбрана неправильная техника и/или тактика.
Материалы курсы хорошо сверстаны и логически последовательно выстроены. Возможно, вначале может показаться, что курс сильно не сбалансирован, но это только кажется.Чего не хватило курсу, чтобы он вам принес ещё больше пользы?
Лично мне в написании тестов не хваталоbinding.pry
. Иногда бывает удобно остановиться в тесте и посмотреть, что же именно я замокал. Материалы о JS мне сложно оценить, потому что у меня нет опыта работы с JS. А в работе с capybara мне не хватило настроенного запуска тестов вживую иbinding.pry
: иногда хочется видеть, где именно находится курсор и какая кнопка нажимается.
Некоторые материалы потеряли актуальность, а в некоторых материалах есть различия во взглядах на одни и те же проблемы. Такое различие порождает вопросы, но с другой стороны, показывает противоречивость подходов применяемых в написании тестов.
В.П.: добавили в домашку pry, pry-byebug, инструкции для запуска Капибары вживую. Плюс пересмотрели лекции и ссылки на дополнительную литературу в нихКому бы вы порекомендовали курс?
Алексей Ярославцев
Курс стоит того, чтобы пройти тем, кто боится писать тесты и тем, кто готов попробовать переосмыслить сформировавшиеся привычки в тестировании. Или, если говорить как в рекламе: мне курс помог понять, почему именно не стоило использовать стабы и моки так, как их использовал.
Курс однозначно дает полное представление о подходах в тестировании с использованием RSpec и это отличная возможность ответить на вопрос «а правильно ли я использую тесты?».
Большое спасибо за ваш курс! Вы дали отличную практику, которой так не хватает после прочтения статей и книжек. Спасибо за ваши комментарии к моему коду и ответы на вопросы.
Так вышло, что до последнего времени на работе не уделялось должное внимание тестированию, и у коллег не было «промышленного» опыта написания тестов.
А сходу, вот так взять и вобрать в себя всю философию и практическое применение тестов на основе книг и статей не возможно. Хорошо что забрел на ваш блог, и увидел курс -)
Задания два раза в неделю (иногда без практики) для работающего — ОК, чаще точно не нужно, мне кажется вы подобрали идеальный график.
В самих заданиях я бы добавил 1-2 предложения, в которых бы описывалась бизнес-суть тестируемого модуля, так было бы проще погрузиться в контекст задачи.
Андрей Ермолаев
Чего вы ждали от курса?
— больше узнать о тестировании;
— практики под присмотром.Что получили?
Всё, что ожидал.Что понравилось?
— хороший и доходчивый язык в письмах;
— необходимо и достаточно ссылок по теме;
— отзывы и общение по коду.Чего не хватило курсу, чтобы он вам принес ещё больше пользы?
— вопросов для самопроверки в уроках. Что-то типа: «Ознакомься с уроком, прочитай статьи из урока и ответь на следующие вопросы: ...»;
— необязательные задания с повышенной сложностью;
— ссылок «куда идти дальше» в последнем письме.Кому бы вы порекомендовали курс?
Парням на работе.Курс сделал вторую половину лета ещё лучше.
Алексей Мехоношин
Спасибо, Василий!
Чего вы ждали от курса?
Хотелось закрыть свои пробелы в RSpec.Что получили?
Применяю полученные знания на работе, получил положительный отзыв о качестве написанных тестов.Что понравилось?
Доступность информации и подробный Code Review.Чего не хватило курсу, чтобы он вам принес ещё больше пользы?
Затрудняюсь ответить.Кому бы вы порекомендовали курс?
Давид Саламау
Уже рекомендовал коллегам.
Чего вы ждали от курса?
Лучшего понимания как и что тестировать. Когда достаточно модульных тестов, когда нужны интеграционные. Избавиться от страха/лени писать тесты.Что получили?
Умение писать тесты с нуля. Вижу и понимаю когда тесты написаны плохо (не всегда, но много лучше чем до курсов). Теперь, когда вижу кривые тесты, глаза начинают кровоточить, руки чесаться, с трудом сдерживаю желание все перехерачить. И все-таки иногда перехерачиваю, если ПР от этого не сильно разрастется.Что понравилось?
Язык, как все объяснено — с юмором и без занудства. Минимум текста, максимум наглядных примеров. Ко всем темам были примеры, простые и понятные. Домашнее задание для закрепление материала и его проверка с разбором — бесценно. После этого курса тесты стали восприниматься немного иначе. Не как принудиловка, рутина.Чего не хватило курсу, чтобы он вам принес ещё больше пользы?
Немного не хватило примеров или практики для понимания, когда тестов слишком много. Можно было бы включить занятие по PageObjects (site_prism) и побольше примеров js тестов для общего развития. А так же тестов на вьюхи.Разбора кукумбер фич. Многие сталкивались в проектах с ними, многие хотят избавиться от них
Кому бы вы порекомендовали курс?
Нияз Серазетдинов
Всем. Кому-то для освежения в памяти, кому-то для обучения. В основном, новичкам, узнавшим о рельсах и научившимся генерировать приложения из скафолда. Чем раньше привить любовь к тестам, тем легче будет потом.
Купить
Запись закрыта. Курс пока не проводится