El desarrollo de Front-End ha variado mucho con el pasar del tiempo y aún más estos últimos años, evolucionando a un ambiente más complejo.
Hoy en día es bastante difícil no encontrarse frecuentemente una discusión sobre un nuevo framework de JavaScript o una nueva técnica de cómo ver o emplear los diferentes elementos que componen este ámbito. Si no me crees, tan solo piensa en un nombre y agrégale el sufijo “js” y podrás darte cuenta de la gran diversidad de frameworks, bibliotecas, herramientas y plugins que existen.
Como desarrolladores tenemos que tratar de aceptar estos cambios y adaptarnos lo mejor posible a ellos. Por otra parte, también debemos asegurar una consistencia y estabilidad aceptable. Por lo tanto, se han diseñado diferentes tipos de pruebas para de esta forma exponer los posibles errores o inconsistencias que puedan surgir durante el proceso de desarrollo.
¿Qué es el Front-End testing?
Pruebas de Front-End es un término general que cubre un conjunto de estrategias para realizar pruebas automatizadas. Algunas de éstas, como las pruebas unitarias, han sido tomadas como parte de las mejores prácticas a nivel de desarrollo por la comunidad por años. Sin embargo, otras han surgido para adaptarse a las nuevas necesidades dadas por el constante cambio.
A pesar de que tu aplicación particularmente no se adapte o tome ventaja de un tipo de prueba en concreto, es relevante conocer los diferentes tipos que existen en este ámbito. Es por esto que a continuación te presentamos los diferentes tipos de pruebas que se pueden realizar a nivel de Front-End.
Pruebas unitarias
Las pruebas unitarias representan el nivel más bajo de todos los tipos de pruebas ya que cada una se encarga de comprobar el correcto funcionamiento de una sola unidad de código. Una unidad de código podría ser por ejemplo una función o un método. Al hacer esto nos aseguramos que cada una de éstas funcione correcta y eficientemente por separado. Lo ideal es tratar de desarrollar los casos de prueba lo más desacoplados posible para que sean independientes entre sí.
Pruebas de aceptación
Que todas las unidades de código funcionen correctamente de forma independiente no significa que lo hagan en conjunto. Es por esto que las pruebas de aceptación a diferencia de las unitarias, se encargan de probar que todos los elementos unitarios que componen la aplicación, funcionan juntos correctamente ya sea en grupos o como un todo.
Las pruebas de aceptación recorren la aplicación en ejecución y aseguran que las acciones designadas, las entradas y los flujos de usuario se puedan completar y funcionen. Por lo cual, son una excelente manera de asegurarse de que los flujos de experiencia clave siempre funcionen correctamente.
Pruebas visuales de regresión
Este tipo de prueba es única para el ámbito de Front-End. Se centra en vez de probar el código fuente la interfaz gráfica mediante comparaciones de despliegues con diferentes versiones. Puede verse como que se toman capturas de las diferentes partes de la aplicación para posteriormente ser comparadas y detectar cualquier cambio. En muchos casos es difícil poder aprovecharlas debido a la naturaleza cambiante de la interfaces de usuario. Como también, es importante destacar que de este proceso puede que se deban realizar partes manuales como las capturas.
Pruebas de accesibilidad y desempeño
Tanto el desempeño como la accesibilidad juegan un papel importante en la calidad de la aplicación. Por lo tanto, llevar un control sobre estas dos características en la mayoría de lo casos sería relevante. Para esto se pueden integrar flujos de pruebas mediante gestionadores de trabajo que se encarguen de verificar que se cumplan ciertos estándares predefinidos de accesibilidad y desempeño.
Esto es todo por ahora, si tienes alguna duda, anímate a ponerte en contacto con nosotros.
Nuestro SlashBoy Andrés Alvarez , Cross Developer, es el autor de este post.