¿Deben los desarrolladores web diseñar conscientemente sus aplicaciones para pruebas automatizadas?

Adam tocó el desafío más grande con el desarrollo de la aplicación teniendo en cuenta las pruebas automatizadas: mantener las ID estables. La mayoría de los frameworks de prueba se basan en localizadores estáticos como xPath y selectores CSS. La realidad es que los desarrolladores frecuentemente rompen esos atributos, lo que hace que sus pruebas sean escamosas. Los probadores constantemente tienen que actualizar estos.

¿Qué pasa si sus localizadores no se basan en selectores xPath y CSS? Los desarrolladores no deberían verse obligados a mantener intactos sus ID al realizar cambios en su código y los evaluadores no deberían tener que mantener constantemente sus localizadores.

Si adopta el enfoque de localizadores dinámicos y utiliza múltiples atributos frente a un único localizador, cambiar las ID no afectará sus pruebas. El DOM incluye suficiente información que no cambia con tanta frecuencia. Desafortunadamente, la mayoría de los marcos de automatización de pruebas simplemente no saben cómo usarlo para crear pruebas estables. Aquí hay uno que sí. La última plataforma de automatización de pruebas

En general, diría que sí. Las pruebas automatizadas de IU se mejoran enormemente si utiliza las siguientes pautas:

  • Use ID estables para las cosas que no cambian. Si la cuadrícula de pedidos es siempre la misma ID (“grdOrders”), el XPATH resultante es más estable para la automatización.
  • No utilice identificadores basados ​​en datos transitorios, como sesiones de usuario
  • Utilice los atributos de accesibilidad ARIA, buenos para humanos, muy buenos para humanos con discapacidad visual, mejores para automatización
  • Intente usar CSS para diseñar y evitar demasiada estructura de andamios innecesaria en el propio HTML (por ejemplo, ¡100 DIV anidados!)

Sí. Los desarrolladores deben diseñar código considerando factores importantes:

  1. Legibilidad: más fácil de analizar y depurar
  2. Escalabilidad: más fácil de expandir

Los códigos que son legibles y escalables son más adecuados para la automatización.

Sin embargo, no todos los códigos deben automatizarse a menos que el software no cambie en absoluto. En la mayoría de los casos, hay cambios debido a mejoras y correcciones. Los scripts de prueba de automatización solo deben cubrir los procesos principales del sistema, es decir, las partes que no cambian mucho independientemente del cambio. Aplicando el Principio de Pareto, el 20% superior de la entrada contribuye al 80% de la salida.

Más allá de cierto punto, se encontrará con la ley de rendimientos decrecientes , llegando finalmente a un punto en el que solo agrega una capa adicional de programación para cada cambio de código, pero el beneficio adicional será solo marginal y no agregará mucho valor comercial. Los scripts de prueba de automatización también son códigos y deben probarse al igual que el producto real.

More Interesting

¿Es necesario que un desarrollador web aprenda el diseño de UI / UX?

¿Hay buenos programadores para el raspado de datos y el rastreo web en India?

¿Cuáles son los mejores tutoriales de YouTube JavaScript desde principiante hasta nivel de dominio?

¿Qué es la sesión en PHP?

¿Puedes enumerar los complementos de WordPress que son esenciales y útiles para cada sitio web?

¿Qué lenguajes de programación debo aprender para hacer un sitio web similar a eBay?

Cómo usar ReactJS con Laravel

Somos una empresa de soluciones de software con sede en Chennai. ¿Alguien puede compartir la plantilla que contiene los objetivos para MOU y AOA para el registro de la compañía privada limitada?

¿Cómo se usan las cookies en JavaScript?

¿Cómo debería abordar una pasantía de Ruby on Rails con un equipo que tiene su aplicación web en producción, cuando agregaré nuevas funciones en lugar de comenzar desde cero?

¿Cuánto valen los dominios de 4 letras con un .com?

¿Qué tan importante es el conocimiento de bootstrap para el desarrollo web?

¿Qué lenguaje de programación es mejor para la aplicación y el diseño web?

Si Jimmy Wales, cofundador de Wikipedia, cambiara su modelo de negocio de una organización sin fines de lucro a una con fines de lucro y respaldada con anuncios pagados, como los anuncios discretos en los resultados del motor de búsqueda de Google, ¿qué valdría Wikipedia?

Ruby on rails: en la cúspide de 2014, ¿vale la pena invertir el tiempo de la tarde (y algunos fines de semana) en aprender RoR?