10 proyectos de portfolio para aspirantes a automation engineer
10 proyectos de portafolio para aspirantes a ingenieros de automatización
Aquellos que buscan entrar en el campo de la automatización de pruebas tienen dificultades para hacerlo por falta de experiencia. Una forma de ganar experiencia es, por supuesto, estudiar y practicar por su cuenta. Pero, ¿cómo demostrar sus nuevos conocimientos a los empleadores?
Otros profesionales, como los desarrolladores de front-end, crean portafolios para resaltar sus habilidades, ¡y tú puedes hacer lo mismo que los ingenieros de automatización!
Aquí tienes 10 proyectos para tu portafolio de automatización de pruebas que te ayudarán a destacar entre la competencia.
1. Automatización del navegador web
La automatización de la web es, la forma más común y buscada de automatización de pruebas. Si estás buscando entrar en la automatización de pruebas, esto es absolutamente imprescindible para tu porfolio.
Asegurate de ir más allá de un flujo de inicio de sesión básico. En su lugar, muestra escenarios completos que requieran que el código interactúe con varias páginas.
Este proyecto debe demostrar tu habilidad para encontrar localizadores de elementos e interactuar con varios tipos de elementos como menús desplegables, casillas de verificación, campos de texto, botones, enlaces, alertas, widgets de carga de archivos y marcos.
Además, asegurate de escribir un código de prueba limpio y utilizar patrones de diseño como el Page Object Model o el Screenplay Pattern.
Sitios contra los que practicar:
- The-internet (Heroku)
- ToolsQA
- Formy
- ParaBank (login es john/demo)
- OpenCart
2. Automatización móvil
La demanda de ingenieros de automatización de pruebas móviles ha aumentado a lo largo de los años a medida que la popularidad de las aplicaciones móviles se ha disparado. Tener experiencia en este campo puede ciertamente trabajar a su favor.
Tu portafolio debería demostrar las pruebas automatizadas contra las aplicaciones iOS y Android. Usar Appium para crear un proyecto que funcione tanto para iOS como para Android sería genial. Usar herramientas como XCUITest de Apple o Espresso de Google también es bueno. Pero si sigues este camino, te recomiendo hacer al menos dos proyectos (uno de cada), ya que cada uno soporta solo un sistema operativo móvil.
Independientemente del framework que utilices, querrás demostrar las mismas interacciones de elementos que hiciste en tu proyecto de automatización de la web, pero también gestos específicos de los móviles, como deslizar y pinchar.
Aplicaciones con las que practicar; descarga cualquiera de ellas para utilizarlas en tu proyecto:
- Android apps (tendrás que rellenar el formulario CAPTCHA antes de poder acceder a las aplicaciones)
- iOS apps
3. Automatización visual
Después de hacer tus proyectos web y móviles, forkealos y añadiles capacidades de testing visual. Rápidamente verás cuánto le faltan a tus test porque no fueron capaces de verificar la apariencia de tu aplicación.
El testeo visual es una habilidad que aparece en varias ofertas laborales, tener esta habilidad realmente te ayudará a brillar frente a la competencia.
4. Automatización de API
Con el auge de los microservicios, las aplicaciones de IO y las API públicas, la demanda de ingenieros de automatización que sepan cómo probar las API se ha vuelto sustancial. Así que, definitivamente, añadí un proyecto de prueba de API a tu portfolio. (Aquí tienes una clase gratuita sobre cómo probar las API para que puedas empezar).
Dentro de este proyecto, asegurate de demostrar una variedad de métodos de API, con GET y POST como mínimo. Utiliza API que requieran parámetros o cuerpos de solicitud, y también devuelva respuestas complejas con múltiples objetos y matrices.
Para obtener puntos extras, utiliza técnicas de verificación avanzadas como la deserialización o las pruebas de aprobación. Además, demostrar cómo mockear respuestas de la API sería un buen bono.
Para practicar APIs
5. Automatización de las especificaciones de la BDD
Muchos equipos están practicando el desarrollo basado en el comportamiento (BDD) y automatizando pruebas basadas en las especificaciones producidas. Querrás demostrar tu experiencia con esto y cómo puedes saltar y ponerte en marcha.
Para este proyecto del portafolio, asegurate de no solo mostrar el mapeo entre los archivos de características y las definiciones de los pasos, sino también demostrar cómo compartir el estado entre los pasos a través de dependency injection.
Además, tené mucho cuidado al escribir las funcionalidades de tus archivos. Aquellos con características largas harán más daño a tu portafolio más que ayudar. Hace el esfuerzo de escribir Gherkin bueno y conciso.
6. Automatización basada en datos
Tus proyectos de práctica pueden utilizar solo una pequeña cantidad de datos de prueba, por lo que es fácil almacenar esos datos dentro del código fuente. Sin embargo, en los equipos de desarrollo de producción, tendrás cientos o incluso miles de pruebas automatizadas. Para mantenerte al día con todos estos datos, muchos equipos adoptan un enfoque de pruebas basado en datos.
Recomiendo añadir esto al menos a uno de sus proyectos para demostrar tu capacidad de leer programáticamente los datos de una fuente externa, como un archivo de hoja de cálculo.
7. Uso de la base de datos
Hablando de poder acceder a datos de fuentes externas, es una buena idea añadir un proyecto que interactúe con una base de datos. Recomiendo escribir las consultas dentro de su código tanto para leer como para escribir desde una base de datos, y usar esto dentro del contexto de una prueba.
Por ejemplo, puedes leer de la base de datos para obtener los resultados esperados de una consulta de búsqueda. O puede escribir en una base de datos para poner su solicitud en un estado de requisito previo antes de proceder a la prueba.
8. Múltiples idiomas y bibliotecas
Escribir todos los proyectos de su cartera en un lenguaje de programación está bien; sin embargo, los ingenieros de automatización a menudo necesitan incursionar en múltiples lenguajes.
Para hacerte más comercial, intenta usar un lenguaje diferente para algunos de tus proyectos.
También cambia un poco y proba otras bibliotecas de automatización, así como bibliotecas de aserción. Por ejemplo, tal vez podrías hacer un proyecto con Selenium WebDriver en Java y JUnit, y otro proyecto con Cypress en JavaScript y Mocha.
Sé que esto suena desalentador, pero encontrarás que algunos de los patrones de arquitectura y diseño en la automatización de pruebas son universales. Este ejercicio realmente solidificará su comprensión de los principios de automatización en general.
NdE: les dejamos el workshop de cypress de Nerdearla 2020. Suscribanse al canal!
9. Automatización de la accesibilidad
La automatización de los testeos de accesibilidad siempre ha sido necesaria, pero recientemente se ha convertido en algo muy importante para las empresas. Han habido batallas legales en las que las empresas han sido demandadas porque sus sitios web no eran accesibles para los discapacitados.
Demostrar que eres capaz de hacer la automatización de las pruebas de accesibilidad te dará una gran ventaja a la hora de solicitar un trabajo.
Podés usar los mismos sitios/aplicaciones que utilizaste para tus proyectos web y móviles para demostrar las pruebas de accesibilidad.
10. Pruebas de rendimiento
Por último, pero no por ello menos importante, deberías considerar la posibilidad de añadir un proyecto de pruebas de rendimiento a tu portfolio.
Las pruebas no funcionales, como el rendimiento, son una habilidad de nicho que muchos ingenieros de automatización no tienen. Añadir esto a tu portafolio te ayudará a ser percibido como un unicornio que realmente se destaca de la multitud.
Presentando tu portfolio
GitHub
Asegúrate de poner todos tus proyectos en GitHub para que los empleadores puedan acceder y revisar fácilmente tu código. Sin embargo, tené cuidado de esconder las claves secretas. Esto te dará puntos extra, ya que muestra otro nivel de madurez.
Página web
Crear un sitio web que destaque cada uno de los proyectos de tu portfolio. No es necesario que construyas el sitio web; puedes utilizar los sistemas CMS comunes como WordPress para que tu portafolio sea rápidamente visible.
Cada proyecto destacado debe incluir un párrafo o viñetas que expliquen lo que has hecho en el proyecto, las herramientas y el lenguaje de programación utilizados.
Resumen
Incluí un enlace a tu portafolio en el currículum y no dudes en listar los proyectos de tu portafolio en la sección “Experiencia” del mismo.
Aunque no se trata de una experiencia laboral tradicional, demuestra que sos autodidacta, apasionado y competente para entrar en el campo de la automatización de pruebas.
Entrevista
Durante tus entrevistas, asegurate de mencionar todos los proyectos en los que has trabajado. Aprovecha tus experiencias en la construcción de los proyectos para poder responder a las preguntas. También repasa otros conceptos sobre pruebas y desarrollo que puedan surgir durante la entrevista.
Buena suerte!
Autora original Angie Jones
La versión original de este post se puede encontrar en TechBeacon.com
La imagen del header es de Shahadat Rahman en Unsplash