Реєстрацію закрито

QA Automation with Java Курс

Розклад:

Тривалість лекції:
3 години
Тривалість навчання (пн,ср,пт):
3 місяці
Тривалість оплачуваного стажування (5 днів на тиждень, 8 годин на день)
2,5 місяці
* Програма передбачає можливість додаткових занять у суботу, остаточний розклад буде надіслано заявникам, які потраплять до курсу.

Опис Курсу

Даний курс по тестуванню допоможе зануритись в абсолютно будь-яку нову технічну сферу навіть з нуля вашої IT кар'єри. За 3 місяці ви зможете отримати знання починаючи від мануального тестувальника і закінчуючі тестувальником-автоматизатором. По закінченню навчання ви навчитесь знаходити та описувати помилки для додатків (desktop, web, mobile), а також зможете перевірити самі складні та нестандартні алгоритми поведінки користувачів.

Частина курсу, яка присвячена QA Manual - дуже гарний спосіб для забезпечення якості, фокусування уваги на процесах розробки програмного забезпечення, їх покращенню та запобіганню нових дефектів та проблем.

Частина курсу QA Automation (with Java) дозволить вам вийти на новий рівень, а саме забезпечити якість продукту з використанням програмних засобів для створення тестів та перевірки результатів.

 

Проєкти

Протягом курсу студенти будуть розробляти індивідуальні проєкти, які охоплюють матеріал, вивчений під час курсу, це дозволить їм закріпити отримані знання на практиці.

Всі кейси охоплюють розв'язання реальної проблеми з використанням знань та досвіду, набутих вами в рамках курсу навчання. Крім того, фінальний проєкт дозволить вашим наставникам і колегам підтвердити ваші знання.

Оцінювання

Під час навчального процесу студенти будуть виконувати домашні завдання і проєкти, на основі яких експерти курсу оцінять їх практичні навички та знання, а також рівень індивідуальної роботи. Результати фінального проєкту будуть оцінюватися наставниками, які проводять комплексну оцінку підходів і артефактів.

ЕКСПЕРТИ КУРСУ

Andrii Ryzhenko
Andrii Ryzhenko
Scala Team Lead
Olesia Meleshko
Olesia Meleshko
Senior QA Engineer
Mykhailo Hudzenko
Mykhailo Hudzenko
Acting QA Manager
Artem Poltavskyi
Artem Poltavskyi
Java Developer
Yuliia Suprunova
Yuliia Suprunova
QA Automation Engineer
Valeriia Luniakina
Valeriia Luniakina
Java Developer
Dmytro Ketov
Dmytro Ketov
Senior QA Engineer
Volodymyr Getman
Volodymyr Getman
QA Lead

Програма курсу

1.
Intro. Toolkit setup. IDE/VCS

Intro. Toolkit setup. IDE/VCS

  • JDK, JRE, JVM, bytecode, compiling vs interpreting
    IDE: Idea
    VCS: Git, GitHub, GitLab, Bitbucket
  • Creating git repos.
    Cloning
    Basic git flow: commit/push/fetch/pull
    Branches: merging, pull requests, tags

Java 101: hello world

  • Java Basic Syntax, comments, classes, methods, entry point, HelloWorld App
    Data types, sizes, static vs dynamic typing, min and max, default values
    Java command line
  • Maven, dependencies
    Compiling, running, testing from command line
  • Conditionals, ternary operator, switch (+break), readability switch vs if
    Iterations: for / while / do while
    Enums. Limited set of values. impossibility to represent incorrect values
  • Arrays, declarations
    Finding a value, sorting, copying, slicing
    Passing as a parameter, returning as a result
  • Strings. Basic operations
    Immutability, StringPool

Java OOP

  • OOP intro - split declaration, instantiation (object creation) and behavior
    Java modifiers: private, public, protected, package private
    Encapsulation, polymorphism, interfaces, nested classes
  • Object Equality
    Equals, hashcode, relations between them, Lombok
    Custom equality, know your data! Write proper hashcode

Java Exceptions

  • Exceptions
    Errors, Checked, Unchecked, try / catch / finally syntax
    How to deal, where to catch. try / catch with resources

Java collections

  • Collections, basic types, basic operations
    List, Set
    Generics idea, primitive wrappers, boxing / unboxing, Power and Limitations, Type erasure
  • Linked List
    Stack, Queue
  • Set, Map, unique, absence of ordering, common behavior
    Common usecases
    Iteration over Set and Map
  • Comparator / Comparable
    Iterator / Iterable
    Sorting with custom comparator

Streams and Functions

  • Streams
    Combining, Splitterator
    Parallelism
  • lambda syntax, method reference, constructor reference
    Functional Interfaces, high-order functions
    Optional type

Java misc: IO, working with date&time, annotations

  • Java reflection, annotations
    Custom annotation writing and processing
    Complexity & caveats
  • Input / Output Streams, Readers, Writers
    File operations. Reading/Writing files
    IOException
  • Java8 DataTIme API
    Instant, LocalDataTime
    Parsing, formatting

Back-end (API) Automation Testing

  • HTTP Server, URL, URI, Request, Response, Lifecycle
  • REST principles
  • HTTP Methods and response codes
  • Java http clients (RestAssured, HttpApacheClient)
  • Serialization and deserialization
  • Data Transfer Objects
  • Results validation

UI Automation Testing

  • HTML Basics, DOM, web elements
  • Selenium WebDriver
  • PageObject pattern
  • Selenide framework
  • TestNG framework
  • Docker and Selenoid
  • Parallelization

Mobile Automation Testing

  • Mobile overview:

- android/ios, development mode

- emulator/simulator

  • Appium driver

- what is, adb

- layers for ios/android

- Desired capabilities

- Bonus: How about appium selenide?

  • Appium driver II

- Run appium session

- Finding elements with uiAuto2/appium

- Position and visibility element on page

- Locators: types, performance, accessibility, finding

- Bonus: Pain and suffering during connection with real ios device

  • Mobile hello world test!

- Setup and start appium from the code

- Basic interactions with application

- Manage pages with page manager class, PageProducer pattern

- Bonus: Two words about BDD. To BDD or not to BDD?

  • Common workarounds, tips and tricks

- Layers overlapping

- How about parallel runs?

- Explicit and implicit waits, difference between appium and selenium

Реєстрацію закрито
Заповни форму
вихід