Песочница — это тестовая среда , которая изолирует непроверенные изменения кода и прямые эксперименты от производственной среды или репозитория [1] в контексте разработки программного обеспечения , включая веб-разработку , автоматизацию , контроль версий , управление конфигурацией (см. также управление изменениями ) и управление исправлениями .
Песочница защищает «живые» серверы и их данные, проверенные дистрибутивы исходного кода и другие наборы кода, данных и/или контента, как частного, так и общедоступного, от изменений, которые могут нанести ущерб критически важной системе или которые просто будет трудно отменить , независимо от намерения автора этих изменений. Песочницы воспроизводят по крайней мере минимальную функциональность, необходимую для точного тестирования программ или другого кода в стадии разработки (например, использование тех же переменных среды , что и предыдущая стабильная реализация, которую предполагается изменить, или доступ к идентичной базе данных, которая используется; существует много других возможностей, поскольку конкретные потребности в функциональности сильно различаются в зависимости от характера кода и приложения(й), для которого он предназначен).
Концепция песочницы встроена в программное обеспечение для контроля версий , такое как Git , CVS и Subversion (SVN) , в котором разработчики «извлекают» копию исходного кода или его ветви для изучения и работы. После того, как разработчик полностью протестировал изменения кода в своей собственной песочнице, изменения будут возвращены и объединены с репозиторием и, таким образом, станут доступны другим разработчикам или конечным пользователям программного обеспечения. [2]
По дальнейшей аналогии термин «песочница» может также применяться в вычислительной технике и сетях к другим временным или неопределенным областям изоляции, таким как песочницы безопасности и песочницы поисковых систем (оба имеют весьма специфическое значение), которые не позволяют входящим данным влиять на «живую» систему (или ее аспекты) до тех пор, пока не будут выполнены определенные требования или критерии.
Песочница (см. также « мягкий запуск ») часто считается наилучшей практикой при внесении любых изменений в систему, независимо от того, считается ли это изменение «разработкой», изменением состояния конфигурации или обновлением системы. [3]
Термин «песочница» обычно используется для разработки веб-сервисов , чтобы обозначить зеркальную производственную среду для использования внешними разработчиками. Обычно сторонний разработчик разрабатывает и создает приложение, которое будет использовать веб-сервис из «песочницы», которая используется для того, чтобы позволить сторонней команде проверить свой код перед его переносом в производственную среду. Microsoft , [4] Google , Amazon , [5] Salesforce , [6] PayPal , [7] eBay , [8] и Yahoo , [9] среди прочих предоставляют такие сервисы.
Вики также обычно используют общую модель тестирования в виде песочницы, хотя она предназначена в основном для обучения и прямого экспериментирования с функциями, а не для тестирования изменений существующего контента (аналог исходного кода вики). Режим предварительного просмотра редактирования обычно используется вместо этого для тестирования конкретных изменений, внесенных в тексты или макет страниц вики.