Тестируем ПО без утечек и нарушений
Как же компании-разработчики решают проблему с тестированием ПО? Персональные и другие чувствительные данные маскируют, или обезличивают, например, при помощи самописных SQL-скриптов в базах данных. Подход хорош для решения «на скорую руку» и только для небольших наборов данных, поскольку имеет целый ряд недостатков.
Почему самописные SQL-скрипты не выход
· Для подготовки скриптов требуются высококлассные разработчики, специализирующиеся на конкретном типе СУБД. Не факт, что разработчик OraclePL/SQL справится с задачей для PostgreSQL.
· Метод эффективен при обезличивании ограниченного числа баз данных. Скорее всего, набор скриптов для каждой БД в компании будет свой, разрабатывать их потребуется практически с нуля. А значит, сэкономить не получится — ведь никакой оптимизации за счет масштабирования процесса здесь быть не может.
· Работу над скриптами нужно контролировать, а по-хорошему — упаковать в промышленный CI/CD-процесс и системно управлять им. Не каждая компания может себе это позволить, особенно, если разработка ПО не ее основной бизнес.
· Неуправляемая разработка скриптов «на скорую руку» рано или поздно оборачивается потерей владения кодовой базой, а как минимум — непониманием логики работы ПО.
· И наконец: во избежание утечек любые скрипты должны контролировать ИБ-специалисты, и речь здесь идет о буквальной проверке кода. Контроль десяти разных скриптов для трех разных типов БД — очевидная перегрузка, ведь у ИБ есть и другие задачи.