Тестирование системы расчета КАСКО |
17.03.2017 10:51 |
Автор: Миронова Юлия Оригинальная публикация: http://quality-lab.ru/casco-insurance-testing/ Материал основан на реальном проектном опыте. Очевидно, каждая компания, вверяющая результаты своей деятельности программному продукту, в какой-то момент приходит к мысли: так ли безупречно работает алгоритм? В самом деле: со временем вариативность вычислений возрастает, появляются новые параметры, операторы заводят множество данных, но правильные ли числа получаются на выходе? А ведь иногда речь идёт ещё и о расчёте выплат, то есть ошибка может приводить к реальным финансовым потерям. Как удостовериться в том, что потерь удастся избежать? Не удивительно, что в одной крупной страховой компании однажды возник вопрос: безупречно ли функционирует их система расчёта КАСКО? За ответом на этот вопрос они обратились к нам. Была поставлена задача: протестировать систему расчёта стоимости страховки, сделав упор в первую очередь на корректность расчетов. Мы имели предоставленные компанией подробнейшие системы принятого расчёта, составлявшие около 30 итоговых коэффициентов для 39 регионов (именно таков был размах этой страховой) и 39 больших файлов. Приступили к конструированию тестов. На первый взгляд, задача казалась типовой: Практически сразу пришло понимание того, что самый простой метод, как чаще всего и бывает, не самый эффективный. Эксперимент показал, что точное и аккуратное проведение одного теста занимало до 10-15 минут. Финальное влияние коэффициентов было видно только после заполнения всех данных. То есть на проверку одного региона нужно было потратить 14 человеко-дней, а на все регионы — 546. Мы же при согласованном бюджете могли выделить на данную работу только трех специалистов в течение 10 рабочих дней. По мере ознакомления с вопросом проявились и другие сложности:
В условиях ограниченного по трудовым ресурсам задания мы приняли следующую стратегию тест-анализа:
Результатом нашей работы стало создание системы из 82 тестов, которые можно было быстро провести для всех регионов. Наши тестировщики, проведя эти тесты для трех выбранных регионов, выявили 22 ошибки, причем 9 из них – именно в расчете итоговой суммы стоимости страховки! Например, оказалось, что в модуле «Договоры» при страховании по риску «Ущерб» при указанном чек-боксе «Автозапуск» (то есть в машине установлена сигнализация с функцией автозапуска) страховая премия рассчитывалась с неверным коэффициентом (а именно, как и «без автозапуска»). При презентации результатов работы выяснилось, что к существованию таких багов в программе страховщики были не готовы и на демонстрации даже не верили нам, проверяя баги на рабочей версии программы! Предложенная нам задача была решена в полной мере, а мы приобрели ценный опыт по тестированию продуктов избыточной сложности в сжатые сроки. |