SlideShare a Scribd company logo
1 of 21
АВТОМАТИЗИРОВАННОЕ
ТЕСТИРОВАНИЕ. С ЧЕГО НАЧАТЬ?
ЧАСТЬ 1
Prepared by: Anton Sirota
Skype: yader-2007
Обо мне
Тимлид группы автоматизации
Активный спикер QA Talk, QA School, IT School
Создатель менторских программ, а также ментор
QA и QA Automation в компании
Опыт работы QA Automation более 4х лет
С#
• Автотесты работают быстрее, чем человек.
• Автотесты выполняются с большей точностью.
• Автоматизация тестирования позволяет
повысить качество продукта.
• Автоматизация может использоваться
практически во всех процессах тестирования.
• Автотесты могут выполняться независимо от
времени.
Зачем нужна автоматизация?
• Функциональные тесты
• Нагрузочные тесты
• GUI тесты
• Тестирование безопасности
• Тестирование производительности
• Тестирование баз данных
• Unit-тесты
Типы автоматизированных тестов
Какие приложения мы
автоматизируем?
Web Desktop Mobile
Инструменты
Selenium Web Driver
Локаторы
• Xpath (//a[contains(@class,’submit’)])
• Css (div > a.submitButton)
• Name (submitForm)
• Id (Submit)
• Link (Submit)
Объектно-ориентированное
программирование
• Абстракция
• Инкапсуляция
• Наследование
• Полиморфизм
• Класс
• Объект
Наследование
Наследование — это свойство системы, позволяющее
описать новый класс на основе уже существующего с
частично или полностью заимствующейся
функциональностью. Класс, от которого производится
наследование, называется базовым, родительским или
суперклассом. Новый класс — потомком, наследником,
дочерним или производным классом.
Абстракция
Абстрагирование — это способ выделить набор
значимых характеристик объекта, исключая из
рассмотрения незначимые. Соответственно,
абстракция — это набор всех таких характеристик.
Инкапсуляция
Инкапсуляция — это свойство системы, позволяющее
объединить данные и методы, работающие с ними, в
классе, и скрыть детали реализации от пользователя.
Модификаторы доступа:
• Private – доступен только в своем классе
• Protected – доступен в своем классе и в дочерних
классах
• Public – доступен по всему проекту
Полиморфизм
Полиморфизмом назвается возможность работать с
несколькими типами так, как будто это один и тот же
тип и в то же время поведение каждого типа будет
уникальным в зависимости от его реализации.
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.)
PageObject паттерн
• Page Object – это структурный шаблон проектирования,
используемый в автоматизированном тестировании
пользовательского интерфейса для разделения
высокоуровневой тестовой логики от низкоуровневой
логики поиска конкретных элементов пользовательского
интерфейса.
• Page Object помогает разделять логику и реализацию
• В Page Object одна страница чаще всего представляет
собой отдельный класс.
PageObject паттерн
PageObject паттерн
Example 1
Example 2
Как выглядят тесты?
• Название тестового метода должно быть
предложением
• Требования – это тоже поведение
• Выразительное название очень помогает, когда
тест обрушился
• BDD предоставляет «общий язык» для анализа
Принципы BDD
- сводит к минимуму расстояние между разработчиками,
пользователями и аналитиками систем. Достигается это
путем получения Executable Scenarios, иными словами,
сценарии которые описывают пользователи переводятся
в исполняемый тест.
- заменяет manual regression testing, smoke testing, story
testing.
- читаемые отчеты;
- интеграция с Jira (thucydides-jira-plugin (for Thucydides));
- кто бы не запускал тесты, понятно что происходит, что
тестируется и какие проблемы возникают
Преимущества BDD
Вопросы?

More Related Content

Viewers also liked

Zed innovation intro
Zed innovation introZed innovation intro
Zed innovation introZiv Kohav
 
Visiting unpleasent places
Visiting unpleasent placesVisiting unpleasent places
Visiting unpleasent placesArpanasa
 
Jkd indoor & outdoor signage catalog
Jkd indoor & outdoor signage catalogJkd indoor & outdoor signage catalog
Jkd indoor & outdoor signage catalogSatyendra Gupta
 
Андрей Вересов - .NET Reflection
Андрей Вересов - .NET ReflectionАндрей Вересов - .NET Reflection
Андрей Вересов - .NET ReflectionDataArt
 
Que es el internet programacion web
Que es el internet programacion webQue es el internet programacion web
Que es el internet programacion webDiego Rojas
 
文學通的開發心路歷程
文學通的開發心路歷程文學通的開發心路歷程
文學通的開發心路歷程建銘 廖
 
33-я встреча сообщества IT talk Spb
33-я встреча сообщества IT talk Spb33-я встреча сообщества IT talk Spb
33-я встреча сообщества IT talk SpbDataArt
 
Estrategika nuevos productos proteccion
Estrategika nuevos productos proteccionEstrategika nuevos productos proteccion
Estrategika nuevos productos proteccionJUAN CARLOS CALDERON
 
A Journey to Power Intelligent IT - Big Data Employed
A Journey to Power Intelligent IT - Big Data EmployedA Journey to Power Intelligent IT - Big Data Employed
A Journey to Power Intelligent IT - Big Data EmployedMohamed Sohail
 
Thriller advertisement posters
Thriller advertisement postersThriller advertisement posters
Thriller advertisement postersAbbey Cotterill
 
Building Pennsylvania's First Detector Network Part 1
Building Pennsylvania's First Detector Network Part 1Building Pennsylvania's First Detector Network Part 1
Building Pennsylvania's First Detector Network Part 1PlantHealthResourceCenter
 
Игорь Ходырев — Введение в Ruby, gem’ы и другие бриллианты.
Игорь Ходырев — Введение в Ruby, gem’ы и другие бриллианты.Игорь Ходырев — Введение в Ruby, gem’ы и другие бриллианты.
Игорь Ходырев — Введение в Ruby, gem’ы и другие бриллианты.DataArt
 

Viewers also liked (17)

Zed innovation intro
Zed innovation introZed innovation intro
Zed innovation intro
 
Visiting unpleasent places
Visiting unpleasent placesVisiting unpleasent places
Visiting unpleasent places
 
Jkd indoor & outdoor signage catalog
Jkd indoor & outdoor signage catalogJkd indoor & outdoor signage catalog
Jkd indoor & outdoor signage catalog
 
Joint venture
Joint ventureJoint venture
Joint venture
 
Biblioterapia
BiblioterapiaBiblioterapia
Biblioterapia
 
Андрей Вересов - .NET Reflection
Андрей Вересов - .NET ReflectionАндрей Вересов - .NET Reflection
Андрей Вересов - .NET Reflection
 
Que es el internet programacion web
Que es el internet programacion webQue es el internet programacion web
Que es el internet programacion web
 
Loe
LoeLoe
Loe
 
文學通的開發心路歷程
文學通的開發心路歷程文學通的開發心路歷程
文學通的開發心路歷程
 
33-я встреча сообщества IT talk Spb
33-я встреча сообщества IT talk Spb33-я встреча сообщества IT talk Spb
33-я встреча сообщества IT talk Spb
 
Estrategika nuevos productos proteccion
Estrategika nuevos productos proteccionEstrategika nuevos productos proteccion
Estrategika nuevos productos proteccion
 
Bio pharma vessels & tanks
Bio pharma vessels & tanksBio pharma vessels & tanks
Bio pharma vessels & tanks
 
A Journey to Power Intelligent IT - Big Data Employed
A Journey to Power Intelligent IT - Big Data EmployedA Journey to Power Intelligent IT - Big Data Employed
A Journey to Power Intelligent IT - Big Data Employed
 
Matematicas
MatematicasMatematicas
Matematicas
 
Thriller advertisement posters
Thriller advertisement postersThriller advertisement posters
Thriller advertisement posters
 
Building Pennsylvania's First Detector Network Part 1
Building Pennsylvania's First Detector Network Part 1Building Pennsylvania's First Detector Network Part 1
Building Pennsylvania's First Detector Network Part 1
 
Игорь Ходырев — Введение в Ruby, gem’ы и другие бриллианты.
Игорь Ходырев — Введение в Ruby, gem’ы и другие бриллианты.Игорь Ходырев — Введение в Ruby, gem’ы и другие бриллианты.
Игорь Ходырев — Введение в Ruby, gem’ы и другие бриллианты.
 

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

Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Hub-IT-School
 
Автоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едятАвтоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едятMarina Peregud
 
Automation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAutomation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAndrey Rebrov
 
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolCOMAQA.BY
 
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
 
Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)Paul Stashevsky
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)AvitoTech
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексейsolit
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
 
ук 03.007.02 2011
ук 03.007.02 2011ук 03.007.02 2011
ук 03.007.02 2011etyumentcev
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumSQALab
 
Test driven development in net
Test driven development in netTest driven development in net
Test driven development in netAlex Tumanoff
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsAnton Vidishchev
 
Александр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnitАлександр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnitYandex
 
разработка бизнес приложений (7)
разработка бизнес приложений (7)разработка бизнес приложений (7)
разработка бизнес приложений (7)Alexander Gornik
 

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

Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
 
Автоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едятАвтоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едят
 
Automation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAutomation Functional Testing in Agile Projects
Automation Functional Testing in Agile Projects
 
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation Tool
 
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
 
ук 03.007.02 2011
ук 03.007.02 2011ук 03.007.02 2011
ук 03.007.02 2011
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
 
Test driven development in net
Test driven development in netTest driven development in net
Test driven development in net
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET Applications
 
Александр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnitАлександр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnit
 
01-lection-ka
01-lection-ka01-lection-ka
01-lection-ka
 
разработка бизнес приложений (7)
разработка бизнес приложений (7)разработка бизнес приложений (7)
разработка бизнес приложений (7)
 

More from DataArt

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR PartnersDataArt
 
Event management в IT
Event management в ITEvent management в IT
Event management в ITDataArt
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from insideDataArt
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)DataArt
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDataArt
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtDataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...DataArt
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's lifeDataArt
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиDataArt
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOpsDataArt
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real lifeDataArt
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестированияDataArt
 
Selenoid
SelenoidSelenoid
SelenoidDataArt
 
Selenide
SelenideSelenide
SelenideDataArt
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"DataArt
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...DataArt
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGDataArt
 

More from DataArt (20)

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Selenoid
SelenoidSelenoid
Selenoid
 
Selenide
SelenideSelenide
Selenide
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
 

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

  • 1. АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ. С ЧЕГО НАЧАТЬ? ЧАСТЬ 1 Prepared by: Anton Sirota Skype: yader-2007
  • 2. Обо мне Тимлид группы автоматизации Активный спикер QA Talk, QA School, IT School Создатель менторских программ, а также ментор QA и QA Automation в компании Опыт работы QA Automation более 4х лет С#
  • 3. • Автотесты работают быстрее, чем человек. • Автотесты выполняются с большей точностью. • Автоматизация тестирования позволяет повысить качество продукта. • Автоматизация может использоваться практически во всех процессах тестирования. • Автотесты могут выполняться независимо от времени. Зачем нужна автоматизация?
  • 4. • Функциональные тесты • Нагрузочные тесты • GUI тесты • Тестирование безопасности • Тестирование производительности • Тестирование баз данных • Unit-тесты Типы автоматизированных тестов
  • 8. Локаторы • Xpath (//a[contains(@class,’submit’)]) • Css (div > a.submitButton) • Name (submitForm) • Id (Submit) • Link (Submit)
  • 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 одна страница чаще всего представляет собой отдельный класс.
  • 18. Example 1 Example 2 Как выглядят тесты?
  • 19. • Название тестового метода должно быть предложением • Требования – это тоже поведение • Выразительное название очень помогает, когда тест обрушился • BDD предоставляет «общий язык» для анализа Принципы BDD
  • 20. - сводит к минимуму расстояние между разработчиками, пользователями и аналитиками систем. Достигается это путем получения Executable Scenarios, иными словами, сценарии которые описывают пользователи переводятся в исполняемый тест. - заменяет manual regression testing, smoke testing, story testing. - читаемые отчеты; - интеграция с Jira (thucydides-jira-plugin (for Thucydides)); - кто бы не запускал тесты, понятно что происходит, что тестируется и какие проблемы возникают Преимущества BDD