SlideShare a Scribd company logo
1 of 99
Тестирование
         для

      программистов
О чем я хочу поговорить
•   Почему вдруг эта тема?
•   Проблемы?
•   Примеры есть?
•   Как бы себе помочь?
•   Как бы им помочь?
Есть ли среди тестировщики?
Есть ли среди вас разработчики?
Очень приятно, что не только
   нам все это интересно
Будьте бдительны:
Почему вдруг эта тема?
Почему вдруг эта тема?

Видели, как экономят на
     тестировании?
Почему вдруг эта тема?

Видели, как экономят на
      разработке?
Почему вдруг эта тема?
Почему вдруг эта тема?

Почему так происходит?
Проблемы?
Проблемы! Они есть всегда!
Время:
Ограниченный бюджет:
Нехватка рук:
Изменчивость требований:
Что с этим делать?
Средства от всех бед:
Средства от всех бед:
Средства от всех бед:
Без паники:
Без паники:
Его надо просто найти:
2 реальных примера
Маркетинг:
•   Часто обновляется
•   Локализации иногда радикально отличаются
•   Занудные владельцы
•   Приличные объемы
•   Куча функциональных костылей
Так разницы почти не видно:
Так разницы почти не видно:
А вот так уже очень видно...
Основной упор – контент:
Основной упор – контент:
• Сравнивали с эталоном
Основной упор – контент:
• Сравнивали с эталоном
Основной упор – контент:
• Сравнивали с эталоном
• Валидировали самостоятельно
Основной упор – контент:
• Сравнивали с эталоном
• Валидировали самостоятельно
Основной упор – контент:
• Сравнивали с эталоном
• Валидировали самостоятельно
• Верифицировали самостоятельно
Основной упор – контент:
•   Сравнивали с эталоном
•   Валидировали самостоятельно
•   Верифицировали самостоятельно
•   Валидацию раздали заинтересованным
    лицам
Саппорт:
•   Плановая выкатка контента пачками
•   Межязыковое единообразие
•   Более сговорчивые владельцы
•   7,5К статей на основные локализации
Основной упор – пользователи:
• Бета-версия
Proof-pic
Основной упор – пользователи:
• Бета-версия
• Сбор фидбэков
Основной упор – пользователи:
• Бета-версия
• Сбор фидбэков
• Привлечение сотрудников саппорта
Цели:

• Снизить число дефектов
Цели:

• Снизить число дефектов
• Получить плюс в карму от тестеров
Цели:

• Снизить число дефектов
• Получить плюс в карму от тестеров
• Получить плюс в карму от шэфа
Цели:

•   Снизить число дефектов
•   Получить плюс в карму от тестеров
•   Получить плюс в карму от шэфа
•   Добавить себе уверенности
Инструменты:
Проявление гибкости:
Решительное НЕТ код-оунингу:
ДА коллективному разуму:
ДА статическому тестированию:
ДА статическому тестированию:

• Читаем чужой код
ДА статическому тестированию:

• Читаем чужой код
• Обсуждаем чужой код
ДА статическому тестированию:

• Читаем чужой код
• Обсуждаем чужой код
• Правим чужой код
ДА статическому тестированию:

•   Читаем чужой код
•   Обсуждаем чужой код
•   Правим чужой код
•   Учимся у боевого товарища
ДА статическому тестированию:

•   Читаем чужой код
•   Обсуждаем чужой код
•   Правим чужой код
•   Учимся у боевого товарища
•   Учим боевого товарища
ДА статическому тестированию:

•   Читаем чужой код
•   Обсуждаем чужой код
•   Правим чужой код
•   Учимся у боевого товарища
•   Учим боевого товарища
•   Есть анализатор – очень круто
Ролевые игры:
Тотальное логирование:
Пользовательские сценарии:

• Руками разработчиков
Пользовательские сценарии:

• Руками разработчиков
• Руками тестировщиков
Пользовательские сценарии:

• Руками разработчиков
• Руками тестировщиков
• Да мало ли ещѐ какими руками
Пользовательские сценарии:

•   Руками разработчиков
•   Руками тестировщиков
•   Да мало ли ещѐ какими руками
•   И.....
Пользовательские сценарии:

•   Руками разработчиков
•   Руками тестировщиков
•   Да мало ли ещѐ какими руками
•   И.....
•   Это совершенно бесплатно
Проигрывание логов:
Коллективный анализ логов:
Датчики и сигнализаторы:
В качестве примеров:
Доступность и производительность:
Доступность и производительность:
Доступность и производительность:
Тестирование безопасности:

• Nessus
Тестирование безопасности:

• Nessus
• XSpider
Тестирование безопасности:

• Nessus
• Xspider
• OpenVAS
Тестирование безопасности:

•   Nessus
•   Xspider
•   OpenVAS
•   Nikto
Разрабские плагины:

•   FF
•   IE
•   Chrome
•   Гугл вам в помощь
Немного теории:
Или «как им помочь»:
Два типа функционала:

1.   Тот, что обязательно надо тестировать
Два типа функционала:

1.   Тот, что обязательно надо тестировать
2.   Если хватит времени - протыкаем
Собственно ищем:
• Как?
 ▫ Расставить приоритеты
Собственно ищем:
• Как?
 ▫ Расставить приоритеты
 ▫ Сопоставить время рискам
Собственно ищем:
• Как?
 ▫ Расставить приоритеты
 ▫ Сопоставить время рискам
 ▫ Сопоставить ресурсы рискам
Собственно ищем:
• Как?
 ▫   Расставить приоритеты
 ▫   Сопоставить время рискам
 ▫   Сопоставить ресурсы рискам
 ▫   Сопоставить финансы рискам
Прикинуть приоритетность:
• Комплексные приоритеты
 ▫ Серьезность
Прикинуть приоритетность:
• Комплексные приоритеты
 ▫ Серьезность
 ▫ Приоритет
Прикинуть приоритетность:
• Комплексные приоритеты
 ▫ Серьезность
 ▫ Приоритет
 ▫ Вероятность
Смотреть вглубь в вширь:

• Маленькие проекты
Смотреть вглубь в вширь:

• Маленькие проекты
• Побольше
Смотреть вглубь в вширь:

• Маленькие проекты
• Побольше
• Совсем большие
Эмпирический метод:
• Собрали в кучу функционал;
Эмпирический метод:
• Собрали в кучу функционал;
• Прикинули для него ситуации (user-story);
Эмпирический метод:
• Собрали в кучу функционал;
• Прикинули для него ситуации;
• Поставили приоритет;
Эмпирический метод:
•   Собрали в кучу функционал;
•   Прикинули для него ситуации;
•   Поставили приоритет;
•   Сопоставили с рисками;
Эмпирический метод:
•   Собрали в кучу функционал;
•   Прикинули для него ситуации;
•   Поставили приоритет;
•   Сопоставили с рисками;
•   Обсудили список с остальными;
Эмпирический метод:
•   Собрали в кучу функционал;
•   Прикинули для него ситуации;
•   Поставили приоритет;
•   Сопоставили с рисками;
•   Обсудили список с остальными;
•   Отсортировали по убыванию.
FMEA

Failure Mode and Effects Analysis

метод анализа видов ошибок и их
            влияния
Каждому свое:
«Слова вы услышали, поиск пути за вами»

                        Уильямс Деминг
Спасибо за внимание!
•   Я: Роман Ивлиев
•   Е-почта: roman.ivliev@mail.ru
•   @dumtest
•   dumtest.livejournal.com

More Related Content

Viewers also liked

الرصد الاعلامي 17 4-2012
الرصد الاعلامي 17 4-2012الرصد الاعلامي 17 4-2012
الرصد الاعلامي 17 4-2012Hadi Alqallap
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестовSQALab
 
Отладка кода в браузере Антон Шувалов, Lazada, Москва
 Отладка кода в браузере Антон Шувалов, Lazada, Москва  Отладка кода в браузере Антон Шувалов, Lazada, Москва
Отладка кода в браузере Антон Шувалов, Lazada, Москва it-people
 
Мир без тестировщиков. Миф или реальность?
Мир без тестировщиков. Миф или реальность?Мир без тестировщиков. Миф или реальность?
Мир без тестировщиков. Миф или реальность?CodeFest
 
CSSO — сжимаем CSS Роман Дворнов, Avito
 CSSO — сжимаем CSS Роман Дворнов, Avito CSSO — сжимаем CSS Роман Дворнов, Avito
CSSO — сжимаем CSS Роман Дворнов, Avitoit-people
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияSQALab
 

Viewers also liked (9)

الرصد الاعلامي 17 4-2012
الرصد الاعلامي 17 4-2012الرصد الاعلامي 17 4-2012
الرصد الاعلامي 17 4-2012
 
Grip op je vermogen
Grip op je vermogenGrip op je vermogen
Grip op je vermogen
 
府城 I 導遊+ 台南公車(第一組)
府城 I 導遊+ 台南公車(第一組)府城 I 導遊+ 台南公車(第一組)
府城 I 導遊+ 台南公車(第一組)
 
Rek15new
Rek15newRek15new
Rek15new
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестов
 
Отладка кода в браузере Антон Шувалов, Lazada, Москва
 Отладка кода в браузере Антон Шувалов, Lazada, Москва  Отладка кода в браузере Антон Шувалов, Lazada, Москва
Отладка кода в браузере Антон Шувалов, Lazada, Москва
 
Мир без тестировщиков. Миф или реальность?
Мир без тестировщиков. Миф или реальность?Мир без тестировщиков. Миф или реальность?
Мир без тестировщиков. Миф или реальность?
 
CSSO — сжимаем CSS Роман Дворнов, Avito
 CSSO — сжимаем CSS Роман Дворнов, Avito CSSO — сжимаем CSS Роман Дворнов, Avito
CSSO — сжимаем CSS Роман Дворнов, Avito
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
 

Similar to «тестирование для программистов. или «есть ли жизнь без тестировщиков» ( роман ивлиев, лаборатория касперского)

Тестирование для программистов
Тестирование для программистовТестирование для программистов
Тестирование для программистовRoman Ivliev
 
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...CodeFest
 
Опыт выстраивания процесса Product Discovery
Опыт выстраивания процесса Product DiscoveryОпыт выстраивания процесса Product Discovery
Опыт выстраивания процесса Product DiscoveryNikita Efimov
 
Product discovery. Наши шишки и успехи
Product discovery. Наши шишки и успехиProduct discovery. Наши шишки и успехи
Product discovery. Наши шишки и успехиNikita Efimov
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016Roman Ivliev
 
О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)Ontico
 
16 HappyDev-lite'14 Серик Бейсенов. Введение в тестирование ПО
16 HappyDev-lite'14 Серик Бейсенов. Введение в тестирование ПО16 HappyDev-lite'14 Серик Бейсенов. Введение в тестирование ПО
16 HappyDev-lite'14 Серик Бейсенов. Введение в тестирование ПОHappyDev
 
Геймификация процесса разработки ПО
Геймификация процесса разработки ПОГеймификация процесса разработки ПО
Геймификация процесса разработки ПОAskhat Urazbaev
 
Бывает так, что вас нет рядом
Бывает так, что вас нет рядомБывает так, что вас нет рядом
Бывает так, что вас нет рядомRoman Ivliev
 
Юрий Цыганенко, QA как услуга
Юрий Цыганенко, QA как услугаЮрий Цыганенко, QA как услуга
Юрий Цыганенко, QA как услугаSQADays_2009_Piter
 
Как научиться делать продукт для пользователей?
Как научиться делать продукт для пользователей?Как научиться делать продукт для пользователей?
Как научиться делать продукт для пользователей?George Barkan
 
CodeFest 2012. Баркан Г. — Как научиться делать продукт для пользователей?
CodeFest 2012. Баркан Г. — Как научиться делать продукт для пользователей?CodeFest 2012. Баркан Г. — Как научиться делать продукт для пользователей?
CodeFest 2012. Баркан Г. — Как научиться делать продукт для пользователей?CodeFest
 
Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)Ontico
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграцийRoman Ivliev
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest
 
Алексей Лянгузов
Алексей ЛянгузовАлексей Лянгузов
Алексей ЛянгузовSQALab
 
Creating Open Source Projects
Creating Open Source ProjectsCreating Open Source Projects
Creating Open Source ProjectsAlexei Yuzhakov
 

Similar to «тестирование для программистов. или «есть ли жизнь без тестировщиков» ( роман ивлиев, лаборатория касперского) (20)

Тестирование для программистов
Тестирование для программистовТестирование для программистов
Тестирование для программистов
 
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
 
Опыт выстраивания процесса Product Discovery
Опыт выстраивания процесса Product DiscoveryОпыт выстраивания процесса Product Discovery
Опыт выстраивания процесса Product Discovery
 
Product discovery. Наши шишки и успехи
Product discovery. Наши шишки и успехиProduct discovery. Наши шишки и успехи
Product discovery. Наши шишки и успехи
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
 
О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)
 
16 HappyDev-lite'14 Серик Бейсенов. Введение в тестирование ПО
16 HappyDev-lite'14 Серик Бейсенов. Введение в тестирование ПО16 HappyDev-lite'14 Серик Бейсенов. Введение в тестирование ПО
16 HappyDev-lite'14 Серик Бейсенов. Введение в тестирование ПО
 
Геймификация процесса разработки ПО
Геймификация процесса разработки ПОГеймификация процесса разработки ПО
Геймификация процесса разработки ПО
 
Бывает так, что вас нет рядом
Бывает так, что вас нет рядомБывает так, что вас нет рядом
Бывает так, что вас нет рядом
 
Юрий Цыганенко, QA как услуга
Юрий Цыганенко, QA как услугаЮрий Цыганенко, QA как услуга
Юрий Цыганенко, QA как услуга
 
Ryazan
RyazanRyazan
Ryazan
 
Как научиться делать продукт для пользователей?
Как научиться делать продукт для пользователей?Как научиться делать продукт для пользователей?
Как научиться делать продукт для пользователей?
 
CodeFest 2012. Баркан Г. — Как научиться делать продукт для пользователей?
CodeFest 2012. Баркан Г. — Как научиться делать продукт для пользователей?CodeFest 2012. Баркан Г. — Как научиться делать продукт для пользователей?
CodeFest 2012. Баркан Г. — Как научиться делать продукт для пользователей?
 
Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграций
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
 
Как разраба
Как разрабаКак разраба
Как разраба
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается Yii
 
Алексей Лянгузов
Алексей ЛянгузовАлексей Лянгузов
Алексей Лянгузов
 
Creating Open Source Projects
Creating Open Source ProjectsCreating Open Source Projects
Creating Open Source Projects
 

«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( роман ивлиев, лаборатория касперского)

Editor's Notes

  1. Если сравнить и не брать в рассчет колонки, и что прыгает немного картинка, то отличие серьезное одно – вместо eshop Online Shop и в селекторе страна болдом. Хрен с ним с селектором. Но пункт меню отломал часть тестов на последовательность и состав меню.
  2. А вот теперь пробем стало гораздо больше. До свидания старая DOM-модель, здравствуй новая, очаровательная.
  3. Тестирование контента. К сожалению, к составу контента маркетологи очень требоваетельны. По их науке даже небольшое изменение в тексте роняет или возносит продажи на непомерные высоты. Т.к. все страницы разные, первой идеей было - "а давайте сравним то, что получилось с предыдущей версией сайта". Т.е. по сути воспользуемся подходом тестирования на базе эталонов и попробовать найти ответ на вопрос - "так ли новая кажет, как старая казала". По началу так и делали. В результате потратили кучу времени, т.к автоматически проверять контент оказалось еще сложнее. Дальше решили всех обмануть и проводить тестирование по принципу "работает ли новая система корректно". Т.е. по сути приватизировав право на валидацию. От этой идеи тоже очень быстро отказались, т.к. на русский и английский языки хватило, а вот испанский и итальянский подкачали. Не нашлось носителей языка среди команды миграции. По сути работа миграторов свелась к тому, что проверить, все ли компоненты (картинки, стили и т.д. ) присутствуют и корректно отображаются на странице. А роль читателей отдали носителям языка из группы контент-редакторов. С блоками продаж поступили немного не так: отдали валидацию сотрудникам региональных отделов продаж. Они проверяли корректность работы сайта с интернет-магазинами, настраивали свои трекеры и, заодно, вычитывали тексты и проверяли, что картинки соответвуют дейтсвительности.
  4. Ведь есть же старый сайт. Он то точно правильно работает. Тут же напоролись на то, что работает то он нормально, но вот контент битый. Где очепятка, где картинка не та. Это свойственно системам, где контент контролируется редакторами и не проходит достаточную проверку перед публикацией.
  5. Ведь есть же старый сайт. Он то точно правильно работает. Тут же напоролись на то, что работает то он нормально, но вот контент битый. Где очепятка, где картинка не та. Это свойственно системам, где контент контролируется редакторами и не проходит достаточную проверку перед публикацией.
  6. Не всегда это подходит.
  7. Большие объемы контента. Ребята из саппорта применили неведомый нам доселе прием и не стали сразу запускать новый сайт в продакш, а разрешили нам запустить его в так называемой "бете", чем сделали нам тестирование прогулкой под луной, а не забегом под метеоритным дождем. Что нам это дало - фактор суеты был уничтожен. В результате сейчас в паблике ворочаются оба сайта - старый и новый, не сильно отличающиеся по контенту. При этом новый вежливо просит с вас фидбек. Ура. Мы за бесплатно получили некоторое количество бета-тестеров. Люди пишут отзывы, люди находят баги. Но это баги в бете:)  Даже те, кто не пишет баги - тыкают странички, контролы, формочки. А еще афигенная тема признавать свои ошибки - т.е. если пользователь натыкался на несуществующую страницу или на битый контрол (дя, мы иногда отдаем 40е и 50е, но под картинку с извинениями). А еще ниже картинки - письмо разрабу/тестеру, что что-то отвалолось и можно что-то откопать по горячим следам. Функциональное тестирование: ничего умнее не придумали, как сравнение с эталоном. Старый сайт в рабочем состоянии, вот с ним и сравнивали. Объекты для сравнения выковыривали заранее. Т.к. сайт саппорта не является чем-то высокотехнологичным - таких объектов нашлось не очень много. Были правда и те, которые были созданы с нуля. Их пинали по полной и по всем правилам науки.Контролы и прочий функциональный стаф. При условиях работы сайта под естественной нагрузкой - немного более агрессивное логгирование с нотификацией в почту о критических сбоях (да, оно тормозит время отклика, но мы в бете:)) в компонентах залог нахождения объяснения очень интересным эффектам, на получение которых в лабораторных условиях ушло бы очень много времени. Т.о. мы и тут не ушли от классической науки, применив так назывваемое "soak-тестирование" - тестирование системы в естественной среде обитания под естественными нагрузками. Что касается внутреннего тестирования, которое мы, естественно проводили, подход был выбран такой - чтобы не проверять глазками 7, 5К статей, отсортировали их по рейтингу (старая система исправно считала гвозди) и начали проверять сверху вниз. Плюс ребята из саппорта очень дисцеплинированные - привлекают свои локальные офисы, тыкают сами, пишут баги и т.д. 
  8. Ребята из саппорта применили неведомый нам доселе прием и не стали сразу запускать новый сайт в продакш, а разрешили нам запустить его в так называемой "бете", чем сделали нам тестирование прогулкой под луной, а не забегом под метеоритным дождем. Что нам это дало - фактор суеты был уничтожен. В результате сейчас в паблике ворочаются оба сайта - старый и новый, не сильно отличающиеся по контенту. 
  9. Не всегда это подходит.
  10. Не всегда это подходит.
  11. Затраты напрямую зависят от того что и как мы тестируем. Чем меньше команжда прикладывает усилиц впустую, тем больше толку и с высокой степенью вероятности выше качество.
  12. Затраты напрямую зависят от того что и как мы тестируем. Чем меньше команжда прикладывает усилиц впустую, тем больше толку и с высокой степенью вероятности выше качество.
  13. Затраты напрямую зависят от того что и как мы тестируем. Чем меньше команжда прикладывает усилиц впустую, тем больше толку и с высокой степенью вероятности выше качество.
  14. Затраты напрямую зависят от того что и как мы тестируем. Чем меньше команжда прикладывает усилиц впустую, тем больше толку и с высокой степенью вероятности выше качество.
  15. Дальше немного про то, что мы использовали, чтобы облегчит себе жизнь
  16. Группировка контента и постоянные демы. Использование ресурса заказчика на все проценты
  17. Скажем неткодоунингу. Скажем да - компонентному архитектурингу.
  18. Скажем неткодоунингу. Скажем да - компонентному архитектурингу.
  19. Скажем неткодоунингу. Скажем да - компонентному архитектурингу.
  20. Скажем неткодоунингу. Скажем да - компонентному архитектурингу.
  21. Скажем неткодоунингу. Скажем да - компонентному архитектурингу.
  22. Скажем неткодоунингу. Скажем да - компонентному архитектурингу.
  23. Скажем неткодоунингу. Скажем да - компонентному архитектурингу.
  24. Скажем неткодоунингу. Скажем да - компонентному архитектурингу.
  25. Скажем неткодоунингу. Скажем да - компонентному архитектурингу.
  26. Рассказать про то, что в команде нет выделенного тестировщика, но это совершенно не значит, что нет тестирования.
  27. Да, это может снизить производительность системы, но, для этого есть следующий инструмент. Но все это ради следующего инструмента. Это ведь совсем не сложно. Тут вариантов использования куча целая.
  28. Это было наверное самое ценное предложение из всех. Для всех участников процесса сценарии были сделаны одинаковыми. Составленные в наиболее удобоваримой форме – степ-бай-степ с привлечением маркетинга и саппорта, которые стопитсот лет назад построили эти сценарии на основе статистических данных, собранных на миллионах пользователей. С ними же собрали перечень критичексих для бизнеса страниц, на которые уделяли наибольшее внимание.
  29. Уаля. Вопрос регрессии решен.
  30. Нагрузка. Использовали JMeter в распределенном исполнении и ab. Запаса по производительности у серверов прилично, поэтому в основном силы тратили на снижение ресурсоемкости операций. Плюс к этому нагло пользовались распределенной архитектуров системы. На серверах-балансерах включали и выключали ноды, предварительно настроив системы мониторинга (тут кстати стоит отметить, что сами системы мониторинга, особенно с включенным графическим модулем, сильно поедают ресурсы). Т.о. мы получали возможность наблюдать за поведением сервера при реальных нагрузках (имеетсч ввиду реальное поведение пользователя, который приходит на индекс, затем топает в поиск, потом переходит в продуктовые блоки и т.д.) При этом опять же усиливали логирование. Это конечно не очень правильно, но определенных успехов в поимке слабых мест в системе достичь удалось. Почему не достигали на берегу? Потому что система из коробки, с чрезвычайно нетипичным поведением в некоторых ситуациях. Кстати, вот эти чуваки https://browsermob.com/ абсолютно бесплатно предлагают померять время отдачи контента из разных точек, но и напихали на сайт много интересной информации. А еще можно зарегистрироваться и получить еще кучу плюшек. 
  31. Нагрузка. Использовали JMeter в распределенном исполнении и ab. Запаса по производительности у серверов прилично, поэтому в основном силы тратили на снижение ресурсоемкости операций. Плюс к этому нагло пользовались распределенной архитектуров системы. На серверах-балансерах включали и выключали ноды, предварительно настроив системы мониторинга (тут кстати стоит отметить, что сами системы мониторинга, особенно с включенным графическим модулем, сильно поедают ресурсы). Т.о. мы получали возможность наблюдать за поведением сервера при реальных нагрузках (имеетсч ввиду реальное поведение пользователя, который приходит на индекс, затем топает в поиск, потом переходит в продуктовые блоки и т.д.) При этом опять же усиливали логирование. Это конечно не очень правильно, но определенных успехов в поимке слабых мест в системе достичь удалось. Почему не достигали на берегу? Потому что система из коробки, с чрезвычайно нетипичным поведением в некоторых ситуациях. Кстати, вот эти чуваки https://browsermob.com/ абсолютно бесплатно предлагают померять время отдачи контента из разных точек, но и напихали на сайт много интересной информации. А еще можно зарегистрироваться и получить еще кучу плюшек. 
  32. Они все делают сами. Даже сценарии писать не надо.
  33. Дальше немного про то, что мы использовали, чтобы облегчит себе жизнь
  34. Низкий приоритет подождетПрикинуть по времени, что есть, а что реально надо прикрывать?Прикинуть, а не пора ли сразу просить людей у Толика из соседнего проекта?Прикинуть по денежке, может ещё есть возможность прикупить стопитсот индусов?
  35. Низкий приоритет подождетПрикинуть по времени, что есть, а что реально надо прикрывать?Прикинуть, а не пора ли сразу просить людей у Толика из соседнего проекта?Прикинуть по денежке, может ещё есть возможность прикупить стопитсот индусов?
  36. Низкий приоритет подождетПрикинуть по времени, что есть, а что реально надо прикрывать?Прикинуть, а не пора ли сразу просить людей у Толика из соседнего проекта?Прикинуть по денежке, может ещё есть возможность прикупить стопитсот индусов?
  37. Низкий приоритет подождетПрикинуть по времени, что есть, а что реально надо прикрывать?Прикинуть, а не пора ли сразу просить людей у Толика из соседнего проекта?Прикинуть по денежке, может ещё есть возможность прикупить стопитсот индусов?
  38. Серьезность. Насколько опасен отказ системы из-за какой-то части функционала? Приведет ли это к потере данных?Приоритет. На сколько силен будет эффект от отказа системы повлияет на пользователей и их лояльность продукту?Вероятность. Какова вероятность того, что пользователь таки воспользуется именно тем куском функционала, который не до конца работает?
  39. Серьезность. Насколько опасен отказ системы из-за какой-то части функционала? Приведет ли это к потере данных?Приоритет. На сколько силен будет эффект от отказа системы повлияет на пользователей и их лояльность продукту?Вероятность. Какова вероятность того, что пользователь таки воспользуется именно тем куском функционала, который не до конца работает?
  40. Серьезность. Насколько опасен отказ системы из-за какой-то части функционала? Приведет ли это к потере данных?Приоритет. На сколько силен будет эффект от отказа системы повлияет на пользователей и их лояльность продукту?Вероятность. Какова вероятность того, что пользователь таки воспользуется именно тем куском функционала, который не до конца работает?
  41. Вдруг повезет
  42. Вдруг повезет
  43. Вдруг повезет
  44. Мой любимый. Маленькие проектики. Тут можно попробовать принимать решение на себя.По категориям выше прикинули, какие реально могут стерьнуть. Вполне вероятно, что будут не все.Сгенерили ситуации. Ну например: для функционала: нет возможности отправит письмо в почтовом клиентеСамым примитивным образом – от одного до 3-х. Можно даже упросить или 1 или 2. Тот, что больше – тот важнееПобегали по конторе, потрясли проектных и околопроектных людей. Внесли коррективыУаля. Имеем план работ по тестированию с указанием коэфициента прикладываемых усилий.
  45. Мой любимый. Маленькие проектики. Тут можно попробовать принимать решение на себя.По категориям выше прикинули, какие реально могут стерьнуть. Вполне вероятно, что будут не все.Сгенерили ситуации. Ну например: для функционала: нет возможности отправит письмо в почтовом клиентеСамым примитивным образом – от одного до 3-х. Можно даже упросить или 1 или 2. Тот, что больше – тот важнееПобегали по конторе, потрясли проектных и околопроектных людей. Внесли коррективыУаля. Имеем план работ по тестированию с указанием коэфициента прикладываемых усилий.
  46. Мой любимый. Маленькие проектики. Тут можно попробовать принимать решение на себя.По категориям выше прикинули, какие реально могут стерьнуть. Вполне вероятно, что будут не все.Сгенерили ситуации. Ну например: для функционала: нет возможности отправит письмо в почтовом клиентеСамым примитивным образом – от одного до 3-х. Можно даже упросить или 1 или 2. Тот, что больше – тот важнееПобегали по конторе, потрясли проектных и околопроектных людей. Внесли коррективыУаля. Имеем план работ по тестированию с указанием коэфициента прикладываемых усилий.
  47. Мой любимый. Маленькие проектики. Тут можно попробовать принимать решение на себя.По категориям выше прикинули, какие реально могут стерьнуть. Вполне вероятно, что будут не все.Сгенерили ситуации. Ну например: для функционала: нет возможности отправит письмо в почтовом клиентеСамым примитивным образом – от одного до 3-х. Можно даже упросить или 1 или 2. Тот, что больше – тот важнееПобегали по конторе, потрясли проектных и околопроектных людей. Внесли коррективыУаля. Имеем план работ по тестированию с указанием коэфициента прикладываемых усилий.
  48. Мой любимый. Маленькие проектики. Тут можно попробовать принимать решение на себя.По категориям выше прикинули, какие реально могут стерьнуть. Вполне вероятно, что будут не все.Сгенерили ситуации. Ну например: для функционала: нет возможности отправит письмо в почтовом клиентеСамым примитивным образом – от одного до 3-х. Можно даже упросить или 1 или 2. Тот, что больше – тот важнееПобегали по конторе, потрясли проектных и околопроектных людей. Внесли коррективыУаля. Имеем план работ по тестированию с указанием коэфициента прикладываемых усилий.
  49. Мой любимый. Маленькие проектики. Тут можно попробовать принимать решение на себя.По категориям выше прикинули, какие реально могут стерьнуть. Вполне вероятно, что будут не все.Сгенерили ситуации. Ну например: для функционала: нет возможности отправит письмо в почтовом клиентеСамым примитивным образом – от одного до 3-х. Можно даже упросить или 1 или 2. Тот, что больше – тот важнееПобегали по конторе, потрясли проектных и околопроектных людей. Внесли коррективыУаля. Имеем план работ по тестированию с указанием коэфициента прикладываемых усилий.
  50. Метод достаточно сложный, основан на определении потенциальных проблем, оценки их влияния, а затем выполнении классификации по серьезности, приоритетности и вероятности возникновения дефекта.В классическом исполнении предполагается оценка потенциальных ошибок по четырем критериям: серьезность, вероятность, приоритетность и обнаружаемость, причем каждый критерий может варьироваться в различных диапазонах для увеличения или уменьшения точности. Таким образом, вероятность может оцениваться по шкале начинающейся с 1 (наибольшая вероятность) и заканчивающейся Х (наименьшая вероятность). Промежуточные значения и их количество определяются исходя из требуемой точности для конкретного проекта. В итоге получается для каждого типа ошибок четыре числовых значения. Их произведение дает приоритет риска, который может принимать значение от 1 до Y. После этого определяются рекомендуемые действия по снижению рисков. Общая шкала значений делится на количество выделенных категорий, в результате каждой ошибке сопоставляется то или иное действие для уменьшения её эффекта. В общем это не для слабонервных, а в условиях, когда надо занижать, а не увеличивать, вообще может не подойти.
  51. На этом месте обычно слайд «Вопросы», но из-за него никогда не получается срисовать контакты выступающего. Поэтому я его упразднил. Большое спасибо за внимание, перезжайте аккуратно, и да прибудет с вами сила! Вопросы