SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Автоматизация тестирования:
          Основы
           Кирилл Кейс
     Test Automation Engineer
      Kyrylo.keis@gmail.com
             @testkeis
Что такое автоматизация?
• Автоматизация в тестировании – это
  использование программных средств для
  поддержки тестирования.
Причины для автоматизации
• Ручное тестирование требует длительного
  времени
• Ручной процесс подвержен ошибкам
• Освобождается время для лучшей работы
• Страховочная сетка – регрессия
• Получение отклика – рано и часто
• Польза от тестов, управляющих кодированием
• Тесты обеспечивают документацию
• Возврат инвестиций
Начинаем?
Автоматизация тестирования — это
стратегическая задача.
Она требует:
• Наличия специальных людей, обладающих
  особыми навыками
• Инвестиций времени и средств, особенно,
  на начальных этапах
• Изменений в общем процессе
  тестирования
Автоматизатор... Кто он?
Знания и навыки:
• Языки программирования
• Design Patterns
• Инструменты Автоматизации
• Инструменты сборки
• Инфраструктура
ООП, Java, C#, xUnit, SQL, XML, HTML, JavaScript, Regular
Expressions, XPATH, CSS, CI (Jenkins, Hudson,), Linux, Testing, Test
Design
Какой язык выбрать?
•   Java
•   C#
•   Python
•   Ruby
•   PHP
•   Perl
Что можно автоматизировать?
•   Генерация данных
•   Системная конфигурация
•   Симуляторы
•   Сборки проекта (UI and non UI)
•   Анализаторы кода
Как продать автоматизацию?
В контексте:
• Продуктовая компания
• Аутсорсинговая компания
• IT отдел в не IT компании
• Фрилансеры
Пример бизнес целей
Автоматизировать что-нибудь – это не цель!!!
За год сократить время выполнения тестов в два
раза без снижения полноты покрытия требований:
• Ежемесячно сокращать на 5%
• Автоматизировать 10 % самых трудоемких
  тестов и 20 самых легко автоматизируемых
  тестов
• Сократить общее количество тестов на 20%
  (убрать дубликаты)
• Автоматизировать установку и настройку
Препятствия
•   Список Брета
•   Позиция программистов
•   Боль перемен
•   Начальные инвестиции
•   Постоянно меняющийся код
•   Унаследованные системы
•   Страх
•   Старые привычки
Список Брета
• Остаточный принцип выделения времени
  на автоматизацию
• Недостаток ясности цели
• Недостаток опыта
• Большая реорганизация, теряется опыт
• Безысходность. Автоматизация – плацебо
• Удовольствие – не тестирование,
  удовольствие – автоматизация
Квадраты гибкого тестирования
Используйте квадранты для идентификации
областей где автоматизация необходима.
Пирамида автоматизации тестов
Пирамида помогает правильно инвестировать
средства и ресурсы в автоматизацию для получения
максимальной отдачи.
Что надо для работы
• Браузер(ы)
• Java SDK (Python, Ruby, .Net, PHP, Perl)
• Selenium
• Тестовый фреймворк (JUnit, TestNG)
• Java IDE (Eclipse, NetBeans, IDEA, …)
  +
• Selenium IDE
• FireBug, Firefinder
План разработки тестов
• Запишем рекордером (Selenium IDE)
• Перенесём на язык Java
• Запустим при помощи Java
Общая схема
Что такое Selenium?
Selenium -- это инструмент для
автоматизированного управления
браузерами.

Selenium -- это настоящее и будущее
автоматизированного управления
браузерами. Если Вы хотите считаться
профессионалом в области автоматизации
тестирования веб-приложений -- Вы
обязательно должны владеть этим
инструментом.
Инструменты Selenium
Если Вы хотите сделать:
• небольшой сценарий для быстрого
   автоматизированного воспроизведения бага,
• вспомогательный скрипт для выполнения
   отдельных рутинных действий при ручном
   тестировании,
Вам нужен Selenium IDE -- расширение браузера
Firefox, которое позволяет записывать и
воспроизводить действия пользователя в
браузере.
Инструменты Selenium
Если Вам требуется разработать:
• надежный фреймворк
  автоматизации, способный работать с любым
  браузером,
• большой тестовый набор, включающий тесты с
  достаточно сложной логикой поведения и
  проверок,
Вам нужен Selenium WebDriver -- набор
библиотек для различных языков
программирования, позволяющих управлять
браузером из программы, написанной на этом
языке программирования.
Инструменты Selenium
Предшественником Selenium WebDriver
является инструмент Selenium RC, который в
настоящее время имеет статус
"замороженного" и в дальнейшем
развиваться не будет.
Поэтому, если Вы ещё продолжаете
использовать Selenium RC, рекомендуется
рассмотреть варианты миграции на
Selenium WebDriver.
Инструменты Selenium
Если Вам необходимо:
• запускать тесты удалённо на разных машинах с
  разными операционными системами и браузерами,
• организовать тестовый стенд для выполнения
  большого количества тестов,
Вам нужен Selenium Server -- он может принимать
команды с удалённой машины, где работает сценарий
автоматизации, и исполнять их в браузере. Несколько
серверов Selenium могут образовывать
распределённую сеть, которая называется Selenium
Grid, что позволяет легко масштабировать стенд
автоматизации.
Где что брать/читать
http://software-testing.ru/
http://automated-testing.info/
http://seleniumhq.org/
http://tctutorial.ru/
http://code.google.com/p/selenium/
http://stackoverflow.com/
Литература
Automation Overview

Weitere ähnliche Inhalte

Was ist angesagt?

QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QAFest
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Mail.ru Group
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияSQALab
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...COMAQA.BY
 
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QAFest
 
Severity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеSeverity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеDeutsche Post
 
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…Mikhail Payson
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Инструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективныеИнструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективныеSQALab
 
Crucible или почему для Code Review нужна не только голова, но и инструмент
Crucible или почему для Code Review нужна не только голова, но и инструментCrucible или почему для Code Review нужна не только голова, но и инструмент
Crucible или почему для Code Review нужна не только голова, но и инструментMaxim Kuzmich
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...WrikeTechClub
 
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииDeutsche Post
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиковUladzimir Kryvenka
 
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Mail.ru Group
 
Деградация автоматизаторов - "горе от ума"
Деградация автоматизаторов - "горе от ума"Деградация автоматизаторов - "горе от ума"
Деградация автоматизаторов - "горе от ума"SQALab
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервисautomated-testing.info
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance managementSQALab
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?CEE-SEC(R)
 

Was ist angesagt? (20)

QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
Start Agile 2007
Start Agile 2007Start Agile 2007
Start Agile 2007
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
 
Severity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеSeverity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятное
 
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
Инструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективныеИнструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективные
 
Crucible или почему для Code Review нужна не только голова, но и инструмент
Crucible или почему для Code Review нужна не только голова, но и инструментCrucible или почему для Code Review нужна не только голова, но и инструмент
Crucible или почему для Code Review нужна не только голова, но и инструмент
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиков
 
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
 
Деградация автоматизаторов - "горе от ума"
Деградация автоматизаторов - "горе от ума"Деградация автоматизаторов - "горе от ума"
Деградация автоматизаторов - "горе от ума"
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервис
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?
 

Andere mochten auch

DOI Adaptive Management Applications Guide (web optimized)
DOI Adaptive Management Applications Guide (web optimized)DOI Adaptive Management Applications Guide (web optimized)
DOI Adaptive Management Applications Guide (web optimized)DancerDC
 
HonorPay Specification Slides
HonorPay Specification SlidesHonorPay Specification Slides
HonorPay Specification Slidesfreeworlder
 
HonorPay - Standalone Mock-Up
HonorPay - Standalone Mock-UpHonorPay - Standalone Mock-Up
HonorPay - Standalone Mock-Upfreeworlder
 

Andere mochten auch (7)

S lidecast
S lidecastS lidecast
S lidecast
 
DOI Adaptive Management Applications Guide (web optimized)
DOI Adaptive Management Applications Guide (web optimized)DOI Adaptive Management Applications Guide (web optimized)
DOI Adaptive Management Applications Guide (web optimized)
 
Sim autocad
Sim autocadSim autocad
Sim autocad
 
HonorPay Specification Slides
HonorPay Specification SlidesHonorPay Specification Slides
HonorPay Specification Slides
 
Better team building
Better team buildingBetter team building
Better team building
 
2. A study of rural product mix
2. A study of rural product mix2. A study of rural product mix
2. A study of rural product mix
 
HonorPay - Standalone Mock-Up
HonorPay - Standalone Mock-UpHonorPay - Standalone Mock-Up
HonorPay - Standalone Mock-Up
 

Ähnlich wie Automation Overview

Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Hub-IT-School
 
Автоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едятАвтоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едятMarina Peregud
 
Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий СтрелюкSQALab
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙCEE-SEC(R)
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваSQALab
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSАлександр Шамрай
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?SQALab
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийSQALab
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестированияIgor Pozumentov
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?SQALab
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Igor Khrol
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 
Гибкие методологии разработки: максимальный результат для бизнеса с минимальн...
Гибкие методологии разработки: максимальный результат для бизнеса с минимальн...Гибкие методологии разработки: максимальный результат для бизнеса с минимальн...
Гибкие методологии разработки: максимальный результат для бизнеса с минимальн...Alexey Tigarev
 

Ähnlich wie Automation Overview (20)

Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
 
Автоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едятАвтоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едят
 
Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий Стрелюк
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производства
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знаний
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
Гибкие методологии разработки: максимальный результат для бизнеса с минимальн...
Гибкие методологии разработки: максимальный результат для бизнеса с минимальн...Гибкие методологии разработки: максимальный результат для бизнеса с минимальн...
Гибкие методологии разработки: максимальный результат для бизнеса с минимальн...
 

Automation Overview

  • 1. Автоматизация тестирования: Основы Кирилл Кейс Test Automation Engineer Kyrylo.keis@gmail.com @testkeis
  • 2. Что такое автоматизация? • Автоматизация в тестировании – это использование программных средств для поддержки тестирования.
  • 3. Причины для автоматизации • Ручное тестирование требует длительного времени • Ручной процесс подвержен ошибкам • Освобождается время для лучшей работы • Страховочная сетка – регрессия • Получение отклика – рано и часто • Польза от тестов, управляющих кодированием • Тесты обеспечивают документацию • Возврат инвестиций
  • 4. Начинаем? Автоматизация тестирования — это стратегическая задача. Она требует: • Наличия специальных людей, обладающих особыми навыками • Инвестиций времени и средств, особенно, на начальных этапах • Изменений в общем процессе тестирования
  • 5. Автоматизатор... Кто он? Знания и навыки: • Языки программирования • Design Patterns • Инструменты Автоматизации • Инструменты сборки • Инфраструктура ООП, Java, C#, xUnit, SQL, XML, HTML, JavaScript, Regular Expressions, XPATH, CSS, CI (Jenkins, Hudson,), Linux, Testing, Test Design
  • 6. Какой язык выбрать? • Java • C# • Python • Ruby • PHP • Perl
  • 7. Что можно автоматизировать? • Генерация данных • Системная конфигурация • Симуляторы • Сборки проекта (UI and non UI) • Анализаторы кода
  • 8. Как продать автоматизацию? В контексте: • Продуктовая компания • Аутсорсинговая компания • IT отдел в не IT компании • Фрилансеры
  • 9. Пример бизнес целей Автоматизировать что-нибудь – это не цель!!! За год сократить время выполнения тестов в два раза без снижения полноты покрытия требований: • Ежемесячно сокращать на 5% • Автоматизировать 10 % самых трудоемких тестов и 20 самых легко автоматизируемых тестов • Сократить общее количество тестов на 20% (убрать дубликаты) • Автоматизировать установку и настройку
  • 10. Препятствия • Список Брета • Позиция программистов • Боль перемен • Начальные инвестиции • Постоянно меняющийся код • Унаследованные системы • Страх • Старые привычки
  • 11. Список Брета • Остаточный принцип выделения времени на автоматизацию • Недостаток ясности цели • Недостаток опыта • Большая реорганизация, теряется опыт • Безысходность. Автоматизация – плацебо • Удовольствие – не тестирование, удовольствие – автоматизация
  • 12. Квадраты гибкого тестирования Используйте квадранты для идентификации областей где автоматизация необходима.
  • 13. Пирамида автоматизации тестов Пирамида помогает правильно инвестировать средства и ресурсы в автоматизацию для получения максимальной отдачи.
  • 14. Что надо для работы • Браузер(ы) • Java SDK (Python, Ruby, .Net, PHP, Perl) • Selenium • Тестовый фреймворк (JUnit, TestNG) • Java IDE (Eclipse, NetBeans, IDEA, …) + • Selenium IDE • FireBug, Firefinder
  • 15. План разработки тестов • Запишем рекордером (Selenium IDE) • Перенесём на язык Java • Запустим при помощи Java
  • 17. Что такое Selenium? Selenium -- это инструмент для автоматизированного управления браузерами. Selenium -- это настоящее и будущее автоматизированного управления браузерами. Если Вы хотите считаться профессионалом в области автоматизации тестирования веб-приложений -- Вы обязательно должны владеть этим инструментом.
  • 18. Инструменты Selenium Если Вы хотите сделать: • небольшой сценарий для быстрого автоматизированного воспроизведения бага, • вспомогательный скрипт для выполнения отдельных рутинных действий при ручном тестировании, Вам нужен Selenium IDE -- расширение браузера Firefox, которое позволяет записывать и воспроизводить действия пользователя в браузере.
  • 19. Инструменты Selenium Если Вам требуется разработать: • надежный фреймворк автоматизации, способный работать с любым браузером, • большой тестовый набор, включающий тесты с достаточно сложной логикой поведения и проверок, Вам нужен Selenium WebDriver -- набор библиотек для различных языков программирования, позволяющих управлять браузером из программы, написанной на этом языке программирования.
  • 20. Инструменты Selenium Предшественником Selenium WebDriver является инструмент Selenium RC, который в настоящее время имеет статус "замороженного" и в дальнейшем развиваться не будет. Поэтому, если Вы ещё продолжаете использовать Selenium RC, рекомендуется рассмотреть варианты миграции на Selenium WebDriver.
  • 21. Инструменты Selenium Если Вам необходимо: • запускать тесты удалённо на разных машинах с разными операционными системами и браузерами, • организовать тестовый стенд для выполнения большого количества тестов, Вам нужен Selenium Server -- он может принимать команды с удалённой машины, где работает сценарий автоматизации, и исполнять их в браузере. Несколько серверов Selenium могут образовывать распределённую сеть, которая называется Selenium Grid, что позволяет легко масштабировать стенд автоматизации.