Manuel Ledezma
Victor Miguel Barrera Peña
David Zonana
Gustavo Adolfo Escobar y Escobar
Benjamin Ortiz Gomez
Mauricio Moo Aguilar
Juan Pablo Montañez Mahecha
Nairoby Romero
Paula Andrea Lozano Mahecha
Angie Montenegro
Oscar Uriel Zuñiga Mejia
Cristobal Vega
Rodrigo Alejandro González
Antonio Demarco Bonino
Sandra Milena Rojas Herrán
Máximo Calderon
Carlos Naveda
Francisco Antonio Hernandez Sabatino
Yhover Graig Ticona Donaires
Fernando Navia Bolaños
William Schnaider Torres Bermon
Josué Isaac Fuentes López
ZANONI ALFREDO SALAS TOBÓN
Rodrigo Alejandro González
Estefanía Jaramillo Roldan
Rolando Tarqui Benito
David Villarroel Casas
Juan Carlos Incio Gomez
Anderson Guillermo Cancelada Pérez
Con Python tenemos: Pruebas Unitarias: Unittest Pytest Web browser Testing: Selenium webdriver. Api testing: Locust requests
gracias por el mapa mental bro
Herramientas para la automatización
Gracias amigo calamardo.
El curso de Puppeteer ya esta listo :) https://platzi.com/clases/puppeteer-avanzado/
Me encantaría un curso de Postman. Es una herramienta muy completa que en el trabajo nos ha servido muchísimo para testear APIs. Si conocen uno por favor compartan ;)
Concuerdo!
etestops.com
Web Brower Testing adicionales:
Necesito un curso completo de katalon.
Recomendarias Cypress?
FUN-FACT: Protractor ya está fuera de mantenimiento.
R.I.P. una lástima.
¿Habrá cursos ACTUALIZADOS de todas esas herramientas? O por lo menos de algunas de ellas.
Aquí no tengo idea, pero si desde que estudio en el mundo del open source y las pruebas automatizadas... Encontré este maravilloso portal que te super recomiendo. Es un portal donde podrás seguir las path y además practicar tu listening en inglés:
Test Automation University
Hola Sandra... de verdad muchísimas gracias por compartir este link.... está super fenomenal ese recurso....💪
🛠️ Herramientas para Automatización de Pruebas
Elegir la herramienta de automatización correcta es una de las decisiones más importantes en una estrategia de pruebas. La herramienta ideal depende del tipo de prueba, el stack tecnológico del proyecto y las habilidades del equipo.
A continuación, se presenta un panorama de las herramientas más populares, diferenciando entre soluciones de código abierto y de pago.
Nota Clave: Las herramientas de código abierto (Open Source) son gratuitas y mantenidas por la comunidad, ofreciendo una gran flexibilidad. Las soluciones de pago suelen ofrecer un paquete "todo en uno" con soporte técnico dedicado, lo que puede ser valioso para equipos empresariales.
Pruebas por Categoría (Herramientas Open Source Populares)
🧪 Pruebas Unitarias
Validen el correcto funcionamiento de las unidades de código más pequeñas (funciones, métodos). Son la base de la pirámide de pruebas.
🔗 Pruebas de API
Garantizan que los endpoints de una API funcionen correctamente, validando respuestas, estados y rendimiento.
🌐 Pruebas en Navegadores Web (UI / End-to-End)
Aseguran que las aplicaciones web funcionen correctamente desde la perspectiva del usuario final, interactuando con la interfaz gráfica.
📱 Pruebas en Dispositivos Móviles
Garantizan la calidad de las aplicaciones en diferentes sistemas operativos (iOS, Android) y dispositivos.
⚡ Pruebas de Rendimiento
Evalúan la estabilidad, velocidad y capacidad de respuesta del software bajo condiciones de alta carga de usuarios.
Herramientas por Stack Tecnológico Específico
TecnologíaHerramientas y Librerías Clave
🐍 Python
pytest: El framework estándar de facto para todo tipo de pruebas en Python. unittest: El módulo de pruebas integrado en la librería estándar de Python. Selenium WebDriver: Bindings oficiales para controlar navegadores. Behave: Para implementar BDD.
🦕 TypeScript
Jest, Mocha, Cypress y Playwright: Las mismas herramientas de JavaScript, ya que todas tienen un soporte de primera clase para TypeScript.
🐹 Go (Golang)
testing: El paquete de pruebas integrado en la librería estándar. testify/assert: La librería más popular para aserciones más ricas y legibles. httptest: Para probar clientes y servidores HTTP sin necesidad de red.
🦀 Rust
#[test] (framework integrado): Rust incluye un sistema de pruebas directamente en el lenguaje, que se ejecuta con cargo test. proptest: Para realizar pruebas basadas en propiedades (property-based testing).
🐘 Postgres
pgTAP: Un framework de pruebas unitarias directamente dentro de la base de datos. Testcontainers: Una librería (disponible en Go, Java, Python, etc.) para crear instancias de bases de datos desechables dentro de contenedores Docker para pruebas de integración aisladas.
Soluciones de Pago / Empresariales
Estas herramientas suelen ofrecer soluciones "todo en uno" con interfaces gráficas avanzadas, reportes integrados y soporte técnico profesional.
Aquí algunas tbien:
Selenium: Es ampliamente utilizado para pruebas de IU y permite probar páginas JSP sin iniciarlas en un navegador. Puedes escribir pruebas de aceptación de aplicaciones web utilizando JUnit y Selenium1.
Katalon Studio: Ofrece una interfaz gráfica fácil de usar y admite pruebas de web, móviles y API.
LambdaTest: Proporciona una plataforma en la nube para pruebas de compatibilidad en varios navegadores y sistemas operativos.
Kobiton: Es ideal para pruebas móviles y permite ejecutar pruebas en dispositivos reales y emuladores.
TestArchitect: Ofrece automatización de pruebas basada en modelos y es compatible con aplicaciones web, móviles y de escritorio.
Cucumber: Es una herramienta de automatización de pruebas basada en lenguaje natural que facilita la colaboración entre desarrolladores y testers.
TestingWhiz: Proporciona automatización de pruebas end-to-end y admite pruebas de aplicaciones web, móviles y de escritorio.
Pruebas Funcionales Unificadas (PFU) de HPE: Ofrece una solución completa para pruebas funcionales y de rendimiento.
Telerik Test Studio: Es una herramienta completa para pruebas de aplicaciones web y de escritorio.
Winium: Específicamente diseñado para pruebas de aplicaciones de Windows.
Estas herramientas pueden ayudarte a optimizar tus pruebas y mejorar la eficiencia en el desarrollo de software.
Personalmente creo que es conveniente usar tanto aplicaciones pagas como open source, buscar integrarlas según sus características y funcionalidades , eso si según nuestras necesidades . El mercado exige que exista un continuo proceso de actualziacion en cuanto las tecnologías y por ende también las herramientas algo que beneficiara nuestras pruebas Quiero agregar algunas herramientas que he usado: *API Testing: Soap UI *Performance: Blazemeter
Herramientas para Automatización de Pruebas en CI/CD
La automatización de pruebas es una parte fundamental del proceso de Integración y Despliegue Continuo (CI/CD), ya que permite garantizar la calidad del software antes de su liberación y despliegue en producción. A continuación, se presentan algunas de las herramientas más utilizadas para la automatización de pruebas en diferentes áreas del desarrollo de software.
Pruebas Unitarias
Las pruebas unitarias permiten validar el correcto funcionamiento de pequeñas unidades de código, como funciones o métodos. Algunas de las herramientas más utilizadas incluyen:
Pruebas de API
Las pruebas de API garantizan que los endpoints funcionen correctamente y cumplan con los requisitos del sistema. Entre las herramientas más utilizadas se encuentran:
Pruebas en Navegadores Web
Las pruebas en navegadores web aseguran que las aplicaciones web funcionen correctamente en distintos entornos y dispositivos. Las herramientas destacadas incluyen:
Pruebas en Dispositivos Móviles
Para garantizar la calidad de las aplicaciones móviles en distintos sistemas operativos y dispositivos, se utilizan herramientas como:
Pruebas de Rendimiento
Las pruebas de rendimiento permiten evaluar la estabilidad y eficiencia del software bajo carga. Algunas herramientas recomendadas son:
Conclusión
La automatización de pruebas en CI/CD mejora la calidad del software, acelera los tiempos de entrega y reduce los errores en producción. La elección de una herramienta dependerá de las necesidades específicas del proyecto y del stack tecnológico utilizado.
Unit testing : Junit para java
Aquí tienes una descripción de las herramientas mencionadas para la automatización en diferentes áreas:
Unit Testing:
1. Unittest: Framework de pruebas unitarias para Python. Incorporado en el módulo estándar de Python.
2. Pytest: Framework de pruebas para Python. Permite escribir pruebas de manera simple y escalable.
3. Jest: Framework de pruebas para JavaScript. Especialmente diseñado para proyectos basados en React.
4. Mocha: Framework de pruebas para JavaScript. Ampliamente utilizado para pruebas de Node.js.
5. React/Vue Testing Library: Bibliotecas específicas para pruebas en aplicaciones React y Vue, respectivamente. Ayudan a realizar pruebas centradas en el usuario.
6. Enzyme: Herramienta de utilidad para pruebas en React. Proporciona utilidades para interactuar con componentes React.
API Testing:
1. Locust: Framework de prueba de carga en Python. Escrito para ser altamente escalable.
2. Requests: Biblioteca de Python para enviar solicitudes HTTP.
3. Rest Assured: Framework de prueba de API para Java. Especializado en pruebas de servicios REST.
4. Postman: Plataforma de colaboración para el desarrollo de API. Ofrece herramientas para el diseño, prueba y supervisión de API.
5. Insomnia: Cliente de API con un entorno de prueba. Permite organizar y ejecutar solicitudes de API.
6. Soap UI: Herramienta para pruebas funcionales y de carga de servicios web basados en SOAP y REST.
7. Karate: Framework de prueba de API en Java. Combina pruebas de API, pruebas de UI y automatización de servicios web.
Web Browser Testing:
1. Selenium: Framework para la automatización de navegadores web. Compatible con varios lenguajes de programación.
2. Puppeteer: Biblioteca Node.js que proporciona un control sobre Chrome o Chromium. Principalmente utilizado para realizar pruebas headless.
3. Playwright: Biblioteca de automatización de navegadores desarrollada por Microsoft. Admite varios navegadores y lenguajes.
4. Testcafe: Framework de prueba de extremo a extremo basado en JavaScript. No se requiere configuración adicional para navegadores.
5. Protactor: Framework de prueba de extremo a extremo para aplicaciones Angular. Construido sobre WebDriverJS.
6. Cypress: Framework de prueba de extremo a extremo para aplicaciones web modernas. Ejecuta pruebas en el navegador.
7. Katalon: Herramienta de automatización todo en uno para pruebas de software. Admite pruebas de API, web y móviles.
8. Test Project: Plataforma de automatización sin código para pruebas de aplicaciones web y móviles.
Mobile Testing:
1. Appium: Framework de automatización de pruebas para aplicaciones móviles. Compatible con Android e iOS.
2. Detox: Framework de pruebas end-to-end para aplicaciones React Native. Especializado en pruebas de aplicaciones móviles.
3. Calabash: Framework de automatización de pruebas para aplicaciones móviles. Admite pruebas de iOS y Android.
Performance Testing:
1. Jmeter: Herramienta de prueba de carga y rendimiento. Escrito en Java.
2. Gatling: Herramienta de prueba de carga basada en Scala. Centrada en la simplicidad y la concurrencia.
3. BlazeMeter: Plataforma para pruebas de carga y rendimiento. Integrada con Jmeter.
4. K6: Herramienta de prueba de carga de código abierto. Escrito en Go. Permite realizar pruebas de carga de manera sencilla.
Se le fue WebdriverIO, mi estimado. Open Source. De paga: UFT (Funcionales)
Katalon es otra herramienta de automatización.
Recomiendo mucho Testproject. es casi nuevo y usa IA para detectar componentes. en mi empresa lo aplicamos para automatizar pruebas en una APP aunque tambien se usa para WEB. no necesitas saber código pero como se basa en appium y selenium se puede editar con python. les open source
Sería bueno que también mencionen a Locust y K6 como herramientas para las pruebas de rendimiento
Me encantaría que pueda ver un curso de TestLab Firebase de Google, es una herramienta muy interesante para probar sistemas operativos como Android y IOS.
En BIg data si algna vez les tocase hacer pruebas, APACHE SPARK es la más usada en las empresas