SlideShare una empresa de Scribd logo
1 de 22
Автоматизированное
тестирование и с чем
его едят
Hub QA meetup
Кто этот парень перед нами?
Кто этот парень перед нами?
Имя: Андрей Сильчук
Возраст: 27 лет
Место работы: DataArt
Должность: Project Manager
Увлечения: фигурное катание, Star Wars,
snowboarding
Agenda
• Автоматизация? Какая еще автоматизация?
• Автоматическое тестирование ПО. Зачем вообще?
• Отличие от мануального тестирования ПО, или Ручник vs человек
разумный.
• Имею желание, но не имею возможности, или какие знания были бы
полезны в этой области.
• Когда стоит внедрять автоматизацию. ROI и другие непонятные
слова на три буквы.
Что такое автоматическое
тестирование (АТ)?
• Автоматизированное (автоматическое) тестирование является
составной частью процесса тестирования. Оно использует программные
средства для выполнения тестов и проверки результатов пробега этих
тестов, что помогает сократить время тестирования и упростить его
процесс.
• Automation QA - это QA engineer обеспечивающий создание, отладку и
поддержку работоспособного состояния тест скриптов, тестовых
наборов и инструментов для автоматизированного тестирования.
Подходы к АТ
• Тестировние на GUI уровне. Эмуляция дествий пользователя, часто
record-replay мехнизм. Автоматизация black-box тестирования (иногда
с элементами серого ящика)
• Тестирование на уровне кода, автоматизация Unit-тестирвоания
(модульное тестирование)
End-user testing/UI testing
Code-level testing
End-User testing VS Unit testing
• Реальная система
• Record & Replay
• End to end
• Выполняются QA
End User Tests
• А что если UI не готов?
• Высокий Maintenance - UI меняется
• Покрытие
• Flexibility – Не видна обратная связь
с компонентами
• Code level тесты.
• Написаны на AUT языке
• Маленький maintenance
• Выполняются Dev
Unit Tests
• Стерильная система (mock)
• Не находит интеграционных проблем
• Узкие тесты – используют один метод
• Обычно пишутся Dev, который и
написал сам компонент
Основные инструменты АТ
• Selenium
• QTP
• JUnit
• Microsoft UI Automation
• Coded UI
• Load Runner
• etc .
Что может быть покрыто АТ?
• Functional:
• Unit tests
• Integration testing
• End-User testing
• UI:
• Позиция элементов, внешний вид, наполнение, типы ввода и
фильтрация ввода
• Performance and stability
Manual vs Automation
Ручное Автоматизированное
Задание входных
значений
Гибкость в задании данных. Позволяет использовать разные
значения на разных циклах прогона тестов, расширяя покрытие
Входные значения строго заданы
Проверка результата Гибкая, позволяет тестировщику оценивать нечетко
сформулиррованные критерии
Строгая. Нечетко
сформулированные критерии
могут быть проверены только
путём сравнения с эталоном
Повторяемость Низкая. Человеческий фактор и нечеткое определение данных
приводят к неповторяемости тестирования
Высокая
Надежность Низкая. Длительные тестовые циклы приводят к снижению
внимания у тестировщика
Высокая, не зависит от длины
тестового цикла
Чувствительность к
незначительным
изменениям в
продукте
Зависит от детальности описания процедурыю Обычно
тестировщик в состоянии выполнить тест, если внешний вид
продукта и текст сообщений несколько изменились
Высокая. Незначительные
изменения в интерфейсе часто
ведут к коррекции эталонов
Скорость выполнения
тестового набора
Низкая Высокая
+ Manual vs Automation
• Возможность неформального тестирования
• Возможность гибкой оценки результатов
• Возможность использования исследовательской техники
тестирования
• Возможность полностью имитировать работу пользователя,
использовать пользовательские сценарии
• Не очень чувствителен к изменению продукта
- Manual vs Automation
• Занимает много времени и ресурсов
• Не всегда надежно
• В ряде случаев практически невозможно
+ Automation vs Manual
• Занимают меньше время на выполнение
• Имеют высокую надежность
• Позволяют выполнить тестирование, практически невыполнимое
человеком(например нагрузочное тестирование)
- Automation vs Manual
• Чувствителен к малейшим изменениям в продукте
• Редко позволяет сделать гибкое тестирование и гибкую оценку
результатов
• Нет возможности тестировать неформально и используя
исследовательскую технику тестирования
• Часто требует много времени на создание и поддержку тестов
Когда стоит приступать к АТ?
• Часть функционала на которую запланирована автоматизация готова
и протестирована мануально
• Большое кол-во предварительных данных для тестирования (DB, XML,
etc.), большое количество деталей для проверки
• UI стабилен
• Необходима длительная нагрузка на систему (Performance)
• Большое количество регрессии
Стадии процесса АТ
Принятие
решения о
внедрении
автоматическо
го
тестирования
Выбор
инструменталь
ных средств
Внедрение
автоматическ
ого
тестирования
Планирование,
проетирование
и разработка
Выполнение
тестов,
упарвление
процессом
тестирования
Оценка и
усовершенство
вание
процесса
ROI
ROI = (Gain - Investments)/Gain *100%
Gain - расчётная стоимость тестирования без автоматизации
Investments - расходы на создание и выполнение автоматической
библиотеки тестов за тот же период, что был использован для вычисления
расчётной стоимости тестирования без автоматизации
ROI
Первая версия:
(Время на выполнение тестирования вручную) -
(Время на изучение + время на реорганизацию процесса + время на создание
тестов + время на поддержу + время на исследование дефекта и анализ
результатов) = Экономия времени при использовании автоматического
тестирования
ROI
Все последующие версии:
Время на выполнение тестирования вручную – (время на поддержу тестов
+ время на создание тестов + время на исследование дефекта и анализ
результатов) = Экономия времение при использовании автоматического
тестирования
Manual VS Auto
0
100
200
300
400
500
1 2 3 4 5 6 7 8 9 101112131415161718192021222324
Man
ual
Auto
Время
Кол-во тестов
Что может пригодиться юному
автоматизатору?
• Знания основ мануального тестирования https://www.google.com.ua
• Скриптование. Начиная от простейших cmd и shell скриптов и
заканчивая более сложными вещами (например js)
• Знания WebServices , SOAPUI (Rest and SOAP) http://www.w3schools.com/
• XML and XPATH
• DHTML
• ООП https://www.udemy.com/java-tutorial/
• Регулярные выражения ( http://regexone.com/ )
Вопросы?

Más contenido relacionado

La actualidad más candente

Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
COMAQA.BY
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
Gleb Rybalko
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
DataArt
 
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
Igor Khrol
 
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Sergiy Povolyashko, PMP
 

La actualidad más candente (20)

Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
02ka-nov
02ka-nov02ka-nov
02ka-nov
 
CQRS. Event Sourcing. Особенности тестирования
CQRS. Event Sourcing. Особенности тестированияCQRS. Event Sourcing. Особенности тестирования
CQRS. Event Sourcing. Особенности тестирования
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проекте
 
Фокус тест
Фокус тестФокус тест
Фокус тест
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
 
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
 
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
 

Destacado

Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehaveЭволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Return on Intelligence
 
Инструменты для тестирования UI
Инструменты для тестирования UIИнструменты для тестирования UI
Инструменты для тестирования UI
ISsoft
 
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Dmytro Zharii
 

Destacado (11)

Cucumber
CucumberCucumber
Cucumber
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehaveЭволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
 
BDD and Behave
BDD and BehaveBDD and Behave
BDD and Behave
 
Разработка через тестирование (TDD и BDD)
Разработка через тестирование (TDD и BDD)Разработка через тестирование (TDD и BDD)
Разработка через тестирование (TDD и BDD)
 
Инструменты для тестирования UI
Инструменты для тестирования UIИнструменты для тестирования UI
Инструменты для тестирования UI
 
VIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллектаVIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллекта
 
QA Fest 2015. Станислав Трубин. Интервью: Как успешные зарубежные компании на...
QA Fest 2015. Станислав Трубин. Интервью: Как успешные зарубежные компании на...QA Fest 2015. Станислав Трубин. Интервью: Как успешные зарубежные компании на...
QA Fest 2015. Станислав Трубин. Интервью: Как успешные зарубежные компании на...
 
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
 
Cucumber & gherkin language
Cucumber & gherkin languageCucumber & gherkin language
Cucumber & gherkin language
 
The Dangers of Cucumber
The Dangers of CucumberThe Dangers of Cucumber
The Dangers of Cucumber
 

Similar a Автоматическое тестирование и с чем его едят

Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
KiraKeiss
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казани
margo-qa
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
CEE-SEC(R)
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
SQALab
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
CEE-SEC(R)
 
About Testers
About TestersAbout Testers
About Testers
antsh
 
Майстер-клас "Автоматизоване тестування. З чого почати?
Майстер-клас "Автоматизоване тестування. З чого почати?Майстер-клас "Автоматизоване тестування. З чого почати?
Майстер-клас "Автоматизоване тестування. З чого почати?
DataArt
 

Similar a Автоматическое тестирование и с чем его едят (20)

Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казани
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Testing
TestingTesting
Testing
 
Enter: testing
Enter: testingEnter: testing
Enter: testing
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
 
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation Tool
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
 
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?
 
Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработки
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкой
 
зуева татьяна - опыт автоматизации тестирования в Agile проекте
зуева татьяна -  опыт автоматизации тестирования в Agile проектезуева татьяна -  опыт автоматизации тестирования в Agile проекте
зуева татьяна - опыт автоматизации тестирования в Agile проекте
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
About Testers
About TestersAbout Testers
About Testers
 
Майстер-клас "Автоматизоване тестування. З чого почати?
Майстер-клас "Автоматизоване тестування. З чого почати?Майстер-клас "Автоматизоване тестування. З чого почати?
Майстер-клас "Автоматизоване тестування. З чого почати?
 
Test design print
Test design printTest design print
Test design print
 

Más de Marina Peregud

Эллина Азадова "Что за зверь Usability... и как его протестировать"
Эллина Азадова "Что за зверь Usability... и как его протестировать"Эллина Азадова "Что за зверь Usability... и как его протестировать"
Эллина Азадова "Что за зверь Usability... и как его протестировать"
Marina Peregud
 
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Marina Peregud
 
Александр Демура "Сферы применения разных типов менеджмента"
Александр Демура "Сферы применения разных типов менеджмента"Александр Демура "Сферы применения разных типов менеджмента"
Александр Демура "Сферы применения разных типов менеджмента"
Marina Peregud
 
Михаил Сердюк "Приятности Руби или Зачем писать красивый код"
Михаил Сердюк "Приятности Руби или Зачем писать красивый код"Михаил Сердюк "Приятности Руби или Зачем писать красивый код"
Михаил Сердюк "Приятности Руби или Зачем писать красивый код"
Marina Peregud
 

Más de Marina Peregud (6)

IT talk #18 Odessa: Alexey Rybakov "Android TV"
IT talk #18 Odessa: Alexey Rybakov "Android TV"IT talk #18 Odessa: Alexey Rybakov "Android TV"
IT talk #18 Odessa: Alexey Rybakov "Android TV"
 
IT talk Odessa. Device Hive
IT talk Odessa. Device HiveIT talk Odessa. Device Hive
IT talk Odessa. Device Hive
 
Эллина Азадова "Что за зверь Usability... и как его протестировать"
Эллина Азадова "Что за зверь Usability... и как его протестировать"Эллина Азадова "Что за зверь Usability... и как его протестировать"
Эллина Азадова "Что за зверь Usability... и как его протестировать"
 
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
 
Александр Демура "Сферы применения разных типов менеджмента"
Александр Демура "Сферы применения разных типов менеджмента"Александр Демура "Сферы применения разных типов менеджмента"
Александр Демура "Сферы применения разных типов менеджмента"
 
Михаил Сердюк "Приятности Руби или Зачем писать красивый код"
Михаил Сердюк "Приятности Руби или Зачем писать красивый код"Михаил Сердюк "Приятности Руби или Зачем писать красивый код"
Михаил Сердюк "Приятности Руби или Зачем писать красивый код"
 

Último

2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 

Último (9)

2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 

Автоматическое тестирование и с чем его едят

  • 2. Кто этот парень перед нами?
  • 3. Кто этот парень перед нами? Имя: Андрей Сильчук Возраст: 27 лет Место работы: DataArt Должность: Project Manager Увлечения: фигурное катание, Star Wars, snowboarding
  • 4. Agenda • Автоматизация? Какая еще автоматизация? • Автоматическое тестирование ПО. Зачем вообще? • Отличие от мануального тестирования ПО, или Ручник vs человек разумный. • Имею желание, но не имею возможности, или какие знания были бы полезны в этой области. • Когда стоит внедрять автоматизацию. ROI и другие непонятные слова на три буквы.
  • 5. Что такое автоматическое тестирование (АТ)? • Автоматизированное (автоматическое) тестирование является составной частью процесса тестирования. Оно использует программные средства для выполнения тестов и проверки результатов пробега этих тестов, что помогает сократить время тестирования и упростить его процесс. • Automation QA - это QA engineer обеспечивающий создание, отладку и поддержку работоспособного состояния тест скриптов, тестовых наборов и инструментов для автоматизированного тестирования.
  • 6. Подходы к АТ • Тестировние на GUI уровне. Эмуляция дествий пользователя, часто record-replay мехнизм. Автоматизация black-box тестирования (иногда с элементами серого ящика) • Тестирование на уровне кода, автоматизация Unit-тестирвоания (модульное тестирование) End-user testing/UI testing Code-level testing
  • 7. End-User testing VS Unit testing • Реальная система • Record & Replay • End to end • Выполняются QA End User Tests • А что если UI не готов? • Высокий Maintenance - UI меняется • Покрытие • Flexibility – Не видна обратная связь с компонентами • Code level тесты. • Написаны на AUT языке • Маленький maintenance • Выполняются Dev Unit Tests • Стерильная система (mock) • Не находит интеграционных проблем • Узкие тесты – используют один метод • Обычно пишутся Dev, который и написал сам компонент
  • 8. Основные инструменты АТ • Selenium • QTP • JUnit • Microsoft UI Automation • Coded UI • Load Runner • etc .
  • 9. Что может быть покрыто АТ? • Functional: • Unit tests • Integration testing • End-User testing • UI: • Позиция элементов, внешний вид, наполнение, типы ввода и фильтрация ввода • Performance and stability
  • 10. Manual vs Automation Ручное Автоматизированное Задание входных значений Гибкость в задании данных. Позволяет использовать разные значения на разных циклах прогона тестов, расширяя покрытие Входные значения строго заданы Проверка результата Гибкая, позволяет тестировщику оценивать нечетко сформулиррованные критерии Строгая. Нечетко сформулированные критерии могут быть проверены только путём сравнения с эталоном Повторяемость Низкая. Человеческий фактор и нечеткое определение данных приводят к неповторяемости тестирования Высокая Надежность Низкая. Длительные тестовые циклы приводят к снижению внимания у тестировщика Высокая, не зависит от длины тестового цикла Чувствительность к незначительным изменениям в продукте Зависит от детальности описания процедурыю Обычно тестировщик в состоянии выполнить тест, если внешний вид продукта и текст сообщений несколько изменились Высокая. Незначительные изменения в интерфейсе часто ведут к коррекции эталонов Скорость выполнения тестового набора Низкая Высокая
  • 11. + Manual vs Automation • Возможность неформального тестирования • Возможность гибкой оценки результатов • Возможность использования исследовательской техники тестирования • Возможность полностью имитировать работу пользователя, использовать пользовательские сценарии • Не очень чувствителен к изменению продукта
  • 12. - Manual vs Automation • Занимает много времени и ресурсов • Не всегда надежно • В ряде случаев практически невозможно
  • 13. + Automation vs Manual • Занимают меньше время на выполнение • Имеют высокую надежность • Позволяют выполнить тестирование, практически невыполнимое человеком(например нагрузочное тестирование)
  • 14. - Automation vs Manual • Чувствителен к малейшим изменениям в продукте • Редко позволяет сделать гибкое тестирование и гибкую оценку результатов • Нет возможности тестировать неформально и используя исследовательскую технику тестирования • Часто требует много времени на создание и поддержку тестов
  • 15. Когда стоит приступать к АТ? • Часть функционала на которую запланирована автоматизация готова и протестирована мануально • Большое кол-во предварительных данных для тестирования (DB, XML, etc.), большое количество деталей для проверки • UI стабилен • Необходима длительная нагрузка на систему (Performance) • Большое количество регрессии
  • 16. Стадии процесса АТ Принятие решения о внедрении автоматическо го тестирования Выбор инструменталь ных средств Внедрение автоматическ ого тестирования Планирование, проетирование и разработка Выполнение тестов, упарвление процессом тестирования Оценка и усовершенство вание процесса
  • 17. ROI ROI = (Gain - Investments)/Gain *100% Gain - расчётная стоимость тестирования без автоматизации Investments - расходы на создание и выполнение автоматической библиотеки тестов за тот же период, что был использован для вычисления расчётной стоимости тестирования без автоматизации
  • 18. ROI Первая версия: (Время на выполнение тестирования вручную) - (Время на изучение + время на реорганизацию процесса + время на создание тестов + время на поддержу + время на исследование дефекта и анализ результатов) = Экономия времени при использовании автоматического тестирования
  • 19. ROI Все последующие версии: Время на выполнение тестирования вручную – (время на поддержу тестов + время на создание тестов + время на исследование дефекта и анализ результатов) = Экономия времение при использовании автоматического тестирования
  • 20. Manual VS Auto 0 100 200 300 400 500 1 2 3 4 5 6 7 8 9 101112131415161718192021222324 Man ual Auto Время Кол-во тестов
  • 21. Что может пригодиться юному автоматизатору? • Знания основ мануального тестирования https://www.google.com.ua • Скриптование. Начиная от простейших cmd и shell скриптов и заканчивая более сложными вещами (например js) • Знания WebServices , SOAPUI (Rest and SOAP) http://www.w3schools.com/ • XML and XPATH • DHTML • ООП https://www.udemy.com/java-tutorial/ • Регулярные выражения ( http://regexone.com/ )

Notas del editor

  1. Рассказать про себя. Как зовут Где работаешь Кем работаешь Зачем ты здесь Хобби и увлечения …..
  2. Рассказать про себя. Как зовут Где работаешь Кем работаешь Зачем ты здесь Хобби и увлечения …..
  3. Описание курса….
  4. Первые попытки «автоматизации» появились в эпоху операционных систем DOS. Тогда она заключалась в выдаче приложению команд через командную строку и анализе результатов. Чуть позднее добавились удаленные вызовы через API для работы по сети. Впервые об автоматизированном тестировании упоминается в книге Фредерика Брукса «Мифический человеко-месяц», где говорится о перспективах использования модульного тестирования. Но по-настоящему автоматизация тестирования стала развиваться только в 1980-х годах.
  5. Существует два основных подхода к автоматизации тестирования: тестирование на уровне кода и тестирование пользовательского интерфейса (в частности, GUI-тестирование). К первому типу относится, в частности, модульное тестирование. Ко второму — имитация действий пользователя с помощью специальных тестовых фреймворков. Модульное тестирование, или юнит-тестирование (англ. unit testing) — процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы. Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок. Цель модульного тестирования — изолировать отдельные части программы и показать, что по отдельности эти части работоспособны. Этот тип тестирования обычно выполняется программистами. Интеграцио́нное тести́рование (англ. Integration testing, иногда называется англ. Integration and Testing, аббревиатура англ. I&T) — одна из фаз тестирования программного обеспечения, при которой отдельные программные модули объединяются и тестируются в группе. Обычно интеграционное тестирование проводится после модульного тестирования и предшествует системному тестированию. Интеграционное тестирование в качестве входных данных использует модули, над которыми было проведено модульное тестирование, группирует их в более крупные множества, выполняет тесты, определённые в плане тестирования для этих множеств, и представляет их в качестве выходных данных и входных для последующего системного тестирования. Целью интеграционного тестирования является проверка соответствия проектируемых единиц функциональным, приёмным и требованиям надежности. Тестирование этих проектируемых единиц — объединения, множества или группы модулей — выполняется через их интерфейс, с использованием тестирования «чёрного ящика».
  6. Существует два основных подхода к автоматизации тестирования: тестирование на уровне кода и тестирование пользовательского интерфейса (в частности, GUI-тестирование). К первому типу относится, в частности, модульное тестирование. Ко второму — имитация действий пользователя с помощью специальных тестовых фреймворков.
  7. Selenium – целое семейство иснструментов для тестирования Web-приложений о котором мы поговорим позже подробней. Бесплатный QTP - HP QuickTest Professional (QTP) — один из ведущих[1] инструментов автоматизации функционального тестирования, является флагманским продуктом компании HP в своей линейке. Для разработки автоматизированных тестов QTP использует язык VBScript, и поддерживает следующие технологии[2]: Windows® Presentation Foundation, Web services, Macromedia Flex, Ajax, Delphi, .NET, J2EEWeb, Visual Basic, ActiveX, Java, Oracle, SAP Solution, TE, PowerBuilder, Siebel, PeopleSoft, VisualAge, Stingray. Платен. Имеет репозиторий объектов JUnit — библиотека для модульного тестирования программного обеспечения на языке Java. Созданный Кентом Беком и Эриком Гаммой, JUnit принадлежит семье фреймворков xUnit для разных языков программирования, берущей начало в SUnit Кента Бека для Smalltalk. Microsoft UI Automation – API позволяет получить доступ к, идентифицировать и управлять элементами пользовательского интерфейса десктопных приложений Coded UI Test – это решение для автоматизации UI-тестов, которое появилось в Microsoft Visual Studio 10. Позволяет автоматизировать как web-приложения, так и desktop-приложения. Достоинства: полная интеграция с TFS. Огромное количество возможностей при работе с .NET технологиями. Поддержка от Microsoft; наличие встроенного инструмента записи / воспроизведения тестов. Правда, запись доступна только в IE; отлично справляется с AJAX запросами в веб-приложениях; позволяет искать веб-элементы по нескольким критериям поиска (нечеткое совпадение); можно автоматизировать Silverlight 4; подходит для тестирования Windows desktop-приложений. Недостатки: Coded UI Test – довольно дорогое удовольствие, так как запись тестов доступна только в Ultimate и Premium версиях Visual Studio. В Professional версии есть возможность только запуска тестов; ограниченные возможности для тестирования веб-приложений. На данный момент поддерживается только IE 7, IE 8 и Firefox 3.6; отсутствие регулярных обновлений. Изменения доступны только с выпуском очередных версий или дополнений Visual Studio; при использовании инструмента записи / воспроизведения генерируется слишком много кода; для тестирования веб-приложений есть проблемы при поиске требуемого окна; для простейших команд требуется писать много кода; низкая скорость работы (как минимум, при сравнении с Selenium). HP LoadRunner — утилита для автоматизированного нагрузочного тестирования. Программа может выполнять как тестирование различных приложений, так и тестирование сайтов различного уровня сложности. Подключая виртуальных пользователей выполняющих различные скрипты (действия), по различным сценариям. Программа имеет соответствующие наборы инструментов для проведения тестирования. Так же в состав HP LoadRunner входит набор инструментов для работы по различным протоколам с приложением (удаленно, через прокси-сервер и т.п.)
  8. Задачки по расчету:
  9. Задачки по расчету:
  10. Задачки по расчету: У нас есть проект в котором планируется имплементация 7 фич. Известно что на каждую фичу если тестировать мануально надо потратить 30 часов. А на автоматизацию одной фичи необходимо потратить 60 часов. Каких данных не хватает для расчета РОИ? Не хватает время на реогрганизацию процесса (изучение автоматического тула + договориться об имплементации автоматизации....) + время на выполнение тестов (анализ результатов + репортинг) + время на поддежку тестов + время на исследование дефекта. На реоганизацию надо 50. Выполнение тестов 40 на весь проект.... Время на поддержку – 50. На исследование деффекта – 30. Решение – 7*30 – (7*60 + 50 + 40 + 50 + 30) = 210 – (420+ 170)= 210 – 590 – НЕ ВЫГОДНО А теперь посчитаем что у нас тестирование должно проходить на 5 Операционках.... (не или 5 версий продукта будет...) Решение – 7*30*5 – (7*60 + 50 + 40*5 (если тесты бегают паралельно то времени понадобится меньше) + 50 + 30*5) = 1050 – (420 + 50 + 200 + 50 + 150) = 1050 – 870 – ВЫГОДНО
  11. Ручное тестирование и автоматизированное – два совершенно разных процесса, точнее, два способа выполнить один и тот же процесс. Их динамика отличается,  и типы ошибок, которые они пытаются обнаружить, также отличаются. Соответственно, напрямую их сравнивать по стоимости или по количеству обнаруженных ошибок, бессмысленно. Обсуждаем график, у кого какие мысли почему так нарисовано... В случае мануального тестирования мы в какой-то момент упремся в потолок того что мы прогнать за 1 день из-за нехватки инженеров, в то время как в автоматизации этот предел не столь явен. Правда в случае АТ в начале количество тестов будет меньше чем в МТ, т.к. Понадобиться время на написание этих тестов, фреймворка и тд.....