[Тестирование IT-систем] Как (авто)тестировать Монстра
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Здравствуй, уважаемый читатель.
Сфера IT в банках весьма обширна. И, думаю, сообщество банковских IT-шников представлено на Хабре достаточно широко. В этой статье затронем тему тестирования специфического банковского ПО. Из-за некоторой закрытости такого рода организаций информации о происходящем внутри просачивается довольно мало. Давайте приоткроем завесу тайны.
Итак, позвольте представиться. Меня зовут Алексей, и я алк… тестирую АБС ЦФТ-Банк.
Что за Монстр
ЦФТ-Банк – автоматизированная банковская система (АБС) разработки ООО «Центр
финансовых технологий». Это ядро IT-экосистемы Банка. И, де-факто, ЦФТ-Банк – стандарт АБС среди российских банков.
В АБС ведется баланс по всем счетам; учитываются все клиентские договоры, счета, операции; производится прием и отправка межбанковских переводов. Все средства, привлеченные и выданные Банком, учитываются здесь.
Наша АБС сейчас – это:
- 20.000 таблиц с прикладными данными в СУБД Oracle.
- 30.000 различных пользовательских операций. (Здесь же нужно учитывать всевозможные вариативные цепочки операций, зависящие от конкретного кейса).
- 19.000 активных зарегистрированных пользователей.
- 35 TB данных в СУБД. (Подготовка копий БД для тестовых стендов – тема для отдельного разговора).
Тестируй меня полностью
Монстр – живой. Круглосуточно. Круглогодично. Все возможные праздничные дни и новогодние каникулы – на вес золота. Это время, когда можно вкатывать большие изменения, импортировать новые филиалы, проводить регламентные работы.
Кроме таких больших обновлений есть и еженедельные релизы, ведь Банк должен постоянно улучшать свои продукты. А сколько «веселья» добавила работа во время активности всем известного вируса… эти срочные «ковидные» поставки будут долго сниться нашим разработчикам и тестировщикам.
Важно понимать, что у системы достаточно высокая связанность – по данным, управлению, содержимому. Зачастую очень сложно или даже невозможно предугадать степень влияния, казалось бы, минорного изменения на различные процессы в АБС.
В связи с этим все изменения проходят многоступенчатое тестирование – модульное, функциональное, интеграционное. И его финальная часть – регрессионное. О нем и поговорим.
А можно всех посмотреть?
Ввиду ограниченности ресурсов, как серверных, так и человеческих, на еженедельных релизах приходится проводить строгий «кастинг» тест-кейсов. Тест-менеджеры отобрали и согласовали список из 1.500 тест-кейсов. Один кейс занимает от 5 минут у опытного тестировщика. А иногда требуется и повторный прогон.
И тут, определенно, нужна автоматизация.
Но – система весьма специфичная и закрытая, и готовых открытых инструментов для ее тестирования просто нет.
У вас роботы не той системы
Различных подходов к автоматизации тестирования ЦФТ-Банк достаточное количество.
Но, все «не без греха».
- В некоторых банках пытаются реализовать UI-тестирование. Проблема в том, что тут нативный desktop-клиент, совершенно не дружественный к автоматизаторам.
Например, науке известны случаи применения TestComplete. Но для этого приходится много костылить и использовать недокументированные фичи приложения. В итоге такие тесты получаются медленными и хрупкими.
- Отдельные компании-интеграторы предлагают свои варианты. Здесь разброс от применения HP UFT до полностью самостоятельных разработок. Некоторые динамичные компании даже научились неплохо тестировать UI. Но тут свои сложности с пересаживанием на иглу другого поставщика (если понимаете, о чем я).
- Есть даже решение от самого вендора системы. Но Монстр породил Монстра – этот инструмент весьма ресурсоемкий и чрезмерно требовательный к ресурсам для обработки результатов тестирования.
Мы пойдем своим путем
После проведения исследований и пользуясь преимуществом знания внутреннего устройства системы, решили есть Монстра по частям и использовать при этом подходящие инструменты:
- Есть в системе функционал, вся реализация которого зашита в отдельных процедурах Oracle. Никакой логики на клиенте, только кнопка «Запуск». Будем вызывать процедуры напрямую!
- Есть проверка продуктовых настроек – не изменило ли очередное обновление данные в таблицах, которые не должны меняться. Выполняем select и сверяем с эталонным результатом!
- Есть use case с запуском нескольких операций подряд. Будем эмулировать запросы клиента! Тут нам помогает трехуровневая архитектура – между нативным десктопом и СУБД есть http сервер приложений. Немного наблюдательности и становится возможным отправлять запросы по http, идентичные клиентскому приложению.
При этом мы исключили из тестирования само клиентское приложение. Но считаем это допустимым ввиду его редких и несущественных изменений. Зато в плюсах – высокая скорость работы тестов и их стабильность.
Остается добавить динамическое вычисление некоторых параметров в запросах, подготовку данных для тестов, анализ результатов работы вызываемых операций… Здесь становится критичным знание внутренностей Монстра – в каких полях каких таблиц отслеживать результат.
Монстр любит разнообразие
Применение такого диверсифицированного подхода к автоматизации тест-кейсов существенно упрощает автоматизацию и позволяет увеличивать долю автоматизированных тестов в регрессе.
На данный момент мы достигли показателя в 30% автоматизации критичных кейсов. И теперь наращиваем темп.
Заметным плюсом отказа от автоматизации через GUI стала скорость работы автотестов. Имеющийся набор из 491 теста проходит в среднем за 32 минуты. Для сравнения, ручной проход этих тест-кейсов занимал суммарно 34 часа.
Стабильность тоже на высоте. Проблемы возникают зачастую из-за отсутствия нужных тестовых данных на тестовом стенде. Подготовка данных для сквозных сценариев – отдельная, не тривиальная задача, над которой мы только начали работать.
Впереди еще много вызовов от Монстра, главное – найти подходящий инструмент для каждой задачи.
Будет интересно, если вы поделитесь своим опытом тестирования ЦФТ-Банк.
Твой ход, @другойбанк
===========
Источник:
habr.com
===========
Похожие новости:
- [Тестирование IT-систем, *nix, Тестирование веб-сервисов] Как Иван ошибку в бэкенде локализовывал
- [.NET, ASP, C#, Программирование, Тестирование IT-систем] Я 20 лет наслаждаюсь разнообразием архитектур и хочу поделиться мыслями
- [Карьера в IT-индустрии, Тестирование IT-систем, Тестирование веб-сервисов, Учебный процесс в IT] От тестировщика до QA. Как сократить путь в профессию на несколько месяцев
- [Конференции, Тестирование IT-систем, Хранение данных, Хранилища данных] DB & DWH Online Meetup 15/09
- [Тестирование IT-систем] Jubula — от мануального тестировщика до автоматизатора один шаг
- [Тестирование IT-систем, Тестирование веб-сервисов, Тестирование игр] Автоматизация тестирования. Да или нет? (перевод)
- [Java, Тестирование IT-систем] Fast-Unit или декларативный подход к юнит-тестам
- [Искусственный интеллект, Машинное обучение] Модерация текста: уроки этикета от Data Scientist’a
- [Go, Lua, Высокая производительность, Тестирование IT-систем] Кто такая эта Ваша Pandora и при чем здесь Tarantool
- [Python, Тестирование IT-систем, Тестирование веб-сервисов] Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса
Теги для поиска: #_testirovanie_itsistem (Тестирование IT-систем), #_avtotesty (автотесты), #_banki (банки), #_abs (АБС), #_blog_kompanii_rosselhozbank (
Блог компании Россельхозбанк
), #_testirovanie_itsistem (
Тестирование IT-систем
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 22:40
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Здравствуй, уважаемый читатель. Сфера IT в банках весьма обширна. И, думаю, сообщество банковских IT-шников представлено на Хабре достаточно широко. В этой статье затронем тему тестирования специфического банковского ПО. Из-за некоторой закрытости такого рода организаций информации о происходящем внутри просачивается довольно мало. Давайте приоткроем завесу тайны. Итак, позвольте представиться. Меня зовут Алексей, и я алк… тестирую АБС ЦФТ-Банк. Что за Монстр ЦФТ-Банк – автоматизированная банковская система (АБС) разработки ООО «Центр финансовых технологий». Это ядро IT-экосистемы Банка. И, де-факто, ЦФТ-Банк – стандарт АБС среди российских банков. В АБС ведется баланс по всем счетам; учитываются все клиентские договоры, счета, операции; производится прием и отправка межбанковских переводов. Все средства, привлеченные и выданные Банком, учитываются здесь. Наша АБС сейчас – это:
Тестируй меня полностью Монстр – живой. Круглосуточно. Круглогодично. Все возможные праздничные дни и новогодние каникулы – на вес золота. Это время, когда можно вкатывать большие изменения, импортировать новые филиалы, проводить регламентные работы. Кроме таких больших обновлений есть и еженедельные релизы, ведь Банк должен постоянно улучшать свои продукты. А сколько «веселья» добавила работа во время активности всем известного вируса… эти срочные «ковидные» поставки будут долго сниться нашим разработчикам и тестировщикам. Важно понимать, что у системы достаточно высокая связанность – по данным, управлению, содержимому. Зачастую очень сложно или даже невозможно предугадать степень влияния, казалось бы, минорного изменения на различные процессы в АБС. В связи с этим все изменения проходят многоступенчатое тестирование – модульное, функциональное, интеграционное. И его финальная часть – регрессионное. О нем и поговорим. А можно всех посмотреть? Ввиду ограниченности ресурсов, как серверных, так и человеческих, на еженедельных релизах приходится проводить строгий «кастинг» тест-кейсов. Тест-менеджеры отобрали и согласовали список из 1.500 тест-кейсов. Один кейс занимает от 5 минут у опытного тестировщика. А иногда требуется и повторный прогон. И тут, определенно, нужна автоматизация. Но – система весьма специфичная и закрытая, и готовых открытых инструментов для ее тестирования просто нет. У вас роботы не той системы Различных подходов к автоматизации тестирования ЦФТ-Банк достаточное количество. Но, все «не без греха».
Например, науке известны случаи применения TestComplete. Но для этого приходится много костылить и использовать недокументированные фичи приложения. В итоге такие тесты получаются медленными и хрупкими.
Мы пойдем своим путем После проведения исследований и пользуясь преимуществом знания внутреннего устройства системы, решили есть Монстра по частям и использовать при этом подходящие инструменты:
При этом мы исключили из тестирования само клиентское приложение. Но считаем это допустимым ввиду его редких и несущественных изменений. Зато в плюсах – высокая скорость работы тестов и их стабильность. Остается добавить динамическое вычисление некоторых параметров в запросах, подготовку данных для тестов, анализ результатов работы вызываемых операций… Здесь становится критичным знание внутренностей Монстра – в каких полях каких таблиц отслеживать результат. Монстр любит разнообразие Применение такого диверсифицированного подхода к автоматизации тест-кейсов существенно упрощает автоматизацию и позволяет увеличивать долю автоматизированных тестов в регрессе. На данный момент мы достигли показателя в 30% автоматизации критичных кейсов. И теперь наращиваем темп. Заметным плюсом отказа от автоматизации через GUI стала скорость работы автотестов. Имеющийся набор из 491 теста проходит в среднем за 32 минуты. Для сравнения, ручной проход этих тест-кейсов занимал суммарно 34 часа. Стабильность тоже на высоте. Проблемы возникают зачастую из-за отсутствия нужных тестовых данных на тестовом стенде. Подготовка данных для сквозных сценариев – отдельная, не тривиальная задача, над которой мы только начали работать. Впереди еще много вызовов от Монстра, главное – найти подходящий инструмент для каждой задачи. Будет интересно, если вы поделитесь своим опытом тестирования ЦФТ-Банк. Твой ход, @другойбанк =========== Источник: habr.com =========== Похожие новости:
Блог компании Россельхозбанк ), #_testirovanie_itsistem ( Тестирование IT-систем ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 22:40
Часовой пояс: UTC + 5