Definición de server-side testing
Antes de explicar qué es el server-side testing, comencemos por entender qué ocurre en el backend cuando accedes a una página web.
Cuando un usuario visita una página web desde su navegador, este envía una solicitud al servidor, desde donde se transfieren los archivos necesarios para que el navegador construya la versión visible del sitio. Según las reglas predefinidas, el JavaScript contenido en esos archivos se encarga de hacer la página interactiva (compuesta por HTML y CSS).
Este JavaScript puede ejecutarse tanto en el servidor como en el cliente (navegador), y también es responsable de generar las distintas variaciones de la página para procesos de experimentación como el A/B testing. En este tipo de pruebas, existen dos métodos principales para entregar las variaciones: una es client-side testing y la otra es server-side testing.
En el server-side testing, el usuario solicita una página web desde su navegador. Entonces el servidor localiza los archivos correspondientes, ejecuta el JavaScript en el servidor, aplica los cambios necesarios y envía directamente al usuario la versión modificada de la página.
A continuación, veremos en qué se diferencia este enfoque del client-side testing.
Client-side testing vs. server-side testing
En el client-side testing, el servidor envía todos los archivos solicitados al navegador, y es este el que ejecuta el JavaScript para aplicar los cambios antes de mostrar la versión visible de la página web. A continuación, te mostramos una comparación detallada entre ambos enfoques de testing:
Parámetro | Server-side testing | Client-side testing |
Facilidad de implementación | Más complejo. La variación se genera en el servidor y se envía directamente al navegador. Requiere que los desarrolladores creen y gestionen cada variación en el servidor. | Más sencillo. Se utiliza un editor visual con funcionalidad de arrastrar y soltar en el backend. |
Velocidad | Más rápido, ya que todo el procesamiento se realiza en el servidor; el navegador puede renderizar la página con mayor agilidad. | Más lento, porque el navegador debe procesar primero el JavaScript antes de aplicar el HTML y el CSS. Requiere medidas de optimización para mejorar el rendimiento. |
Impacto en la experiencia del usuario | Sin impacto. | La ejecución del JavaScript en el navegador puede afectar negativamente la experiencia del usuario durante la carga de la página. |
Alcance | Permite crear variaciones a nivel de algoritmo, flujo transaccional, diseño UI/UX, etc. | Limitado principalmente a variaciones visuales en la interfaz UI/UX. |
Canales | Permite hacer tests en múltiples canales. | Limitado a la versión web. |
Veamos ahora en qué situaciones conviene optar por el server-side testing.
¿Cuándo usar server-side testing?
El server-side testing permite llevar la experimentación a un nivel más profundo que la simple prueba de elementos de UI/UX. A continuación, algunos escenarios ideales para aplicar este tipo de testing:
- Páginas con contenido dinámico que cambian según la interacción del usuario. Por ejemplo, una tienda online que realiza una prueba para determinar el coste de envío ideal en función del precio del producto.
- Páginas web complejas o de gran escala con múltiples elementos dinámicos. Por ejemplo, una red social que desea probar los botones de “votar”, “compartir”, “comentar” y “publicar”.
- Lanzamiento de nuevos productos o funcionalidades que requieren experimentación a nivel de infraestructura. Un caso típico sería una plataforma de educación en línea que quiere probar un nuevo sistema de recomendaciones de cursos basado en un formulario completado por el usuario.
- Experimentación en la experiencia del usuario mediante múltiples variaciones de la versión web y de la app. Por ejemplo, un medio de comunicación puede realizar un test simultáneo sobre el flujo de navegación en ambas plataformas.
¿Cómo se lleva a cabo el server-side testing?
Para implementar server-side testing, se necesita instalar e integrar un Software Development Kit (SDK) en el servidor backend. Este SDK se desarrolla con lenguajes del lado del servidor como Node.js, Python, .NET o Java.
El SDK actúa como una interfaz entre el servidor web y el servidor de la herramienta de testing. Recibe todas las condiciones de la experimentación desde el servidor de pruebas en formato JSON. Una vez que el usuario solicita una página, el SDK aplica las variaciones especificadas en el archivo JSON.
Toda la actividad del usuario se rastrea desde el servidor, y los datos generados se envían al sistema de informes de campaña para ser visualizados en el dashboard.
Beneficios del server-side testing
Ahora que ya conocemos los escenarios adecuados y el proceso para implementar el server-side testing, veamos sus principales ventajas:
- Permite ejecutar procesos de experimentación complejos que van más allá de las pruebas de experiencia de usuario (UX).
- Reduce riesgos durante el lanzamiento de nuevas funciones o productos, ya que permite un despliegue gradual. Durante este rollout en etapas, es posible detectar errores y oportunidades de mejora antes de extender el cambio a todos los usuarios.
- Es una metodología sólida para ejecutar un único test en múltiples plataformas, como versiones web y app.
- Ofrece insights profundos sobre el stack completo, lo que permite tomar decisiones basadas en datos reales y no en suposiciones.
Además de todas estas ventajas, hay un beneficio especialmente importante: En el client-side testing, puede ocurrir el efecto de flickering, es decir, que el usuario vea por un instante la versión original de la página antes de que aparezca la variación. Este parpadeo puede influir en el comportamiento del usuario, afectando la validez de los resultados del test, ya que algunos visitantes podrían darse cuenta de que están participando en un experimento. En cambio, en el server-side testing, las variaciones se entregan directamente desde el servidor, eliminando por completo cualquier posibilidad de flickering.
Server-side testing con VWO
Mantener una experiencia de usuario fluida es fundamental al realizar pruebas. El server-side testing con VWO ofrece la flexibilidad total para ejecutar experimentación multicanal mediante la integración de SDKs en solo 15 minutos, sin afectar el rendimiento. Solicita una demo de VWO FullStack y empieza a optimizar la experiencia digital en todos tus productos.