вторник, августа 24, 2010

Москва, 3 сентября, "Тест-дизайн от А до Я"

3 сентября в Москве я проведу тренинг «Тест-дизайн от А до Я».

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

Тест-дизайн не должен восприниматься как набор догм, жёстких правил, неукоснительное следование которым гарантирует создание хороших тестов и обнаружение всех дефектов.

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

Именно в силу этой практически-философской направленности этот тренинг полезен всем без исключения, кто имеет хоть какое-то отношение к тестированию.

Посмотреть подробную программу и условия участия

понедельник, августа 16, 2010

Осенние мероприятия для тестировщиков в Санкт-Петербурге

Осень в Санкт-Петербурге будет горячей для тестировщиков: в сентябре состоятся четыре тренинга Алексея Баранцева, в октябре — три тренинга Натальи Руколь, а в ноябре в Питер вновь приедет конференция SQA Days, так что тестировщикам предоставляется масса возможностей для повышения своего мастерства. Конечно, посетить всё было бы здорово, но маловероятно, так что нужно выбирать, а мы постараемся вам в этом помочь, опубликовав описания тренингов с рекомендациями относительно того, на какую аудиторию они рассчитаны.

Ниже вы найдёте полные описания и ссылки на ещё более полные описания тренингов. Для начала просто список с датами:

    Тренинги Алексея Баранцева

    =======

    Тренинг «Тест-дизайн от А до Я» (9 сентября) в каком-то смысле философский. В нём я пытаюсь рассказать не про правила тест-дизайна, а про идеи, которые породили эти правила, которые лежат в их основе.

    Тест-дизайн не должен восприниматься как набор догм, жёстких правил, неукоснительное следование которым гарантирует создание хороших тестов и обнаружение всех дефектов.

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

    Именно в силу этой пракически-философской направленности этот тренинг полезен всем без исключения, кто имеет хоть какое-то отношение к тестированию.

    =======

    Тренинг «Автоматизация функционального тестирования веб-приложений: Selenium RC» (10 сентября) предназначен для тестировщиков-автоматизаторов веб-приложений. Selenium сейчас является одним из наиболее популярных бесплатных инструментов автотестирования веб-приложений, а среди русскоязычных тестировщиков, наверное, самым популярным.

    Серьезная автоматизация тестирования требует умения программировать. Конечно же научиться программировать на однодневном тренинге невозможно (для этого у нас есть двухмесячный тренинг «Программирование для тестировщиков»), но если вы уже немного в этом разбираетесь – я покажу некоторые архитектурные приемы, позволяющие удобно организовать тесты и тем самым снизить затраты на их сопровождение и развитие.

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

    Кроме того, я расскажу не только про Selenium, но и про некоторые дополнительные утилиты и плагины, которые могут оказаться полезны тестировщику-автоматизатору.

    =======

    Тренинг «Тестирование методом свободного поиска» (11 сентября) нацелен главным образом на тест-менеджеров и менеджеров проектов, которые хотели бы начать использование этого подхода, но не знают, как управлять слабо формализованным процессом.

    Впрочем, на практике часто бывает так, что роль менеджера выполняет один из тестировщиков, тот что постарше и поопытнее. А иногда и весь отдел тестирования состоит из одного-двух человек, и никакой менеджер им не нужен. В этом случае тестировщикам самим нужно уметь управлять своим временем и использовать его максимально эффективно.

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

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

    =======

    Тренинг «Быстрый старт в тестировании» (12 сентября), как явствует из его названия, предназначен в первую очередь для начинающих тестировщиков. Пригодится он и тем, кто уже не считает себя начинающим, но хочет навести порядок у себя в голове, систематизировав знания о тестировании. Я расскажу не очень глубоко, но буквально обо всём, так чтобы слушатели могли представить себе общую картину того, как устроена профессия тестировщика и понять, какие есть пути развития и совершенствования своей профессиональной подготовки.

    Впрочем, не менее полезен этот тренинг и для тех, кто сам не занимается постоянно тестированием, но работает рядом с тестировщиками и по долгу службы вынужден общаться с ними, кто хочет понимать, чем они занимаются (или должны заниматься), то есть — менеджерам проектов и отделов, разработчикам, аналитикам.

    Тренинги Натальи Руколь

    =======

    «Управление автоматизацией тестирования» (1 октября). Этот тренинг будет проводиться впервые. Его цель – помочь тест-менеджерам построить эффективную автоматизацию даже в случае, если Вы сами не являетесь продвинутым техническим специалистом. Мы расшифруем все те страшные слова, которыми обычно ругаются автоматизаторы-разработчики и поизучаем, как это устроено внутри, а главное – что с этим делать?? Как сделать автоматизацию не чем-то «для галочки», а полезной проектной активностью, которая позволяет экономить затраты ручных тестировщиков? В чём разница автоматизации в маленьких и больших командах? Как отбирать тесты? Как измерять их эффективность? К концу этого тренинга Вы самостоятельно развеете массу широкораспростренённых мифов, которые препятстсвуют результативному взаимодействию миров автоматизированного и ручного тестирования ;)

    =======

    «Управление командой тестировщиков» (2 октября). Это мой любимый тренинг :) Сейчас он полностью переработан и нашпигован секретной информацией тайных спецагентов тест-менеджмента. Этот тренинг – о людях, потому что тестировщики – это в первую очередь люди, и умение формировать команду мотивированных рыцарей-джедаев – самое важное, что Вы можете сделать для своего проекта :) На этом тренинге Вас ждут непрерывные упражнения в группах, которые позволят не просто узнать теорию, а прочувствовать все темы на практике! А тем, кто и так всё знает – понаблюдать за своим менеджментом со стороны и получить массу полезной обратной связи!

    =======

    «Тест-дизайн для менеджеров» (3 октября). Этот тренинг тоже существенно переработан на основании последних отзывов. Половину тренинга мы проведём, занимаясь коллективным творчеством и знакомясь с различными инструментами тест-дизайна, которые созданы для сокращения трудозатрат на тестирование в разы. Это будут основы, которые позволят Вам сориентироваться в существующих подходах к тест-дизайну и научиться выбирать оптимальные варианты. Помимо этого, мы уделим массу времени таким темам, как создание «работающего» тест-плана, формирование команды тест-дизайна, выбор подходящего инструментария. Внимание! Тренинг настолько насыщен мозговзрывающей информацией, что перед ним необходимо хорошенько выспаться! :)

    понедельник, августа 02, 2010

    Набор четвертой группы онлайн-тренинга "Программирование для тестировщиков"

    Открыт набор в четвертую группу онлайн-тренинга «Программирование для тестировщиков».
    Курс начнется 26 августа и будет проходить по четвергам в 17-00  (точные даты курса 26 августа, 2, 16, 23, 30 сентября, 14, 21, 28 октября, 4, 11 октября). Консультации соответственно каждый следующий за занятием  вторник в 17-00.

    Бытует мнение, что тестировщикам вредно уметь программировать. Якобы это умение мешает им потому, что из-за него они слишком много думают о реализации программы и слишком мало о том, как же её протестировать.

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

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

    Сложно ли научиться программировать? Вероятно, бывают люди, для которых алгоритмический стиль мышления абсолютно неприемлем. Но большинство айтишников по крайней мере на интуитивном уровне уже обладают алгоритмическим мышлением. Многие тест-дизайнеры пишут весьма подробные инструкции для ручного тестирования, это почти готовые программы, но предназначенные для "биороботов". Осталось сделать один небольшой шаг и научиться управлять настоящими роботами-компьютерами.

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

    Ну что ж, довольно слов, пора перейти к делу.

    Как и всякий навык, умение программировать нужно тренировать и закреплять. Недостаточно просто прочитать книжку и выучить набор команд. Знать ещё не значит уметь. Поэтому тренинг "Программирование для тестировщиков" будет содержать как теоретические сессии, так и практические задания для самостоятельного выполнения.

    Программа курса

    В этом курсе мы будем учиться программировать на языке Java.

    Первые два занятия посвящены основам программирования. Вы учили это в школе и вузе, но если всё благополучно забылось, придётся вспомнить.
    1.2. Основы программирования.
    На остальных занятиях будет рассмотрен ряд задач, с которыми часто приходится сталкиваться тестировщикам в реальной жизни, и будет рассказано, как средствами программирования эти задачи решаются. Мы не станем углубляться в изучение различий между парадигмами программирования и в тонкости использования тех или иных конструкций. Всё это придёт потом. А пока мы просто научимся решать конкретные практические задачи.
    3. Работа со строками -- анализ строк, проверка соответствия образцу, регулярные выражения.
    4. Работа с контейнерами, предназначенными для хранения наборов данных: множествами, списками, ассоциативными массивами.
    5. Работа с файлами -- чтение и запись данных из файла и в файл, анализ содержимого директорий.
    6. Автоматизация браузера с использованием инструментов Selenium и WebDriver.
    7. Автоматизация Java GUI с использованием Jemmy.
    8. Работа с базами данных -- JDBC и Java Persistence.
    9. Работа с почтой -- сервер James и клиент Java Mail.
    10. Сетевое программирование -- HTTP, FTP и другие протоколы прикладного уровня.

    Подробная программа тренинга "Программирование для тестировщиков"

    Посмотреть отзывы участников онлайн-тренинга "Программирование для тестировщиков"