38
Плюсы и минусы автоматизации, пример из жизни

Плюсы и минусы автоматизации, пример из жизни

  • Upload
    z-tech

  • View
    885

  • Download
    7

Embed Size (px)

DESCRIPTION

Презентация Влады Шпатыковской "Плюсы и минусы автоматизации, пример из жизни" с конференции Z-Tech 9.02.2013

Citation preview

Page 1: Плюсы и минусы автоматизации, пример из жизни

Плюсы и минусы

автоматизации, пример из

жизни

Page 2: Плюсы и минусы автоматизации, пример из жизни

О себе

Владилена Шпатыковская

Тестировщик, тест менеджер,

автоматизатор.

Обучение, менеджмент, автоматизация

ПО.

Интересы: теория тестирования,

распределение времени, управление

Цель: развивать тестирование и автоматизацию в

своей компании

Page 3: Плюсы и минусы автоматизации, пример из жизни

О чем я расскажу

Выбор инструмента

Создание первого с помощью рекордера

Оптимизация

Тестирования дизайна

Переход на WebDriver

Идея создания Testing Framework

Page 4: Плюсы и минусы автоматизации, пример из жизни

Пример• Проект на 2 года

• Несколько магазинов на одной платформе

• В конце спринта демо и деплоймент

• 5 разработчиков, 1 тестировщик

• В спринте 6-8 новых фич

• Всѐ нужно покрыть тестами

Page 5: Плюсы и минусы автоматизации, пример из жизни

Недовольные клиенты

Дефекты

Репутация

Page 6: Плюсы и минусы автоматизации, пример из жизни

ЧТО БЫЛО?

Налаженный процесс ручного тестирования

Page 7: Плюсы и минусы автоматизации, пример из жизни

Как начать автоматизацию?

Выбрать инструмент

Научиться писать тесты

Page 8: Плюсы и минусы автоматизации, пример из жизни

Запуск тестов

Создание тестов

Выполнение команд в браузере

Page 9: Плюсы и минусы автоматизации, пример из жизни

Раньше тест кейс выглядел так

Тест кейс:

перейти по линке

убедится, что страница открылась

открыть логин форму

выбрать «Sign in with Facebook»

ввести логин и пароль, нажать на кнопку

Ожидаемый результат – успешная авторизация

Page 10: Плюсы и минусы автоматизации, пример из жизни

Тест записан

рекордером

@Testpublic void testUntitled() {

selenium.open("https://soundcloud.com/");assertEquals(selenium.getTitle(), "SoundCloud - Hear the world’s sounds");selenium.click("link=Log in");selenium.waitForPopUp("connectWithSoundCloud", "30000");selenium.selectWindow("name=connectWithSoundCloud");selenium.click("link=Sign in with Facebook");selenium.waitForPageToLoad("30000");assertEquals(selenium.getTitle(), "Войти | Facebook");selenium.click("id=u_0_1");selenium.waitForPageToLoad("30000");

}

Page 11: Плюсы и минусы автоматизации, пример из жизни

Тестов стало много

Page 12: Плюсы и минусы автоматизации, пример из жизни

Нужна оптимизация

Page 13: Плюсы и минусы автоматизации, пример из жизни

Было

Стало

Page 14: Плюсы и минусы автоматизации, пример из жизни

ТЕСТ

ЛОГИКА

ШАГИ ТЕСТА

ДЕЙСТВИЯ СТРАНИЦЫ

ЭЛЕМЕНТЫ

ПОИСК ПО ЛОКАТОРУ

МЕТОДЫПРОВЕРКИ

ДАННЫЕ

.XML

Page 15: Плюсы и минусы автоматизации, пример из жизни

Textbox

Button

Page 16: Плюсы и минусы автоматизации, пример из жизни

Создали шаблоны страниц

Написали вспомогательные методы

Page 17: Плюсы и минусы автоматизации, пример из жизни

Перестали запускать сервер руками

Page 18: Плюсы и минусы автоматизации, пример из жизни

Вынесли работу с браузером в отдельный класс

seleniumRC=new ReleniumRC();seleniumRC.RunSelenium();

selenium.StopSelenium();seleniumRC.Stop();

Page 19: Плюсы и минусы автоматизации, пример из жизни

Тестирование беты

private void NTpopup(){

aut3.WinWaitActive ( general.title_popup, general.text_popup, 1);if (aut3.WinExists ( general.title_popup, general.text_popup ).Equals(0)){

aut3.Send ( "student\t", 1 );aut3.Send ( "study", 1 );aut3.Send ( "{ENTER}", 0 );

}}

Page 20: Плюсы и минусы автоматизации, пример из жизни

Тестовые Данные Страницы

Вспомогательные методы

Браузер

Page 21: Плюсы и минусы автоматизации, пример из жизни

Selenium 2.0 - WebDriver

Page 22: Плюсы и минусы автоматизации, пример из жизни

Переписали тестыIWebDriver driver = new FirefoxDriver();

driver.Navigate().GoToUrl(general.URL_Base);

selenium.open()

driver.FindElement(By.Id(elementID)).Click();

selenium.Click(id);

driver.FindElement(By.Id(elementID)).SendKeys(name);

selenium.Type(id, name);

Page 23: Плюсы и минусы автоматизации, пример из жизни

Selenium RC

WebDriver

Page 24: Плюсы и минусы автоматизации, пример из жизни

• Check

• UnCheck

• IsChecked

• …

Checkbox

• Type

• HasValue

• Focut

• Clear

• …

Textbox

• Click

• DoubleClick

• ClickAndWait

• …

Button

Table Items Menu Panel Form

Page 25: Плюсы и минусы автоматизации, пример из жизни

Бэклог и приоритеты

Page 26: Плюсы и минусы автоматизации, пример из жизни

Чего хотел кастомер?

Автоматизировать тестирование дизайна

Сделать screenshot каждой страницы во всех

браузера

Картинки сохранять в папки с именами

браузеров

Использовать comparing для сравнения

картинок

Page 27: Плюсы и минусы автоматизации, пример из жизни

private void MakeScreenShot ( IWebDriver driver, string path ){

Screenshot screen = ((ITakesScreenshot) driver).GetScreenshot();

StringBuilder filepath = new StringBuilder ( path );filepath.Append ( “.jpg” ) ;screen.SaveAsFile ( filepath.ToString(), System.Drawing.Imaging.ImageFormat.Jpeg );

}

Метод для снятия screenshots

Page 28: Плюсы и минусы автоматизации, пример из жизни

Comparing для накладывания картинок

Page 29: Плюсы и минусы автоматизации, пример из жизни

Результат накладывания

Page 30: Плюсы и минусы автоматизации, пример из жизни

Safari Extension

Драйвера для IE, Chrome

Firefox профайл

Page 31: Плюсы и минусы автоматизации, пример из жизни

данные

драйвер

логика

Работа с браузером

Тестовые шаги

Идеальныйфреймворк

Page 32: Плюсы и минусы автоматизации, пример из жизни

Нажимаем на кнопку...

Page 33: Плюсы и минусы автоматизации, пример из жизни

Исключен «человеческий фактор»

Точное и быстрое выполнение

Меньшие затраты на поддержку чем на

тестирование вручную

Отчеты

Выполнение без вмешательства (могут

выполнятся ночью)

Плюсы автоматизации

Page 34: Плюсы и минусы автоматизации, пример из жизни

Долгий старт

Повторяемость

Затраты на разработку, поддержку и анализ

результатов

Пропуск мелких ошибок

Обновление ПО

Минусы автоматизации

Page 35: Плюсы и минусы автоматизации, пример из жизни

Итоги

• внедряйте автоматизацию только тогда, когда есть

стабильные процессы тестирования

• в команде должен быть опытный специалист по

автоматизации с выделенным временем

• руководство должно поддерживать ваши начинания

• начните с малого, не забывайте про план и стратегию

• ответственно относитесь к выбору инструмента для

автоматизации

Page 36: Плюсы и минусы автоматизации, пример из жизни
Page 37: Плюсы и минусы автоматизации, пример из жизни
Page 38: Плюсы и минусы автоматизации, пример из жизни

Спасибо за внимание!