David Zonana
Rodrigo Alejandro González
Mauricio Araya
Cristobal Vega
José Guillermo
Rolando Tarqui Benito
Sebastian Tuquerrez
Juan Esteban Galvis
Wilson Fernando Antury Torres
Luis Jacobo Hernandez Campuzano
Cristhian Silva
Rolando Tarqui Benito
Manuel Ledezma
sebastian godoy ureta
Antonio Demarco Bonino
Cristian Camilo Cortes Ortiz
Erick Alberto Avilés Méndez
Ailen Morales
Ailen Morales
Dalia Cortes
Eduardo Zamora Miranda
Santiago Florez López
Andrea Torres
Roner Jose Ortega Cueto
Dalia Cortes
Dalia Cortes
David Villarroel Casas
Sandra Milena Rojas Herrán
Jenny Uzcátegui
Tipos de frameworks de automatización
Se agradece el resumen.
Muchas gracias !!
Esta clase fácilmente se pudo haber dividido en varias para hacer la información más digerible.
A esta clase le faltó. Quien hace pruebas mayormente funcionales tiene que saber de código, y aquí en cada framework solo se menciona por encima si se usa código o no. Se omiten cosas muy relevantes que te dejan perdido si estás empezando en pruebas. ¿Cómo se trabajan con estos frameworks? ¿Dónde se descargan? ¿Qué tipos de lenguajes de programación usan? Digo sé que escapan al alcance del curso, pero sería mejor mencionarlas como nota al pie, y así ni se pierden los que no saben y ni se desatiende los que tienen curiosidad.
No se omite nada... la clase es de tipos de frameworks en un curso de introducción a automation. lo de saber programar o no esta dentro de las ventajas y desventajas. antes de elegir un framework se tiene q saber que vamos a automatizar y de acuerdo a eso sabremos que tipo de framework elegir. después es cuestion de buscar uno que se adapte al equipo y proyecto.
hay que estructurar mejor la clase, mucha información sin aplicación o ejemplos
Siento que clase estuvo algo larga y creo que entendí lo que hacía cada framework pero al ser algo tan abstracto siento que no me alcanzo a imaginar bien un caso de uso donde lo usaría o cosas así.
Por ejemplo creo que entendí lo de Data-Driven y Keyword-Driven pero no un ejemplo claro donde se utilizó o se utilizaría 🤔 se explica bien el concepto, ventajas y desventajas pero no mucho su implementación (en mi opinión)
El framework que usamos en la empresa donde trabajo es el BDD, usamos las tecnologías: Cucumber, Gherkin, Java y selenium/appium (web/mobile), adicional en algunos proyectos tambien usamos serenity con cucumber.
El uso de herramientas por lo general depende del tipo de proyecto y del cliente, algunos clientes prefieren usar TDD.
Adicional me gustaria nombrar algunos de los patrones de diseño usados en los frameworks para automatización de tests:
Gracias por compartirnos tu experiencia compañero.
La verdad que se me hizo una laguna, no sabía que había variedad de frameworks para automatizar.
Al igual que hay infinidad de software con particularidades únicas de negocio y features.. como un APP de fintech o una pagina e-comerce. tiene que haber distintas tools para automatizar sus pruebas
lo mismo pasa con los lenguajes de programación.
Actualmente uso Selenium Webdriver con DDT, el cual sería como una especie de híbrido entre Module based (poo y page object model) y Data Driven
Hola Manuel que tal. Tu sabes donde podria aprender lo basico para ya empezar a practicar automatizacion con uso de xpath y css. saludos.
Más que framework el tema es ¿Qué estamos testeando y para qué vamos a usar la herramienta? Con eso podemos elelgir un framework
TIPOS DE FRAMEWORKS DE AUTOMATIZACIÓN . En una traducción un framework es un marco de trabajo, es decir, ofrece pautas, estructura, buenas practicas de como probar un sistema. . El mayor beneficio es estandarizar un proceso de prueba. lo cual proporciona una estructura viable para facilitar el trabajo. . Frameworks mas populares . CAPTURE/PLAYBACK . Permite capturar y volver a reproducir. Este tipo de frameworks hacen uso de herramientas que permiten grabar una acción o la pantalla para después reproducir ese script que se halla hecho. . Pros El enfoque de captura/reproducción se puede utilizar para el SUT (System Under Test) en el nivel de GUI y/o API. inicialmente, es fácil de configurar y usar. . Contras Es didicil de mantener debido a que una aplicación cambia constantemente lo cual implica tener que volver a grabar la prueba de principio a fin cada vez que algo cambie y la implementación de los scripts solo pueden comenzar cuando el sistema este disponible. .
LINEAR SCRIPTING . Es muy parecido al capture/playback. La diferencia es que Linear Scripting produce un código el cual es accesible. . Pros Se pude utilizar para probar el sistema a nivel GUI y/o API y es facil de configurar. . Contras Requiere un gran esfuerzo en mantenerse debido a que es lineal y difícil y costoso de mantener. . STRUCTURED SCRIPTING . A diferencia de Linear Scripting permite reutilizar los scripts y los diferentes test. . Pros Reducción del mantenimiento con la reutilización de secuencias de comandos lo que reduce los costos de construcción y mantenimiento. . Contras Requiere un mayor esfuerzo inicial con habilidades de programación y administración. . MODULE BASED . Es un framework basado en modulos se basa en los conceptos de la programción orientada a objetos a difrencia del Structured Scripting los modelos están separados por una capa de abstración de tal forma que los cambios pueden ser realizados en las secciones de la aplicación y no producen efectos en este modulo. . Pros modularizacion ya que permite mas escalabilidad y flexibilidad de mantenerlo. ya que cada mantenimiento es replicable en todos los módulos que lo usen. . Contras Sin flexibilidad de datos. . DATA-DRIVEN . Este framework se basa en una estructura parecida a la de Structure Scripting y Model Based. La diferencia mas significativa es que maneja entradas de prueba, donde se extraen de los scripts para utilizarlos en archivos separados. . Pros Bajo costo de mantenimiento ya que los archivos se leen de una base de datos, aumenta la cobertura para cubrir diferentes escenarios y hay flexibilidad de ejecución. . Contras Recibe un esfuerzo adicional en las fuentes de datos y el dominio de un lenguaje de programación. . KEYWORK-DRIVEN . Es un framework de pruebas basado en palabras claves. Donde un keyword es una palabra reservada que indica una acción en el código. . Pros Tiene una mayor flexibilidad ce creación de pruebas. porque el QA tiene el control manual de poder crear pruebas, delimitar el orden y configurar datos ademas no requiere un conocimiento de las secuencias de un comando. . Contras Tiene mayor complejidad de aprendizaje con lo que se genera un incremento en la dificultada a medida que se introducen palabras clave. . HYBRID . Es una combinación entre los frameworks Keyboard-Driven y Data-Driven. Permite tener los pros y contras de ambos. . BEHAVIOR DRIVEN DEVELOPMENT . Este framework es impulsado por comportamiento. Normalmente consta de 3 partes, usa un lenguaje de 3 palabras reservadas.
Pros Cuenta con mayor compatibilidad entre historias de usuarios y test cases por lo que tiene claridad en los casos de prueba donde el encargado va poder leerlos de una manera muy sencilla y tiene un feature de reutilización de código y es Data-Driven. . Contras Requiere una mayor inversión de tiempo donde las personas encargadas de hacer las pruebas al sistema deben aprender a usar las herramientas y hacer una planificación la estructuración de todos los archivos, carpetas, etc.
Me uno al club de los que no comprendieron nada xD. Deberían poner ejemplos o alguna animación, una analogía, algo xD
Behavior driven development es impulsado por el comportamiento, usa palabras reservadas en un lenguaje llamado gherkin
el BDD me hizo ojitos jajajaja
1. Capture/Playback
Descripción: Este enfoque implica grabar acciones del usuario en una interfaz gráfica (GUI) y luego reproducir estas acciones para realizar pruebas. Casos de uso: Se utiliza principalmente para pruebas de regresión para asegurar que cambios recientes no hayan roto funciones existentes. Herramientas:
2. Linear Scripting
Descripción: Similar al Capture/Playback, pero los scripts se escriben manualmente en lugar de ser grabados. Casos de uso: Útil para escenarios de prueba sencillos y directos sin necesidad de reutilización de código. Herramientas:
3. Structured Scripting
Descripción: Los scripts de prueba se organizan de manera más estructurada y modular, permitiendo la reutilización de código. Casos de uso: Aplicaciones grandes donde mantener los scripts de pruebas es crítico y la reutilización puede ahorrar tiempo. Herramientas:
4. Module Based
Descripción: El sistema bajo prueba se divide en módulos independientes y cada módulo tiene su conjunto de scripts de prueba. Casos de uso: Ideal para proyectos grandes y complejos donde se puede testear independientemente cada módulo. Herramientas:
5. Data-driven
Descripción: Los scripts de prueba se ejecutan múltiples veces utilizando diferentes conjuntos de datos desde una fuente externa. Casos de uso: Pruebas de funcionalidad que requieren validar con diferentes conjuntos de datos, como formularios o puntos de entrada de usuario. Herramientas:
6. Keyword-driven
Descripción: Los scripts de prueba se basan en palabras clave que representan acciones a realizar en la aplicación. Casos de uso: No técnico o para equipos con miembros que no sean programadores, permitiendo que ellos también puedan escribir casos de prueba. Herramientas:
7. Hybrid
Descripción: Combina elementos de varios enfoques, como Data-driven y Keyword-driven, para aprovechar los beneficios de cada uno. Casos de uso: Proyectos que requieren flexibilidad en técnicas de prueba y donde se pueda aprovechar la reutilización de componentes. Herramientas:
8. Behavior Driven Development (BDD)
Descripción: Las pruebas están diseñadas alrededor del comportamiento esperado del software, utilizando un lenguaje que es comprensible para los desarrolladores, testers y stakeholders. Casos de uso: Equipos que practican Agile y que desean mejorar la comunicación entre desarrolladores, testers y clientes. Herramientas:
Es complicado entender tanta teoría sin poder verlo aplicado en algún ejemplo.
Si APENAS vas a darle play al video te recomiendo que tomes los apuntes del comentario con mas likes y veas el video en x1.2 o x1.5
Capture/playback, repruduce lo que se haya hecho durante la prueba
Linear scripting, se puede ir por partes y se puede comentar el codigo
Los frameworks fueron presentado de menor a mayor ocmplejidad, creería que su uso depende tambien de la madurez tecnológica de la empresa
Me super encanto el BDD, en serio que sería muy útil para implementar en cualquier compañía.
Rescato también el Hybrid, pues para ciertos casos es muy útil.
Con esto quiero decir, que cuando eres un analista QA, QC, lo que debes es analizar muy bien con estrategias de pruebas y un gran plan de pruebas, que se va a implementar durante todo el proyecto, de modo tal que los costos sean mínimos y finalmente tengamos una satisfacción del cliente final.
Sin duda Behavior Driven Development (BDD) me parece la más completa.