SlideShare a Scribd company logo
1 of 14
Тестировщик и DevOps:
позволяют ли интерфейсы системы
эффективно решать инциденты?
Максим Цепков
IT-архитектор и бизнес-аналитик
Навигатор и эксперт по миру Agile,
бирюзовых организаций и Спиральной динамике
http://mtsepkov.org
17-18 ноября 2017
SQA Days-22 в Санкт-Петербурге
Нужно ли решать инциденты – позиция компании
 Мы сделали систему, вы ее купили «как есть».
Мы исправляем ошибки, а все остальное – Ваши проблемы.
 Мы не только поставляем систему, но и внедряем ее и нам важно
эффективное решение инцидентов службой сопровождения
 Мы не просто поставляем систему – мы поддерживаем бизнес
клиентов, помогая решить его проблемы в нестандартных ситуациях
Принцип: бизнес должен работать, несмотря на то,
что функционал системы ограничен и в ней есть ошибки –
надо прорабатывать сценарии для нестандартных ситуаций
2/14
О каких инцидентах будет рассказ?
Отражение сделок в системе
 Произошла не стандартная сделка, которую надо отразить в системе
 При обработке сделки нашли ошибку, надо ее обойти
 Отчет надо поправить и отослать немедленно, а потом уже штатно
Интеграция с другими системами
 При обработке сообщения обнаружили ошибку в системе
 Повторно отправить сообщение другой системе для обработки
 Отправить в систему объект целиком, а не изменения к нему
 Большой объем изменений надо передать вне обычной интеграции
3/14
Инциденты работы со сделками
4/14
Зачем отражать нестандартные сделки в системе?
 Отражение в отчетах
 Внешний документооборот
 Отклонения касаются малой части сделки и есть желание
воспользоваться функционалом системы для всего остального
Сегодня сделка уникальна,
а завтра – стала типовой
5/14
Можно ли отразить любую сделку?
 Нет, есть принципиальное ограничение – структура базы данных
 Для большинства ситуаций структура БД – не проблема
 Надо преодолеть контроль бизнес-логики при заведении и workflow сделки
 Надо иначе создавать исполнительные документы или отражать в учете
Разработчик может просто поправить базу вручную –
но это затратно и несет потенциальные проблемы
6/14
Что нужно от интерфейса системы?
 Функциональные возможности
 Точечно отключаем ограничения и контроли бизнес-логики
 Вручную создаем подчиненные документы – сообщения, платежи, проводки…
 Эргономика решения может быть ограничено
 Рассчитано на опытных пользователей или инженеров поддержки третьей линии
 Могут быть композитные решения: разработчик создал скрипт и его подключили
 Для проверки – возьмите сложные сделки, которые «пока не делаем»
 Проработайте этот сценарий еще на этапе постановки
 И проверьте в ходе тестирования
 Не все сделки надо проверять, но нужен план, что делать, если они появятся
 И покажите эти сценарии архитекторам, чтобы они учли их при
проектировании системы
7/14
Интерфейсы отчетов для нестандартных случаев
 Простой вариант – любой отчет экспортировать в Exсel и поправить
 Более сложные – требуют отдельного проектирования
 Фиксируем правки к отчету отдельно от вычислимых полей
 Реализуем сравнение отчетов
 Композитный вариант: разработчик пишет запрос, который можно
быстро подключить к системе в виде, доступном для пользователей
8/14
По опыту – очень эффективный способ
для любых нестандартных отчетов
Инциденты интеграции
Работа с ними особенно важна, если смежная система –
закрытая и недоступная для доработок, как свойственно legacy.
Тогда надо обеспечивать сервис на нашей стороне
9/14
Интерфейсы приема – для решения инцидентов
Принцип: Ошибка приема сообщения – не всегда ошибка для бизнеса
Стратегия: эффективная диагностика и обработка внутри системы
 Сообщение сохраняется, даже если при обработке возникли ошибки
 Можно посмотреть структуру объектов сообщения, а не только xml
 Оцените, сколько времени займет инженера при ручном разборе сообщений
 Можно запустить сообщение на повторную обработку
 Протокол должен быть рассчитан на отсроченное уведомление об успехе
 Можно вручную провести требуемые действия с объектом
 И пометить ошибку как «исправленную вручную»
10/14
Интерфейсы отправки для решения инцидентов
Сценарий: причину инцидента диагностировали и устранили, теперь
надо обеспечить прохождение документа по интеграции
 Повторно отправить сообщение другой системе для обработки
 Отправить в систему объект целиком, а не изменения к нему
 В том числе другой объект – возможно, синхронизация нарушилась по нему
11/14
Общий функционал интерфейсов
 Уведомления об ошибках или о том, что слишком долго нет ответа –
чтобы оперативно узнавать о проблемах у бизнеса
 Просмотр журналов обмена и инцидентов, включая анализ и поиск не
только во сообщениям, но и по передаваемым объектам –
чтобы вести анализ инцидентов, выявляя системные проблемы
12/14
Альтернативные интерфейсы интеграции
 Ситуации массовой передачи данных
 Начальная инициализация интеграции по объектам
 Массовые изменения объектов при изменении структур данных или логики
 Массовый перевод объектов в другую систему-владельца
 И многое другое – из-за ограниченного функционала или пропускной
способности интеграционной шины
 Массовая обработка должна выполняться технологично, а ошибки
должны быть доступны для разбора через интерфейс интеграции
13/14
Заключение
 Быстрое получение MVP часто предполагает реализацию только
основных успешных сценариев работы системы
 Однако, для бизнес-процесса необходима обработка технологичная
особых ситуаций и сделок и эффективная работа инцидентов
 Принципиальная возможность должна быть заложена в архитектуру
 Сценарии использования и тест-кейсы необходимо прорабатывать –
и показывать архитекторам, это хорошее начало обсуждения
 Все, что не заложено в систему придется делать разработчикам
вручную – надо иметь свободных разработчиков на поддержке
Вопросы? Обращайтесь!
Максим Цепков http://mtsepkov.org
14/14

More Related Content

More from SQALab

More from SQALab (20)

API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информация
 
Автоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПОАвтоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПО
 
Правильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестированияПравильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестирования
 
Sustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within TeamSustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within Team
 
Test Data Preparation: Tips and Tricks
Test Data Preparation: Tips and TricksTest Data Preparation: Tips and Tricks
Test Data Preparation: Tips and Tricks
 
9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-Автоматизации9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-Автоматизации
 
The secrets in game testing
The secrets in game testingThe secrets in game testing
The secrets in game testing
 
Loading time testing and results visualisation of web games
Loading time testing and results visualisation of web gamesLoading time testing and results visualisation of web games
Loading time testing and results visualisation of web games
 

Тестировщик и DevOps: позволяют ли интерфейсы системы эффективно решать инциденты?

  • 1. Тестировщик и DevOps: позволяют ли интерфейсы системы эффективно решать инциденты? Максим Цепков IT-архитектор и бизнес-аналитик Навигатор и эксперт по миру Agile, бирюзовых организаций и Спиральной динамике http://mtsepkov.org 17-18 ноября 2017 SQA Days-22 в Санкт-Петербурге
  • 2. Нужно ли решать инциденты – позиция компании  Мы сделали систему, вы ее купили «как есть». Мы исправляем ошибки, а все остальное – Ваши проблемы.  Мы не только поставляем систему, но и внедряем ее и нам важно эффективное решение инцидентов службой сопровождения  Мы не просто поставляем систему – мы поддерживаем бизнес клиентов, помогая решить его проблемы в нестандартных ситуациях Принцип: бизнес должен работать, несмотря на то, что функционал системы ограничен и в ней есть ошибки – надо прорабатывать сценарии для нестандартных ситуаций 2/14
  • 3. О каких инцидентах будет рассказ? Отражение сделок в системе  Произошла не стандартная сделка, которую надо отразить в системе  При обработке сделки нашли ошибку, надо ее обойти  Отчет надо поправить и отослать немедленно, а потом уже штатно Интеграция с другими системами  При обработке сообщения обнаружили ошибку в системе  Повторно отправить сообщение другой системе для обработки  Отправить в систему объект целиком, а не изменения к нему  Большой объем изменений надо передать вне обычной интеграции 3/14
  • 4. Инциденты работы со сделками 4/14
  • 5. Зачем отражать нестандартные сделки в системе?  Отражение в отчетах  Внешний документооборот  Отклонения касаются малой части сделки и есть желание воспользоваться функционалом системы для всего остального Сегодня сделка уникальна, а завтра – стала типовой 5/14
  • 6. Можно ли отразить любую сделку?  Нет, есть принципиальное ограничение – структура базы данных  Для большинства ситуаций структура БД – не проблема  Надо преодолеть контроль бизнес-логики при заведении и workflow сделки  Надо иначе создавать исполнительные документы или отражать в учете Разработчик может просто поправить базу вручную – но это затратно и несет потенциальные проблемы 6/14
  • 7. Что нужно от интерфейса системы?  Функциональные возможности  Точечно отключаем ограничения и контроли бизнес-логики  Вручную создаем подчиненные документы – сообщения, платежи, проводки…  Эргономика решения может быть ограничено  Рассчитано на опытных пользователей или инженеров поддержки третьей линии  Могут быть композитные решения: разработчик создал скрипт и его подключили  Для проверки – возьмите сложные сделки, которые «пока не делаем»  Проработайте этот сценарий еще на этапе постановки  И проверьте в ходе тестирования  Не все сделки надо проверять, но нужен план, что делать, если они появятся  И покажите эти сценарии архитекторам, чтобы они учли их при проектировании системы 7/14
  • 8. Интерфейсы отчетов для нестандартных случаев  Простой вариант – любой отчет экспортировать в Exсel и поправить  Более сложные – требуют отдельного проектирования  Фиксируем правки к отчету отдельно от вычислимых полей  Реализуем сравнение отчетов  Композитный вариант: разработчик пишет запрос, который можно быстро подключить к системе в виде, доступном для пользователей 8/14 По опыту – очень эффективный способ для любых нестандартных отчетов
  • 9. Инциденты интеграции Работа с ними особенно важна, если смежная система – закрытая и недоступная для доработок, как свойственно legacy. Тогда надо обеспечивать сервис на нашей стороне 9/14
  • 10. Интерфейсы приема – для решения инцидентов Принцип: Ошибка приема сообщения – не всегда ошибка для бизнеса Стратегия: эффективная диагностика и обработка внутри системы  Сообщение сохраняется, даже если при обработке возникли ошибки  Можно посмотреть структуру объектов сообщения, а не только xml  Оцените, сколько времени займет инженера при ручном разборе сообщений  Можно запустить сообщение на повторную обработку  Протокол должен быть рассчитан на отсроченное уведомление об успехе  Можно вручную провести требуемые действия с объектом  И пометить ошибку как «исправленную вручную» 10/14
  • 11. Интерфейсы отправки для решения инцидентов Сценарий: причину инцидента диагностировали и устранили, теперь надо обеспечить прохождение документа по интеграции  Повторно отправить сообщение другой системе для обработки  Отправить в систему объект целиком, а не изменения к нему  В том числе другой объект – возможно, синхронизация нарушилась по нему 11/14
  • 12. Общий функционал интерфейсов  Уведомления об ошибках или о том, что слишком долго нет ответа – чтобы оперативно узнавать о проблемах у бизнеса  Просмотр журналов обмена и инцидентов, включая анализ и поиск не только во сообщениям, но и по передаваемым объектам – чтобы вести анализ инцидентов, выявляя системные проблемы 12/14
  • 13. Альтернативные интерфейсы интеграции  Ситуации массовой передачи данных  Начальная инициализация интеграции по объектам  Массовые изменения объектов при изменении структур данных или логики  Массовый перевод объектов в другую систему-владельца  И многое другое – из-за ограниченного функционала или пропускной способности интеграционной шины  Массовая обработка должна выполняться технологично, а ошибки должны быть доступны для разбора через интерфейс интеграции 13/14
  • 14. Заключение  Быстрое получение MVP часто предполагает реализацию только основных успешных сценариев работы системы  Однако, для бизнес-процесса необходима обработка технологичная особых ситуаций и сделок и эффективная работа инцидентов  Принципиальная возможность должна быть заложена в архитектуру  Сценарии использования и тест-кейсы необходимо прорабатывать – и показывать архитекторам, это хорошее начало обсуждения  Все, что не заложено в систему придется делать разработчикам вручную – надо иметь свободных разработчиков на поддержке Вопросы? Обращайтесь! Максим Цепков http://mtsepkov.org 14/14