Пирамида тестов хороша. Пока не пришла в 1С
Пирамида тестов стала широко известна в 2009 году. С тех пор её рисуют примерно так же часто, как нарушают. Внизу — много быстрых модульных проверок. Наверху — немного тяжёлых сценариев, проверяющих систему целиком. Всё красиво.
Проблема начинается, когда эту картинку пытаются перенести в 1С буквально. Здесь даже небольшая проверка нередко требует информационной базы, данных, окружения. И быстрый тест внезапно перестаёт быть таким уж быстрым.
Дальше возникает вполне бытовая экономика. Раз маленькие тесты стоят дорого, их делают меньше. Раз их мало — проверяют большими сценариями: документы, формы, проведение, права, печать. И вот пирамида уже стоит на голове.
Обычно её пытаются «исправить» количеством тестов. Но дело вообще не в красивой пропорции. Главная ценность проверки в другом: насколько быстро она отвечает на вопрос — что именно сломалось. Если падает сценарий из двадцати шагов и после этого несколько часов ищут причину, сама цифра покрытия мало утешает.
Поэтому полезнее выносить отдельно то, что можно проверить без всей системы: расчёты, условия, правила. А тяжёлые сценарии оставлять там, где действительно важно проверить цепочку целиком.
И вот что интересно. Иногда перевёрнутая пирамида для 1С вполне разумна. Доработка может быть разовой, а создание идеального набора тестов окажется дороже самой работы.
Пожалуй, хорошая система тестирования измеряется не формой пирамиды. А временем между изменением кода и понятным ответом: всё работает или вот здесь сломалось.
Post #2926
396

- 💯 5