Бытует мнение, что тестировщикам вредно уметь программировать. Якобы это умение мешает им потому, что из-за него они слишком много думают о реализации программы и слишком мало о том, как же её протестировать.
Определённый смысл в этом есть, возможно для кого-то умение программировать действительно служит отвлекающим фактором. Но если вы умеете бороться с искушениями, тогда этот навык может оказаться весьма полезным, потому что он даёт возможность переложить часть своей работы на компьютер.
Да, имеется в виду автоматизацию тестирования. Но под автоматизацией подразумевается не только написание скриптов, которые эмулируют взаимодействие пользователя с графическим интерфейсом программы. Помимо этих скриптов можно автоматизировать генерацию тестовых данных, проверку содержимого базы данных, развёртывание и настройку тестового окружения, проверку отсутствия сообщения об ошибках в лог-файлах, генерацию отчётов, и многое-многое другое.
Сложно ли научиться программировать? Вероятно, бывают люди, для которых алгоритмический стиль мышления абсолютно неприемлем. Но большинство айтишников по крайней мере на интуитивном уровне уже обладают алгоритмическим мышлением. Многие тест-дизайнеры пишут весьма подробные инструкции для ручного тестирования, это почти готовые программы, но предназначенные для "биороботов". Осталось сделать один небольшой шаг и научиться управлять настоящими роботами-компьютерами.
Разучитесь ли вы тестировать, научившись программировать? Вовсе нет, существующие навыки тестировщика от вас никуда не денутся. Но в дополнение к ним в ваших руках появится ещё один инструмент, и весьма мощный. Разумеется, владение навыками программирования не означает, что их нужно применять здесь и там без разбора, стремясь автоматизировать всё подряд. Силу нужно держать под контролем и применять её лишь там, где её применение обосновано. Для этого нужно хорошо овладеть силой, чтобы она подчинялась вам, чтобы это был привычный инструмент с понятными принципами работы, а не магический артефакт, управляемый загадочными заклинаниями.
Ну что ж, довольно слов, пора перейти к делу.
Как и всякий навык, умение программировать нужно тренировать и закреплять. Недостаточно просто прочитать книжку и выучить набор команд. Знать ещё не значит уметь. Поэтому тренинг "Программирование для тестировщиков" будет содержать как теоретические сессии, так и практические задания для самостоятельного выполнения.
Программа курса
В этом курсе мы будем учиться программировать на языке Java.
Первые два занятия посвящены основам программирования. Вы учили это в школе и вузе, но если всё благополучно забылось, придётся вспомнить.
1.2. Основы программирования.
На остальных занятиях будет рассмотрен ряд задач, с которыми часто приходится сталкиваться тестировщикам в реальной жизни, и будет рассказано, как средствами программирования эти задачи решаются. Мы не станем углубляться в изучение различий между парадигмами программирования и в тонкости использования тех или иных конструкций. Всё это придёт потом. А пока мы просто научимся решать конкретные практические задачи.
3. Работа со строками -- анализ строк, проверка соответствия образцу, регулярные выражения.
4. Работа с контейнерами, предназначенными для хранения наборов данных: множествами, списками, ассоциативными массивами.
5. Работа с файлами -- чтение и запись данных из файла и в файл, анализ содержимого директорий.
6. Автоматизация браузера с использованием инструментов Selenium и WebDriver.
7. Автоматизация Java GUI с использованием Jemmy.
8. Работа с базами данных -- JDBC и Java Persistence.
9. Работа с почтой -- сервер James и клиент Java Mail.
10. Сетевое программирование -- HTTP, FTP и другие протоколы прикладного уровня.
Формат курса
Онлайн-тренинг продолжительностью примерно два с половиной месяца (10 занятий), с еженедельными онлайн-занятиями и практическими домашними заданиями.
Онлайн-занятия состоятся каждый четверг, начиная с 3 декабря с 19.00 до 20.30 за исключением 31 декабря и 7 января :-).
Кроме того, каждый вторник с 18.00 до 18.30 тренер Алексей Баранцев будет ждать в скайпе вопросы участников курса, которым необходима помощь в выполнении домашнего задания.
Каждый участник курса будет получать обратную связь от тренера по результатам выполнения домашнего задания.
Наиболее типичные ошибки будут разбираться на онлайн-занятиях.
В случае, если Вы пропустите какое-либо занятие, Вы получите его запись и домашнее задание.
Технические требования
Все семинары будут организованы с использованием системы DimDim (http://www.dimdim.com).
Система позволяет транслировать звук, презентацию или демонстрацию того, что происходит на десктопе тренера. Помимо этого она дает возможность участникам семинара общаться в общем чате и задавать вопросы тренеру.
Для участия Вам не нужно устанавливать никакого специального программного обеспечения, требуется только браузер c плагином Adobe Flash Player и достаточно быстрое Интернет-соединение.
Проверить пропускную способность своего соединения можно здесь: http://www.dimdim.com/support/dimdim_tools.html (слева инструмент Bandwidth Checker).
Необходимы наушники или другая акустическая система, чтобы слушать ведущего. Микрофон не требуется, вопросы можно будет задавать письменно в чате.
В случае возможных технических сбоев с ведущим можно будет связаться через систему Skype.
Узнать условия участия: http://www.software-testing.ru/events/834-programming-for-testers
Комментариев нет:
Отправить комментарий