Доступно

Программирование на Java для тестировщиков(обновленный)

Тема в разделе "Курсы по программированию", создана пользователем SevenUp7, 14 май 2016.

?

Сколько готовы заплатить?

  1. 100 руб.

    25 голосов
    29,1%
  2. 200 руб.

    33 голосов
    38,4%
  3. 300 руб.

    28 голосов
    32,6%
Цена: 15300р.-97%
Взнос: 426р.
100%

Основной список: 81 участников

Резервный список: 51 участников

Статус обсуждения:
Комментирование ограничено.
  1. 14 май 2016
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Программирование на Java для тестировщиков(обновленный)

    Оплата только балансом. Платить балансом легко и удобно, читайте мануал.

    Это новый актуальный курс (последние лекции записаны в мае). По сравнению со старым он полностью переписан и сильно расширен.

    Этот курс предназначен для обучения тестировщиков программированию на языке Java

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

    Изучаемый материал будет демонстрироваться на едином сквозном примере -- мы будем разрабатывать на языке Java автоматизированные тесты для веб-приложения, используя Selenium WebDriver. Начав с простого теста, записанного “рекордером”, мы будем постепенно усложнять архитектуру тестового набора, добавлять и усиливать проверки в тестах, дополнять тесты генераторами тестовых данных. Основной акцент будет сделан не на алгоритмы, а на изучение различных полезных библиотек и фреймворков, а также шаблонов проектирования, позволяющих организовать код автоматизированных тестов таким образом, чтобы его было легко модифицировать и расширять.

    Но одним примером мы не ограничимся, для закрепления материала мы в течение курса построим "в едином стиле" несколько проектов с тестами для приложений разного типа, научимся тестировать приложения через веб-интерфейс, пользовательский интерфейс Windows, интерфейс доступа к базам данных, сетевые интерфейсы (почта, HTTP, веб-сервисы).

    И напоследок научимся делать тесты на "естественном" языке Gherkin. Да, не удивляйтесь, чтобы делать тесты на "естественном" языке -- нужно уметь программировать :)

    1. Основы программирования
    Большинство учебников и курсов по программированию начинаются с написания простейшей программы, которая выводит на консоль слова “Hello, world!”. Мы не станем нарушать эту традицию, потому что первым делом нужно подготовить среду разработки и убедиться, что всё установлено и настроено правильно. Попутно мы научимся использовать сервис GitHub для хранения исходного кода проекта.

    В первом занятии будут рассмотрены базовые конструкции языка программирования Java -- классы и объекты, переменные и функции. Заодно научимся пользоваться отладчиком. Но до создания тестов так и не доберёмся.

    2. Двухуровневая архитектура тестового набора
    Затем мы сразу совершим “прыжок” -- вместо того, чтобы постепенно усложнять свою первую примитивную программу, мы запишем “рекордером” готовый тест для веб-приложения, перенесём его в среду разработки, подключим все необходимые вспомогательные библиотеки, а потом будем его улучшать.

    Автотесты “системного” уровня (в отличие от “unit-тестов”) удобно разделить на два слоя -- 1) собственно тесты, 2) код, ответственный за взамодействие с тестируемой системой, причём вторая часть, как правило, является более сложной технически.

    Мы научимся создавать такую двухуровневую архитектуру путём плавной трансформации ранее созданных при помощи “рекордера” простых одноуровневых тестов, и познакомимся с понятием “рефакторинга” кода.

    На этом же этапе мы познакомимся с базовыми возможностями тестового фреймворка TestNG.

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

    3. Управление потоком выполнения кода: условный переход
    Условный переход (if-then) -- это одна из основных конструкций языка программирования, позволяющая программе вести себя по разному в разных условиях.

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

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

    Однако чаще циклы используются при работе с “коллекциями” -- списками и множествами объектов какого-то типа. Мы научимся строить и модифицировать коллекции, сравнивать и сортировать их, а также реализовывать в тестах сложные проверки, в которых участвуют коллекции объектов.

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

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

    А затем доработаем тесты -- сделаем их параметризованными и свяжем их с генераторами тестовых данных. Такой подход называется Data Driven Testing (DDT).

    6. Работа с файлами
    Файлы -- это место, где можно хранить тестовые данные. Поэтому в контексте разработки автотестов важно уметь читать данные из файлов разного формата. С другой стороны, создавать тестовые данные тоже не обязательно вручную, можно написать программу, которая их будет гененировать и сохранять в файл нужного формата.

    Мы научимся читать данные из файлов в формате CSV, XML, JSON, а также писать данные в файл в этих форматах.

    7. Работа с базами данных
    Подавляющее большинство многопользовательских приложений (к которым относятся и веб-приложения), а также многие однопользовательские приложения, используют базы данных для хранения информации. Когда пользователь вводит какую-то информацию через интерфейс приложения, она после некоторой обработки попадает в базу данных и хранится там до тех пор, пока она не потребуется для работы того же самого или или какого-то иного приложения. При тестировании часто бывает удобно проверить, правильно ли сохранилась информация в базе данных. Поэтому многие тестировщики, даже не умея программировать, достаточно хорошо владеют языком запросов к базе данных SQL.

    Сначала мы научимся пользоваться технологией доступа к базам данных, которая позволяет выполнять привычные SQL-запросы и анализировать полученный ответ как таблицу. Затем мы освоим более современную технологию объектно-реляционных преобразований.

    8. Сетевое программирование: протоколы прикладного уровня
    С одной стороны, это занятие будет повторением пройденного материала. Мы построим новый тестовый набор с двухуровневой архитектурой для нового тестируемого приложения. Однако всё взаимодействие с тестируемым приложением будет происходить в обход пользовательского интерфейса.

    В этом занятии будут рассмотрены механизмы работы с сетевыми протоколами для отправки и получения почты POP3 и SMTP, протоколом для отправки и получения файлов FTP, протоколом для удалённого выполнения команд Telnet, а также традиционным протоколом, используемый для взаимодействия с веб-приложениями HTTP.

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

    9. Сетевое программирование: удалённые программные интерфейсы
    И ещё одно занятие-повторение, в котором мы опять построим новый тестовый набор для нового учебного приложения, чтобы закрепить навык создания типовой двухуровневой архитектуры.

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

    10. Тестовые фреймворки и инфраструктура
    Последнее занятие будет посвящено рассмотрению альтернативных тестовых фреймворков, в том числе инструмента Cucumber для разработки тестов на "естественном" языке Gherkin и инструмента Robot Framework для разработки тестов в стиле Keyword Driven Testing.

    Кроме того, мы научимся запускать тесты на сервере непрерывной интеграции Jenkins и генерировать красивые отчёты при помощи инструмента Allure.


     
    Последнее редактирование модератором: 21 июл 2019
    1 человеку нравится это.
  2. Последние события

    1. skladchik.com
      atlass не участвует.
      7 июл 2017
    2. vastpro
      vastpro оставил отзыв "Отлично".
      12 май 2017
    3. skladchik.com
      Складчина доступна.
      12 май 2017
    4. tsmee
      tsmee участвует.
      11 май 2017

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      12 май 2017
    2. skladchik.com
      Взнос составляет 213р.
      17 фев 2017
    3. skladchik.com
      Складчина активна.
      17 фев 2017
    4. skladchik.com
      Сбор взносов начинается 17.02.2017.
      15 фев 2017
  3. Отзывы участников

    5/5,
    • 5/5,
      Работой организатора доволен
      Думаю автор курса не нуждается в представлении, на мой взгляд лучший в данной сфере. Если коротко, то это моя самая долгожданная складчина)
      Хотел сказать спасибо организатору и складчикам, за то что складчина состоялась.
      Проведение складчины как всегда отличное.
      Еще раз всем спасибо, побежал изучать материал))
      12 май 2017
      6 пользователям это понравилось.
  4. Обсуждение
  5. 11 янв 2017
    #2
    Авксентий
    Авксентий ОргОрганизатор
    Товарищи, поучаствуйте, плз, в опросе по поводу суммы взноса (в стартпост добавлен опрос)! ;)
    Но очевидно, что сильно низким взнос не будет. Иначе можно годами собираться.
     
    1 человеку нравится это.
  6. 15 янв 2017
    #3
    mockd
    mockd ЧКЧлен клуба
    я тоже очень хочу поучаствовать - тема крайне актуальна! цена устраивает
     
    2 пользователям это понравилось.
  7. 20 янв 2017
    #4
    vastpro
    vastpro ЧКЧлен клуба
    Цена уже меньше 300. Может пора начинать?)
     
  8. 20 янв 2017
    #5
    Авксентий
    Авксентий ОргОрганизатор
    И все разбегутся, как сборы поставлю. )) Как обычно.

    Новый поток 10 февраля, до этого времени можно еще пособираться.

    Товарищи! Поставьте темку в подпись, чтобы снизить взнос! :) :rolleyes:
     
    1 человеку нравится это.
  9. 24 янв 2017
    #6
    Авксентий
    Авксентий ОргОрганизатор
    Нарооод, ставьте курс в подпись! 10-го февраля новый поток, надо бы успеть собраться. ;)
     
  10. 7 фев 2017
    #7
    Авксентий
    Авксентий ОргОрганизатор
    На 10-е уже всё равно не успеем. Так что теперь ближе ко второй половине марта видимо. Но зато больше шанс провести складчину, т.к., когда все начнут по обыкновению разбегаться, взнос всё еще останется приемлемым. ))
     
  11. 8 фев 2017
    #8
    elvis_presley
    elvis_presley ДолжникДолжник
    Может и другие курсы кто-то организует, я бы 100% записался на курсы ("Тестирование производительности (JMeter)" "Тестирование веб-приложений" "Тестирование защищенности веб-приложений")
     
    1 человеку нравится это.
  12. 20 фев 2017
    #9
    legven
    legven ЧКЧлен клуба
    Коллеги, подскажите, части 9 и 10 интересные ? Стоит ли ради них записываться ?
    Другие меня не интересуют.
     
    1 человеку нравится это.
  13. 21 фев 2017
    #10
    Aratorn
    Aratorn БанЗабанен
    Ох уж и интересные эти части, аж за душу берет )))
     
  14. 21 фев 2017
    #11
    legven
    legven ЧКЧлен клуба
    Переформулирую - двойной взнос стоит за них платить или нет?
     
  15. 21 фев 2017
    #12
    Авксентий
    Авксентий ОргОрганизатор
    Зачем вам за них платить двойной взнос? Что мешает заплатить один?
     
  16. 27 мар 2017
    #13
    mockd
    mockd ЧКЧлен клуба
    Прошу прощения если мой вопрос противоречит правилам нашего сурового клуба - а когда планируется выдача материала? :)
     
  17. 27 мар 2017
    #14
    vastpro
    vastpro ЧКЧлен клуба
    Вы совершенно правы, вопрос противоречит правилам нашего замечательного клуба ;)
    Наверно курс еще не закончился, поэтому еще и не было материала.
     
    1 человеку нравится это.
Статус обсуждения:
Комментирование ограничено.