четверг, 12 июня 2014 г.

BBST: Foundations - обзор курса

Как я уже говорил и обещал, в апреле-мае я закончил онлайн-обучение по курсу BBST: Foundations. На днях мне пришло письмо об успешном окончании курса и диплом, и теперь я могу с полным правом выполнить свое обещание: написать о курсе подробнее.


Ранее я уже публиковал перевод статьи Сэма Канера "Неудача Udacity", об онлайн-образовании, о том, как сделать его более эффективным, что для этого необходимо. Мне было интересно сопоставить мнение Канера с тем, как он решал проблемы, обозначенные в статье, в своих онлайн-курсах.
BBST: Foundations - первый из серии курсов серии Сэма Канера, рассказывает, как ясно из названия, о базовых вещах в тестировании. Обязателен для прохождения, если вы планируете изучать следующие курсы. На текущий момент "следующими" ступенями являются курсы:
  • BBST: Bug Advocacy - оттачиваем навыки написания баг-репортов: начиная от определений бага, дефекта, жизненного цикла отчета, воспроизведения и исследования бага до написания хорошо структурированного отчета;
  • BBST: Test Design - от определения тест-дизайна и техник до их практического применения и эвристической модели тестовой стратегии (Heuristic Test Strategy Model)
  • BBST: Instructor Course - для тех, кто хочет стать инструкторами курсов BBST, либо для компании, либо как независимый консультант. 

Стоимость курса BBST: Foundations - 125 долларов + будет необходимо оплатить членский взнос за вступление в AST - сообщество (насколько я помню, это 20$ за год как студент). Курсы по Bug Advocacy и Test Design стоят уже 200 долларов, а курс инструкторов - бесплатный.

Курс длится 4 недели: 3 недели на темы + 1 неделя на подготовку и сдачу экзамена.  Рекомендуемое время для изучения - 12-14 часов в неделю. По своему опыту скажу, что у меня где-то так по времени и получалось. Одна деталь: это число "чистых" часов, без отвлечений. Желательно распланировать загрузку более равномерно в течение всей недели. Так как тем в курсе шесть, то получается по 2 темы на семь дней.

Темы курса BBST: Foundations:
  • Общий обзор курса и базовые понятия (компьютерная программа, баг, тестирование ПО, "ящики", виды тестирования и т. д.);
  • Стратегия тестирования (определение тестирования, миссия, цели тестирования, стратегия, дизайн, контекст, техники);
  • Использование эвристик и оракулов (определения оракулов, тестируемой системы, эвристик и их оценки, оракулы соответствия и оракулы Хоффмана)
  • Основы программирования и покрытие (вычисления, системы счисления, представления чисел в памяти, типы переменных, структуры данных, покрытия состояний и ветвей
  • Невозможность полного тестирования (покрытие, полное тестирование и примеры его невозможности
  • Измерения (основы измерений, параметры измерений, модель Вейбулла, искажения и дисфункции
Для курса вам понадобится достаточно хороший английский (мое мнение, не ниже уровня Intermediate - B1) - для чтения литературы, понимания лекций, комментирования своих и чужих ответов. В моей группе было 2 индуса, один белорус (это я), немец, португалец, остальные 12 человек - native-speaker'ы (UK, US, Canada, New Zealand). Так что только с "Ландан из зэ кэпитал оф Грэйт Бритэйн" и гугл-транслейтом будет тяжеловато.

Курс включает в себя:

  • Лекции (доступны в бесплатном доступе - http://www.testingeducation.org/BBST/foundations/);
  • Презентация - одна на весь курс, тоже в бесплатном доступе с лекциями;
  • Материал для чтения: обязательный и дополнительный. Я прочитал весь обязательный, дополнительный - что больше было для меня актуально на тот момент.
  • Тесты для самопроверки (quiz) - всего их 5, по одному к каждой теме. Для ответов можно пользоваться чем угодно (open book), авторы курса советуют проходить тест параллельно с просмотром лекций для лучшего понимания и закрепления материала. Каждый тест имеет жесткий дэдлайн, после которого ответы не принимаются и тест считается не пройденным.
    Всего в каждом тесте порядка 10-12 вопросов, ответы с множественным выбором. Интересная схема оценки правильности ответа: полностью правильный ответ - 1 балл, частично правильный (если в вашем ответе выделенные ответы являются правильными, но ответ не полон. Например, если вы выбрали варианты A и B, а в правильном ответе должны быть варианты A, B, C, то ваш ответ будет частично правильным), то вы получите 0.25 балла, во всех других случаях (неправильный ответ или даже "частично неправильный") вы получаете 0 баллов за вопрос.
    Еще один усложняющий момент теста - вы должны отвечать "According to the lecture", как хотите. В общем, у меня редко получалось набрать в тесте больше 70% от максимума.
  • Домашние задания: упражнения, которые нужно выполнить перед просмотром лекции (для того, чтобы оценить свой текущий уровень знаний и сравнить его с тем, что вы услышите на лекциях), командные задания (работа в группе из 4-5 человек по заданной теме, обсуждение в форуме, общий результат обсуждения оформляется в Вики), оценка работы коллег и других команд (peer evaluation). Именно командная работа и оценки коллег - одна из самых сильных частей данного курса. Небольшая ложка дегтя - хотелось бы еще больше фидбэка от инструкторов курса. Комментарии инструкторов есть, но их мало.
  • Вопросы для тренировки перед экзаменом: 10 "коротких" и 10 "длинных" (в зависимости от объема ответа, который от вас требуется: например, короткий - это пару абзацев, длинный - развернутое эссе, порядка 5 абзацев). Это отличная возможность поупражняться в своих ответах, оценить других и самому получить оценку.
  • Итоговый экзамен (Closed Book Exam - ничем нельзя пользоваться, так обучение онлайн, конечно, никто над вами не стоит, но если вас заподозрят в списывании - курс засчитывается как Failed без возможности пересдачи). Экзамен состоит из 3 "длинных" и "коротких" случайных вопроса из пула вопросов для тренировки перед экзаменом. Очень важно отвечать на вопрос кратко и по существу, не отвлекаясь на то, что не спрашивается в вопросе, так как это трактуется как неумение выделить только самое главное и/или незнание, а вследствие - желание написать все подряд "для объема". Лучше отвечать меньше, но качественнее, при этом вы должны показать, что поняли тему вопроса и знаете то, о чем пишете.
    После итогового экзамена, вы будете должны оценить работы 2 коллег, а также поставить себе оценки за каждый вопрос. 
У домашних заданий и тестов установлены дэдлайны, поэтому желательно, конечно, позаботиться о том, чтобы у вас было как минимум время и онлайн-доступ с возможностью работать с материалом (особенно актуально летом в период отпусков). Так как есть групповые домашние задания, то из-за разницы в часовых поясах лучше работать оперативно, не откладывать все на последний вечер.

Из 12 рекомендованных часов у меня выходило порядка 2-4 часов на теорию (лекции + материалы) и тест по теме, остальные 8-10 часов - на домашние задания. По этим данным можете судить сами, насколько курс Foundations практический.

В целом, курс однозначно стоит порекомендовать тем, кто уже обладает некоторым опытом в тестировании: вы получите структурированные знания, расширите свой кругозор и примените это сначала на практике в домашних заданиях, а затем и на проекте. На мой взгляд, это лучший курс как баланс между теорией и практикой. Сам рекомендую данный курс, и ставлю в свой дальнейший план прохождение курсов Bug Advocacy и Test Design.

На этом все. Если есть еще вопросы по BBST - пишите в комментариях, отвечу.

Комментариев нет:

Отправить комментарий