1. Новые складчины: Показать еще

    27.06.2017: Автонаполняемый Женский портал (top-bit.ru)

    27.06.2017: Прибыльная FOREX стратегия Master Trader

    27.06.2017: Курс «Запуск волны клиентов из Яндекс.Директ» (Дмитрий Бойченко)

    27.06.2017: Заработок на бинарных опционах от 1000 р. в день (Булат Максеев)

    27.06.2017: Уникальная без проигрышная стратегия "1MIL" (Игорь Серебров)

  2. Нужен организатор: Показать еще

    27.06.2017: [GO IT] QA Engineer

    26.06.2017: Курс с 0 до Профи по работе со станком с ЧПУ

    26.06.2017: Гуморы

    26.06.2017: Закрытая астрологическая школа - комплект курсов

    26.06.2017: Оскар. Хорарная практика. Медицинские хорары.

  3. Сбор взносов Показать еще

    25.06.2017: Делай деньги в SMM (Леонид Малолетов, Михаил Син)

    24.06.2017: Турбо-запуск товарного бизнеса за 1 день (Александр Федяев)

    24.06.2017: VideoDays конференция по видеомаркетингу

    24.06.2017: Стратегия Live на футбол

    23.06.2017: Практикуем «Ревитонику» в отпуске. летний омолаживающий комплекс. (Анастасия Дубинская)

Запись

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

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

Цена:
15000 руб
Взнос:
164 руб
Организатор:
Требуется
Участников:
0/100

Список пока что пуст. Запишитесь первым!

Записаться
    Тип: Стандартная складчина
    1. Telegram
      Telegram Организатор складчин

      Программирование на 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.


       
      Telegram, 14 май 2016
    2. Загрузка...
      Похожие складчины
      1. Bulion
      2. Zander
        Запись
        Zander, 29 апр 2017, в разделе: Курсы по психологии и личностному развитию
      3. Bulion
        Запись
        Bulion, 16 апр 2017, в разделе: Электронные книги
      4. Bulion
      5. Bulion
        Запись
        Bulion, 1 мар 2017, в разделе: Электронные книги
      6. Bulion
        Запись
        Bulion, 22 фев 2017, в разделе: Курсы по программированию
      7. Telegram
        Запись
        Telegram, 3 окт 2016, в разделе: Электронные книги
Участники складчины Программирование на Java для тестировщиков(обновленный) смогут написать отзыв
Наверх