Що нового?

Придбаний [Software-Testing.RU] Програмування на Java для тестувальників. 2016 (Олексій Баранцев)

Інформація про покупку
Тип покупки: Складчина
Ціна: 5625 ГРН
Учасників: 0 з 79
Організатор: Відсутній
Статус: Набір учасників
Внесок: 74.1 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор

Програмування для тестувальників
Тренер:
Баранцев Олексій

цей курс призначений для навчання тестувальників програмуванню мовою 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.

зміст складчини (файли і папки)
01 Основи програмування

01 огляд мов програмування і місце Java в загальній картині світу. mp4 [49m 859k 956]
02 встановлення та налаштування Java SDK.mp4 [28m 34K 950]
03 перша працююча програма на мові Java.mp4 [15m 314k 552]
04 зберігання коду Git і GitHub. mp4 [23m 855k 538]
05 Gradle та інші збирачі. mp4 [34m 711k 973]
06 середовище розробки IntelliJ IDEA. mp4 [25m 925k 710]
07 класи та пакети, файли та Директорії. mp4 [17M 912k 835]
08 фігурні скобочки і структура програмного коду. mp4 [32M 694k 273]
https://privatelink.de/?http://software-testing.ru/edu/1-schedule/1-java-for-testers
 
Угорі