Hacer un sistema, sin probar, es lanzarlo al precipicio.
Las pruebas son fundamentales, pero claro, probar sin un método es lo mismo que no probar, es probar sólo una parte del sistema y dejar lo demás al azar.
TDD es una técnica de eXtreme Programming con la que las pruebas y el código se escriben a la vez. No antes cuando el sistema sólo es una abstracción. No después cuando en realidad ya da flojera escribirlas. A la vez que se escribe el código, van las pruebas.
TDD es un método ágil y eficaz de lograr un sistema Probado, y Funcional.
[ES] webcat 2014-03 Demystifying Development TechniquesEduardo Turiño
Charla del webcat del 5 de marzo de 2014.
Recorrido por diferentes técnicas de desarrollo, eliminando dolores en cada paso, hasta llegar a BDD y completar aquello donde BDD nos falla.
Visión utilitaria de técnicas y metodologías.
¡Muerte a los puristas! :)
Deck de la presentación en el evento Ágiles 2013 en Lima Perú. Charla sobre como aplicar diseño evolucionario, refactoring y TDD cuando se codifica con Javascript.
Introducción al análisis estático de código en java para mejorar la calidad del software tomando como referencia mejores prácticas, estándares y optimización de código.
Hacer un sistema, sin probar, es lanzarlo al precipicio.
Las pruebas son fundamentales, pero claro, probar sin un método es lo mismo que no probar, es probar sólo una parte del sistema y dejar lo demás al azar.
TDD es una técnica de eXtreme Programming con la que las pruebas y el código se escriben a la vez. No antes cuando el sistema sólo es una abstracción. No después cuando en realidad ya da flojera escribirlas. A la vez que se escribe el código, van las pruebas.
TDD es un método ágil y eficaz de lograr un sistema Probado, y Funcional.
[ES] webcat 2014-03 Demystifying Development TechniquesEduardo Turiño
Charla del webcat del 5 de marzo de 2014.
Recorrido por diferentes técnicas de desarrollo, eliminando dolores en cada paso, hasta llegar a BDD y completar aquello donde BDD nos falla.
Visión utilitaria de técnicas y metodologías.
¡Muerte a los puristas! :)
Deck de la presentación en el evento Ágiles 2013 en Lima Perú. Charla sobre como aplicar diseño evolucionario, refactoring y TDD cuando se codifica con Javascript.
Introducción al análisis estático de código en java para mejorar la calidad del software tomando como referencia mejores prácticas, estándares y optimización de código.
Argentesting 2019 - Cómo convertirse en un tester ágilArgentesting
Cómo convertirse en un tester ágil por Gisela Vivas y Martin Zapata - Endava
Sobre la charla:
Te contaremos cómo ser un Agile Tester: algunas diferencias entre un equipo ágil y un equipo funcional, los principios de un tester ágil, y las habilidades deseables. También hablaremos sobre una herramienta para poder planificar el testing durante el proceso de desarrollo y cómo planear puntualmente las pruebas automatizadas.
Sobre Gisela:
Es ingeniera en sistemas con 12 años de experiencia en testing de software en múltiples y diversas áreas tales como: finanzas, e-commerce, sales, salud, compañías aéreas, etc. Trabajo en Endava desde hace 9 años. En su experiencia laboral ha trabajado como tester manual y automatizado en testing funcional y no funcional para aplicaciones móbiles , web y desktop. Está certificada en Scrum Mater, Scrum developer Y Agile Leadership. Además es instructora de Testing en un proyecto de inclusión social de jóvenes abriendo oportunidades de acceso a herramientas tecnológicas que faciliten su inserción laboral.
Sobre Martín:
Es ingeniero en sistemas de información, y trabaja en sistemas hace 11 años, siempre en el área de Testing. Ha trabajado en varios equipos con diferentes entornos y con distintas actividades tales como: testing manual, automatizado, realizó tareas de Scrum Master, también ha hecho análsisis de requerimientos. Actualmente se encuentra investigando sobre Performance Testing. Esta certificado como Scrum Master y en Agile Leadership. Le gusta mucho el trabajo en equipo, poder aprender y principalmente compartir todo nuevo conocimiento.
Argentesting 2019 - Cambiando el paradigma de la automatizaciónArgentesting
Cambiando el paradigma de la automatización por Leonardo Mantovan - QActions
Sobre la charla:
Hasta el momento, la mayoría de lo que hemos escuchado de la automatización de pruebas implica el desarrollo de scripts a través de un framework ya sea open source o una herramienta licenciada, con un alto esfuerzo en el entendimiento de la herramienta, requiriendo conocimientos mínimos de programación, por lo cual se ve limitado el uso de dichas herramientas para Analistas Tester que no tienen un perfil más técnico. A su vez debemos considerar con estos modelos una línea de mantenimiento que dependiendo los cambios que se producen en los sistemas, por su propia evolución, puede no ser menor. Pero tenemos buenas noticias, el paradigma ha cambiado. ¿Qué opinan si les digo que no deben tener conocimiento pogramático en algún lenguaje en particular? ¿Y si también les digo que si se presenta algún cambio en el software, luego de haber creado nuestras automatizaciones, ya no necesitamos rastrear dichos cambios en forma manual? Y aún hay más, ¿Qué les parece automatizar la estrategia de diseño de pruebas y que a partir de la misma se genera en forma automática la automatización de pruebas que le corresponde? ¡Si, amigos! Este nuevo mundo existe. A partir de este punto se describirá el funcionamiento del modelo, sus posibles integraciones con otros modelos, los requisitos de hardware y los requisitos de soft skills necesarios y otros conocimientos requeridos. Y hablaremos de tiempos y retorno de inversión.
Sobre Leonardo:
Es el líder del área de Automatización y Herramientas de QAcstions System SRL. Certificado en Tosca Commander por Tricentis. Se dedica exclusivamente a testing desde hace 5 años y es tester certificado por ISTQB. Entre las tecnologías que maneja en QActions se encuentran Selenium Java, Microfocus UFT, Microfocus LoadRunner, Tricentis Tosca, Tricentis Flood, Adobe JMeter, entre otras. Actualmente se encarga de gestionar el área técnica de la empresa, manejar los clientes y equipos de automatización y la investigación y capacitación de herramientas para la empresa.
Introducción al Test-Driven Development (TDD) por Eric MignotPablo Lischinsky
Introducción al Test-Driven Development (TDD) por Eric Mignot
Charla dictada en la Universidad de Los Andes, Mérida-Venezuela, Mayo 2012.
Ciclo en cascada de desarrollo de software. Testing. Valor entregado a los clientes y usuarios.
Agilidad, Scrum.
Colaboración, trabajo en equipo, especificaciones de software, tests, calidad del software.
Ciclo TDD: 1) Test, 2) Code y 3) Refactor.
Práctica, ejemplos.
Charla evento TestingUY 2017 - El mokeo como herramienta para pruebas de Soft...TestingUy
Expositor: Rodrigo Gómez
Resumen: El mockeo es una herramienta utilizada principalmente por los desarrolladores; para la creación de software. Su uso para pruebas, fuera de lo que son test unitarios tiende a ser más acotada. Hoy en día, el aumento de la complejidad de las aplicaciones, así como el manejo de un mayor número de pruebas automáticas, hace que utilicemos más esta herramienta; para poder realizar nuestras pruebas.
Los objetivos de esta charla son:
difundir el uso y utilidad, de esta herramienta.
establecer cómo puede servirnos para mejorar nuestras pruebas.
compartir un caso real de implementación, que se utilizó para solucionar problemas concretos.
Charla evento TestingUY 2017 - Automatización en gran escalaTestingUy
Expositor: Franco Santi
Resumen: En general los proyectos de automatización suelen seguir un patrón similar, el mismo tipo de trabajo, duración, tamaño de equipo, tecnologías, objetivos, entre otros. Pero, ¿qué ocurre cuando un proyecto sale de la regla y su dimensión se multiplica en todos los aspectos?. La primer acción que pensamos naturalmente es aumentar los recursos asignados, ¿pero es eso suficiente? ¿Cuáles son las variables que entran en juego al escalar?. El objetivo de esta charla es, basado en proyectos reales, brindar tips y herramientas que pueden ser de utilidad en situaciones en que la escala comienza a ser un desafío y causal de futuros problemas.
Transparencias de la charla con la que participamos en las III Jornadas de Java de Alicante.
En las transparencias se muestran algunas herramientas para implantar metodologías ágiles en Java y se comentan algunas anécdotas e historias de diferentes implantaciones.
¿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.
Argentesting 2019 - Cómo convertirse en un tester ágilArgentesting
Cómo convertirse en un tester ágil por Gisela Vivas y Martin Zapata - Endava
Sobre la charla:
Te contaremos cómo ser un Agile Tester: algunas diferencias entre un equipo ágil y un equipo funcional, los principios de un tester ágil, y las habilidades deseables. También hablaremos sobre una herramienta para poder planificar el testing durante el proceso de desarrollo y cómo planear puntualmente las pruebas automatizadas.
Sobre Gisela:
Es ingeniera en sistemas con 12 años de experiencia en testing de software en múltiples y diversas áreas tales como: finanzas, e-commerce, sales, salud, compañías aéreas, etc. Trabajo en Endava desde hace 9 años. En su experiencia laboral ha trabajado como tester manual y automatizado en testing funcional y no funcional para aplicaciones móbiles , web y desktop. Está certificada en Scrum Mater, Scrum developer Y Agile Leadership. Además es instructora de Testing en un proyecto de inclusión social de jóvenes abriendo oportunidades de acceso a herramientas tecnológicas que faciliten su inserción laboral.
Sobre Martín:
Es ingeniero en sistemas de información, y trabaja en sistemas hace 11 años, siempre en el área de Testing. Ha trabajado en varios equipos con diferentes entornos y con distintas actividades tales como: testing manual, automatizado, realizó tareas de Scrum Master, también ha hecho análsisis de requerimientos. Actualmente se encuentra investigando sobre Performance Testing. Esta certificado como Scrum Master y en Agile Leadership. Le gusta mucho el trabajo en equipo, poder aprender y principalmente compartir todo nuevo conocimiento.
Argentesting 2019 - Cambiando el paradigma de la automatizaciónArgentesting
Cambiando el paradigma de la automatización por Leonardo Mantovan - QActions
Sobre la charla:
Hasta el momento, la mayoría de lo que hemos escuchado de la automatización de pruebas implica el desarrollo de scripts a través de un framework ya sea open source o una herramienta licenciada, con un alto esfuerzo en el entendimiento de la herramienta, requiriendo conocimientos mínimos de programación, por lo cual se ve limitado el uso de dichas herramientas para Analistas Tester que no tienen un perfil más técnico. A su vez debemos considerar con estos modelos una línea de mantenimiento que dependiendo los cambios que se producen en los sistemas, por su propia evolución, puede no ser menor. Pero tenemos buenas noticias, el paradigma ha cambiado. ¿Qué opinan si les digo que no deben tener conocimiento pogramático en algún lenguaje en particular? ¿Y si también les digo que si se presenta algún cambio en el software, luego de haber creado nuestras automatizaciones, ya no necesitamos rastrear dichos cambios en forma manual? Y aún hay más, ¿Qué les parece automatizar la estrategia de diseño de pruebas y que a partir de la misma se genera en forma automática la automatización de pruebas que le corresponde? ¡Si, amigos! Este nuevo mundo existe. A partir de este punto se describirá el funcionamiento del modelo, sus posibles integraciones con otros modelos, los requisitos de hardware y los requisitos de soft skills necesarios y otros conocimientos requeridos. Y hablaremos de tiempos y retorno de inversión.
Sobre Leonardo:
Es el líder del área de Automatización y Herramientas de QAcstions System SRL. Certificado en Tosca Commander por Tricentis. Se dedica exclusivamente a testing desde hace 5 años y es tester certificado por ISTQB. Entre las tecnologías que maneja en QActions se encuentran Selenium Java, Microfocus UFT, Microfocus LoadRunner, Tricentis Tosca, Tricentis Flood, Adobe JMeter, entre otras. Actualmente se encarga de gestionar el área técnica de la empresa, manejar los clientes y equipos de automatización y la investigación y capacitación de herramientas para la empresa.
Introducción al Test-Driven Development (TDD) por Eric MignotPablo Lischinsky
Introducción al Test-Driven Development (TDD) por Eric Mignot
Charla dictada en la Universidad de Los Andes, Mérida-Venezuela, Mayo 2012.
Ciclo en cascada de desarrollo de software. Testing. Valor entregado a los clientes y usuarios.
Agilidad, Scrum.
Colaboración, trabajo en equipo, especificaciones de software, tests, calidad del software.
Ciclo TDD: 1) Test, 2) Code y 3) Refactor.
Práctica, ejemplos.
Charla evento TestingUY 2017 - El mokeo como herramienta para pruebas de Soft...TestingUy
Expositor: Rodrigo Gómez
Resumen: El mockeo es una herramienta utilizada principalmente por los desarrolladores; para la creación de software. Su uso para pruebas, fuera de lo que son test unitarios tiende a ser más acotada. Hoy en día, el aumento de la complejidad de las aplicaciones, así como el manejo de un mayor número de pruebas automáticas, hace que utilicemos más esta herramienta; para poder realizar nuestras pruebas.
Los objetivos de esta charla son:
difundir el uso y utilidad, de esta herramienta.
establecer cómo puede servirnos para mejorar nuestras pruebas.
compartir un caso real de implementación, que se utilizó para solucionar problemas concretos.
Charla evento TestingUY 2017 - Automatización en gran escalaTestingUy
Expositor: Franco Santi
Resumen: En general los proyectos de automatización suelen seguir un patrón similar, el mismo tipo de trabajo, duración, tamaño de equipo, tecnologías, objetivos, entre otros. Pero, ¿qué ocurre cuando un proyecto sale de la regla y su dimensión se multiplica en todos los aspectos?. La primer acción que pensamos naturalmente es aumentar los recursos asignados, ¿pero es eso suficiente? ¿Cuáles son las variables que entran en juego al escalar?. El objetivo de esta charla es, basado en proyectos reales, brindar tips y herramientas que pueden ser de utilidad en situaciones en que la escala comienza a ser un desafío y causal de futuros problemas.
Transparencias de la charla con la que participamos en las III Jornadas de Java de Alicante.
En las transparencias se muestran algunas herramientas para implantar metodologías ágiles en Java y se comentan algunas anécdotas e historias de diferentes implantaciones.
¿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.
Presentacion sobre cómo elaborar procesos de QA en proyectos de desarrollo de software desde una etapa temprana hasta la validación final del software.
Se realizará caso práctico con Selenium.
Esta es la presentación que he preparado para mis compañeros de @NITSNETS en la que explico la integración del testing a todos los niveles de un proyecto y profundizo un poco más en la aplicación práctica para un entorno basado en Laravel.
Estas slides son una presentación a las pruebas de software. Para qué sirven, qué tipos de pruebas existen, qué librerías, frameworks y herramientas se pueden utilizar para implemenar pruebas automatizadas, etc.
En esta charla, exploraremos las distintas estrategias y métodos para probar aplicaciones basadas en LLMs como GPT, el modelo de lenguaje desarrollado por OpenAI. A medida que la inteligencia artificial se integra cada vez más en nuestras vidas, es crucial garantizar la calidad, eficiencia y confiabilidad de las aplicaciones que utilizan tecnologías de AI como ChatGPT.
La charla ayudará a comprender mejor los desafíos de probar este tipo de sistemas, así como aportará algunas de las técnicas de testing aplicables, y sus limitaciones, herramientas existentes y otras que hacen falta. Esto tanto para testing funcional, automatizado y testing no funcional (performance, seguridad, accesibilidad, etc). Es importante desde ya reflexionar sobre cómo enfrentarse a estos nuevos desafíos, considerando que por más que hoy no estén probando ya este tipo de aplicaciones, no faltará mucho tiempo para que eso suceda.
Descripción de la plática:
CoreML es el puente entre iOS y Machine Learning, pero con ciertas limitantes. Explotaremos el potencial que tiene CoreML, responderemos las siguientes preguntas:
- ¿Cómo podríamos ir más allá de los límites de CoreML?
- ¿Cómo puede nuestra App aprender de la experiencia?
In-App purchases es la manera en la cual podemos integrar compras o suscripciones dentro de nuestras apps para ofrecer ya sea contenido extra o nuevas características en las mismas. Integraremos StoreKit en una aplicación en vivo para verlo en acción.
La propiedad IBDesignable permite al desarrollador generar una UIView, UIControl o UIViewController con propiedades definidas de acuerdo a nuestras necesidades. La mayor ventaja y diferencia con una subclase es que nos brinda la capacidad de editar estas propiedades desde el Interface Builder y ver estos cambios en tiempo real.
Los nuevos protocolos son muy parecidos a las interfaces en lenguajes de programación, aunque solo a simple vista. En Swift podemos hacer uso de los protocolos para dar increíbles poderes de personalización a nuestras clases y tipos de valor.
Taller sobre la herramienta PaintCode de @vicktormanuel
¿Qué es paint code?, ¿Por qué debería tenerlo en cuenta o conocerlo?, ¿Para qué me sirve esta herramienta?
Presentación de @JDandini sobre la arquitectura VIPER:
¿Hay algo mas alla de la arquitectura MV(X)[MVC, MVVM etc]?
¿Por qué debería dejar lo que ya se por otro tipo de arquitectura?
Pues bueno averigüemoslo juntos, te quiero presentar una arquitectura nueva que es VIPER, basada en el SRP (principio de una sola responsabilidad por sus siglas en inglés) la cual te prometo ayudará a concebir el enfoque de tus proyectos de otra forma.
Programación funcional con swift. Se ven conceptos como funciones de primera clase, funciones de orden superior, métodos como filter, map y el patrón Result para la gestión de errores.
Presentación por @gandhimena
- Relación diseñador - programador
- Maquetado de dispositivos
- Prototipado rápido
- Assets
- Práctica de diseño para iOS y exportación de Assets.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
2. ¿Te ha pasado que...?
● Al reescribir código quieres asegurarte de que todo funciona
● No estas seguro si tu arquitectura es correcta
● Quieres que tu código sea bug free
3. ¿Te ha pasado que...?
● Heredas código y al hacerle cambios ruegas a todos los dioses
paganos para que algo no se rompa
4. ¿Para qué hacemos pruebas automáticas?
● Probar que el código funcione
● Prevenir bugs y errores de regresión
● Ayuda a pensar sobre interacciones en tu código
● Escribir documentación viviente
Creas código mantenible
5. ¿Qué debo probar?
1. Lo nuevo
2. La funcionalidad central
3. Flujos de UI más comunes
4. Límites
6. ¿Cómo es una buena prueba?
● Rápida
● Aislada
● Repetible
● Auto validada
9. Verifica tu arquitectura
● ¿Las responsabilidades de las clases y métodos en tu aplicación
están bien definidas?
● Elimina acoplamiento de código
10. “Si no puedes probar algo fácilmente, tienes un
error en tu arquitectura”
Uncle Bob
11. Red, green & refactor
● Escribe una prueba
● Provoca un fallo a la prueba (inputs)
● Provoca que la prueba pase (inputs)
● Refactoriza tu prueba
12. Ventajas y desventajas
● Seguridad de que todo funciona
● Identificación de errores de regresión
● Seguridad al ejecutar cambios
● Mejor calidad de código
● Sólo se escriben una vez
13. Desventajas
● Mayor tiempo al desarrollar algo
● En caso de no tener es muy largo escribir pruebas
● Proceso “tedioso y aburrido”