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

    10.12.2016: Тактики для практиков. Подписка 90 дней (roundabout.ru)(Повтор)

    10.12.2016: Карма одиночества (AST production)

    10.12.2016: Третий глаз и астральное тело активации

    10.12.2016: Концепция социальных сетей (Андрей Захарян)

    10.12.2016: Покупка прогнозов, ссылка указана в слове "сайтом"

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

    10.12.2016: Тактики для практиков. Подписка 90 дней (roundabout.ru)(Повтор)

    10.12.2016: Покупка прогнозов, ссылка указана в слове "сайтом"

    10.12.2016: ЦИКЛИЧНЫЙ ДОХОД до 820 649,96% годовых.

    09.12.2016: Ставки на хоккей с рхл-каппер

    09.12.2016: Динамический ЦИГУН "24 формы ТАЙЦЗИЦЮАНЬ" (Михаил Корсаков)

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

    10.12.2016: Третий глаз и астральное тело активации

    09.12.2016: Тестостерон Release 2016 (Арсен Маркарян)- Первый поток последнего онлайн курса

    08.12.2016: Похудение для ленивых (Константин Мешков)

    08.12.2016: Шоколадная обработка new (Алина Каютина)(2016)

    08.12.2016: Видео-курс по художественным эффектам "Special Effects" (Алина Каютина)(2016)

Запись

Программирование на 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. Telegram
        Запись

        Объектно-ориентированное программирование на C++

        Telegram, 3 окт 2016, в разделе: Электронные книги
      2. Bulion
        Запись

        Программирование на Java для начинающих (Майк МакГрат)

        Bulion, 26 сен 2016, в разделе: Электронные книги
      3. Bulion
        Запись

        Python. Программирование для начинающих (Майк МакГрат)

        Bulion, 26 сен 2016, в разделе: Электронные книги
      4. Bulion
        Запись

        Программирование на С для начинающих (Майк МакГрат)

        Bulion, 26 сен 2016, в разделе: Электронные книги
      5. Telegram
        Запись

        Программирование на С микроконтроллеров PIC24

        Telegram, 10 сен 2016, в разделе: Строительство и ремонт
      6. Telegram
        Запись

        Программирование микроконтроллеров ATMEL на языке C (+...

        Telegram, 9 сен 2016, в разделе: Электронные книги
      7. Telegram
        Запись

        Программирование на языке Python: учебный курс 2016

        Telegram, 1 сен 2016, в разделе: Электронные книги

Наверх