Code Monkey home page Code Monkey logo

qa-junior's Introduction

QA Junior Automated Developer

  • Объем материала: 50 часов
  • Интенсивность: 3 вечерних вебинара в неделю по 3 часа
  • 1 час разбор вопросов по практике
  • 2 часа новый материал: обсуждения и live demo
  • Общая длительность: 25 вебинаров ~ 2 месяца
  • Самостоятельная практика: по 2 часа 3 раза в неделю = 50 часов

Как мы будем учиться (0.5)

  • Глубина погружения
  • Метафора Rosetta Stone
  • Лексика
  • Тестовый нарратив
  • Изучение через тестирование
  • Самостоятельная проработка
  • Непрерывное тестирование участников и фидбек по ним

Разработка ПО (3)

Бизнес (0.5)

  • Как организации зарабатывают на разработке ПО?
  • Что такое заказная и продуктовая разработка?
  • Что такое outsource и in-house?
  • Что такое проектная и сервисная разработка?

Культура (0.5)

  • Какие ожидаются отношения в организации?
  • Что организация ждет от сотрудников?

Процесс (1)

  • Как устроено производство ПО?
  • Зачем нужно тестирование?
  • На каких этапах вовлекаются специалисты по качеству?
  • Что делают специалисты по качеству?

Инструменты (1)

  • Как ставятся и отслеживаются задачи?
  • Какие необходимы сопутствующие артефакты?
  • Как хранятся и редактируются артефакты?
  • Как идёт общение сотрудников?

Архитектура ПО (2)

Как устроена система? (1)

  • Как пользователи взаимодействуют с системой? Виды UI
  • Как происходит обработка запросов? Бекенд
  • Где хранятся данные? БД
  • Какие еще системы участвуют в обработке запросов? Интеграция

Что нужно знать? Карта необходимых технологий (1)

  • На фронтенде
  • На бекенде
  • На стороне БД
  • На стороне интеграции
  • По процессу разработки

Linux (5)

Запуск Linux в виртуальной машине (1)

  • Виртуализация
  • Виртуальная машина
  • Образ диска
  • Настройка и запуск VM с RHEL8

Архитектура Linux (1)

  • Ядро
  • Пользователи
  • Файловая система
  • Приложения
  • Процессы
  • Потоки

Базовые команды shell (2)

  • Подключение по ssh с сертификатом
  • Работа с файловой системой
  • Работа с переменными окружения
  • Установка пакетов с ПО
  • Запуск приложений
  • shell-скрипты
  • Чтение и редактирование конфигов

Установка и запуск сервисов в контейнере (1)

  • Обзор контейнеризации
  • Образ
  • Контейнер
  • Docker workflow

Сети (4)

Архитектура сетей (1)

  • Узлы и зачем им сеть
  • Уровни протоколов
  • Адресация и NAT
  • Сетевые сервисы и порты

Команды shell (2)

  • Диагностика
  • Работа с удаленными файлами
  • Запуск сетевых сервисов
  • Вызов удаленных сервисов

Запуск и вызовы сетевого сервиса на примере Nginx (1)

  • Обзор nginx
  • Конфигурация и запуск с помощью Docker
  • Обращение с помощью браузера
  • Сетевая диагностика

РСУБД (5)

Зачем нужны БД, если есть Excel (1)

  • Жесткая типизация записей
  • Связи таблиц
  • Индексы
  • Запросы
  • Доступы

Сервер и клиент СУБД (1)

  • Обзор Oracle Database (Express Edition)
  • Конфигурация и запуск с помощью Docker
  • Обзор IntelliJ DataGrip
  • JDBC-драйвер
  • Настройка соединения
  • Понятия пользователя, базы, каталога, схемы

DDL SQL (1)

  • Создание, изменение и удаление схемы
  • Создание, изменение и удаление таблиц
  • Создание, изменение и удаление столбцов
  • Создание, изменение и удаление индексов

DML SQL (2)

  • Вставки
  • Удаления
  • Изменения
  • Выборки
  • Проекции
  • Фильтрации
  • Сортировки
  • Объединения
  • Соединения
  • Группировки
  • Подзапросы

Java Applications (4)

Java (0.5)

  • Понятия jvm и jre
  • Установка jre

Application (0.5)

  • spring war
  • servlet container на примере Tomcat
  • spring boot fat jar

Build, Publish and Deploy (0.5)

  • Maven build
  • Publish to Artifactory
  • Download from Artifactory
  • Deploy to Tomcat

Пример Java Spring Backend Microservice к Oracle СУБД (2.5)

  • Перенос fat jar
  • Конфигурация
  • Языки разметки (properties, xml, json, yaml)
  • Запуск приложением и сервисом
  • Логи
  • Swagger UI
  • Обращение с помощью браузера к Swagger UI

Тестирование (6)

Что значит «правильно»? Требования и тестовые сценарии (1.5)

  • Требования
  • Виды требований
  • Сценарии выполнения
  • Граничные условия, классы эквивалентности
  • Тестовые сценарии: Specification by Example

Как документировать требования (1)

  • Шаблоны описания FR и NFR
  • JIRA
  • Confluence

Дефекты (0.5)

  • Почему система может работать «неправильно»?
  • Почему разработчики сразу не могут писать «правильно»?

Тесты (1)

  • Виды тестов
  • Уровни тестирования
  • Сложность E2E и моки + стабы
  • Матрица покрытия
  • Внутреннее качество тестов: атомарность и изолированность
  • Фикстура

Что нужно делать специалисту по качеству и зачем? (2)

  • Тест-план, scope и оценки
  • Тестовые наборы
  • Тест-кейсы
  • Тестовые сценарии
  • Структура тестового сценария
  • Отчетность и документирование дефектов

Manual Testing of REST API (3)

Архитектура (0.5)

  • Веб-сервер
  • Приложение
  • БД
  • REST-клиент на примере SoapUI

Протокол HTTP (1)

  • URL и ресурсы
  • Методы
  • Заголовки
  • Payload

Сериализация данных в REST (0.5)

  • Формат сериализации данных: JSON
  • Синтаксис

Архитекутра REST (1)

  • Семантика операций
  • Идемпотентность
  • Аутентификация
  • Фильтрация
  • Пейджинг

Automated Testing of REST API (18)

Git (1)

  • Local workflow
  • Remote workflow
  • Gitlab repo
  • Pull Request / Merge Request

Maven (1)

  • Java application structure
  • Jar
  • Build lifecycle and tests
  • Dependencies
  • Maven repos
  • Artifactory

Java syntax for automated test (10)

  • Test as Java application
  • Class
  • Static variables
  • Static methods
  • Call stack
  • Arguments
  • Local variables
  • Primitive types and wrappers
  • Operators
  • Control structures
  • Objects and reference types
  • Enums
  • Array
  • String
  • Instance variables
  • Instance methods
  • Object class and methods
  • Exceptions
  • Core collections
  • Core IO

JUnit Jupiter (1)

  • Framework overview
  • Test Case
  • Test Method
  • Assertions
  • Test states
  • Fixtures

Automated test design (2)

  • Test code quality
  • Test design patterns
  • Implementing fake DB
  • Implementing stubs and mocks for REST services

Rest Assured (1)

  • Framework overview
  • Request API
  • Assertions
  • JSONPath

Cucumber (2)

  • BDD overview
  • Glue implementation
  • Gherkin syntax
  • Implementing scenario
  • Implementing fixture

qa-junior's People

Contributors

eugene-krivosheyev avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

alexrogalskiy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.