SlideShare a Scribd company logo
1 of 43
Download to read offline
Тестирование
постановок
в Naumen Contact Center
Константин Беклемишев
руководитель отдела разработки
Naumen Contact Center
kbeklemishev@naumen.ru
Ангелина Рыбасова
Старший тестировщик гр. ручного тестирования
Naumen Contact Center
arybasova@naumen.ru
Naumen Contact Center
Что такое Naumen Contact Center?
● Это 15 лет разработки на C++, Python и Java
● Гибкая масштабируемая архитектура
● Более 20-и серверных компонент
● Три интерфейса пользователя
● Две команды разработки
● Группа тестирования
● Группа разработки средств авто-тестирования
Naumen Contact Center
Как мы делали раньше...
● Крайне общее описание хотелки
● Дата релиза
Naumen Contact Center
Что делаем дальше?
● Программист из своих соображений делает оценку
● Большинство подробностей выясняются в процессе
выполнения
● Они остаются зачастую в головах, либо в громадных
обсуждениях задачи
● Такую задачу не получается разбить сразу
● Могут делать максимум 1-2 человека
● Срок растягивается
Naumen Contact Center
Правильно сделали или нет?
Автотесты
Ручное тестирование
В постановке никакой конкретики, а результат пестрит деталями.
Как это должно вообще работать? Кто-нибудь знает?
Тестировщику приходится выяснять все подробности заново!
Тратим время специалистов по качеству, программистов и аналитиков еще раз.
Разобравшись пишем тесткейсы на будущее!
Naumen Contact Center
Утвердим в релиз
DEMO/Приемка
Аналитики имели ввиду совершенно другое!
Переделываем!
Аналитики согласны.
Сервисный центр - “Этим нельзя пользоваться”.
Переделываем!
Naumen Contact Center
Naumen Contact Center
Тестирование=корректировка
постановок
Тестировщик - драйвер постановки!
Задача тестировщика - написать на фичу набор
тесткейсов до реализации.
Скорее всего в процессе возникнут вопросы!
Полнота постановки увеличится.
Naumen Contact Center
Требования к требованиям!
Кроме “полноты” есть еще два формальных набора
к проверке:
● Общие
● По типам задач
Naumen Contact Center
Общие требования
Требования, содержащиеся в постановках, должны
быть:
1. Понятными
2. Недвусмысленными
3. Непротиворечивыми
4. Обязательными
5. Проверяемыми
6. Неконтекстными
Naumen Contact Center
Требования к Feature
(Новый функционал, улучшение/оптимизация текущего функционала)
1. Бизнес-ценность
2. Кто заказчик?
3. Клиентская формулировка
4. Какие варианты решения проблемы назвал клиент?
5. Используют ли клиенты какие-либо обходные пути (workaround)?
6. Какие варианты решения рассмотрены?
7. Описание - основная часть постановки.
Naumen Contact Center
Чем мы пользуемся
● Redmine
● Плагин Impase
Naumen Contact Center
Поле Testcase Author
Naumen Contact Center
Фильтр my requirements
Naumen Contact Center
Состояние “No requirements”
Naumen Contact Center
Feature test
Naumen Contact Center
Постановка на старую версию
Naumen Contact Center
Постановка на новую версию:
первый diff
Naumen Contact Center
Постановка на новую версию: итог
Naumen Contact Center
Naumen Contact Center
Naumen Contact Center
Naumen Contact Center
Naumen Contact Center
Naumen Contact Center
Naumen Contact Center
Naumen Contact Center
Naumen Contact Center
Naumen Contact Center
Практика меняет теорию
Общие требования
Чек-листы
Naumen Contact Center
Мои впечатления: шероховатости
● Переписывание тест-кейсов
● Проблема синхронизации групп
разработки
● Накладывающиеся изменения в версии
Naumen Contact Center
Мои впечатления: плюсы
● Больше информации
● Больше активности
● Программисты спокойнее :)
Naumen Contact Center
Достижения
● Подробные проработанные постановки
● Больше не тратим время на каждом этапе на
выяснение деталей
● Задачи дробятся
● Разработка параллелится
● Программист почти знает, как задачу будут проверять
● Не приходится переделывать работу заново
● Все понимают задачу одинаково
Naumen Contact Center
Вопросы
Naumen Contact Center
Naumen Contact Center
Новая сущность
TestCase Author
Naumen Contact Center
Краткий список проблем из-за
некачественной постановки
● Программисты, тестировщики тратят лишнее время на выяснение
одних и тех же вещей много раз
● Задачи плохо параллеляться в разработке независимо от их размера
● Требования возникают по ходу задачи
● Требования могут поменяться на противоположные, когда задача уже
выполнена
● Сроки разработки могут отличаться от плановых в разы
● Программисту неизвестно, как будет проверяться его задача
● Тестировщику это тоже неизвестно!
● Тесткейсы готовятся постфактум тем же человеком, что проводит
тестирование.
● Планировать тестирование невозможно
● Ввести метрики в работу группы контроля качества - затруднительно
Naumen Contact Center
Требования к Bug
(Ошибка в функционале, поведение системы, которое отличается от заявленного)
1. Версия ПО, где найдена проблема.
2. Есть ли проблема в последних версиях ПО?
(например последняя версия в рамках установленного у клиента релиза,
nsp последней версии)
3. Описание проблемы
(заказчик часто озвучивает не исходную проблему, а уже готовый план решения)
4. Что именно не работает?
(Какой бизнесс-функционал задет?)
5. Как часто проявляется проблема?
(количество обнаружений в единицу времени.
Использование «часто», «очень часто» недопустимо)
6. Как воспроизвести проблему?
Naumen Contact Center
Требования к Bug
7. Есть ли дополнительная информация для решения проблемы?
(лог-файлы, коредампы, сетевые дампы)
8. Какое поведение по мнению постановщика должно быть правильным?
(Как должно быть?)
9. Какое решение проблемы видит постановщик?
(Что нужно сделать?)
10. Есть ли обходные пути?
(описание, либо ссылка на xwiki)
11. Установлены ли какие-либо сроки решения проблемы?
12. Есть ли аргументация таких сроков?
Naumen Contact Center
Naumen Contact Center
Naumen Contact Center
Современный workflow
Копируем тикет из проекта Roadmap в проект разработки
Выставляем трекер Discussion (тестирование постановки)
Автоматически появляется у старшего тестировщика в фильтрах на домашней странице
Старший тестировщик назначает на тикет роль TestCase Author
У назначенного в почту приходит уведомление и появляется в фильтре на домашней странице
TestCase Author тестирует постановку: корректировки вносятся аналитиком и тестировщиком
Naumen Contact Center
TestCase Author начинает писать тесткейсы и оформлять их в тестсьют
Подшивает тестсьют к тикету с готовой постановкой
Тикету с готовой постановкой выставляется трекер Feature, статус New.
С этого момента Разработка может брать его в работу и дробить на подзадачи
Тестировщики связывают подзадачи с готовыми тесткейсами из тестсьюта
Задачи распределяются между членами групп разработок на планировании
Программисты оцениваются подзадачи и корректируется общий срок
Naumen Contact Center
Если итоговая оценка превышает первоначальную на 40ч, то комитет решает что исключить из Роадмапа или
требований к задаче
Разработка приступает к реализации
Автотесты
Тестирование по готовым тесткейсам другим человеком (поле Tester)
Закрытие задачи
Демонстрация
Приемка (непубличное мероприятие через неделю после Демо)

More Related Content

What's hot

Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Mail.ru Group
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumSQALab
 
О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010Artem Volftrub
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Software process framework
Software process frameworkSoftware process framework
Software process frameworkachempion
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17OdessaFrontend
 
Test Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииTest Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииAndrey Rebrov
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииCEE-SEC(R)
 
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9OdessaFrontend
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileAlexey Krivitsky
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTSQALab
 
Планирование трудозатрат на тестирование
Планирование трудозатрат на тестированиеПланирование трудозатрат на тестирование
Планирование трудозатрат на тестированиеSQALab
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Andrey Karpov
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
Sq adays 2010_balashenko
Sq adays 2010_balashenkoSq adays 2010_balashenko
Sq adays 2010_balashenkoAlexei Lupan
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityAlexei Lupan
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙCEE-SEC(R)
 

What's hot (20)

Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью Selenium
 
О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Software process framework
Software process frameworkSoftware process framework
Software process framework
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
 
Test Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииTest Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизации
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBT
 
Планирование трудозатрат на тестирование
Планирование трудозатрат на тестированиеПланирование трудозатрат на тестирование
Планирование трудозатрат на тестирование
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
CCPM DBR Vebinar 28 01 2010
CCPM DBR Vebinar 28 01 2010CCPM DBR Vebinar 28 01 2010
CCPM DBR Vebinar 28 01 2010
 
Sq adays 2010_balashenko
Sq adays 2010_balashenkoSq adays 2010_balashenko
Sq adays 2010_balashenko
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for quality
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
Tdd
TddTdd
Tdd
 

Similar to DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Беклемишев, Ангелина Рыбасова, Naumen

Xp days 2019 - Why startups need SRE practices
Xp days 2019 - Why startups need SRE practicesXp days 2019 - Why startups need SRE practices
Xp days 2019 - Why startups need SRE practicesAlexey Andreev
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
чмв лекция №7
чмв   лекция №7чмв   лекция №7
чмв лекция №7student_kai
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыryba4
 
Технологический цикл и соблюдение фаз производства.
Технологический цикл и соблюдение фаз производства.Технологический цикл и соблюдение фаз производства.
Технологический цикл и соблюдение фаз производства.Сергей Сторожев
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиDmitry Lobasev
 
JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1sgdread
 
Андрей Солоной "Как людям бизнеса работать с программистами"
Андрей Солоной "Как людям бизнеса работать с программистами"Андрей Солоной "Как людям бизнеса работать с программистами"
Андрей Солоной "Как людям бизнеса работать с программистами"Startup_Technologies
 
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистовCodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистовCodeFest
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Екатерина Гайнутдинова "Как работает отдел Т?"
Екатерина Гайнутдинова "Как работает отдел Т?"Екатерина Гайнутдинова "Как работает отдел Т?"
Екатерина Гайнутдинова "Как работает отдел Т?"uransoft
 
Наблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйНаблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйMax Babich
 
Gostev 2
Gostev 2Gostev 2
Gostev 2qasib
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестированиеAlexander Byndyu
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестированияIgor Pozumentov
 
Работа с рисками в Scrum проектах
Работа с рисками в Scrum проектахРабота с рисками в Scrum проектах
Работа с рисками в Scrum проектахDenis Tuchin
 
Документация тестировщика - Александр Трибушный
Документация тестировщика - Александр ТрибушныйДокументация тестировщика - Александр Трибушный
Документация тестировщика - Александр ТрибушныйDataArt
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаAlexei Lupan
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективыBoris Volfson
 

Similar to DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Беклемишев, Ангелина Рыбасова, Naumen (20)

Xp days 2019 - Why startups need SRE practices
Xp days 2019 - Why startups need SRE practicesXp days 2019 - Why startups need SRE practices
Xp days 2019 - Why startups need SRE practices
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Load testing with Tsung
Load testing with TsungLoad testing with Tsung
Load testing with Tsung
 
чмв лекция №7
чмв   лекция №7чмв   лекция №7
чмв лекция №7
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работы
 
Технологический цикл и соблюдение фаз производства.
Технологический цикл и соблюдение фаз производства.Технологический цикл и соблюдение фаз производства.
Технологический цикл и соблюдение фаз производства.
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработки
 
JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1
 
Андрей Солоной "Как людям бизнеса работать с программистами"
Андрей Солоной "Как людям бизнеса работать с программистами"Андрей Солоной "Как людям бизнеса работать с программистами"
Андрей Солоной "Как людям бизнеса работать с программистами"
 
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистовCodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Екатерина Гайнутдинова "Как работает отдел Т?"
Екатерина Гайнутдинова "Как работает отдел Т?"Екатерина Гайнутдинова "Как работает отдел Т?"
Екатерина Гайнутдинова "Как работает отдел Т?"
 
Наблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйНаблюдай. Анализируй. Управляй
Наблюдай. Анализируй. Управляй
 
Gostev 2
Gostev 2Gostev 2
Gostev 2
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестирование
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
 
Работа с рисками в Scrum проектах
Работа с рисками в Scrum проектахРабота с рисками в Scrum проектах
Работа с рисками в Scrum проектах
 
Документация тестировщика - Александр Трибушный
Документация тестировщика - Александр ТрибушныйДокументация тестировщика - Александр Трибушный
Документация тестировщика - Александр Трибушный
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчика
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 

More from it-people

«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Coit-people
 
«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghubit-people
 
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrainsit-people
 
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologiesit-people
 
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндексit-people
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...it-people
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalrit-people
 
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...it-people
 
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАНit-people
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банкit-people
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Coit-people
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНСit-people
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...it-people
 
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologiesit-people
 
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn Systemit-people
 
«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologiesit-people
 
«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндексit-people
 
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...it-people
 
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognicianit-people
 
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...it-people
 

More from it-people (20)

«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
 
«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub
 
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
 
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
 
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
 
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
 
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
 
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
 
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
 
«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies
 
«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс
 
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
 
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
 
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
 

DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Беклемишев, Ангелина Рыбасова, Naumen

  • 1. Тестирование постановок в Naumen Contact Center Константин Беклемишев руководитель отдела разработки Naumen Contact Center kbeklemishev@naumen.ru Ангелина Рыбасова Старший тестировщик гр. ручного тестирования Naumen Contact Center arybasova@naumen.ru
  • 2. Naumen Contact Center Что такое Naumen Contact Center? ● Это 15 лет разработки на C++, Python и Java ● Гибкая масштабируемая архитектура ● Более 20-и серверных компонент ● Три интерфейса пользователя ● Две команды разработки ● Группа тестирования ● Группа разработки средств авто-тестирования
  • 3. Naumen Contact Center Как мы делали раньше... ● Крайне общее описание хотелки ● Дата релиза
  • 4. Naumen Contact Center Что делаем дальше? ● Программист из своих соображений делает оценку ● Большинство подробностей выясняются в процессе выполнения ● Они остаются зачастую в головах, либо в громадных обсуждениях задачи ● Такую задачу не получается разбить сразу ● Могут делать максимум 1-2 человека ● Срок растягивается
  • 5. Naumen Contact Center Правильно сделали или нет? Автотесты Ручное тестирование В постановке никакой конкретики, а результат пестрит деталями. Как это должно вообще работать? Кто-нибудь знает? Тестировщику приходится выяснять все подробности заново! Тратим время специалистов по качеству, программистов и аналитиков еще раз. Разобравшись пишем тесткейсы на будущее!
  • 6. Naumen Contact Center Утвердим в релиз DEMO/Приемка Аналитики имели ввиду совершенно другое! Переделываем! Аналитики согласны. Сервисный центр - “Этим нельзя пользоваться”. Переделываем!
  • 8. Naumen Contact Center Тестирование=корректировка постановок Тестировщик - драйвер постановки! Задача тестировщика - написать на фичу набор тесткейсов до реализации. Скорее всего в процессе возникнут вопросы! Полнота постановки увеличится.
  • 9. Naumen Contact Center Требования к требованиям! Кроме “полноты” есть еще два формальных набора к проверке: ● Общие ● По типам задач
  • 10. Naumen Contact Center Общие требования Требования, содержащиеся в постановках, должны быть: 1. Понятными 2. Недвусмысленными 3. Непротиворечивыми 4. Обязательными 5. Проверяемыми 6. Неконтекстными
  • 11. Naumen Contact Center Требования к Feature (Новый функционал, улучшение/оптимизация текущего функционала) 1. Бизнес-ценность 2. Кто заказчик? 3. Клиентская формулировка 4. Какие варианты решения проблемы назвал клиент? 5. Используют ли клиенты какие-либо обходные пути (workaround)? 6. Какие варианты решения рассмотрены? 7. Описание - основная часть постановки.
  • 12. Naumen Contact Center Чем мы пользуемся ● Redmine ● Плагин Impase
  • 17. Naumen Contact Center Постановка на старую версию
  • 18. Naumen Contact Center Постановка на новую версию: первый diff
  • 19. Naumen Contact Center Постановка на новую версию: итог
  • 29. Naumen Contact Center Практика меняет теорию Общие требования Чек-листы
  • 30. Naumen Contact Center Мои впечатления: шероховатости ● Переписывание тест-кейсов ● Проблема синхронизации групп разработки ● Накладывающиеся изменения в версии
  • 31. Naumen Contact Center Мои впечатления: плюсы ● Больше информации ● Больше активности ● Программисты спокойнее :)
  • 32. Naumen Contact Center Достижения ● Подробные проработанные постановки ● Больше не тратим время на каждом этапе на выяснение деталей ● Задачи дробятся ● Разработка параллелится ● Программист почти знает, как задачу будут проверять ● Не приходится переделывать работу заново ● Все понимают задачу одинаково
  • 35. Naumen Contact Center Новая сущность TestCase Author
  • 36. Naumen Contact Center Краткий список проблем из-за некачественной постановки ● Программисты, тестировщики тратят лишнее время на выяснение одних и тех же вещей много раз ● Задачи плохо параллеляться в разработке независимо от их размера ● Требования возникают по ходу задачи ● Требования могут поменяться на противоположные, когда задача уже выполнена ● Сроки разработки могут отличаться от плановых в разы ● Программисту неизвестно, как будет проверяться его задача ● Тестировщику это тоже неизвестно! ● Тесткейсы готовятся постфактум тем же человеком, что проводит тестирование. ● Планировать тестирование невозможно ● Ввести метрики в работу группы контроля качества - затруднительно
  • 37. Naumen Contact Center Требования к Bug (Ошибка в функционале, поведение системы, которое отличается от заявленного) 1. Версия ПО, где найдена проблема. 2. Есть ли проблема в последних версиях ПО? (например последняя версия в рамках установленного у клиента релиза, nsp последней версии) 3. Описание проблемы (заказчик часто озвучивает не исходную проблему, а уже готовый план решения) 4. Что именно не работает? (Какой бизнесс-функционал задет?) 5. Как часто проявляется проблема? (количество обнаружений в единицу времени. Использование «часто», «очень часто» недопустимо) 6. Как воспроизвести проблему?
  • 38. Naumen Contact Center Требования к Bug 7. Есть ли дополнительная информация для решения проблемы? (лог-файлы, коредампы, сетевые дампы) 8. Какое поведение по мнению постановщика должно быть правильным? (Как должно быть?) 9. Какое решение проблемы видит постановщик? (Что нужно сделать?) 10. Есть ли обходные пути? (описание, либо ссылка на xwiki) 11. Установлены ли какие-либо сроки решения проблемы? 12. Есть ли аргументация таких сроков?
  • 41. Naumen Contact Center Современный workflow Копируем тикет из проекта Roadmap в проект разработки Выставляем трекер Discussion (тестирование постановки) Автоматически появляется у старшего тестировщика в фильтрах на домашней странице Старший тестировщик назначает на тикет роль TestCase Author У назначенного в почту приходит уведомление и появляется в фильтре на домашней странице TestCase Author тестирует постановку: корректировки вносятся аналитиком и тестировщиком
  • 42. Naumen Contact Center TestCase Author начинает писать тесткейсы и оформлять их в тестсьют Подшивает тестсьют к тикету с готовой постановкой Тикету с готовой постановкой выставляется трекер Feature, статус New. С этого момента Разработка может брать его в работу и дробить на подзадачи Тестировщики связывают подзадачи с готовыми тесткейсами из тестсьюта Задачи распределяются между членами групп разработок на планировании Программисты оцениваются подзадачи и корректируется общий срок
  • 43. Naumen Contact Center Если итоговая оценка превышает первоначальную на 40ч, то комитет решает что исключить из Роадмапа или требований к задаче Разработка приступает к реализации Автотесты Тестирование по готовым тесткейсам другим человеком (поле Tester) Закрытие задачи Демонстрация Приемка (непубличное мероприятие через неделю после Демо)