Prueba de desplazamiento a la izquierda


La prueba de desplazamiento a la izquierda [1] es un enfoque para la prueba de software y la prueba del sistema en el que la prueba se realiza antes en el ciclo de vida (es decir, se mueve a la izquierda en la línea de tiempo del proyecto). Es la primera mitad de la máxima "Prueba pronto y con frecuencia". [2] Fue acuñado por Larry Smith en 2001. [3] [4]

La prueba de desplazamiento a la izquierda es importante porque ayuda a prevenir los siguientes tipos de daños debido a la prueba tardía:

Hay cuatro formas básicas de cambiar las pruebas antes en el ciclo de vida (es decir, hacia la izquierda en el modelo V clásico ). Estos pueden denominarse pruebas de desplazamiento a la izquierda tradicionales, [5] pruebas de desplazamiento a la izquierda incrementales, pruebas de desplazamiento a la izquierda Agile/DevOps, [6] [7] y pruebas de desplazamiento a la izquierda basadas en modelos. [8]

Como se ilustra en la siguiente figura, el cambio tradicional a la izquierda mueve el énfasis de las pruebas hacia abajo (y, por lo tanto, ligeramente hacia la izquierda) en el lado derecho del modelo V clásico. En lugar de enfatizar la aceptación y las pruebas a nivel del sistema (p. ej., pruebas de GUI con herramientas de grabación y reproducción [9] ), el desplazamiento tradicional a la izquierda se concentra en las pruebas unitarias y las pruebas de integración (p. ej., mediante pruebas de API y herramientas de prueba modernas). La transición a las pruebas tradicionales de desplazamiento a la izquierda se ha completado en gran medida. [ ¿por quién? ]

Como se ilustra en la siguiente figura, muchos proyectos que desarrollan sistemas grandes y complejos que dependen del software descomponen el desarrollo en una pequeña cantidad de incrementos (V) que tienen duraciones correspondientemente más cortas. El desplazamiento a la izquierda ilustrado por las flechas rojas discontinuas ocurre porque partes de los tipos de prueba del modelo V de cascada grande y única (que se muestran en gris) se desplazan a la izquierda para convertirse en incrementos de los tipos de prueba correspondientes en los modelos V incrementales más pequeños. Cuando cada incremento es también una entrega al cliente y a las operaciones, las pruebas incrementales de desplazamiento a la izquierda desplazan tanto las pruebas de desarrollo como las pruebas operativas a la izquierda. Las pruebas incrementales de desplazamiento a la izquierda son populares cuando se desarrollan sistemas grandes y complejos, especialmente aquellos que incorporan cantidades significativas de hardware. Como tradicional shift-left,la transición al desplazamiento incremental a la izquierda también se ha completado en gran medida.

Como se ilustra en la siguiente figura, los proyectos Agile y DevOps tienen numerosas V de corta duración (sprints) en lugar de una única o pequeña cantidad de V como en los dos ejemplos anteriores de prueba de desplazamiento a la izquierda. Estas pequeñas V también se modificarían si se utilizan uno o más sprints tempranos para bloquear los requisitos básicos y la arquitectura o si el desarrollo basado en pruebas y primero en pruebas(TDD) se están realizando. El desplazamiento a la izquierda ocurre porque los tipos de prueba en el lado derecho de la primera de estas pequeñas V están a la izquierda de los tipos de prueba correspondientes en el lado derecho de las V más grandes que reemplazan. Si bien la siguiente figura parece notablemente igual para Agile y DevOps, las pruebas de Agile generalmente se restringen a las pruebas de desarrollo y no incluyen las pruebas operativas, que ocurren una vez que el sistema se pone en funcionamiento. La transición a las pruebas de cambio a la izquierda de Agile/DevOps es actualmente popular y está en curso.