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

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

on

  • 231 views

 

Statistics

Views

Total Views
231
Views on SlideShare
189
Embed Views
42

Actions

Likes
0
Downloads
8
Comments
0

1 Embed 42

https://tech-mail.ru 42

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