Automation Overview

782 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
782
On SlideShare
0
From Embeds
0
Number of Embeds
290
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Automation Overview

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

×