26
Взгляд со стороны поддержки на типовые проблемы приложений Андрей Зоткин. EPAM Systems

Взгляд со стороны поддержки на типовые проблемы приложений

  • Upload
    sqalab

  • View
    325

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Взгляд со стороны поддержки на типовые проблемы приложений

Взгляд со стороны поддержки на типовые проблемы приложений

Андрей Зоткин. EPAM Systems

Page 2: Взгляд со стороны поддержки на типовые проблемы приложений

Автор:

Andrey ZotkinSenior Software Testing EngineerEPAM Systems, Inc.Ryazan, RussiaEmail: [email protected]://www.epam.com

Доклад подготовлен на основе реальных событий,

исходя из опыта нескольких лет тестирования и последующей поддержки

приложений,

опыт тестирования был целиком переосмыслен благодаря возможности

увидеть приложения в их реальной среде обитания в руках

пользователей.

Page 3: Взгляд со стороны поддержки на типовые проблемы приложений

Введение

• В ходе тестирования мы всегда стараемся представить как наше

приложение будет работать в реальных условиях и насколько полно

оно будет соответствовать тем целям, для которых его создавали.

• Всем нам хотелось бы, чтобы в руках пользователей оказалось

качественное приложение, удобное и эффективное.

• К сожалению, в реальных условиях это не всегда получается.

Так или иначе часто бывают упущены серьѐзные недоработки

требующие поддержки и исправления.

• Мы бы хотели поделиться опытом решения подобных проблем и

способами предотвращения типичных ошибок.

Page 4: Взгляд со стороны поддержки на типовые проблемы приложений

Цели и реальное положение дел

Цель – безошибочная стабильная работа

Реальное положение дел – далеко от идеала

Проблемы с

выводом в

промышленную

эксплуатацию

Множество

типовых

проблем

Дорогостоящая

поддержка и

снижение

выгоды от

внедрения

Неудобство

использования

Page 5: Взгляд со стороны поддержки на типовые проблемы приложений

Частые однотипные проблемы

• неудовлетворительная производительность

• непригодные/неудобные настройки UI – фильтрация,

сортировка, пользовательские параметры, подсказки и

справка

• обработка изначально некорректных входных данных –

отсутствие адекватной защиты от невалидных данных

• неполнота/некорректность логирования и трассировки

ошибок

• хардкод параметров/путей/настроек – чего могут стоить

изменения всего лишь пары сетевых путей

Page 6: Взгляд со стороны поддержки на типовые проблемы приложений

Неудовлетворительная производительность

неоправданно длительное время

запуска приложения

“висящие” гриды с большими

объѐмами данных

Page 7: Взгляд со стороны поддержки на типовые проблемы приложений

• затруднѐнный импорт/экспорт

• больших массивов информации

Неудовлетворительная производительность

Page 8: Взгляд со стороны поддержки на типовые проблемы приложений

Неудовлетворительная производительность

многочасовое построение

отчетов

Page 9: Взгляд со стороны поддержки на типовые проблемы приложений

медленная фильтрация по

всем параметрамили их сочетаниям

Неудовлетворительная производительность

Page 10: Взгляд со стороны поддержки на типовые проблемы приложений

Непригодные/неудобные настройки UIнеудобное отображение гридов

• по-умолчанию

сброс пользовательских настроек

интерфейса (рестарт, новый билд ..)

недоступность/неудобное расположение

элементов управления

(кнопок, тулбаров и т.д.)

отсутствие фильтров либо некорректная

фильтрация

отсутствие подсказок, контекстной

помощи, полноценной справки

Page 11: Взгляд со стороны поддержки на типовые проблемы приложений

Обработка некорректных входных данных

недостаточная защита от

ввода некорректных данных

вручную

непродуманный алгоритм

загрузки данных из файлов

система

Входные

данные

Page 12: Взгляд со стороны поддержки на типовые проблемы приложений

Неполнота/некорректность логирования и трассировки

ошибок

лог или трейс отсутствуют либо не

отображают необходимого

логируется всѐ, но в непригодной

форме

лог/ трейс за большой период не

может нормально отобразиться

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

за период)

Page 13: Взгляд со стороны поддержки на типовые проблемы приложений

Хардкод параметров/путей/настроек

нет UI для важных

непрозрачность словарей в

БД

хардкод констант,

каталогов, имѐн linked servers

в хранимых процедурах

Система

Хардкод таймаутов/настроек

настройки

администрирования,

просмотр/обновление

словарей

параметры,

логины/пароли,

каталоги,

маски имѐн

Клиентское

приложение

(UI)

БД

Сервис

Page 14: Взгляд со стороны поддержки на типовые проблемы приложений

Как мы могли бы избежать этих проблем

• Выявление проблем и особенностей на стадии анализа,

тестирование функциональных и нефункциональных требований

• code review

• обязательное тестирование под нагрузкой

• preUAT , UAT, PAT

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

Page 15: Взгляд со стороны поддержки на типовые проблемы приложений

Выявление архитектурных проблем на ранних стадиях

Система

Прирост??………..

Узкие места по

производительности??

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

этапах их подготовки

через N летДАННЫЕ

(в начале)

Функциональные

требования

Нефункциональные

требования

Гриды,

фильтры

Логирование

Отчеты

Page 16: Взгляд со стороны поддержки на типовые проблемы приложений

Code review

обязательное полноценное

периодическое code review

CODE REVIEW ревью хранимых процедур

тестировщиками

Код

клиентской

части

Код

сервисов

Хранимые

процедуры

и функции

Page 17: Взгляд со стороны поддержки на типовые проблемы приложений

Обязательное тестирование под нагрузкой

тестирование

производительности и

нагрузочное тестирование

обязательно в плане работ

объѐмы данных заранее

утверждены и согласованы с

заказчиком

чѐтко определѐнные показатели

системы по итогам тестирования

производительности

(что система может и что от неѐ

ждать не стоит)

Page 18: Взгляд со стороны поддержки на типовые проблемы приложений

PreUAT , UAT, PAT

preUAT – тестирование основных

кейсов поставки в среде UAT силами

тестировщиков

UAT (User Acceptance Testing) –

приѐмочное тестирование

системы пользователями

в среде заказчика

PAT - тот же Acceptance Testing –

но в среде Production

(опытная эксплуатация в «боевой»

среде на реальных данных)

Система

(PAT)

Система

(preUAT,

UAT)

тестировщики

пользователи

Page 19: Взгляд со стороны поддержки на типовые проблемы приложений

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

реальные данные со стороны

заказчика или утверждѐнный

способ их подготовки

полнота кейсов и

адекватный объѐм тестовых

данных

конфиденциальные данные

должны быть корректно

замаскированы, настройки и

словари - без маскировки

Реальные данные и

настройки из

промышленной

эксплуатации

Идентичные

настройки и данные

словарей

Тестовые данные

(замаскированные)

Page 20: Взгляд со стороны поддержки на типовые проблемы приложений

Как можно облегчить жизнь заказчику и упростить

поддержку

• инструкции по установке

(наличие, поддержание актуальности)

• вся новая функциональность должна быть

задокументирована (FD, UserGuide)

• контроль версионности поставок и функционала

(особенно для исправлений на PROD)

Page 21: Взгляд со стороны поддержки на типовые проблемы приложений

Инструкции по установке

каждая поставка с билдом должна

иметь актуальную инструкцию по

установке

все шаги должны быть чѐтко

описаны, обязательность шага

должна быть выделена особо

новая система/версия может

потребовать максимально

полной инструкции

Page 22: Взгляд со стороны поддержки на типовые проблемы приложений

Своевременное документирование новой

функциональности

- документация должна быть

поставлена одновременно с новой

версией а не «задним числом»

- кроме FD/спецификации

желательно наличие

UserGuide , при этом – наличие

одного документа никак не может

исключать необходимость другого

Page 23: Взгляд со стороны поддержки на типовые проблемы приложений

Контроль версионности поставок и функционала

контроль функциональности по

версиям – что какая версия должна

??? точно содержать

контроль версий с исправлениями,

упорядочивание фиксов/ патчей,

??? отслеживание версионности в БД

Ver.1.0 Ver.1.01..

Ver.2.0Fix 1.0089

Page 24: Взгляд со стороны поддержки на типовые проблемы приложений

Заключение

Мы надеемся, что все рассмотренные примеры помогут

вам взглянуть на свои приложения с новой стороны

и расширить границы понимания того, какие детали стоит

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

руках её пользователей.

Page 25: Взгляд со стороны поддержки на типовые проблемы приложений

Возникли вопросы?

P.S. «Тестировщику полезно услышать крики пользователей»

(один из топ-менеджеров EPAM Systems)

Page 26: Взгляд со стороны поддержки на типовые проблемы приложений

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