Un entorno de pruebas o sandbox, en el contexto del desarrollo de software o desarrollo web, es un entorno cerrado que aísla los cambios en el código, fruto de la experimentación, del propio entorno de producción o entorno de edición (en caso de las wikis).
Conceptos
El sandbox protege en tiempo real los servidores de datos, y hace de control preventivo de la ejecución de código fuente, datos o contenido, evitando unos cambios que podrían ser perjudiciales (independientemente de la intención del autor de los mismos) para un sistema, o que simplemente, podrían ser cambios de difícil reversión.
El concepto del sandbox (a veces llamado también directorio de trabajo, servidor de pruebas o de desarrollo, o en un contexto limitado host virtual) es normalmente desarrollado y gestionado por un software de control de revisiones, mediante el cual, los desarrolladores trabajan con una copia del código fuente, datos o información sin alterar el original. Después que el desarrollador ha comprobado que los cambios se ajustan a lo esperado, tiene la opción de transformarlos en definitivos en el objeto de trabajo.[1]
El concepto también puede englobar a sistemas informáticos que filtran los cambios realizados en un entorno, de tal manera que los oculta o almacena lejos del alcance del público, hasta que se cumplan ciertos requisitos prefijados. Una vez alcanzados esos requisitos, se mostrarán los cambios hasta entonces ocultos tras el entorno cerrado.
Desarrollo web
Los sandbox son igualmente comunes, en los proyectos de desarrollo web, y son habitualmente llamados servidores de pruebas o servidor de desarrollo. Así, cada desarrollador dispone de un servidor de desarrollo, que puede ser alterado y probado en un nombre de host, ruta o puerto de datos. Si bien las aplicaciones sandbox, de desarrollo de software se centran en la protección de cambios entre los diferentes desarrolladores, las aplicaciones sandbox para desarrollo web tienden a concentrarse en garantizar que los cambios aparecen en los trabajos de los diferentes desarrolladores, de manera que se pueda comprobar el correcto funcionamiento del conjunto, antes de que se fusionen todos los aspectos del trabajo.
Servicios web
El término sandbox se utiliza comúnmente en el desarrollo de servicios web, para referirse a los espejos (mirrors) de un entorno de producción, para su uso por desarrolladores externos. De esta manera, un tercero que pueda desarrollar y crear una aplicación que utilice el servicio web del sandbox, podrá validar su código antes de migrar su aplicación al entorno de producción.
En las wikis, se suele implementar un modelo de sandbox, destinado mayoritariamente al aprendizaje y a los ensayos de los principiantes, en lugar de para pruebas de modificaciones de contenidos. También se suele usar un modo de vista preliminar en lugar de probar los cambios directamente ejecutados sobre el texto de la página de la propia wiki.
↑The Linux Documentation Project. CVS Best Practices.Vivek Venugopalan (2005). «Developer sandbox»(en inglés). Archivado desde el original el 10 de febrero de 2009. Consultado el 14 de abril de 2009.