Тестирование весна 2014 смешанное занятие 1
Upcoming SlideShare
Loading in...5
×
 

Тестирование весна 2014 смешанное занятие 1

on

  • 285 views

 

Statistics

Views

Total Views
285
Views on SlideShare
230
Embed Views
55

Actions

Likes
0
Downloads
10
Comments
0

1 Embed 55

https://tech-mail.ru 55

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Тестирование весна 2014 смешанное занятие 1 Тестирование весна 2014 смешанное занятие 1 Presentation Transcript

  • Автоматизация функционального тестирования Влад Алюков
  • Кто? Занимаюсь тестированием 10 лет Из них 6 лет автоматизацией тестирования и тестовой инфраструктурой 2
  • О чём? Подходы Инструменты Проблемы 3
  • 4 Зачем?
  • Зачем? §  Широкий взгляд на вопрос качества §  Понимание методов его обеспечения §  Решение задач подобающим способом §  Умение поставлять качественные артефакты своего труда 5
  • Автоматизация тестирования §  Ускорение обратной связи §  Документация на фичи 6
  • Скорость разработки 7
  • Тесты – документация на ваш код 8
  • Функциональное тестирование 9
  • Функциональное тестирование §  Контроль конечной функциональности на: §  пригодность §  соответствие требованиям/спецификациям §  точность (accuracy testing) §  защищённость (security testing) 10
  • 11 Автоматизация функционального тестирования
  • Автоматизированные функциональные тесты 12
  • Автоматизированные функциональные тесты §  Взаимодействуют с GUI или внешним API §  Тестируют возможности вашего приложения/ сервиса 13
  • Каждому уровню свои тесты 14
  • Когда применять функциональные авто-тесты? §  Конечные возможности продукта §  Высокая степень интеграции 15
  • Testing pyramid 16
  • Предпосылки для автоматизации 17
  • Предпосылки для автоматизации §  Монотонные действия §  Стабильные интерфейсы §  Высокая частота изменений §  Критичность фичи 18
  • Подходы к автоматизации §  Один кейс – один тест §  Исключение сайд-эффектов (герметичность) 19
  • Герметичность 20
  • Обеспечение герметичности §  Виртуализация §  Заглушки §  Тестовые состояния приложения 21
  • Варианты интерфейсов §  GUI (Web-интерфейсы/Десктоп) §  API (RESTful/SOAP) 22
  • Инструменты автоматизации тестирования 23
  • Выбор инструментов §  Тест должен находиться в максимальной близости к тестируемой возможности §  Нельзя автоматизировать что-либо, не написав ни одной строчки кода 24
  • Тестирование Web-Приложений §  WebDriver §  Jasmine/jstestdriver §  phantomjs 25
  • WebDriver §  История §  Возможности §  Применимость 26
  • История 27
  • Возможности 28
  • 29 Как и для чего следует применять WebDriver
  • Браузерозависимые сценарии §  Drag’n’Drop - загрузка файлов §  Клавиатурные действия §  Кроссбраузерное тестирование §  Тестирование с браузерными расширениями 30
  • Тестовые фрэймворки §  TestNG/Junit/py.test/nose/rspec 31
  • Структура теста §  Подготовка данных/Открытие контекста §  Выполнение тестов в контексте §  Закрытие контекста 32
  • Пример теста 33
  • Как WebDriver взаимодействует с браузером/приложением §  Селекторы css/xpath §  «честный» click 34
  • Виды селекторов §  CSS §  Встроенная поддержка во всех современных браузерах §  Высокая скорость работы §  XPATH §  Оси §  Поиск по тексту элемента 35
  • Проблемы §  Нестабильность интерфейсов §  Вариативность окружения (много, много браузеров!) §  Низкая скорость работы интерфейсов 36
  • Паттерны проектирования GUI тестов 37
  • PageObject 38
  • DRY 39
  • фу! плохой тест! 40
  • PageObject 41
  • PageObject 42
  • хороший, образцовый, годный тест! 43
  • 44 Антипаттерны использования webdriver
  • Нагрузочное тестирование 45
  • Нагрузочное тестирование 46
  • Тестирование бизнес - логики 47
  • Запись/воспроизведение 48
  • Запись/воспроизведение 49
  • Запись/воспроизведение 50 §  Нельзя автоматизировать что-либо, не написав ни одной строчки кода §  Selenium IDE
  • Практики написания тестов §  Keyword based testing §  BDD 51
  • BDD example 52
  • BDD/PageObject example 53
  • Keyword Driven Test example 54
  • Применимость BDD/KDT §  Документация на возможности §  Кейсы составленные по практике BDD может понять средней руки гуманитарий. 55
  • Отчётность 56
  • xUnit где применяется §  Ваша IDE §  Сервер непрерывной интеграции 57
  • Антипаттерны в тестировании 58
  • Антипаттерны в тестировании §  god tests §  Гейзенбаг §  Неуправляемое окружение 59
  • 60 Как тестируем мы
  • Технологии §  ЯП: java/python/ruby §  FW: testng/py.tests/rspec §  CI: jenkins §  IaaS: OpenStack/chef §  build tool: maven/distutils/rake §  reporting: graphite/xunit/text reports 61
  • Браузерные тесты §  фрэймворк: maven/testng/guice/webdriver/ browsermob proxy/800loc §  тесты: 17kloc ~700 тестов 62
  • Функциональный мониторинг 63
  • Домашнее задание §  Написать тесты на проект Поиск@Mail.Ru §  Тесты должны работать в 2х браузерах firefox/ chrome §  Отчёт должен генерироваться в формате xUnit report §  Тесты в браузерах должны исполняться параллельно. 64
  • Домашнее задание §  Подмес «Календарь» ( q= календарь) §  Подмес «Конвертор валют» ( q= курс доллара) §  Подмес «Восход-Закат» ( q= закат ) §  Все подмесы геозависимые §  У меня не должно возникнуть проблем с запуском ваших тестов =) 65
  • Практика §  Java 1.7/Maven 3/IDE (я использую intellij idea) §  Интернет! 66
  • Вопросы 67
  • Спасибо за внимание Влад Алюков v.alyukov@corp.mail.ru