2. Обо мне
Тимлид группы автоматизации
Активный спикер QA Talk, QA School, IT School
Создатель менторских программ, а также ментор
QA и QA Automation в компании
Опыт работы QA Automation более 4х лет
С#
3. • Автотесты работают быстрее, чем человек.
• Автотесты выполняются с большей точностью.
• Автоматизация тестирования позволяет
повысить качество продукта.
• Автоматизация может использоваться
практически во всех процессах тестирования.
• Автотесты могут выполняться независимо от
времени.
Зачем нужна автоматизация?
10. Наследование
Наследование — это свойство системы, позволяющее
описать новый класс на основе уже существующего с
частично или полностью заимствующейся
функциональностью. Класс, от которого производится
наследование, называется базовым, родительским или
суперклассом. Новый класс — потомком, наследником,
дочерним или производным классом.
11. Абстракция
Абстрагирование — это способ выделить набор
значимых характеристик объекта, исключая из
рассмотрения незначимые. Соответственно,
абстракция — это набор всех таких характеристик.
12. Инкапсуляция
Инкапсуляция — это свойство системы, позволяющее
объединить данные и методы, работающие с ними, в
классе, и скрыть детали реализации от пользователя.
Модификаторы доступа:
• Private – доступен только в своем классе
• Protected – доступен в своем классе и в дочерних
классах
• Public – доступен по всему проекту
13. Полиморфизм
Полиморфизмом назвается возможность работать с
несколькими типами так, как будто это один и тот же
тип и в то же время поведение каждого типа будет
уникальным в зависимости от его реализации.
14. Java Core
• Типы данных (String, Integer, Boolean, BigDecimal,
int, boolean, double, etc.)
• Методы для работы с данными (String.format(a,b),
Boolean.toString(), etc.)
• Массивы (String[], int[])
• for/switch/while
• try-catch
• Исключения Exceptions(виды исключений)
• Collections (Map, Set, List, Queue, etc.)
15. PageObject паттерн
• Page Object – это структурный шаблон проектирования,
используемый в автоматизированном тестировании
пользовательского интерфейса для разделения
высокоуровневой тестовой логики от низкоуровневой
логики поиска конкретных элементов пользовательского
интерфейса.
• Page Object помогает разделять логику и реализацию
• В Page Object одна страница чаще всего представляет
собой отдельный класс.
19. • Название тестового метода должно быть
предложением
• Требования – это тоже поведение
• Выразительное название очень помогает, когда
тест обрушился
• BDD предоставляет «общий язык» для анализа
Принципы BDD
20. - сводит к минимуму расстояние между разработчиками,
пользователями и аналитиками систем. Достигается это
путем получения Executable Scenarios, иными словами,
сценарии которые описывают пользователи переводятся
в исполняемый тест.
- заменяет manual regression testing, smoke testing, story
testing.
- читаемые отчеты;
- интеграция с Jira (thucydides-jira-plugin (for Thucydides));
- кто бы не запускал тесты, понятно что происходит, что
тестируется и какие проблемы возникают
Преимущества BDD