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

    23.10.2017: Двигательная активность и способы повышения общей энергичности (Эрнест Мелкумянц)

    23.10.2017: Автоматический робот бинарных опционов

    23.10.2017: [Marketing Gamers] Стратегия прибыльной воронки продаж с нуля за 10 дней(Автоворонки) (Кир Уланов)

    23.10.2017: SMM менеджер с нуля за 12 занятий (Александр Соколовский и Мария Солодар)

    23.10.2017: Изучение английского за 3 недели. 100% гарантия

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

    23.10.2017: Автоматический робот бинарных опционов

    22.10.2017: [Повтор] Всё и сразу -1

    22.10.2017: ИНП. Жизненные сценарии (Антон Ковалевский)

    22.10.2017: 9,5 способов заработка в интернете

    22.10.2017: Мультиэкспрессы (smartgambling)

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

    22.10.2017: Рывок (Александр Пасько)

    22.10.2017: АКП 2.0 Автоматизированный механизм Массовых Соцрассылок "Стандарт" (Дмитрий Чернышов)

    22.10.2017: Готовые ответы на тесты по Яндекс Директ (new-certificate.ru)

    22.10.2017: Старинный портрет: превращение фото в картину (Olga Cornacchia)

    22.10.2017: Основы здоровья, иммунитета и долголетия. Часть 2. Омега-3 (Рыбий жир) (Леонид Ворслов)

Запись

Программирование на 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. Aplication
    2. Telegram
    3. Zander
    4. Aplication
    5. Лизок
    6. Лизок
    7. Shrek
    Загрузка...
Участники складчины Программирование на Java для тестировщиков(обновленный) смогут написать отзыв
Наверх