El documento habla sobre cómo mejorar la calidad de la automatización. Propone revisar la estrategia de automatización para asegurarse de que se están automatizando los procesos correctos y con suficiente cobertura. También sugiere mejorar la colaboración entre desarrolladores y automatizadores para definir mejor qué automatizar. Finalmente, recomienda tratar el código de automatización con la misma calidad que el código de producción usando técnicas como reviews en pareja y herramientas de análisis estático de código.
1. ¿Cómo mejorar
la calidad de tu
automatización?
www.abstracta.us
Matías Fornara
@matiasfornara
matias.fornara@abstracta.us
Federico Toledo
@fltoledo
federico@abstracta.us
2. Beneficios y contras de la automatización
“La primera regla de usar tecnología en un negocio es que al
automatizar un proceso eficiente vamos a aumentar su eficiencia.
La segunda regla es que al automatizar un proceso ineficiente
vamos a aumentar su ineficiencia”
Bill Gates
6. Webinar: ¿Cómo revisar tu estrategia de pruebas?
https://www.federico-toledo.com/webinar-como-revisar-tu-estrategia-de-pruebas/
Estrategia de pruebas
7. ¿Cómo revisar la estrategia de
automatización?
Revisar que estamos
automatizando lo
correcto
Suficiente coverage
Revisar que estamos
obteniendo la info al
momento correcto
Shift left
Shift right
Revisar al nivel que
estamos
automatizando
9. Pirámide del Testing
Revisar cada capa.
Sincronizar esfuerzos manuales y automatizados:
¿Hay algo que podamos reducir, mover, cambiar?
Evitar retrabajo y duplicaciones
10. Revisar que estamos con las herramientas correctas
Open source vs Commercial
¿Cubren nuestras necesidades?
Revisar la estrategia de entornos de prueba
Cobertura en dispositivos, plataformas
Pipelines y estrategia CI/CD
Cuándo ejecutar qué, reportes, trazabilidad,
entornos, etc
Recomendado:
https://dev.to/maaretp/exploring-pipelines-32og
¿Cómo revisar la estrategia
de automatización?
13. “En una tarea podés
ganar o perder,
lo importante
es la nobleza de los
recursos utilizados”
Marcelo Bielsa,
Entrenador de fútbol
14. Colaboración del test automator
¿Cómo definimos qué automatizar?
¿Quienes están involucrados en esta decisión?
Herramientas (gestores de tareas, de casos de prueba, etc).
¿Nos están ayudando a dar visibilidad a la automatización?
¿Nuestro framework está bien documentado?
¿Quiénes miran los reportes de ejecución?
15. ¿Qué más podemos hacer para reducir la brecha entre la
definición del producto y la automatización?
Gherkin, una posible solución
BDD
(Behavior Driven Development)
Cucumber
JBehave
17. Guía con prácticas a seguir
Manejo de Control de Cambios.
A la hora de desarrollar:
- Nomenclatura de branches, paquetes, clases, tests, web elements y operaciones.
- Prácticas a evitar.
- Patrones de diseño.
- Código DRY (Don’t Repeat Yourself)
Recomendaciones generales:
- ¡No confíes en un test que no has visto fallar!
18. Tratar nuestro código como el de
Producción
Pair review: revisión de control de calidad de alguien distinto al autor.
- Capturar errores temprano, distribuir el conocimiento.
- Recomendado: Guía de Angie Jones.
Linters y/o otras herramientas de revisión automática de código
(SonarQube, CodeClimate, Codacy, etc.).
19. Pair Review Checklist
¿El test valida lo que
se necesita?
¿Es específico?
¿Se puede correr de
forma
independiente?
¿Cómo maneja los
datos?
20. ¿Hace un buen
manejo de
responsabilidades?
- GRASP
- Clean Code
¿Hay algo que se
puede modularizar y
reutilizar?
¿Los selectores son
robustos?
¿Cómo es el manejo
de esperas?
Pair Review Checklist
21. SonarQube
Mantener nuestra deuda técnica visibile y hacerle seguimiento.
Definir Quality Profiles adecuados a nuestros lenguaje y objetivos.
Definir Quality Gates realistas y ajustar regularmente.
Usarlo tanto remoto como local.
22. Quality Profiles y Quality Gates
¡Estamos trabajando sobre un framework de automatización!
Algunos artículos que hemos escrito:
- Análisis de Código con SonarQube
- Alternativas para ejecutar SonarQube
24. 6
Oficinas
en el mundo
+100
Ingenieros de
Calidad
12
Años en el
mercado
95%
Tasa de retención
de clientes
+400
Proyectos
Abstracta
Somos una empresa de testing ágil de software
que aplica procesos de ingeniería y
automatización altamente sofisticados a sus
prácticas de testing y al ciclo de desarrollo de
software, enfocados en el incremento de la
calidad del producto y en la reducción del
tiempo de comercialización.