Usa Docker para mejorar tu entorno de pruebas

En el departamento de calidad, debemos tener en cuenta unos conceptos básicos si queremos entender como tratar con Docker en un sistema de Integración contínua. Para empezar, nos hacemos las siguientes preguntas:

¿Que necesitamos para construir un entorno de Integración Continua?:

– Monitorizar el repositorio de código fuente.

– Compilar el producto.

– Pasar los tests automáticos.

– Auditar el código de forma automática.

En un escenario clásico, para cada entorno ( dev, test, uat, prod) tendríamos unas cuantas máquinas virtuales encargadas de hacer todas estas tareas, pero ¿cómo hacer un entorno mucho más ligero, más fácil de escalar y más sencillo de portar?. Con el uso de contendores.

+ Leer más

Agile Testing: A Practical Guide for Testers and Agile Teams 

A Practical Guide for Testers and Agile Teams. Addison-Wesley Signature Series (Cohn))

Mi primera estrategia de Test con Ágile, la definí gracias a este libro. Había recibido un curso de Agile, pero quise saber más de cómo mejorar el test usando Agile.

El libro se sumerge en los principios y prácticas para tener éxito al introducir Testing Agile con el equipo. Explica cómo utilizar modelos como los cuadrantes de prueba Agile para visualizar y planificar con éxito todas las actividades de prueba. Junto con varios colaboradores de equipos de distribución de software de todo el mundo, comparte formas de resolver problemas comunes y tener éxito con la planificación de las pruebas, los test exploratorios, la automatización y el ajuste de todas estas actividades en los diferentes Sprints.

+ Leer más

Herramientas integradas en navegadores para QA

Los navegadores hoy en día tienen herramientas para mejorar la calidad de software.

Aún recuerdo cuando las herramientas que te encontrabas en los navegadores sólo te permitían ver el código fuente. Hoy en día, te permiten hacer muchas más cosas, como ejecutar y depurar fragmentos de JavaScript, monitorear el tráfico de red en tiempo real a medida que tu aplicación o página se carga para identificar cuellos de botella, analizar el rendimiento de CSS y garantizar que su código no utiliza demasiada memoria o demasiados CPU… Desde una perspectiva de pruebas, podemos reproducir cómo una aplicación o página web se representará en diferentes navegadores, así como en diferentes dispositivos y plataformas a través de la magia del diseño de simuladores incorporados.

+ Leer más

Cómo los Webservices encajan en un sistema de integración contínua? 

En un entorno con integración continua, ¿deberíamos refactorizar una arquitecturaa de Web Services a microservicios?. 

Una API, es el medio por el cual los terceros pueden escribir código que interactúa con otro código.

Web Services, es una gran aplicación monolítica de Java que se usa para intercambiar datos entre aplicaciones, con una comunicación estándar definida por W3C, y con una interfaz generalmente especificada cómo WSDL, y casi siempre funciona a través de HTTP.

+ Leer más

Mejorar la calidad en los requerimientos con BDD, cucumber y Gherkin. 

Aquí, es dónde entra el Test de Aceptación, para expresar lo que se ha entendido y lo importante, es que no se empieza a programar, hasta que el que tiene la idea no los acepta. El Test de Aceptación ayuda al equipo a focalizar esfuerzos y a asegurar que lo que se está entregando no va a tener que volver a tocarse, a no ser que entren modificaciones, pero eso ya se tratará como una nota de cambio.

+ Leer más

Critical thinking, la mejor Herramienta para un QA.

Si llevamos la definición al mundo del desarrollo del software; Un test, es "un procedimiento para la evaluación crítica del software", tenemos algunos criterios estándares para analizarlo y evaluarlo:  Criterios funcionales ( Requisitos, Historias, ... ) y Criterios no funcionales ( accesibilidad, escalabilidad, usabilidad, portabilidad, seguridad, rendimiento, etc..). Pero estos procedimientos estándares, definen cómo realizar las pruebas de software, pero no explican el por qué debemos realizar las pruebas. Aquí, es dónde entra el pensamiento crítico que el QA puede aportar.

+ Leer más

Importancia de la retrospectiva en la estrategia de pruebas

Bajo mi punto de vista, la retrospectiva es clave para asegurar el éxito en cualquier proyecto. Es la reunión periódica dónde se revisa, cómo han ido las cosas y se proponen acciones para mejorar las siguientes entregas, todo con el objetivo de la mejora continua. Una retrospectiva puede ayudar a determinar si todos en el equipo, saben cuál es la estrategia de prueba que se va a seguir, y sobre todo si todos en el equipo, están de acuerdo en los aspectos de la estrategia que se ha implementado hasta el momento.

+ Leer más

Porqué verificación y validación no significan la misma cosa

Los términos de validación y verificación son usados en muchos campos, también lo son en la calidad del software. Por eso debemos tener claro, cuando utilizar uno otro. "La verificación está destinada a verificar que un producto cumple con un conjunto de especificaciones. La validación está destinada a asegurar que un producto, satisface las necesidades del usuario".

+ Leer más

Changing times, quality for humans in a digital age

Este libro, habla de calidad, especialmente de calidad del software y tecnología. Es un libro también acerca de la gente, tanto de las personas que usan la tecnología y de las sensaciones que experimentan como resultado, y también de aquellos que crean tecnología y de los retos a los que se afrontan con ello. Por esta razón, es un libro que también habla sobre procesos, acciones y métodos asociados a cómo desarrollamos software.

Libro muy entretenido y apto para todos los publicos, no sólo para los que nos dedicamos a construir software, ya que se explica la calidad y la creación del software desde un contexto muy humano.

+ Leer más

Asertividad en el equipo para mejorar la calidad

“La asertividad es una habilidad social que se trabaja desde el interior de la persona. Se define como la habilidad para ser claros, francos y directos, diciendo lo que se quiere decir, sin herir los sentimientos de los demás, ni menospreciar la valía de los otros, sólo defendiendo sus derechos como persona.“

Mi carrera profesional se ha basado en la creación del software, pero al apasionarme el mundo de las personas, me formé también en programación lingüística (PNL), metodología que ayuda a desenvolverse mejor y a ser más competente en lo que uno hace. Aquí fue cuando descubrí lo importante que es la asertividad cuando estamos construyendo software y más concretamente para asegurar su calidad.

+ Leer más

Importancia del Role de calidad en Big Data

El foco tradicional del Test ha sido verificar que el código cumple con las especificaciones del proyecto. No es hasta las pruebas de aceptación, cuando el usuario valida. Momento en el que es normal descubrir muchos problemas en los que el sistema no hace lo que el usuario necesita o desea, y quizás ya sea demasiado tarde. Esto, no garantizan el desarrollo de sistemas con éxito, por lo que se debe busca adelantar la calidad a etapas anteriores del ciclo.

A medida que avanzamos en el mundo del Big Data y de IoT, los problemas de calidad se vuelven cada vez más complejos. Tenemos los tres V tradicionales de grandes datos: La gran velocidad a la que se crean, almacenan, analizan y visualizan los datos, así como el gran volumen de datos que se producen diariamente, y su variedad de datos, provenientes de muy diversas fuentes.

+ Leer más

¿Cómo puede alguien en el equipo ayudar a introducir DevOps en la organización?

DevOps es un cambio cultural; es una filosofía acerca de hacer que todos colaboren, se comuniquen juntos y averigüen cómo mejorar procesos. Aplica los principios ágiles de colaboración y comunicación, haciendo que todos trabajen juntos en equipo, extendiéndolo a operaciones y consiguiendo la implicación de todos en el ciclo de vida del software, desde la toma de requisitos hasta la puesta en marcha, con el objetivo común de hacer un producto más eficiente.

+ Leer más

Test de cobertura

Hay muchas maneras de cubrir el producto al hacer las pruebas y cada método de cobertura es diferente y tiene su propia dinámica. En conversaciones de calidad con CEOS y directivos utilizan el Test de Cobertura para medir y cuantificar el proyecto. Cuando hablas de Test Unitarios el Test de cobertura sirve para analizar el código

+ Leer más

Pruebas de rendimiento que un QA debería conocer

Meterme en pruebas de rendimiento me ha parecido muy dibertido. Parametrizar los tests e interpretar los resultados según sus valores, puede ser algo parecido a un juego de estrategia.

El objetivo de las pruebas de rendimiento no es encontrar errores, sino eliminar los cuellos de botella del rendimiento, analizando los tiempos de respuesta (velocidad),  el uso de recursos (estabilidad), así como determinar la carga máxima de usuarios que puede soportar la aplicación (escalabilidad)

Prueba de rendimiento – Performance Testing

Una prueba de rendimiento tiene el objetivo de estudiar el sistema en una situación de carga concreta, de forma que puedan obtenerse estadísticas en cuanto a uso de recursos, tiempo de respuesta, etc.

+ Leer más