automation overview
TRANSCRIPT
![Page 2: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/2.jpg)
Что такое автоматизация?
• Автоматизация в тестировании – это использование программных средств для поддержки тестирования.
![Page 3: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/3.jpg)
Причины для автоматизации
• Ручное тестирование требует длительного времени
• Ручной процесс подвержен ошибкам• Освобождается время для лучшей работы• Страховочная сетка – регрессия• Получение отклика – рано и часто• Польза от тестов, управляющих кодированием• Тесты обеспечивают документацию• Возврат инвестиций
![Page 4: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/4.jpg)
Начинаем?
Автоматизация тестирования — это стратегическая задача. Она требует:• Наличия специальных людей, обладающих
особыми навыками• Инвестиций времени и средств, особенно, на
начальных этапах• Изменений в общем процессе тестирования
![Page 5: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/5.jpg)
Автоматизатор... Кто он?
Знания и навыки:• Языки программирования• Design Patterns• Инструменты Автоматизации• Инструменты сборки • ИнфраструктураООП, Java, C#, xUnit, SQL, XML, HTML, JavaScript, Regular Expressions, XPATH, CSS, CI (Jenkins, Hudson,), Linux, Testing, Test Design
![Page 6: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/6.jpg)
Какой язык выбрать?
• Java• C#• Python• Ruby• PHP• Perl
![Page 7: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/7.jpg)
Что можно автоматизировать?
• Генерация данных• Системная конфигурация• Симуляторы• Сборки проекта (UI and non UI)• Анализаторы кода
![Page 8: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/8.jpg)
Как продать автоматизацию?
В контексте:• Продуктовая компания• Аутсорсинговая компания• IT отдел в не IT компании• Фрилансеры
![Page 9: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/9.jpg)
Пример бизнес целей
Автоматизировать что-нибудь – это не цель!!!За год сократить время выполнения тестов в два раза без снижения полноты покрытия требований:• Ежемесячно сокращать на 5%• Автоматизировать 10 % самых трудоемких тестов
и 20 самых легко автоматизируемых тестов• Сократить общее количество тестов на 20%
(убрать дубликаты)• Автоматизировать установку и настройку
![Page 10: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/10.jpg)
Препятствия
• Список Брета• Позиция программистов• Боль перемен• Начальные инвестиции• Постоянно меняющийся код• Унаследованные системы• Страх• Старые привычки
![Page 11: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/11.jpg)
Список Брета
• Остаточный принцип выделения времени на автоматизацию
• Недостаток ясности цели• Недостаток опыта• Большая реорганизация, теряется опыт• Безысходность. Автоматизация – плацебо• Удовольствие – не тестирование,
удовольствие – автоматизация
![Page 12: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/12.jpg)
Квадраты гибкого тестирования
Используйте квадранты для идентификации областей где автоматизация необходима.
![Page 13: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/13.jpg)
Пирамида автоматизации тестов
Пирамида помогает правильно инвестировать средства и ресурсы в автоматизацию для получения максимальной отдачи.
![Page 14: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/14.jpg)
Что надо для работы
• Браузер(ы)• Java SDK (Python, Ruby, .Net, PHP, Perl)• Selenium• Тестовый фреймворк (JUnit, TestNG)• Java IDE (Eclipse, NetBeans, IDEA, …)
+• Selenium IDE• FireBug, Firefinder
![Page 15: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/15.jpg)
План разработки тестов
• Запишем рекордером (Selenium IDE)• Перенесём на язык Java• Запустим при помощи Java
![Page 16: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/16.jpg)
Общая схема
![Page 17: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/17.jpg)
Что такое Selenium?
Selenium -- это инструмент для автоматизированного управления браузерами.
Selenium -- это настоящее и будущее автоматизированного управления браузерами. Если Вы хотите считаться профессионалом в области автоматизации тестирования веб-приложений -- Вы обязательно должны владеть этим инструментом.
![Page 18: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/18.jpg)
Инструменты Selenium
Если Вы хотите сделать:• небольшой сценарий для быстрого
автоматизированного воспроизведения бага,• вспомогательный скрипт для выполнения
отдельных рутинных действий при ручном тестировании,
Вам нужен Selenium IDE -- расширение браузера Firefox, которое позволяет записывать и воспроизводить действия пользователя в браузере.
![Page 19: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/19.jpg)
Инструменты Selenium
Если Вам требуется разработать:• надежный фреймворк автоматизации,
способный работать с любым браузером,• большой тестовый набор, включающий тесты с
достаточно сложной логикой поведения и проверок,
Вам нужен Selenium WebDriver -- набор библиотек для различных языков программирования, позволяющих управлять браузером из программы, написанной на этом языке программирования.
![Page 20: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/20.jpg)
Инструменты Selenium
Предшественником Selenium WebDriver является инструмент Selenium RC, который в настоящее время имеет статус "замороженного" и в дальнейшем развиваться не будет.Поэтому, если Вы ещё продолжаете использовать Selenium RC, рекомендуется рассмотреть варианты миграции на Selenium WebDriver.
![Page 21: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/21.jpg)
Инструменты Selenium
Если Вам необходимо:• запускать тесты удалённо на разных машинах с
разными операционными системами и браузерами,• организовать тестовый стенд для выполнения
большого количества тестов,Вам нужен Selenium Server -- он может принимать команды с удалённой машины, где работает сценарий автоматизации, и исполнять их в браузере. Несколько серверов Selenium могут образовывать распределённую сеть, которая называется Selenium Grid, что позволяет легко масштабировать стенд автоматизации.
![Page 22: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/22.jpg)
Где что брать/читать
http://software-testing.ru/http://automated-testing.info/
http://seleniumhq.org/http://tctutorial.ru/http://code.google.com/p/selenium/http://stackoverflow.com/
![Page 23: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/23.jpg)
Литература
![Page 24: Automation Overview](https://reader035.vdocuments.net/reader035/viewer/2022062220/557ee906d8b42ad17d8b465f/html5/thumbnails/24.jpg)