Transcript
Page 1: Майстер-клас "Автоматизоване тестування. З чого почати?

АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ. С ЧЕГО НАЧАТЬ?ЧАСТЬ 1

Prepared by: Anton SirotaSkype: yader-2007

Page 2: Майстер-клас "Автоматизоване тестування. З чого почати?

Обо мнеТимлид группы автоматизации

Активный спикер QA Talk, QA School, IT School

Создатель менторских программ, а также ментор

QA и QA Automation в компании

Опыт работы QA Automation более 4х лет

С#

Page 3: Майстер-клас "Автоматизоване тестування. З чого почати?

• Автотесты работают быстрее, чем человек.• Автотесты выполняются с большей точностью.• Автоматизация тестирования позволяет

повысить качество продукта.• Автоматизация может использоваться

практически во всех процессах тестирования.• Автотесты могут выполняться независимо от

времени.

Зачем нужна автоматизация?

Page 4: Майстер-клас "Автоматизоване тестування. З чого почати?

• Функциональные тесты • Нагрузочные тесты • GUI тесты• Тестирование безопасности• Тестирование производительности• Тестирование баз данных• Unit-тесты

Типы автоматизированных тестов

Page 5: Майстер-клас "Автоматизоване тестування. З чого почати?

Какие приложения мы автоматизируем?

Web Desktop Mobile

Page 6: Майстер-клас "Автоматизоване тестування. З чого почати?

Инструменты

Page 7: Майстер-клас "Автоматизоване тестування. З чого почати?

Selenium Web Driver

Page 8: Майстер-клас "Автоматизоване тестування. З чого почати?

Локаторы

• Xpath (//a[contains(@class,’submit’)])• Css (div > a.submitButton)• Name (submitForm)• Id (Submit)• Link (Submit)

Page 9: Майстер-клас "Автоматизоване тестування. З чого почати?

Объектно-ориентированное программирование

• Абстракция • Инкапсуляция• Наследование• Полиморфизм• Класс• Объект

Page 10: Майстер-клас "Автоматизоване тестування. З чого почати?

Наследование

Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником, дочерним или производным классом.

Page 11: Майстер-клас "Автоматизоване тестування. З чого почати?

Абстракция

Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.

Page 12: Майстер-клас "Автоматизоване тестування. З чого почати?

ИнкапсуляцияИнкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе, и скрыть детали реализации от пользователя.

Модификаторы доступа:• Private – доступен только в своем классе• Protected – доступен в своем классе и в дочерних

классах• Public – доступен по всему проекту

Page 13: Майстер-клас "Автоматизоване тестування. З чого почати?

Полиморфизм

Полиморфизмом назвается возможность работать с несколькими типами так, как будто это один и тот же тип и в то же время поведение каждого типа будет уникальным в зависимости от его реализации.

Page 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.)

Page 15: Майстер-клас "Автоматизоване тестування. З чого почати?

PageObject паттерн

• Page Object – это структурный шаблон проектирования, используемый в автоматизированном тестировании пользовательского интерфейса для разделения высокоуровневой тестовой логики от низкоуровневой логики поиска конкретных элементов пользовательского интерфейса.

• Page Object помогает разделять логику и реализацию• В Page Object одна страница чаще всего представляет

собой отдельный класс.

Page 16: Майстер-клас "Автоматизоване тестування. З чого почати?

PageObject паттерн

Page 17: Майстер-клас "Автоматизоване тестування. З чого почати?

PageObject паттерн

Page 18: Майстер-клас "Автоматизоване тестування. З чого почати?

Example 1

Example 2

Как выглядят тесты?

Page 19: Майстер-клас "Автоматизоване тестування. З чого почати?

• Название тестового метода должно быть предложением

• Требования – это тоже поведение• Выразительное название очень помогает, когда

тест обрушился• BDD предоставляет «общий язык» для анализа

Принципы BDD

Page 20: Майстер-клас "Автоматизоване тестування. З чого почати?

- сводит к минимуму расстояние между разработчиками, пользователями и аналитиками систем. Достигается это путем получения Executable Scenarios, иными словами, сценарии которые описывают пользователи переводятся в исполняемый тест.

- заменяет manual regression testing, smoke testing, story testing.

- читаемые отчеты;- интеграция с Jira (thucydides-jira-plugin (for Thucydides));- кто бы не запускал тесты, понятно что происходит, что

тестируется и какие проблемы возникают

Преимущества BDD

Page 21: Майстер-клас "Автоматизоване тестування. З чого почати?

Вопросы?


Recommended