2. Что такое автоматизация?
• Автоматизация в тестировании – это
использование программных средств для
поддержки тестирования.
3. Причины для автоматизации
• Ручное тестирование требует длительного
времени
• Ручной процесс подвержен ошибкам
• Освобождается время для лучшей работы
• Страховочная сетка – регрессия
• Получение отклика – рано и часто
• Польза от тестов, управляющих кодированием
• Тесты обеспечивают документацию
• Возврат инвестиций
4. Начинаем?
Автоматизация тестирования — это
стратегическая задача.
Она требует:
• Наличия специальных людей, обладающих
особыми навыками
• Инвестиций времени и средств, особенно,
на начальных этапах
• Изменений в общем процессе
тестирования
5. Автоматизатор... Кто он?
Знания и навыки:
• Языки программирования
• Design Patterns
• Инструменты Автоматизации
• Инструменты сборки
• Инфраструктура
ООП, Java, C#, xUnit, SQL, XML, HTML, JavaScript, Regular
Expressions, XPATH, CSS, CI (Jenkins, Hudson,), Linux, Testing, Test
Design
7. Что можно автоматизировать?
• Генерация данных
• Системная конфигурация
• Симуляторы
• Сборки проекта (UI and non UI)
• Анализаторы кода
8. Как продать автоматизацию?
В контексте:
• Продуктовая компания
• Аутсорсинговая компания
• IT отдел в не IT компании
• Фрилансеры
9. Пример бизнес целей
Автоматизировать что-нибудь – это не цель!!!
За год сократить время выполнения тестов в два
раза без снижения полноты покрытия требований:
• Ежемесячно сокращать на 5%
• Автоматизировать 10 % самых трудоемких
тестов и 20 самых легко автоматизируемых
тестов
• Сократить общее количество тестов на 20%
(убрать дубликаты)
• Автоматизировать установку и настройку
10. Препятствия
• Список Брета
• Позиция программистов
• Боль перемен
• Начальные инвестиции
• Постоянно меняющийся код
• Унаследованные системы
• Страх
• Старые привычки
11. Список Брета
• Остаточный принцип выделения времени
на автоматизацию
• Недостаток ясности цели
• Недостаток опыта
• Большая реорганизация, теряется опыт
• Безысходность. Автоматизация – плацебо
• Удовольствие – не тестирование,
удовольствие – автоматизация
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, что позволяет легко масштабировать стенд
автоматизации.