5 razones que debe conocer antes de construir su proyecto de automatización de pruebas

5 razones que debe conocer antes de construir su proyecto de automatización de pruebas

En teoría, se supone que los programas o herramientas de Automatización de pruebas facilitan las cosas a los probadores, el tiempo libre y nos brindan una manta de relajación adicional para nuestra cobertura de evaluación.

Y muchas organizaciones no implementan una infraestructura de automatización de pruebas escalable, sólida y buena que devuelva los recursos que se invierten y podrían salvarlos. Algunos trabajos de automatización de pruebas escritos "desechados" y otros se mantuvieron en una lucha continua con sus objetivos para obtener una suite de automatización estable.

A lo largo de los años, he observado que muchas empresas intentan ejecutar sus esfuerzos de automatización, he observado proyectos escritos desechados, marcos cambiados y gerentes despedidos porque no cumplieron con lo prometido o establecido como objetivo.

Hay muchas razones para fallar, aunque la automatización tiene mucho sentido a largo plazo, debemos entender que es mucho más difícil de lo que parece.

A continuación, se muestran algunas de las razones que debe conocer antes de avanzar y comenzar a construir su proyecto de automatización de pruebas:

Analizar y hacer preguntas: un trabajo de Automatización de pruebas es un trabajo como cualquier otro proyecto de aplicaciones y debe tratarse como tal; ¿Cómo procesaría la planificación de un proyecto de software? Deje que esta idea le oriente cuando piense en implementar su proyecto de Automatización de pruebas. ¿A quién elegirías para el trabajo? ¿Quién utilizará el producto elaborado? ¿Qué idioma o marco es el más adecuado para el trabajo? ¿Entendería de los desafíos y sus pautas y echaría un vistazo? ¿Escribirías una arquitectura de la que no sabes nada por tu cuenta, o llamarías a un asesor para que te asesore con algunas reflexiones?

Todas estas preguntas son simplemente la punta de este iceberg de lo que debería preguntarse antes de escribir una línea de código o incluso una situación de prueba.

Habilidades inadecuadas: Déjame hacerte una pregunta. ¿Permitiría que un programador peor o sin experiencia, alguien que no entienda cómo componer un gran código limpio y de búsqueda, diseñe el diseño de su aplicación y lo escriba desde cero? Creo que la respuesta es no. Entonces, ¿por qué tantas empresas piensan que la calidad podría ser implementada por alguien en la infraestructura de Automatización de la Evaluación sin la experiencia y el conjunto de habilidades? Si el personal dedicado no tiene la experiencia y el conocimiento y no planea contratar a alguien que los tenga, entonces debe pensar en usar herramientas de automatización sin código.

Expectativas / enfoque poco realistas: lo dividiré en dos partes. El primero es una comprensión errónea del ROI (retorno de la inversión) de la automatización de pruebas y el segundo componente son expectativas poco realistas por tiempo. Hay un trabajo tan bueno como lo hace usted, y no puede esperar que algo sin invertir tiempo le brinde valor. Hablé con un ingeniero de control de calidad que me dijo que obtuvo 6 horas semanales para componer una infraestructura encubierta. ¿Qué deberías esperar que logre 6 horas?

Para que esto funcione, debe consultar:

  • ¿Cuáles son exactamente los objetivos que desea lograr junto con la automatización de su prueba?
  • ¿Qué se consideraría un valor fantástico por el esfuerzo / tiempo?
  • ¿Cuáles son los criterios de logro?
  • ¿Cuánto tiempo / dinero estás dispuesto a gastar para que esto suceda?

La automatización no es una tarea de "Lanzar y olvidar". Quiere reconocer que es un proceso continuo que requiere mantenimiento, esfuerzo grupal y avance.

Tengo que reconocer que, lamentablemente, por lo que he visto, algunas empresas perciben que proporcionar a un ingeniero de control de calidad un trabajo encubierto es sólo una forma de preservar a un trabajador o de ponerle algo de " sabor " a su rutina semanal. No me malinterpreten, no estoy diciendo que no debamos conservar a nuestros trabajadores o darles el tiempo para aprender y progresar, solo digo que debe estar alineado con expectativas que sean realistas y transparentes para el trabajador, eso en sí mismo. .

Planificación insuficiente: un proyecto de automatización fantástico debe comenzar con un plan y un plan de alto nivel, que se desarrollará en un estilo técnico integral. Incluso la estrategia de "talla única" puede ser catastrófica para su éxito. Lo que funcionó de manera excelente para una sola empresa no necesariamente indica que haría el trabajo por usted. Ese anuncio puede ser cierto sobre la elección de un instrumento. Siempre que no tenga que usar la tecnología en cuestión, se convierte en palabra de moda. Esto es muy importante de tener en cuenta. Existe una gran cantidad de herramientas comerciales y de código abierto que pueden proporcionar una alta relación calidad-precio y sin siquiera considerar las alternativas y los beneficios / alternativas que estas herramientas pueden ofrecer. Elija una herramienta que satisfaga sus necesidades. Aquí están mis dos centavos: es mucho mejor pagar por una solución en lugar de perder muchas veces (eso aumentará para ser mucho más caro que el costo del programa).

Ahora, mientras continuamos discutiendo la forma de planificar nuestro diseño, tendremos que pensar en nuestra arquitectura técnica integral y en los requisitos comerciales. Estos son solo algunos de los aspectos que debe tener en cuenta:

  • Imagínese trabajos, módulos, flujos de negocios que la gente examinaría.
  • ¿Cuál es la política planificada para cada fase de ejecución? (¿Paquete dedicado Sanity, Regression, CI / CD?)
  • ¿Cuáles son las principales funciones / flujos compartidos / comunes / repetidos?
  • ¿Cómo planificamos cada prueba para un breve artefacto independiente? (Configuración y TearDown, dependencia de datos externos en lugar de datos de evaluación generados, ¿qué debe ejecutarse antes de cada prueba, clase de suite?)
  • ¿Cómo evitamos que una evaluación "rompa" a otra si se ejecutan en concurrencia?
  • ¿Cómo podemos producir una buena atmósfera escalable, limpia y adecuada? (Simulacros de servidores, casos de bases de datos, script de limpieza, preferencias del navegador, configuraciones de Grid / Server, instalación y limpieza, entornos virtuales o contenedores acoplables).
  • ¿Qué son exactamente las herramientas de construcción si las usamos?
  • ¿Exactamente cómo se podrían gestionar nuestras dependencias?
  • ¿Dónde se almacenará nuestro proyecto?
  • ¿Cuántos ingenieros están trabajando en el proyecto y la forma en que se gestionaría la gestión de variantes?
  • ¿Qué herramientas de CI son las mejores para realizar nuestras compilaciones?
  • ¿Implementará el flujo de trabajo de CI / CD?
  • ¿Dónde ejecutará sus pruebas y los recursos que puede utilizar para diseñar su propia plataforma de ejecución? (¿Se le proporcionan los fondos para comprar permisos de solución en la nube? ¿Tiene las herramientas o el soporte para establecer su propia infraestructura de Selenium Server?)
  • ¿Exactamente qué tipo de pruebas pronto serán automáticas? (API, Conceptos Visuales, Procesos de Servidor, Automatización Web / UI, Móvil - Android / IOS).
  • ¿Existen grandes colecciones de datos, flujos largos, procesos complicados, integraciones que requerirían una evaluación adicional?
  • ¿Qué deberíamos probar a través de la GUI y qué podría ser más seguro para verificar a través de la API?
  • ¿Exactamente qué registros, mecanismos de informes, controladores y oyentes necesitaremos implementar para que nuestra evaluación de la causa raíz y la depuración sean más simples? (¿Qué es una suite de automatización de una hora si dedicas un día a comprender el resultado?)
  • ¿Qué métricas / informes / resultados deben proporcionar las ejecuciones?
  • ¿Exactamente qué integraciones queremos realmente? (Programas de informes, herramientas ALM, Bug Trackers, programas de gestión de evaluaciones).
  • ¿Quién puede componer la infraestructura y quién se supone que implementará las pruebas? (¿Puede haber una rama entre ambos?)
  • ¿Quién es responsable de ofrecer a los ingenieros de automatización los flujos de negocio / casos de prueba / lógica empresarial que se supone que es automática?
  • ¿Se definen etapas de prueba de concepto (POC) para determinar los objetivos futuros?

Estas son solo algunas de las preguntas en pocas palabras y lo que debe sacar de esto es que

Es probable que una opción de herramienta adecuada, una planificación / diseño superior produzca la diferencia entre el fracaso y el éxito.

Automatizar todo : Un punto importante a tener en cuenta es que no lo que puede o debe ser automático. En ocasiones, la percepción o las decisiones de gestión equivocadas, automatizamos todo lo que se le ocurre al tester o convertimos ciegamente casos de prueba en scripts. En primer lugar, no todas las evaluaciones son apropiadas para automatizar. En segundo lugar, los casos de prueba en sí mismos no son aceptables para el trabajo. Esto termina en un montón de pruebas automáticas que no se pueden mantener y que es imposible mantener y, lamentablemente, la mayoría de las ocasiones conducirá a marcar una gran parte de nuestro trabajo escrito. La automatización no tiene ningún valor adicional si su empresa no tiene los fondos para mantener a los equipos de automatización decenas de miles de instancias de prueba que ocasionalmente verifican la misma lógica empresarial.

También necesitaremos producir un plan claro sobre lo que se necesita para mantener cada construcción de automatización. ¿Qué se incluye en nuestra regresión? ¿Qué se describe como nuestra cordura? ¿Qué es lo suficientemente seguro y confiable para ingresar a nuestra tubería de CI / CD?

Test-Automation necesita una sólida planificación, comprensión, compromiso y dedicación para ofrecer el valor adecuado.

Falta de habilidades / instrucción adecuada, elección incorrecta de herramientas, recursos insuficientes, falta de preparación adecuada, anticipación poco realista, todo lo cual puede hacer que un proyecto fracase.

Espero que este informe tenga un impacto positivo y ayude a algunos de ustedes a adoptar una mentalidad productiva.