El documento compara diferentes frameworks de pruebas E2E como Selenium WebDriver, WebDriverIO, Puppeteer, Playwright y Cypress. Explica sus arquitecturas, ventajas y desventajas. Recomienda elegir un framework en función del contexto del proyecto, como el alcance de la automatización, el uso de múltiples navegadores, el lenguaje de programación y las funcionalidades requeridas.
Una estrategia de prueba de software proporciona una guía para las pruebas que incluye la planificación, diseño de casos de prueba, ejecución y evaluación de resultados. Una buena estrategia debe ser flexible pero también rigurosa para garantizar pruebas razonables. La verificación y validación incluyen diversas actividades como revisiones técnicas, pruebas de desarrollo y aceptación para garantizar que el software cumple sus funciones y requerimientos.
1) El RAID (Redundant Array of Independent Disks) permite a varias unidades de disco trabajar en paralelo para aumentar el rendimiento y almacenar los datos de forma redundante para protegerlos ante fallos.
2) Existen diferentes niveles de RAID que ofrecen combinaciones específicas de tolerancia a fallos, rendimiento y coste.
3) Los niveles RAID anidados combinan dos o más niveles estándar de RAID para lograr un equilibrio entre rendimiento y redundancia de datos.
Este documento trata sobre programación orientada a eventos. Explica que un evento es una notificación que se dispara cuando ocurre una acción del usuario u otro suceso digno de mención. También describe diferentes tipos de programas como secuenciales, interactivos y orientados a eventos, siendo estos últimos los más comunes en interfaces gráficas como Windows. Finalmente, detalla conceptos como propiedades, métodos y el orden en que se disparan los eventos en una aplicación.
Este documento presenta las tareas fundamentales de la ingeniería de requisitos para el desarrollo de software. Estas incluyen iniciar el proyecto, obtener requisitos del cliente, elaborar un modelo de análisis, negociar requisitos, especificar requisitos de forma precisa, validar la especificación, y gestionar los requisitos a lo largo del proyecto mediante tablas de rastreabilidad. El objetivo principal es entender completamente las necesidades del cliente y desarrollar un sistema de software que las satisfaga.
Este documento describe el problema del bloqueo/deadlock en sistemas operativos. Explica que un deadlock ocurre cuando un grupo de procesos compiten por recursos y cada proceso está bloqueado esperando un recurso que otro proceso está usando. También presenta ejemplos de deadlock y métodos para prevenirlos como asignación de recursos, detección temprana y recuperación de estados de bloqueo.
Este documento presenta una introducción a la ingeniería web. Explica que el rápido crecimiento de Internet y las aplicaciones web ha dado lugar a la necesidad de una nueva disciplina llamada ingeniería web. También describe algunos de los desafíos del desarrollo de aplicaciones web, como el desarrollo ad-hoc y falta de procesos, y cómo esto puede conducir a fallas de proyectos. Finalmente, introduce conceptos clave de la ingeniería web como las características de los sistemas web y categorías de aplicaciones web.
Este documento describe una arquitectura basada en el patrón de tuberías y filtros. Los filtros se conectan entre sí mediante tuberías que transmiten datos de un filtro al siguiente de forma independiente. Cada paso del proceso se encapsula en un filtro y los datos fluyen a través de las tuberías entre filtros adyacentes.
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?Software Guru
El documento describe las entrevistas para la obtención de requisitos, incluyendo la definición de entrevista, directrices fundamentales, habilidades necesarias, errores comunes, preparación, tipos de preguntas, formatos, registro y ventajas/desventajas. La entrevista es una forma de diálogo entre dos o más personas donde el entrevistador busca respuestas a preguntas planeadas para obtener información del entrevistado. Se requiere preparación, habilidades de comunicación y escucha activa para realizar entrevistas efectivas.
Una estrategia de prueba de software proporciona una guía para las pruebas que incluye la planificación, diseño de casos de prueba, ejecución y evaluación de resultados. Una buena estrategia debe ser flexible pero también rigurosa para garantizar pruebas razonables. La verificación y validación incluyen diversas actividades como revisiones técnicas, pruebas de desarrollo y aceptación para garantizar que el software cumple sus funciones y requerimientos.
1) El RAID (Redundant Array of Independent Disks) permite a varias unidades de disco trabajar en paralelo para aumentar el rendimiento y almacenar los datos de forma redundante para protegerlos ante fallos.
2) Existen diferentes niveles de RAID que ofrecen combinaciones específicas de tolerancia a fallos, rendimiento y coste.
3) Los niveles RAID anidados combinan dos o más niveles estándar de RAID para lograr un equilibrio entre rendimiento y redundancia de datos.
Este documento trata sobre programación orientada a eventos. Explica que un evento es una notificación que se dispara cuando ocurre una acción del usuario u otro suceso digno de mención. También describe diferentes tipos de programas como secuenciales, interactivos y orientados a eventos, siendo estos últimos los más comunes en interfaces gráficas como Windows. Finalmente, detalla conceptos como propiedades, métodos y el orden en que se disparan los eventos en una aplicación.
Este documento presenta las tareas fundamentales de la ingeniería de requisitos para el desarrollo de software. Estas incluyen iniciar el proyecto, obtener requisitos del cliente, elaborar un modelo de análisis, negociar requisitos, especificar requisitos de forma precisa, validar la especificación, y gestionar los requisitos a lo largo del proyecto mediante tablas de rastreabilidad. El objetivo principal es entender completamente las necesidades del cliente y desarrollar un sistema de software que las satisfaga.
Este documento describe el problema del bloqueo/deadlock en sistemas operativos. Explica que un deadlock ocurre cuando un grupo de procesos compiten por recursos y cada proceso está bloqueado esperando un recurso que otro proceso está usando. También presenta ejemplos de deadlock y métodos para prevenirlos como asignación de recursos, detección temprana y recuperación de estados de bloqueo.
Este documento presenta una introducción a la ingeniería web. Explica que el rápido crecimiento de Internet y las aplicaciones web ha dado lugar a la necesidad de una nueva disciplina llamada ingeniería web. También describe algunos de los desafíos del desarrollo de aplicaciones web, como el desarrollo ad-hoc y falta de procesos, y cómo esto puede conducir a fallas de proyectos. Finalmente, introduce conceptos clave de la ingeniería web como las características de los sistemas web y categorías de aplicaciones web.
Este documento describe una arquitectura basada en el patrón de tuberías y filtros. Los filtros se conectan entre sí mediante tuberías que transmiten datos de un filtro al siguiente de forma independiente. Cada paso del proceso se encapsula en un filtro y los datos fluyen a través de las tuberías entre filtros adyacentes.
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?Software Guru
El documento describe las entrevistas para la obtención de requisitos, incluyendo la definición de entrevista, directrices fundamentales, habilidades necesarias, errores comunes, preparación, tipos de preguntas, formatos, registro y ventajas/desventajas. La entrevista es una forma de diálogo entre dos o más personas donde el entrevistador busca respuestas a preguntas planeadas para obtener información del entrevistado. Se requiere preparación, habilidades de comunicación y escucha activa para realizar entrevistas efectivas.
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010SaraEAlcntaraR
El documento presenta los atributos de calidad del software según la Norma ISO 25010. Explica que los atributos de calidad son propiedades medibles que indican qué tan bien satisface un sistema las necesidades de los interesados. Luego describe las ocho características de calidad de la norma ISO 25010 - adecuación funcional, eficiencia de desempeño, compatibilidad, usabilidad, fiabilidad, seguridad, mantenibilidad y portabilidad - junto con sus respectivas subcaracterísticas. Finalmente, incluye referencias bibli
Este documento presenta una introducción a varias metodologías de desarrollo de software, incluyendo metodologías clásicas como el desarrollo en cascada, incremental y evolutivo, así como metodologías más modernas como el desarrollo ágil, basado en prototipos y en componentes. Explica brevemente cada metodología y discute sus ventajas y desventajas. El documento parece ser material para una clase de ingeniería de software.
El documento habla sobre la estimación de proyectos de software. Explica que es importante hacer una estimación precisa del costo, tiempo y recursos necesarios antes de comenzar un proyecto. Describe diferentes técnicas para estimar el tamaño y complejidad del software como líneas de código, puntos de función o componentes estándar. También presenta el modelo COCOMO que utiliza factores como la fiabilidad, complejidad y experiencia del equipo para calcular el esfuerzo requerido.
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
Este documento compara tres metodologías de análisis y diseño orientado a objetos: la metodología de Booch, la metodología OMT de Rumbaugh y la arquitectura MDA. La metodología de Booch se basa en dividir el proceso en micro y macroprocesos. OMT tiene cuatro etapas y tres modelos. MDA separa la lógica de negocio de la aplicación y permite el desarrollo multiplataforma.
Este documento presenta una breve introducción a DevOps. Explica la interacción entre infraestructura y desarrollo, la necesidad de ambientes independientes y las soluciones y problemas que surgen. También describe las perspectivas de desarrollo e infraestructura, así como la puesta en producción y las herramientas de DevOps.
Bootstrap es un framework front-end que facilita el desarrollo de sitios web y aplicaciones multiplataforma. Proporciona plantillas para componentes como grillas, formularios, botones, navegación y otros elementos, además de ser personalizable y compatible con dispositivos móviles. Su popularidad se debe a ser fácil de usar, bien estructurado y contar con una gran comunidad de apoyo.
Objetivo: Caracterizar los mecanismos de sincronización y las necesidades que surgen en el interbloqueo, mediante la resolución de problemas de concurrencia, para llevar a cabo la instalación, configuración y mantenimiento de los sistemas operativos según requerimientos.
El documento describe las ventajas y desventajas de las bases de datos orientadas a objetos (BDOO). Las principales ventajas son la mayor capacidad de modelado, la flexibilidad para manejar datos complejos, y la habilidad de manipular datos complejos de forma rápida. Las principales desventajas son la falta de un modelo de datos universalmente aceptado, la falta de experiencia con la tecnología, y la falta de estándares establecidos.
Requerimientos, Ventajas y Desventajas de las aplicaciones webAlonzer Acid Nox
El documento describe varias metodologías para el desarrollo de aplicaciones web, incluyendo WSDM, SOHDM, RNA, OOHDM, UWE y W2000. Cada metodología propone un proceso diferente con énfasis en actividades como la captura de requisitos, el análisis de usuarios, el diseño conceptual y la implementación. El documento también discute enfoques como UWA, NDT y Design-driven Requirements Elicitation para la especificación y definición de requisitos.
La interfaz tiene un número de ventajas sobre el BIOS , incluyendo más espacio para el código de firmware , una interfaz de usuario más accesible , y la ...
Requerimientos Funcionales y no Funcionalessullinsan
Este documento presenta una introducción a los requerimientos funcionales y no funcionales para el desarrollo de sistemas de software. Explica el proceso de levantamiento de requerimientos, incluyendo la identificación de actores, escenarios y casos de uso. También describe las diferentes clasificaciones de requerimientos no funcionales y pseudo-requerimientos, así como las relaciones entre casos de uso.
El documento parece discutir la creación de cosas que ya han sido hechas anteriormente, lo que podría considerarse intelectualmente trivial. Se plantea la pregunta de si realmente hay escasez de ideas genuinamente nuevas.
Este documento presenta información sobre el sistema operativo MINIX. Explica que MINIX es un sistema operativo diseñado para ser altamente confiable, flexible y seguro. Describe algunas de sus características como ser apegado a POSIX, soporte de redes TCP/IP, y más de 400 programas. Además, explica brevemente que la versión actual es un trabajo en proceso y aún no está tan madura como otros sistemas como FreeBSD o Linux.
Transparencias del Tema 4 (Diseño del Software) de la asignatura Ingeniería del Software de Gestión de la Escuela Superior de Ingeniería Informática de la Universidad de Vigo
En diseño de software el front-end es la parte del software que interactúa con los usuarios y el back-end es la parte que procesa la entrada desde el front-end. La separación del sistema en front-ends y back-ends es un tipo de abstracción que ayuda a mantener las diferentes partes del sistema separada.
El documento describe el modelo de desarrollo de software basado en componentes. Este modelo involucra el ensamblaje de componentes de software prefabricados que encapsulan funcionalidades específicas. El desarrollo basado en componentes simplifica las pruebas, el mantenimiento y aumenta la reutilización y calidad del software.
Estrategias de aplicaciones para las pruebas de integraciónPablo Navarrete
El documento describe diferentes estrategias para las pruebas de integración en el desarrollo de software. Define las pruebas de integración y su objetivo de verificar la interacción correcta entre componentes. Explica los tipos de integración como la incremental, descendente y ascendente, detallando los pasos involucrados en cada una.
El documento describe los elementos de un diagrama de clases en UML, incluyendo clases, atributos, operaciones, y relaciones como herencia, composición, agregación y asociación. También cubre responsabilidades de clases. Como ejemplo, propone el desarrollo de un diagrama de clases para un sistema de gestión de proyectos que gestione información sobre proyectos, organizaciones, planes, avances y recursos humanos.
1. Las pruebas de software incluyen pruebas de unidad, integración, validación y del sistema, siendo cada una más amplia en alcance.
2. Las pruebas de unidad comprueban cada módulo de forma aislada, las de integración verifican la interfaz entre módulos, y las de validación evalúan el software completo frente a los requisitos.
3. Finalmente, las pruebas del sistema integran el software con el hardware y otros componentes para probar el rendimiento general del producto terminado.
Este documento describe las herramientas CASE (Computer-Aided Software Engineering), que son conjuntos de programas y ayudas que asisten a los analistas de software y desarrolladores durante todo el ciclo de desarrollo de software. Se clasifican las herramientas CASE en herramientas integradas, de alto nivel y de bajo nivel, dependiendo de las fases del ciclo de vida que cubren. También se destacan algunas herramientas CASE populares como StarUML, Umbrello y ArgoUML.
Este documento describe diferentes técnicas para probar aplicaciones Angular, incluyendo TDD, BDD, pruebas unitarias, y pruebas E2E. Explica cómo escribir pruebas para cada tipo de test, así como herramientas como Karma, Protractor y Jasmine que pueden usarse para automatizar las pruebas. También cubre temas como componentes, $scope, $compile y $httpBackend para simular backends.
Presentation in Spanish given at DeSymfony Day 2014 in Barcelona about different approaches of testing with my teammate Jordi Llonch.
We created a GitHub repository comparing the main libraries available in PHP: https://github.com/Akamon/to-mock-or-not-to-mock
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010SaraEAlcntaraR
El documento presenta los atributos de calidad del software según la Norma ISO 25010. Explica que los atributos de calidad son propiedades medibles que indican qué tan bien satisface un sistema las necesidades de los interesados. Luego describe las ocho características de calidad de la norma ISO 25010 - adecuación funcional, eficiencia de desempeño, compatibilidad, usabilidad, fiabilidad, seguridad, mantenibilidad y portabilidad - junto con sus respectivas subcaracterísticas. Finalmente, incluye referencias bibli
Este documento presenta una introducción a varias metodologías de desarrollo de software, incluyendo metodologías clásicas como el desarrollo en cascada, incremental y evolutivo, así como metodologías más modernas como el desarrollo ágil, basado en prototipos y en componentes. Explica brevemente cada metodología y discute sus ventajas y desventajas. El documento parece ser material para una clase de ingeniería de software.
El documento habla sobre la estimación de proyectos de software. Explica que es importante hacer una estimación precisa del costo, tiempo y recursos necesarios antes de comenzar un proyecto. Describe diferentes técnicas para estimar el tamaño y complejidad del software como líneas de código, puntos de función o componentes estándar. También presenta el modelo COCOMO que utiliza factores como la fiabilidad, complejidad y experiencia del equipo para calcular el esfuerzo requerido.
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
Este documento compara tres metodologías de análisis y diseño orientado a objetos: la metodología de Booch, la metodología OMT de Rumbaugh y la arquitectura MDA. La metodología de Booch se basa en dividir el proceso en micro y macroprocesos. OMT tiene cuatro etapas y tres modelos. MDA separa la lógica de negocio de la aplicación y permite el desarrollo multiplataforma.
Este documento presenta una breve introducción a DevOps. Explica la interacción entre infraestructura y desarrollo, la necesidad de ambientes independientes y las soluciones y problemas que surgen. También describe las perspectivas de desarrollo e infraestructura, así como la puesta en producción y las herramientas de DevOps.
Bootstrap es un framework front-end que facilita el desarrollo de sitios web y aplicaciones multiplataforma. Proporciona plantillas para componentes como grillas, formularios, botones, navegación y otros elementos, además de ser personalizable y compatible con dispositivos móviles. Su popularidad se debe a ser fácil de usar, bien estructurado y contar con una gran comunidad de apoyo.
Objetivo: Caracterizar los mecanismos de sincronización y las necesidades que surgen en el interbloqueo, mediante la resolución de problemas de concurrencia, para llevar a cabo la instalación, configuración y mantenimiento de los sistemas operativos según requerimientos.
El documento describe las ventajas y desventajas de las bases de datos orientadas a objetos (BDOO). Las principales ventajas son la mayor capacidad de modelado, la flexibilidad para manejar datos complejos, y la habilidad de manipular datos complejos de forma rápida. Las principales desventajas son la falta de un modelo de datos universalmente aceptado, la falta de experiencia con la tecnología, y la falta de estándares establecidos.
Requerimientos, Ventajas y Desventajas de las aplicaciones webAlonzer Acid Nox
El documento describe varias metodologías para el desarrollo de aplicaciones web, incluyendo WSDM, SOHDM, RNA, OOHDM, UWE y W2000. Cada metodología propone un proceso diferente con énfasis en actividades como la captura de requisitos, el análisis de usuarios, el diseño conceptual y la implementación. El documento también discute enfoques como UWA, NDT y Design-driven Requirements Elicitation para la especificación y definición de requisitos.
La interfaz tiene un número de ventajas sobre el BIOS , incluyendo más espacio para el código de firmware , una interfaz de usuario más accesible , y la ...
Requerimientos Funcionales y no Funcionalessullinsan
Este documento presenta una introducción a los requerimientos funcionales y no funcionales para el desarrollo de sistemas de software. Explica el proceso de levantamiento de requerimientos, incluyendo la identificación de actores, escenarios y casos de uso. También describe las diferentes clasificaciones de requerimientos no funcionales y pseudo-requerimientos, así como las relaciones entre casos de uso.
El documento parece discutir la creación de cosas que ya han sido hechas anteriormente, lo que podría considerarse intelectualmente trivial. Se plantea la pregunta de si realmente hay escasez de ideas genuinamente nuevas.
Este documento presenta información sobre el sistema operativo MINIX. Explica que MINIX es un sistema operativo diseñado para ser altamente confiable, flexible y seguro. Describe algunas de sus características como ser apegado a POSIX, soporte de redes TCP/IP, y más de 400 programas. Además, explica brevemente que la versión actual es un trabajo en proceso y aún no está tan madura como otros sistemas como FreeBSD o Linux.
Transparencias del Tema 4 (Diseño del Software) de la asignatura Ingeniería del Software de Gestión de la Escuela Superior de Ingeniería Informática de la Universidad de Vigo
En diseño de software el front-end es la parte del software que interactúa con los usuarios y el back-end es la parte que procesa la entrada desde el front-end. La separación del sistema en front-ends y back-ends es un tipo de abstracción que ayuda a mantener las diferentes partes del sistema separada.
El documento describe el modelo de desarrollo de software basado en componentes. Este modelo involucra el ensamblaje de componentes de software prefabricados que encapsulan funcionalidades específicas. El desarrollo basado en componentes simplifica las pruebas, el mantenimiento y aumenta la reutilización y calidad del software.
Estrategias de aplicaciones para las pruebas de integraciónPablo Navarrete
El documento describe diferentes estrategias para las pruebas de integración en el desarrollo de software. Define las pruebas de integración y su objetivo de verificar la interacción correcta entre componentes. Explica los tipos de integración como la incremental, descendente y ascendente, detallando los pasos involucrados en cada una.
El documento describe los elementos de un diagrama de clases en UML, incluyendo clases, atributos, operaciones, y relaciones como herencia, composición, agregación y asociación. También cubre responsabilidades de clases. Como ejemplo, propone el desarrollo de un diagrama de clases para un sistema de gestión de proyectos que gestione información sobre proyectos, organizaciones, planes, avances y recursos humanos.
1. Las pruebas de software incluyen pruebas de unidad, integración, validación y del sistema, siendo cada una más amplia en alcance.
2. Las pruebas de unidad comprueban cada módulo de forma aislada, las de integración verifican la interfaz entre módulos, y las de validación evalúan el software completo frente a los requisitos.
3. Finalmente, las pruebas del sistema integran el software con el hardware y otros componentes para probar el rendimiento general del producto terminado.
Este documento describe las herramientas CASE (Computer-Aided Software Engineering), que son conjuntos de programas y ayudas que asisten a los analistas de software y desarrolladores durante todo el ciclo de desarrollo de software. Se clasifican las herramientas CASE en herramientas integradas, de alto nivel y de bajo nivel, dependiendo de las fases del ciclo de vida que cubren. También se destacan algunas herramientas CASE populares como StarUML, Umbrello y ArgoUML.
Este documento describe diferentes técnicas para probar aplicaciones Angular, incluyendo TDD, BDD, pruebas unitarias, y pruebas E2E. Explica cómo escribir pruebas para cada tipo de test, así como herramientas como Karma, Protractor y Jasmine que pueden usarse para automatizar las pruebas. También cubre temas como componentes, $scope, $compile y $httpBackend para simular backends.
Presentation in Spanish given at DeSymfony Day 2014 in Barcelona about different approaches of testing with my teammate Jordi Llonch.
We created a GitHub repository comparing the main libraries available in PHP: https://github.com/Akamon/to-mock-or-not-to-mock
DeSymfonyDay 2014 - To mock or not to mock - SpanishJordi Llonch
Este documento presenta una charla sobre pruebas de software. La charla discute los tipos de pruebas unitarias, de integración y de aceptación y los beneficios y desafíos de cada una. También cubre temas como las escuelas de pruebas unitarias, el uso de dobles de prueba, y marcos de prueba como PHPUnit y Mockery. La charla concluye recomendando separar la lógica de prueba de los datos de prueba y minimizar el uso de dobles de prueba.
Este documento presenta una charla sobre pruebas de software. Brevemente describe los tipos principales de pruebas (pruebas unitarias, de integración y de aceptación), los dobles de prueba y varias bibliotecas para crear mocks en PHP. También discute enfoques como las escuelas de pruebas unitarias de Chicago y Londres y recomienda minimizar el uso de dobles.
DeSymfonyDay 2014 - To mock or not to mock - SpanishJordi Llonch
Este documento presenta una charla sobre pruebas de software. La charla discute los tipos de pruebas unitarias, de integración y de aceptación y los beneficios y desafíos de cada una. También cubre temas como las escuelas de pruebas unitarias, el uso de dobles de prueba, y marcos de prueba como PHPUnit y Mockery. La charla concluye recomendando separar la lógica de prueba de los datos de prueba y minimizar el uso de dobles de prueba.
Performance de sistemas Angular (Meetup Angular Montevideo)Federico Toledo
Performance de sistemas desarrollados con Angular
En esta charla veremos distintos enfoques para mejorar la performance de sistemas desarrollados con Angular, considerando tanto el lado del cliente como el lado del servidor. Para esto veremos herramientas que nos permiten simular cientos de usuarios conectados en simultáneo, y a su vez, herramientas que nos permiten detectar dónde están los cuellos de botella. Por último, veremos cómo esto se puede enganchar en un esquema de CI/CD fomentando una cultura de DevOps y calidad.
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
Federico Toledo presenta sobre temas de testing técnico como automatización de pruebas, diseño de pruebas y pruebas de rendimiento. Explica conceptos como casos de prueba, herramientas de automatización como Selenium y GXtest, y técnicas de pruebas de rendimiento como pruebas de carga y estrés. Finalmente, habla sobre la herramienta Monkop para realizar pruebas de rendimiento en dispositivos móviles y la importancia de considerar el rendimiento como un requisito clave del software.
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
Federico Toledo presenta sobre temas de testing técnico como automatización de pruebas y pruebas de rendimiento. Explica conceptos como casos de prueba, automatización con herramientas como Selenium y GXtest, y diseño de pruebas de rendimiento. También introduce las herramientas Monkop y Open Device Lab para realizar pruebas en diferentes dispositivos de forma automatizada.
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...GeneXus
Este documento describe el desarrollo de una aplicación móvil completamente offline utilizando GeneXus X Evolution 3. Explica cómo comenzar un proyecto offline, las ventajas e inconvenientes de los modos online y offline, y provee consejos para el uso de la herramienta Android Debug Bridge y el soporte de múltiples dispositivos. También detalla el desarrollo de un módulo de ayuda personalizado para la aplicación.
Pruebas automatizadas de aceptación en aplicaciones webGiannis Morales
Este documento describe cómo automatizar pruebas de aceptación en aplicaciones web utilizando las herramientas RSpec y Selenium. Explica brevemente los tipos de pruebas, incluidas las pruebas de aceptación, y los beneficios de automatizar las pruebas, como reducir costos y evitar plazos incumplidos. Luego proporciona una introducción a RSpec y Selenium, describiendo que RSpec hace que los casos de prueba sean fáciles de leer y que Selenium permite desarrollar scripts de prueba para aplicaciones web en vari
Meetup TestingUy 2018 - Selenium en la actualidadTestingUy
Expositor: Joaquín Moreira
Debido al reciente cambio en el formato de las extensiones del navegador Mozilla Firefox (versión 55), las extensiones basadas en formato XPI no son soportadas y en consecuencia, la extensión de Selenium IDE. Sin embargo y más alla de esto, Selenium sigue siendo una potente herramienta. En esta charla veremos una introducción a Selenium, hablaremos de la SeleniumConf, se discutirá sobre lo que se pierde con este cambio y se evaluarán alternativas a Selenium IDE. Cerraremos con una demo de una herramienta alternativa y gratis a Selenium IDE.
Debido al reciente cambio en el formato de las extensiones del navegador Mozilla Firefox (versión 55), las extensiones basadas en formato XPI no son soportadas y en consecuencia, la extensión de Selenium IDE. Sin embargo y más allá de esto, Selenium sigue siendo una potente herramienta. En esta charla veremos una introducción a Selenium, hablaremos de la SeleniumConf, se discutirá sobre lo que se pierde con este cambio y se evaluarán alternativas a Selenium IDE. Cerraremos con una demo de una herramienta alternativa y gratis a Selenium IDE.
Presentación generada en base a experiencias en proyectos y cursos llevados adelante por el Centro de Ensayos de Software (www.ces.com.uy).
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
Ciclo de vida del software, repositorios de código, análisis estático de código, pruebas software, integración continua, entrega continua, despliegue continuo, DevOps.
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Federico Toledo
El testing de aplicaciones mobile es uno de los grandes desafíos que se presenta hoy en día por la diversidad de dispositivos y configuraciones existentes. Asegurar que la aplicación funcione en todos los dispositivos, que sea rápida cuando la utilizan muchas personas y que sea segura, son las inquietudes e incertidumbres que nos atacan.
¿Qué necesitamos saber? ¿En qué herramientas nos podemos apoyar? ¿Qué hay de nuevo con respecto al testing de los sistemas que venimos probando? ¿Qué pasa con la usabilidad, cómo la probamos? Estas y otras preguntas son las que estaremos abordando en esta charla, compartiendo nuestras experiencias e investigación al respecto.
Conferencia Rails: Integracion Continua Y RailsDavid Calavera
Este documento habla sobre integración continua y Rails. Explica qué es la integración continua, sus beneficios como reducir riesgos y errores. Detalla los pasos para configurar un servidor de integración continua como Hudson o CruiseControl y automatizar tareas como pruebas, despliegues y feedback.
Este documento describe TestLink, una herramienta de código abierto para la gestión de pruebas de software. Explica que TestLink permite crear y administrar casos de prueba y organizarlos en planes de prueba, ejecutar casos de prueba y registrar resultados, y mantener la trazabilidad con los requisitos. Además, proporciona enlaces para descargar e instalar TestLink y MySQL, y brinda detalles sobre cómo configurar y usar las funcionalidades básicas de TestLink.
Este documento proporciona una introducción a las pruebas de calidad de software (QA) y cubre varios temas clave como: las diferentes categorías de pruebas como las pruebas unitarias, de aceptación y de regresión; herramientas comunes de QA como Jenkins, Selenium y TestNG; y un ejemplo de cómo se podría estructurar un proyecto de pruebas automatizadas con Selenium. El documento también explica conceptos como integración continua, pruebas de caja negra y blanca, y cómo QA debería involucrarse a lo larg
Taller Evento TestingUY 2018 - Test Automation GourmetTestingUy
Leonard Espíritu presenta sobre testeo automatizado de aplicaciones móviles. Explica qué es Appium y cómo configurarlo para automatizar pruebas en Android. Detalla los pasos para crear un proyecto base en Java y ejecutar pruebas tanto en dispositivos virtuales como reales.
Similar a E2E testing frameworks:lo bueno, lo malo y lo feo (20)
Este documento presenta las estrategias de pruebas en DevOps. Explica que las pruebas deben ser parte integral del ciclo de desarrollo continuo e integración (CI/CD). Detalla diferentes tipos de pruebas como pruebas unitarias, de API, de interfaz de usuario y de rendimiento. Finalmente, concluye que la mejor estrategia de pruebas es la que decida en conjunto todo el equipo.
TestingUY 2019. Patrones de diseño en la automatización PageObject o ScreenPlay.Abel Quintana Lopez
En este taller estaremos viendo los siguientes puntos: Primero vamos a analizar el patrón PageObject, después veremos si cumple con los principios SOLID de la programación orientada a objetos mediante ejemplos. Luego refactorizaremos el PageObject basándonos en los principios SOLID para el obtener el patrón ScreenPlay, con el cual estaremos haciendo algunos ejercicios prácticos.
Introducción a la automatización de pruebas con tecnologías .NetAbel Quintana Lopez
La automatización de pruebas es esencial para probar nuestros proyectos de manera eficiente, por lo que es fundamental conocer las herramientas y tecnologías que nos permiten automatizar.
Una de las tecnologías más usadas y populares en el desarrollo del software es .Net, debido a esto es sumamente importante en el área de testing conocer las herramientas disponibles en el mercado que nos permiten la automatización de pruebas con esta tecnología.
Por lo que en este taller estaremos viendo 3 temas fundamentales:
Que es la automatización de pruebas,
Que ventajas tiene la automatización para nuestros proyectos,
y como podemos automatizar pruebas usando tecnologías de .Net
Patrones de diseño en la automatización PageObject o ScreenPlayAbel Quintana Lopez
Los patrones de diseño son soluciones probadas y documentadas a problemas comunes en el desarrollo de software. Cuando implementamos nuestros frameworks de pruebas automatizadas los usamos para evitar problemas ya conocidos como el alto costo de mantenimiento de los test, código duplicado y test inconsistentes.
Durante el desarrollo del taller estaremos viendo algunas buenas practicas de programación.
En nuestra experiencia, Cumplir con los principios de la programación orientada a objeto y usar correctamente los patrones de diseño ha sido indispensable para lograr que nuestras automatizaciones sean exitosas.
Cómo iniciarme en el mundo de la automatización de pruebasAbel Quintana Lopez
Aprender a automatizar pruebas nos puede llevar tiempo, horas de dedicación y se nos pueden presentar ciertas dificultades en el camino del aprendizaje, pero teniendo una guía y un camino bien definido con recursos que están a nuestro alcance podemos iniciarnos en el mundo de la automatización de pruebas.
15. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Arquitectura de frameworks de automatización
❏ WebDriver
❏ Chrome Devtools Protocol (CDP)
❏ Javascript Injection
16. E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
17. E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
18. E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
19. E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver - Lo bueno
❏ W3C Standard soportado por los navegadores web
❏ Maneja el navegador de forma nativa como un usuario real
❏ Permite simular todas las acciones de un usuario
❏ Ejecución local y remota
❏ Ejecución de dispositivos móviles, Smart TV, etc
❏ Protocolo de automatización más usado
20. E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver - Lo malo
❏ Limitaciones de funcionalidades de automatización
❏ No soporta intercepción en la red
❏ No soporta simulación de velocidad de red
❏ No soporta métricas de performance
21. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Chrome Devtools Protocol
Chrome Devtools Protocol
22. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Chrome Devtools Protocol
Chrome Devtools Protocol
Bidireccional
23. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Chrome Devtools Protocol - Lo bueno
❏ Soporta más funcionalidades automatización
❏ Soporta intercepción en la red
❏ Soporta simulación de velocidad de red
❏ Soporta métricas de performance
❏ Bidireccional
❏ Velocidad
24. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Chrome Devtools Protocol - Lo malo
❏ Soporta un solo navegador
❏ No soporta ejecución en la nube
❏ Sauce Labs
❏ BrowserStack
25. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Javascript Injection
Javascript Injection
26. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Javascript Injection
Javascript Injection
JS
JS
JS
27. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Javascript Injection - Lo bueno
❏ Se ejecuta en el navegador
❏ Control sobre DOM
❏ Velocidad
❏ Manejo de esperas
❏ Funcionalidades adicionales
28. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Javascript Injection - Lo malo
❏ No soporta eventos nativos
❏ Limitaciones para automatizar todas las acciones de usuario
❏ No tienen buen soporte para múltiples navegadores
29. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Arquitectura de frameworks de automatización
❏ WebDriver ❏ CDP ❏ Javascript Injection
30. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Arquitectura de frameworks de automatización
33. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
Script
34. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
Script
35. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver - Lo bueno
❏ Ventajas de WebDriver
❏ W3C Standard soportado por los navegadores web
❏ Maneja el navegador de forma nativa como un usuario real
❏ Permite simular todas las acciones de un usuario
❏ Ejecución local y remota
❏ Integración con herramientas de automatización
❏ Documentación y comunidad de testing extensa
36. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver - Lo malo
❏ Desventajas de WebDriver
❏ Limitaciones de funcionalidades de automatización
❏ Configuración del proyecto
❏ Drivers
❏ Reportes
37. E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriverIO
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
Script
38. E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriverIO
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
Script
CDP
39. E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriverIO - Lo bueno
❏ Ventajas de WebDriver
❏ W3C Standard soportado por los navegadores web
❏ Maneja el navegador de forma nativa como un usuario real
❏ Permite simular todas las acciones de un usuario
❏ Ejecución local y remota
❏ Ventajas de Chrome Devtools Protocol
❏ Configuración del proyecto, reportes
40. E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriverIO - Lo malo
❏ Documentación
❏ Debug
❏ Soporta solo Javascript
41. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Puppeteer
Script
Chrome Devtools Protocol
42. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Puppeteer - Lo bueno
❏ Ventajas de Chrome Devtools Protocol
❏ Soporta intercepción en la red
❏ Soporta simulación de velocidad de red
❏ Soporta métricas de performance
43. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Puppeteer - Lo malo
❏ Soporta un solo navegador
❏ No soporta ejecución en la nube
❏ Sauce Labs
❏ BrowserStack
❏ Soporta solo Javascript
44. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Playwright
Script
Chrome Devtools Protocol
45. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Playwright
Script
Chrome Devtools Protocol
46. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Playwright - Lo bueno
❏ Ventajas de Chrome Devtools Protocol
❏ Soporta intercepción en la red
❏ Soporta simulación de velocidad de red
❏ Soporta métricas de performance
❏ Soporta múltiples navegadores
❏ Soporta Javascript, Java, C#, Python
47. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Playwright - Lo malo
❏ Muy nuevo
❏ API está evolucionando
❏ La comunidad no es grande
❏ No soporta ejecución en la nube
❏ Sauce Labs
❏ BrowserStack
48. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cypress
https://www.toolsqa.com/cypress/what-is-cypress/
49. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cypress- Lo bueno
https://www.cypress.io/
50. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cypress- Lo bueno
❏ Developer friendly
❏ Se ejecuta en el navegador
❏ Control sobre DOM
❏ Velocidad
❏ Manejo de esperas
❏ Funcionalidades adicionales
https://docs.cypress.io/guides/overview/key-differences
51. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cypress- Lo malo
❏ Se ejecuta en el navegador
❏ No soporta eventos nativos
❏ Limitaciones para automatizar todas las acciones de usuario
❏ Múltiples tabs
❏ Múltiples navegadores al mismo tiempo
❏ Same-origin
❏ Código externo de Javascript
https://docs.cypress.io/guides/references/trade-offs
52. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Frameworks de automatización
❏ WebDriver ❏ CDP ❏ Javascript Injection
55. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver 4
❏ Soporte para Chrome Devtools Protocol
❏ Intercepción de request
❏ Métricas de performance
❏ Simulación de velocidad de red
❏ Mejoras de Selenium Grid
❏ Localizadores relativos
❏ Propuesta de WebDriver BiDi
57. E2E Testing Frameworks: lo bueno, lo malo y lo feo
https://applitools.com/blog/2020-front-end-automation-testing/
Frameworks más usados - Applitools
5-
4-
3-
2-
1- 75% de los usuarios
41% de crecimiento
10% de crecimiento
59. E2E Testing Frameworks: lo bueno, lo malo y lo feo
¿Cuál framework E2E usar?
1. Contexto
2. Frameworks más usados
60. E2E Testing Frameworks: lo bueno, lo malo y lo feo
¿Cuál framework E2E usar?
1. Scope Automatización
a. Amplio, complejo y largo plazo
2. Múltiples navegadores
1. Javascript
2. Funcionalidades de CDP
1. Flexibilidad y extensibilidad
2. Comunidad
61. E2E Testing Frameworks: lo bueno, lo malo y lo feo
¿Cuál framework E2E usar?
1. Javascript
2. CDP / Chrome
1. Muy nuevo
2. Futuro
1. Javascript
2. App simple y moderna
3. Colaboración con desarrollo
62. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Recurso - Testim - Comparación
https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/
63. E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cómo seguir...
Abel Quintana Lopez
https://youtube.com/playlist?list=PLQxDOQ6Qm9Uzinj9vTQ4It1Xhl7nDjYGm