<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>qa on Una QA en Apuros</title><link>https://unaqaenapuros.com/categories/qa/</link><description>Recent content in qa on Una QA en Apuros</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 10 Aug 2026 07:06:00 +0000</lastBuildDate><atom:link href="https://unaqaenapuros.com/categories/qa/index.xml" rel="self" type="application/rss+xml"/><item><title>090 – Playwright: Fixtures III – Tipado, composición y mergeTests.</title><link>https://unaqaenapuros.com/2026/08/10/090-playwright-fixtures-iii-tipado-composicion-y-mergetests/</link><pubDate>Mon, 10 Aug 2026 07:06:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/08/10/090-playwright-fixtures-iii-tipado-composicion-y-mergetests/</guid><description>¡Hola a todos!
Llegamos a la tercera y última entrega de nuestra mini-serie sobre fixtures en Playwright. En las dos entradas anteriores vimos los fundamentos de las fixtures, las de Page Objects, las de API, las de worker scope y las de datos opcionales. Ahora vamos a ver cómo llevar todo esto al siguiente nivel: tipado con TypeScript, composición de fixtures en una arquitectura escalable y la función mergeTests para mantener el código ordenado en proyectos grandes. ¡Empezamos!</description></item><item><title>089 – Playwright: Fixtures II – Worker Scope y datos opcionales.</title><link>https://unaqaenapuros.com/2026/07/27/089-playwright-fixtures-ii-worker-scope-y-datos-opcionales/</link><pubDate>Mon, 27 Jul 2026 07:04:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/07/27/089-playwright-fixtures-ii-worker-scope-y-datos-opcionales/</guid><description>¡Hola a todos!
Continuamos con la mini-serie sobre fixtures en Playwright. En la entrada anterior vimos qué son las fixtures y cómo crear las más básicas: las de Page Objects y las de clases de API. En esta segunda parte subimos un poco el nivel y veremos dos tipos de fixtures más avanzados: las fixtures con ámbito de worker ( worker scope), ideales para operaciones costosas que se pueden reutilizar entre tests, y las fixtures de datos opcionales, que nos permiten definir datos por defecto sobrescribibles en tests concretos. ¡Empezamos!</description></item><item><title>088 – Playwright: Fixtures I – Introducción, Page Objects y API.</title><link>https://unaqaenapuros.com/2026/07/13/088-playwright-fixtures-i-introduccion-page-objects-y-api/</link><pubDate>Mon, 13 Jul 2026 07:02:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/07/13/088-playwright-fixtures-i-introduccion-page-objects-y-api/</guid><description>¡Hola a todos!
Seguimos con Playwright. Hoy empezamos una mini-serie dentro de la serie: vamos a hablar de las fixtures. Es uno de los temas más importantes de Playwright y, al mismo tiempo, uno de los que más dudas genera cuando empiezas a usarlo en proyectos reales. Lo vamos a ver en tres entregas, y en esta primera cubriremos qué son las fixtures, para qué sirven, y cómo crear las dos más habituales: las de Page Objects y las de clases de API. ¡Empezamos!</description></item><item><title>087 – Playwright: El decorador @step() para mejorar tus reportes.</title><link>https://unaqaenapuros.com/2026/06/29/087-playwright-el-decorador-step-para-mejorar-tus-reportes/</link><pubDate>Mon, 29 Jun 2026 07:01:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/06/29/087-playwright-el-decorador-step-para-mejorar-tus-reportes/</guid><description>¡Hola a todos!
Seguimos con la serie de Playwright. En esta entrada vamos a hablar de algo que marca una gran diferencia a la hora de leer los reportes y las trazas de nuestros tests: el decorador @step(). Si usas Page Objects en tus tests, seguro que has visto alguna vez un reporte lleno de acciones de bajo nivel que cuesta seguir. Hoy vemos cómo solucionarlo de forma elegante. ¡Empezamos!</description></item><item><title>086 – Playwright: Por qué tu locator getByRole no funciona.</title><link>https://unaqaenapuros.com/2026/06/15/086-playwright-por-que-tu-locator-getbyrole-no-funciona/</link><pubDate>Mon, 15 Jun 2026 07:03:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/06/15/086-playwright-por-que-tu-locator-getbyrole-no-funciona/</guid><description>¡Hola a todos!
Seguimos con la serie de Playwright. En esta entrada vamos a hablar de uno de los problemas más comunes que nos encontramos cuando empezamos a automatizar con Playwright: el locator getByRole no encuentra el elemento aunque está ahí delante de nuestras narices. El test se queda esperando y acaba fallando por timeout. ¿Por qué pasa esto? La respuesta tiene que ver con ARIA y los nombres accesibles. ¡Empezamos!</description></item><item><title>085 – Playwright (VII): Playwright MCP y CLI.</title><link>https://unaqaenapuros.com/2026/06/01/085-playwright-vii-playwright-mcp-y-cli/</link><pubDate>Mon, 01 Jun 2026 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/06/01/085-playwright-vii-playwright-mcp-y-cli/</guid><description>¡Hola a todos!
Llegamos a la última entrada de nuestra serie sobre Playwright intensivo. En esta ocasión vamos a hablar de dos herramientas muy interesantes que permiten integrar Playwright con agentes de IA: el Playwright MCP y el Playwright CLI. ¡Empezamos!
¿Qué es el Playwright MCP? El Playwright MCP ( Model Context Protocol) es un servidor MCP desarrollado por Microsoft que proporciona capacidades de automatización de navegadores usando Playwright. Está disponible en https://github.com/microsoft/playwright-mcp.</description></item><item><title>084 – Playwright (VI): Playwright Test Agents</title><link>https://unaqaenapuros.com/2026/05/18/084-playwright-vi-playwright-test-agents/</link><pubDate>Mon, 18 May 2026 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/05/18/084-playwright-vi-playwright-test-agents/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de una de las funcionalidades más novedosas de Playwright: los Playwright Test Agents. Se trata de agentes basados en inteligencia artificial (nuestra nueva mejor amiga, la IA), que nos ayudan a generar y mantener tests de forma automática. ¿Suena bien, verdad? ¡Empezamos!
¿Qué son los Playwright Test Agents? Playwright incorpora de forma nativa tres agentes de IA para la generación automática de tests:</description></item><item><title>083- Playwright (V): CI/CD con GitHub Actions.</title><link>https://unaqaenapuros.com/2026/05/04/083-playwright-v-ci-cd-con-github-actions/</link><pubDate>Mon, 04 May 2026 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/05/04/083-playwright-v-ci-cd-con-github-actions/</guid><description>¡Hola a todos!
En las entradas anteriores hemos aprendido a instalar Playwright, ejecutar tests, escribirlos y depurarlos. Pero para que una suite de pruebas aporte valor real al equipo, necesitamos que se ejecute automáticamente en cada cambio de código. En esta entrada veremos cómo integrar Playwright en un pipeline de CI/CD con GitHub Actions. ¡Empezamos!
¿Por qué integrar Playwright en CI/CD? Tener los tests corriendo en local está muy bien, pero el verdadero valor de los tests automatizados se obtiene cuando se ejecutan automáticamente en cada pull request o cada push a la rama principal. Esto nos permite:</description></item><item><title>082 – Playwright (IV): Depuración y Trace Viewer.</title><link>https://unaqaenapuros.com/2026/04/28/082-playwright-iv-depuracion-y-trace-viewer/</link><pubDate>Tue, 28 Apr 2026 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/04/28/082-playwright-iv-depuracion-y-trace-viewer/</guid><description>¡Hola a todos!
En las entradas anteriores aprendimos a instalar Playwright, a ejecutar los tests y a escribirlos, pero cuando los tests fallan, necesitamos herramientas para entender qué ha pasado. En esta entrada veremos las diferentes formas de depurar tests con Playwright y cómo usar el Trace Viewer para analizar en detalle lo que ocurrió durante la ejecución. ¡Empezamos!
Opciones de ejecución para depurar. Antes de entrar en las herramientas de depuración, conviene recordar que Playwright ofrece varios flags de ejecución que nos pueden ayudar a entender qué está pasando:</description></item><item><title>080 – Playwright (II): Ejecutando los primeros tests.</title><link>https://unaqaenapuros.com/2026/04/20/080-playwright-ii-ejecutando-los-primeros-tests/</link><pubDate>Mon, 20 Apr 2026 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/04/20/080-playwright-ii-ejecutando-los-primeros-tests/</guid><description>¡Hola a todos!
En la entrada anterior vimos qué es Playwright y cómo instalarlo. Ahora que ya tenemos el proyecto configurado, toca hablar de cómo ejecutar los tests y de las diferentes formas que tenemos de visualizar los resultados. ¡Empezamos!
Nuestro proyecto de base. Para poder ver ejemplos, usaremos de base un proyecto creado por mí en mi repositorio:
https://github.com/estefafdez/playwright-template
con una estructura básica de Playwright ya precreada para que puedas usarla y te sea más fácil tener una base por la que empezar.</description></item><item><title>081 – Playwright (III): Escribiendo nuestros primeros tests.</title><link>https://unaqaenapuros.com/2026/04/13/081-playwright-iii-escribiendo-nuestros-primeros-tests/</link><pubDate>Mon, 13 Apr 2026 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/04/13/081-playwright-iii-escribiendo-nuestros-primeros-tests/</guid><description>¡Hola a todos!
Ya sabemos instalar Playwright y ejecutar los tests de ejemplo de nuestro repo base. Ahora toca la parte más importante: aprender a escribir nuestros propios tests. En esta entrada veremos la estructura de un test, las acciones más importantes, cómo hacer aserciones y cómo organizar los tests con hooks. ¡Empezamos!
Estructura de un test. Los tests de Playwright son sencillos en su estructura: realizan acciones sobre la página y comprueban el estado de la misma contra unas expectativas. Veamos el test de ejemplo que genera Playwright al instalarse:</description></item><item><title>079 – Playwright (I): Introducción e instalación.</title><link>https://unaqaenapuros.com/2026/04/06/079-playwright-i-introduccion-e-instalacion/</link><pubDate>Mon, 06 Apr 2026 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2026/04/06/079-playwright-i-introduccion-e-instalacion/</guid><description>¡Hola a todos!
Aquí Estefanía a los mandos ( ¡y no su IA!), una frase que estoy leyendo mucho últimamente y que tiene totalmente la razón en la época en la que vivimos. Antes de nada, disculpad por la laaaarga pausa en este blog, pero hay veces que la vida te consume y no te quedan ni fuerzas, ni energías, ni tiempo para poder dedicar un ratito a escribir, pero hemos vuelto, espero que con muchas cositas de aquí en adelante :)</description></item><item><title>078 – Pruebas de rendimiento (V): Apache Jmeter.</title><link>https://unaqaenapuros.com/2024/09/16/078-pruebas-de-rendimiento-v-apache-jmeter/</link><pubDate>Mon, 16 Sep 2024 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2024/09/16/078-pruebas-de-rendimiento-v-apache-jmeter/</guid><description>¡Hola a todos!
Volvemos a la carga para hablar de Apache Jmeter, una de las herramientas de automatización de pruebas de rendimiento más conocidas… ¿Empezamos?
¿Qué es Jmeter? JMeter es un proyecto de Apache que puede ser utilizado como una herramienta de prueba de carga para analizar y medir el desempeño de una variedad de servicios, con énfasis en aplicaciones web. Con esta aplicación podemos realizar también pruebas funcionales.</description></item><item><title>077 – Pruebas de rendimiento (IV): Herramientas.</title><link>https://unaqaenapuros.com/2024/09/02/077-pruebas-de-rendimiento-iv-herramientas/</link><pubDate>Mon, 02 Sep 2024 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2024/09/02/077-pruebas-de-rendimiento-iv-herramientas/</guid><description>Antes de nada, bienvenidos de nuevo a esta etapa del blog, donde seguiremos hablando de testing, de calidad y continuaremos con los artículos relacionados con pruebas, en este caso de rendimiento, con las que terminamos la última entrada. Espero que el retraso y la espera merezcan la pena! ¿Empezamos?
En el mundo del desarrollo de software, asegurar que nuestras aplicaciones y servicios web funcionen de manera óptima bajo diversas condiciones de carga es crucial. Las herramientas de pruebas de rendimiento juegan un papel esencial en este proceso, ayudándonos a identificar cuellos de botella y a garantizar una experiencia de usuario fluida. A continuación, presentamos una lista de herramientas destacadas que pueden ayudarte a medir y optimizar el rendimiento de tus aplicaciones:</description></item><item><title>076 – Pruebas de rendimiento (III): Metodología de pruebas de rendimiento.</title><link>https://unaqaenapuros.com/2021/11/03/076-pruebas-de-rendimiento-iii-metodologia-de-pruebas-de-rendimiento/</link><pubDate>Wed, 03 Nov 2021 08:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2021/11/03/076-pruebas-de-rendimiento-iii-metodologia-de-pruebas-de-rendimiento/</guid><description>¡Hola a todos!
Antes de nada, bienvenidos de nuevo y perdonad el retraso en las entradas, últimamente no he tenido tiempo de sentarme y preparar nuevo material pero volvemos a la carga con más fuerza que nunca y más entradas de rendimiento&amp;hellip; ¿Empezamos?
Aprendiendo sobre metodologías de pruebas de rendimiento. Según Microsoft Developer Network, la Metodología de las Pruebas de Rendimiento consiste en las siguientes actividades:
Identificar el entorno de pruebas. Identificar el entorno físico de pruebas y el entorno de producción, así como las herramientas y recursos de que dispone el equipo de prueba. El entorno físico incluye hardware, software y configuraciones de red. Tener un profundo conocimiento de todo el entorno de prueba desde el principio permite diseños más eficientes de pruebas y la planificación y ayuda a identificar problemas en las pruebas en fases tempranas del proyecto. En algunas situaciones, este proceso debe ser revisado periódicamente durante todo el ciclo de vida del proyecto.</description></item><item><title>075 - Pruebas de rendimiento (II): Tipos de pruebas.</title><link>https://unaqaenapuros.com/2021/06/30/075-pruebas-de-rendimiento-ii-tipos-de-pruebas/</link><pubDate>Wed, 30 Jun 2021 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2021/06/30/075-pruebas-de-rendimiento-ii-tipos-de-pruebas/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de los tipos de pruebas de rendimiento. ¡Comenzamos!
Tipos de pruebas de rendimiento. Algunas de las pruebas que pueden realizarse son:
Prueba de carga. Este es el tipo más sencillo de pruebas de rendimiento. Una prueba de carga se realiza generalmente para observar el comportamiento de una aplicación bajo una cantidad de peticiones esperada. Esta carga puede ser el número esperado de usuarios concurrentes utilizando la aplicación y que realizan un número específico de transacciones durante el tiempo que dura la carga. Esta prueba puede mostrar los tiempos de respuesta de todas las transacciones importantes de la aplicación. Si la base de datos, el servidor de aplicaciones, etc&amp;hellip; también se monitorizan, entonces esta prueba puede mostrar el cuello de botella en la aplicación.</description></item><item><title>074 - Pruebas de rendimiento (I)</title><link>https://unaqaenapuros.com/2021/06/09/074-pruebas-de-rendimiento-i/</link><pubDate>Wed, 09 Jun 2021 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2021/06/09/074-pruebas-de-rendimiento-i/</guid><description>¡Hola a todos!
En esta nueva serie de post comenzamos con las pruebas de rendimiento y toda la información sobre ellas.
¡Comenzamos!
¿Qué son las pruebas de rendimiento? Las pruebas de rendimiento son las pruebas que se realizan, desde una perspectiva, para determinar lo rápido que realiza una tarea un sistema en condiciones particulares de trabajo. También puede servir para validar y verificar otros atributos de la calidad del sistema, tales como la escalabilidad, fiabilidad y uso de los recursos.</description></item><item><title>073 - SoapUI</title><link>https://unaqaenapuros.com/2021/05/12/073-soapui/</link><pubDate>Wed, 12 May 2021 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2021/05/12/073-soapui/</guid><description>¡Hola a todos!
Antes de nada muchas gracias a todos por leerme y por seguir este blog desde el principio apoyando y compartiendo su contenido por las redes sociales. La verdad es que es un honor para mi ser capaz de ayudaros a todos y espero que toda la documentación que tengo por aquí os ayude a crecer y a mejorar como QAs.
Ahora si&amp;hellip; ¡Comenzamos!
¿Qué es SoapUI? SoapUI es una herramienta de gran alcance diseñada para ayudar en la prueba y el desarrollo de aplicaciones. Permite efectuar el testeo de la web, con docenas de características, incluyendo una interfaz simple, fácil e intuitiva. Permite la utilización de métodos de captura y repetición, siendo una herramienta de gran ayuda en la realización de pruebas de carga de gran alcance, informes detallados, gráficos, etc…</description></item><item><title>071 - Pruebas de Integración (II)</title><link>https://unaqaenapuros.com/2021/03/31/071-pruebas-de-integracion-ii/</link><pubDate>Wed, 31 Mar 2021 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2021/03/31/071-pruebas-de-integracion-ii/</guid><description>¡Hola a todos!
En esta entrada vamos a seguir con las pruebas de integración como empezamos en la entrada anterior. Esta vez vamos a aprender qué tipos de pruebas de integración existen así como sus ventajas e inconvenientes. ¡Empezamos!
Tipos de pruebas de integración. Existen principalmente dos tipos de pruebas de integración:
No incrementales: combinar todos los módulos y probar todo el programa en su conjunto. El resultado puede ser un poco caótico con un gran conjunto de fallos y la consiguiente dificultad para identificar el módulo (o módulos) que los provocó. Incrementales: el programa se prueba en pequeñas porciones en las que los fallos son más fáciles de detectar. Existen dos tipos de integración incremental, ascendente y descendente. Incrementales ascendente: empieza la construcción y la prueba con los módulos atómicos, es decir, módulos de los niveles más bajos de la estructura del programa. Dado que los módulos son integrados de abajo hacia arriba, el procesamiento requerido de los módulos subordinados siempre está disponible y se elimina la necesidad de resguardo. Los pasos a dar: Se combinan los módulos de bajo nivel en grupos que realicen una subfunción específica del software. Se escribe un controlador (un programa de control de la prueba) para coordinar la entrada y salida de los casos de prueba. Se prueba el grupo. Se eliminan los controladores y se combinan los grupos moviéndose hacia arriba por la estructura del programa. Incrementales descendente: inicia del módulo de control principal (de mayor nivel) para luego ir incorporando los módulos subordinados progresivamente. Los pasos a seguir: Se usa el módulo de control principal como controlador de la prueba, creando resguardos (módulos que simulan el funcionamiento de los módulos que utiliza el que está probando) para todos los módulos directamente subordinados al módulo de control principal. Dependiendo del enfoque e integración elegido (es decir, primero-en-profundidad, o primero-en-anchura) se van sustituyendo uno a uno los resguardos subordinados por los módulos reales. Se llevan a cabo pruebas cada vez que se integra un nuevo módulo. Tras terminar cada conjunto de pruebas, se reemplaza otro resguardo con el módulo real. Ventajas e inconvenientes. Ya que hemos comentado los tipos de pruebas de integración que tenemos, nombraremos las ventajas e inconvenientes de cada una:</description></item><item><title>069 - Cómo generar una clave SSH</title><link>https://unaqaenapuros.com/2021/03/03/069-como-generar-una-clave-ssh/</link><pubDate>Wed, 03 Mar 2021 08:30:00 +0000</pubDate><guid>https://unaqaenapuros.com/2021/03/03/069-como-generar-una-clave-ssh/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de qué es una clave SSH, para qué sirve y cómo generarla.
¡Empezamos!
¿Qué es una conexión SSH y para qué sirve? SSH o Secure Shell, es un protocolo de administración remota que le permite a los usuarios controlar y modificar sus servidores remotos a través de Internet a través de un mecanismo de autenticación.
Proporciona un mecanismo para autenticar un usuario remoto, transferir entradas desde el cliente al host y retransmitir la salida de vuelta al cliente. El servicio se creó como un reemplazo seguro para el Telnet sin cifrar y utiliza técnicas criptográficas para garantizar que todas las comunicaciones hacia y desde el servidor remoto sucedan de manera encriptada.</description></item><item><title>068 - Pruebas Unitarias (V): Ejemplo de la calculadora en JavaScript + Jasmine</title><link>https://unaqaenapuros.com/2021/02/17/068-pruebas-unitarias-v-ejemplo-de-la-calculadora-en-javascript-jasmine/</link><pubDate>Wed, 17 Feb 2021 08:30:00 +0000</pubDate><guid>https://unaqaenapuros.com/2021/02/17/068-pruebas-unitarias-v-ejemplo-de-la-calculadora-en-javascript-jasmine/</guid><description>¡Hola a todos!
Bienvenidos a una nueva entrega de pruebas unitarias, en este artículo haremos la misma prueba de la calculadora que en el anterior artículo pero esta vez utilizando Javascript y Jasmine. ¡Comenzamos!
Aclaración importante antes de seguir: No soy una experta en JavaScript, de hecho mi stack habitual siempre ha sido Java aunque poco a poco (con Cypress) me estoy migrando cada vez más a JS, así que si ves algún error en esta entrada, por favor, añade un comentario para mejorarlo y corregirlo para todos. ¡Gracias!</description></item><item><title>067- Pruebas Unitarias (IV): Ejemplo de la calculadora.</title><link>https://unaqaenapuros.com/2020/12/23/067-pruebas-unitarias-iv-ejemplo-de-la-calculadora/</link><pubDate>Wed, 23 Dec 2020 08:30:00 +0000</pubDate><guid>https://unaqaenapuros.com/2020/12/23/067-pruebas-unitarias-iv-ejemplo-de-la-calculadora/</guid><description> ¡Hola a todos!
En esta nueva entrada vamos a ver un ejemplo real de un proyecto con test unitarios en Java usando Eclipse y JUnit para hacer nuestros test unitarios. ¡Comenzamos!
¿Qué necesitas? Tener instalado Java en tu ordenador. Tener un IDE: yo usaré Eclipse. ¿Cómo empezar? Podemos comenzar de dos formas: creando un proyecto Java desde cero y crear tu las clases o utilizar el proyecto que ya he creado para ti y que puedes descargarte en el siguiente enlace:</description></item><item><title>066- Pruebas Unitarias (III): Herramientas</title><link>https://unaqaenapuros.com/2020/12/09/066-pruebas-unitarias-iii-herramientas/</link><pubDate>Wed, 09 Dec 2020 08:30:00 +0000</pubDate><guid>https://unaqaenapuros.com/2020/12/09/066-pruebas-unitarias-iii-herramientas/</guid><description> ¡Hola a todos!
En esta entrada hablaremos de las diferentes herramientas que tenemos para realizar pruebas unitarias. ¡Comenzamos!
Herramientas de pruebas unitarias para Java/Kotlin: JUnit: Entorno de pruebas para Java creado por Erich Gamma y Kent Beck. Se encuentra basado en SUnit creado originalmente para realizar pruebas unitarias para el lenguaje Smalltalk. TestNG: Creado para suplir algunas deficiencias en JUnit. JTiger: Basado en anotaciones, como TestNG. Mockito: Mockito es un marco de simulación de Java que tiene como objetivo proporcionar la capacidad de escribir con claridad una prueba de unidad legible utilizando su API simple. Herramientas de pruebas unitarias para Javascript/TypeScript : Mocha: Marco de prueba rico en funciones que se ejecuta en Node.js y en el navegador. Jasmine: es un marco «impulsado por el comportamiento” para probar JavaScript. No depende de otros marcos de JavaScript y no necesita un DOM. Jest: es una solución integral de pruebas de JavaScript que funciona de forma inmediata y sin configuración para la mayoría de los proyectos de JavaScript. Las pruebas tienen un estado global único y pueden ejecutarse en paralelo. Enzyme: utilidad de prueba para la librería React JavaScript UI. Su objetivo es facilitar la prueba del rendimiento de los componentes React. Karma: es un test runner para JavaScript que permite la ejecución de código en múltiples navegadores. Está diseñado para pruebas (unitarias) de bajo nivel. No es un marco de prueba o una librería de aserciones, Karma lanza un servidor HTTP y genera un archivo de test runner a partir del marco de prueba favorito del desarrollador. AVA: test runner para Node.js que ofrece una API concisa, un detallado informe de errores, y soporte para nuevas características de lenguaje y aislamiento de procesos. Herramientas de pruebas unitarias para PHP: SimpleTest: Entorno de pruebas para aplicaciones realizadas en PHP. PHPUnit: Sistema para la realización pruebas unitarias en PHP. Herramientas de pruebas unitarias para Python: PyUnit: Framework para la elaboración de pruebas unitarias en python. Herramientas de pruebas unitarias para C/C++: CPPUnit: Versión del framework para lenguajes C/C++. QUnit: Librería para pruebas unitarias en Javascript. Creada por la fundación jQuery, ha sido reescrita para ser independiente de la librería jQuery. libunittest: Librería portable para pruebas unitarias en C++ que usa el nuevo estándar C++11. CUnit: Entorno para escribir, administrar y correr test unitarios en lenguaje C. Otras herramientas de pruebas: NUnit: Versión del framework para la plataforma.NET. FoxUnit: Entorno OpenSource de pruebas unitarias para Microsoft Visual FoxPro MOQ: Entorno para la creación dinámica de objetos simuladores (mocks). «MOQ». Y hasta aquí nuestra entrada sobre herramientas. Si conocéis alguna más no dudéis en compartirla en un comentario o por las redes sociales en nuestro twitter oficial: @unaqaenapuros!</description></item><item><title>065- Pruebas Unitarias (II)</title><link>https://unaqaenapuros.com/2020/11/25/065-pruebas-unitarias-ii/</link><pubDate>Wed, 25 Nov 2020 08:30:00 +0000</pubDate><guid>https://unaqaenapuros.com/2020/11/25/065-pruebas-unitarias-ii/</guid><description>¡Hola a todos!
Seguimos con las entradas de pruebas unitarias. En esta entrada hablaremos de las ventajas y limitaciones de este tipo de pruebas y algunas consideraciones sobre ellas. ¡Comenzamos!
Ventajas El objetivo de las pruebas unitarias es aislar cada parte del programa y mostrar que las partes individuales son correctas. Proporcionan un contrato escrito que el trozo de código debe satisfacer. Estas pruebas aisladas proporcionan cinco ventajas básicas:
Fomentan el cambio Las pruebas unitarias facilitan que el programador cambie el código para mejorar su estructura (refactorización), puesto que permiten hacer pruebas sobre los cambios y así asegurarse de que los nuevos cambios no han introducido errores.</description></item><item><title>064- Pruebas Unitarias (I)</title><link>https://unaqaenapuros.com/2020/11/04/064-pruebas-unitarias/</link><pubDate>Wed, 04 Nov 2020 08:30:00 +0000</pubDate><guid>https://unaqaenapuros.com/2020/11/04/064-pruebas-unitarias/</guid><description>¡Hola a todos!
En esta entrada y siguientes vamos a hablar de las pruebas unitarias. ¡Empezamos!
Una prueba unitaria es una forma de comprobar el correcto funcionamiento de una unidad de código. Por ejemplo en diseño estructurado o en diseño funcional una función o un procedimiento, en diseño orientado a objetos una clase.
Esto sirve para asegurar que cada unidad funcione correctamente y eficientemente por separado. Además de verificar que el código hace lo que tiene que hacer, verificamos que sea correcto el nombre, los nombres y tipos de los parámetros, el tipo de lo que se devuelve, que si el estado inicial es válido entonces el estado final es válido</description></item><item><title>063 - Conceptos Básicos de la Automatización de pruebas (II).</title><link>https://unaqaenapuros.com/2020/10/21/063-conceptos-basicos-de-la-automatizacion-de-pruebas-ii/</link><pubDate>Wed, 21 Oct 2020 07:30:00 +0000</pubDate><guid>https://unaqaenapuros.com/2020/10/21/063-conceptos-basicos-de-la-automatizacion-de-pruebas-ii/</guid><description>¡Hola a todos!
En esta entrada seguiremos hablando sobre los conceptos básicos a tener en cuentra sobre la automatización de pruebas. ¡Comenzamos!
¿Qué es un Test automático? Antes de comenzar a explicar los tipos de test que tenemos, debemos comenzar explicando qué es un test para nosotros. Un test es:
DEFINICIÓN DE TEST: Conjunto de acciones que se llevarán a cabo de manera atómica en la aplicación para comprobar que toda su funcionalidad cumple el resultado definido previamente.</description></item><item><title>062 - Conceptos Básicos de la Automatización de pruebas I</title><link>https://unaqaenapuros.com/2020/10/07/062-conceptos-basicos-de-la-automatizacion-de-pruebas-i/</link><pubDate>Wed, 07 Oct 2020 07:30:00 +0000</pubDate><guid>https://unaqaenapuros.com/2020/10/07/062-conceptos-basicos-de-la-automatizacion-de-pruebas-i/</guid><description>¡Hola a todos!
después de un breve parón y pocas atualizaciones por aquí, vamos a volver a la carga retomando el tema de QA. En esta entrada vamos a hablar de conceptos básicos de la automatización de pruebas. ¡Vamos!
La automatización de pruebas involucra el uso de frameworks para desarrollar test que ejecutan pruebas automatizadas en software. Las pruebas automáticas se diferencian de las manuales ya que estas últimas requieren que una persona ejecute las pruebas, mientras que las automáticas se basan en una aplicación que ejecuta y supervisa las pruebas por sí misma.</description></item><item><title>061- Herramientas de pruebas.</title><link>https://unaqaenapuros.com/2019/11/20/061-herramientas-de-pruebas/</link><pubDate>Wed, 20 Nov 2019 11:51:29 +0000</pubDate><guid>https://unaqaenapuros.com/2019/11/20/061-herramientas-de-pruebas/</guid><description>¡Hola a todos!
En esta entrada hablaremos de diferentes herramientas de pruebas que he ido encontrando a lo largo de mi trayectoria profesional y me han ayudado mucho en mi día a día. ¡Comenzamos!
Skitch. Descargar: https://evernote.com/intl/es/products/skitchEs una herramienta que sirve tanto para captura la pantalla completa, una región de la pantalla, editar un fichero&amp;hellip; es bastante intuitivo y simple, sobre todo para añadir flechas, cajas, resaltar información, escribir texto&amp;hellip;OS: Windows / Mac.</description></item><item><title>060- Testing exploratorio.</title><link>https://unaqaenapuros.com/2019/11/06/060-testing-exploratorio/</link><pubDate>Wed, 06 Nov 2019 09:00:13 +0000</pubDate><guid>https://unaqaenapuros.com/2019/11/06/060-testing-exploratorio/</guid><description>¡Hola a todos!
En esta entrada hablaremos de una parte del testing muy utilizada en cualquier equipo y que tenemos que conocer bien las bases para saber hacerla correctamente, hablamos del testing exploratorio. ¡Comenzamos!
Por defecto, cuando pensamos en testing exploratorio, lo que se nos viene a la cabeza es un tipo de testing ad-hoc, sin planificación, sin límite de tiempo, sin documentación&amp;hellip; pero el testing exploratorio bien realizado es mucho más que todo eso.</description></item><item><title>059- Preguntas para una entrevista a un QA.</title><link>https://unaqaenapuros.com/2019/10/23/059-preguntas-para-una-entrevista-a-un-qa/</link><pubDate>Wed, 23 Oct 2019 07:00:03 +0000</pubDate><guid>https://unaqaenapuros.com/2019/10/23/059-preguntas-para-una-entrevista-a-un-qa/</guid><description>¡Hola a todos!
para seguir el tema de perfiles, prueba técnica y entrevistas, vamos a hacer un artículo sobre qué preguntas hacer en una entrevista a un QA. ¡Comenzamos!
¿Cuáles son las mejores preguntas para hacer en una entrevista a una persona de QA?, ¿Qué necesitamos conocer? cuando me iba a enfrentar a mi primera entrevista como entrevistadora (y no como entrevistada que es a lo que estaba acostumbrada), me hice una lista de todas las cosas que yo me preguntaría a mi misma o de las preguntas que me habían hecho durante todos los años que llevo trabajando y me habían gustado.</description></item><item><title>058- Prueba técnica de QA.</title><link>https://unaqaenapuros.com/2019/10/09/058-prueba-tecnica-de-qa/</link><pubDate>Wed, 09 Oct 2019 07:00:21 +0000</pubDate><guid>https://unaqaenapuros.com/2019/10/09/058-prueba-tecnica-de-qa/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de una posible prueba técnica para seleccionar a los candidatos que entran al departamento de QA. ¡Comenzamos!
¿Por qué hacer una prueba técnica? Cuando estamos en un proceso de selección para incorporar a alguien en el equipo, necesitamos conocer a esa persona, no sólo en una entrevista personal, sino también necesitamos tener referencias de nuestros candidatos y de la forma en la que trabajan.</description></item><item><title>057- Perfiles de QA: QA Automático.</title><link>https://unaqaenapuros.com/2019/09/25/057-perfiles-de-qa-qa-automatico/</link><pubDate>Wed, 25 Sep 2019 07:00:25 +0000</pubDate><guid>https://unaqaenapuros.com/2019/09/25/057-perfiles-de-qa-qa-automatico/</guid><description>¡Hola a todos!
Para seguir con la entrada anterior, en esta entrada seguiremos hablando de los diferentes perfiles de QA que existen y en este caso continuaremos con QA automático. ¡Comenzamos!
Como comenté en el artículo anterior, estos artículo son un poco subjetivo, ya que dependiendo de la persona / empresa y departamento en el que entres, puede que tengan una visión u otra de los diferentes perfiles de QA que existen.</description></item><item><title>056 - Perfiles de QA: QA funcional.</title><link>https://unaqaenapuros.com/2019/09/11/056-perfiles-de-qa-qa-funcional/</link><pubDate>Wed, 11 Sep 2019 07:00:22 +0000</pubDate><guid>https://unaqaenapuros.com/2019/09/11/056-perfiles-de-qa-qa-funcional/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de los diferentes perfiles de QA que existen.¡Comenzamos!
Este artículo es un poco subjetivo, ya que dependiendo de la persona / empresa y departamento en el que entres, puede que tengan una visión u otra de los diferentes perfiles de QA que existen. Para mí, cuando una persona empieza en el mundo de QA se puede encontrar con dos tipos de perfiles: QA funcional y QA automático.</description></item><item><title>055- Meetup: Lego Serious Play aplicado a QA (SevillaQA).</title><link>https://unaqaenapuros.com/2019/08/28/055-meetup-lego-serious-play-aplicado-a-qa-sevillaqa/</link><pubDate>Wed, 28 Aug 2019 09:00:35 +0000</pubDate><guid>https://unaqaenapuros.com/2019/08/28/055-meetup-lego-serious-play-aplicado-a-qa-sevillaqa/</guid><description>¡Hola a todos!
En esta entrada os voy a hablar del último meetup que organizamos desde SevillaQA llamado Lego Serious Play aplicado a QA,¡Comenzamos!
Antes de empezar&amp;hellip; ¿Qué es SevillaQA? Screenshot 2019-06-10 at 08.44.21.png
En Sevilla QA queremos crear una comunidad de QAs empezando en Sevilla y, por qué no, seguir creciendo! La idea es compartir metodología, herramientas, etc así como contribuir a la comunidad con nuestra verdadera pasión: cualquier cosa relacionada con el mundo QA!.</description></item><item><title>054- Open South Code 2019 (24-25/05/19)</title><link>https://unaqaenapuros.com/2019/08/14/054-open-south-code-2019-24-25-05-19/</link><pubDate>Wed, 14 Aug 2019 09:00:33 +0000</pubDate><guid>https://unaqaenapuros.com/2019/08/14/054-open-south-code-2019-24-25-05-19/</guid><description>¡Hola a todos!
Antes de nada perdonad por el retraso y por la falta de entradas en este tiempo pero después de unos días de vacaciones de verano, ¡volvemos a la carga!
Antes de seguir con nuestras entradas sobre QA, me gustaría dedicar esta entrada a un evento al que asistí tanto de oyente y de ponente en Málaga los días 24 y 25 de Mayo, el Open South Code 2019.</description></item><item><title>053 - Cómo eliminar completamente Android Studio de Mac por consola.</title><link>https://unaqaenapuros.com/2019/05/08/053-como-eliminar-completamente-android-studio-de-mac-por-consola/</link><pubDate>Wed, 08 May 2019 09:00:57 +0000</pubDate><guid>https://unaqaenapuros.com/2019/05/08/053-como-eliminar-completamente-android-studio-de-mac-por-consola/</guid><description>¡Hola a todos!
Para seguir con los post relacionados con Android y la consola, vamos a ver los comandos que debemos seguir para eliminarlo completamente. ¡Comenzamos!
Preparando la consola. Primero tenemos que cerrar Android Studio completamente y abrir una consola. Estos comandos los podemos hacer uno a uno desde consola o hacernos un script de bash como hicimos en esta entrada para abrir el emulador.
Los comandos que tenemos que seguir son los siguientes:</description></item><item><title>052 - Captura de pantalla de un Emulador Android por consola.</title><link>https://unaqaenapuros.com/2019/04/24/052-captura-pantalla-emulador-android-command-line/</link><pubDate>Wed, 24 Apr 2019 11:46:16 +0000</pubDate><guid>https://unaqaenapuros.com/2019/04/24/052-captura-pantalla-emulador-android-command-line/</guid><description>¡Hola a todos!
En esta entrada hablaremos de cómo hacer capturas de pantalla de un emulador Android desde consola. ¡Comenzamos!
Requisitos. Para seguir estos pasos debemos tener creado previamente un emulador y conocer los comandos para ello. Todo eso puedes volver a leerlo en la entrada anterior.
¿Cómo hacemos una captura de pantalla? Para empezar debemos de entender que vamos a hacer dos pasos para tener la captura:
Hacer la captura y guardarla dentro de la memoria (sdcard) del emulador. Pasarla de la memoria del emulador a nuestro equipo. Para esto utilizaremos el comando adb y screencap.</description></item><item><title>051 - Como crear, ejecutar y eliminar emuladores de Android por consola.</title><link>https://unaqaenapuros.com/2019/04/10/051-como-crear-ejecutar-y-eliminar-emuladores-de-android-por-consola/</link><pubDate>Wed, 10 Apr 2019 09:00:53 +0000</pubDate><guid>https://unaqaenapuros.com/2019/04/10/051-como-crear-ejecutar-y-eliminar-emuladores-de-android-por-consola/</guid><description>¡Hola a todos!
En esta entrada hablaremos de cómo crear, ejecutar y eliminar emuladores de Android de forma sencilla. ¡Comenzamos!
¿Por qué necesitamos conocer estos comandos? Aunque podemos hacerlo con Android Studio (como ya vimos en entradas anteriores), para mí es mucho más cómodo hacerlo por comandos en lugar de por Android Studio, además, de esta forma podremos utilizar los comandos para crear un entorno de CI (por ejemplo Jenkins) para lanzar nuestros test automáticos con Appium.</description></item><item><title>050 - Script Ejecutar Emuladores en Android.</title><link>https://unaqaenapuros.com/2019/03/27/050-script-ejecutar-emuladores-en-android/</link><pubDate>Wed, 27 Mar 2019 09:00:32 +0000</pubDate><guid>https://unaqaenapuros.com/2019/03/27/050-script-ejecutar-emuladores-en-android/</guid><description>¡Hola a todos!
En esta entrada hablaremos de cómo crear un script para ejecutar emuladores de Android de forma sencilla. ¡Comenzamos!
¿Por qué creamos este Script? Cuando trabajamos con emuladores Android y los necesitamos cada día para trabajar en crear pruebas automáticas, terminaremos cansados de escribir cada día los mismos comandos o estar abriendo y cerrando el Android Studio (como ya vimos en entradas anteriores). Para ello hemos diseñado este script fácil de hacer en bash para abrir los emuladores que tenemos ya creados en el sistema de forma fácil.</description></item><item><title>049 - UIAutomatorViewer</title><link>https://unaqaenapuros.com/2019/03/13/049-uiautomatorviewer/</link><pubDate>Wed, 13 Mar 2019 09:00:41 +0000</pubDate><guid>https://unaqaenapuros.com/2019/03/13/049-uiautomatorviewer/</guid><description>¡Hola a todos!
En esta entrada hablaremos de otra herramienta para inspeccionar los elementos de las aplicaciones, exclusiva para Android. ¡Comenzamos!
¿Qué es UIAutomatorViewer? Como alternativa a Appium Inspector, podemos utilizar (sólo para Android) la herramienta UIAutomatorViewer que viene por defecto dentro del SDK de Android.
UIautomatorviewer es una aplicación de GUI que analiza los componentes de interfaz de usuario de una aplicación de Android. Para automatizar cualquier aplicación de Android utilizando Appium, necesitamos identificar los objetos AUT (Application under test / objetos de la aplicación a probar). Con UIAutomatorViewer podemos inspeccionar la UI de una aplicación de Android y descubrir el árbol DOM de la aplicación, además de ver las propiedades de las diferentes vistas (id, text&amp;hellip;) de un elemento.</description></item><item><title>048 - Appium Inspector</title><link>https://unaqaenapuros.com/2019/02/27/048-appium-inspector/</link><pubDate>Wed, 27 Feb 2019 09:00:33 +0000</pubDate><guid>https://unaqaenapuros.com/2019/02/27/048-appium-inspector/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de Appium Inspector, una herramienta de Appium que nos permite ver los elementos de las pantallas de una aplicación. ¡Empezamos!
¿Qué es Appium Inspector? Appium Inspector es una aplicación que nos permite, de forma rápida, inspeccionar una aplicación que se está mostrando en un emulador/simulador Android o iOS y que nos permite ver:
Comprobar el DOM de la página de la aplicación que estamos viendo. Comprobar los identificadores únicos de cada elemento. Realizar acciones sobre los elementos que hemos encontrado con sus identificadores: comprobar si está visible, hacer click, tap&amp;hellip; ¿Cómo nos lo podemos descargar? Para poder descargarlo debemos ir al siguiente enlace: https://github.com/appium/appium-desktop/releases/. Podemos elegir la plataforma para la que queramos utilizarlo (Linux, Windows o Mac). Descargamos el ejecutable, lo abrimos y seguimos los pasos y ya lo tenemos completamente instalado para utilizarlo.</description></item><item><title>047 - Appium 101</title><link>https://unaqaenapuros.com/2019/02/16/047-appium-101/</link><pubDate>Sat, 16 Feb 2019 12:17:50 +0000</pubDate><guid>https://unaqaenapuros.com/2019/02/16/047-appium-101/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de Appium: qué es, para qué sirve y qué nos aporta. ¡Empezamos!
¿Qué es Appium? Web Oficial de Appium: http://appium.io/
Repositorio de GitHub: https://github.com/appium/appium
Appium es el estándar en automatización de pruebas para móviles. Se trata de un framework Open Source que permite probar aplicaciones móviles nativas o híbridas en las plataformas móviles iOS y Android. Es una herramienta cross-platform, es decir, un framework que sirve para varias plataformas a la vez, con lo cual, podemos crear pruebas en diferentes plataformas utilizando la misma API de Appium. Esto también nos permite reutilizar el código de pruebas que desarrollamos para una aplicación que está en varias plataformas.</description></item><item><title>046 - Android: Proyecto Android Barista (II).</title><link>https://unaqaenapuros.com/2018/11/21/046-android-proyecto-android-barista-ii/</link><pubDate>Wed, 21 Nov 2018 08:00:08 +0000</pubDate><guid>https://unaqaenapuros.com/2018/11/21/046-android-proyecto-android-barista-ii/</guid><description>¡Hola a todos!
Continuamos en esta entrada con el proyecto Android Barista, en esta entrada hablaremos de cómo desarrollar test con Barista en un proyecto de Android. ¡Comenzamos!
URL Repositorio: https://github.com/estefafdez/AndroidBaristaProject En esta sección hablaremos de cómo hacer pruebas automáticas de UI en Android usando Barista.
¿Qué es Barista? Como comentamos en la entrada anterior, Barista es una herramienta basada en Espresso para realizar test automáticos en Android a más alto nivel que con Espresso.</description></item><item><title>045 - Android: Proyecto Android Barista (I).</title><link>https://unaqaenapuros.com/2018/11/07/045-android-proyecto-android-barista-i/</link><pubDate>Wed, 07 Nov 2018 08:00:07 +0000</pubDate><guid>https://unaqaenapuros.com/2018/11/07/045-android-proyecto-android-barista-i/</guid><description>¡Hola a todos!
Antes de seguir avanzando en las pruebas de automatización móvil, debemos tener alguna base (aplicación) para poder probar. ¡Comenzamos!
URL Repositorio: https://github.com/estefafdez/AndroidBaristaProject ¿Por qué surgió este proyecto? Este proyecto surge, en primer lugar, para aprender y mejorar mis conocimientos de Android con Android Studio y después para crear una aplicación básica para poder hacer pruebas tanto con Appium, Espresso o Barista.</description></item><item><title>044 - Automatización de Pruebas móviles: Barista-Test Recorder.</title><link>https://unaqaenapuros.com/2018/05/30/044-automatizacion-de-pruebas-moviles-barista-test-recorder/</link><pubDate>Wed, 30 May 2018 07:00:58 +0000</pubDate><guid>https://unaqaenapuros.com/2018/05/30/044-automatizacion-de-pruebas-moviles-barista-test-recorder/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de Barista-Test Recorder, una aplicación bastante curiosa y que nos puede ayudar a empezar a automatizar pruebas funcionales en dispositivos móviles. ¡Comenzamos!
¿Qué es Barista-Test Recorder? Barista es una aplicación Android disponible en el Google Play Store que nos permite, mediante el uso de los servicios de accesibilidad de Android, capturar acciones realizadas por el usuario dentro de una app a probar. El mismo usuario puede realizar comprobaciones en un elemento, hacer acciones, enviar datos&amp;hellip; y poder exportar estas acciones como un test automático para Appium, Espresso o UIAutomator.</description></item><item><title>043 - Pruebas móviles: Pruebas básicas con el dispositivo (II parte).</title><link>https://unaqaenapuros.com/2018/05/16/043-pruebas-moviles-pruebas-basicas-con-el-dispositivo-ii-parte/</link><pubDate>Wed, 16 May 2018 07:00:08 +0000</pubDate><guid>https://unaqaenapuros.com/2018/05/16/043-pruebas-moviles-pruebas-basicas-con-el-dispositivo-ii-parte/</guid><description>¡Hola a todos!
En esta entrada vamos a seguir hablando de las pruebas básicas que siempre debemos hacer con un dispositivo físico sobre nuestra aplicación. ¡Comenzamos!
Memoria del dispositivo. Una de las pruebas más importantes que debemos hacer es la de la memoria del dispositivo. Debemos tener en cuenta el tamaño de nuestra aplicación primero a la hora de instalarla (si no tenemos memoria suficiente, no podremos hacerlo) y también a la hora de ejecutarla. Si nuestra aplicación guarda demasiados recursos en el dispositivo, debemos comprobar que si el dispositivo tiene la memoria casi llena, nuestra aplicación sigue funcionando correctamente o nos aparece algún mensaje diciendo que debemos borrar memoria para seguir utilizándola (este flujo daría lugar a un gran espectro de pruebas que podríamos realizar). ¿Qué pasaría si tenemos el dispositivo casi lleno y estamos ejecutando la aplicación? ¿Tenemos pérdida de memoria de datos de la app?, ¿si eliminamos datos de la memoria, podremos recuperar aquellos que no se han podido guardar antes por no tener espacio suficiente?.</description></item><item><title>042 - Pruebas móviles: Pruebas básicas con el dispositivo.</title><link>https://unaqaenapuros.com/2018/05/02/042-pruebas-moviles-pruebas-basicas-con-el-dispositivo/</link><pubDate>Wed, 02 May 2018 07:00:38 +0000</pubDate><guid>https://unaqaenapuros.com/2018/05/02/042-pruebas-moviles-pruebas-basicas-con-el-dispositivo/</guid><description>¡Hola a todos!
En esta entrada hablaremos de las pruebas básicas que podemos realizar a una aplicación teniendo en cuenta todas las opciones que nos ofrece los dispositivos en los que podemos probarla. ¡Comenzamos!
Cuando vamos a asegurar la calidad de una aplicación, tenemos que ser conscientes de que existen muchos tipos de pruebas que podemos hacerle, y que debemos conocer perfectamente la funcionalidad y los dispositivos en los que necesitamos probarlos.</description></item><item><title>041 - Pruebas móviles: Historia de las stores.</title><link>https://unaqaenapuros.com/2018/04/25/041-pruebas-moviles-historia-de-las-stores/</link><pubDate>Wed, 25 Apr 2018 07:00:57 +0000</pubDate><guid>https://unaqaenapuros.com/2018/04/25/041-pruebas-moviles-historia-de-las-stores/</guid><description>¡Hola a todos!
En esta entrada hablaremos sobre la historia de las stores, esas plataformas que forman parte de nuestro día a día y que nos permiten descargar cualquier aplicación en segundos&amp;hellip; ¡Comenzamos!
Antes de entrar a hablar de cada una de las stores debemos conocer cómo empezó a surgir el movimiento de las apps móviles hasta llegar a este punto. Al principio no había ninguna app-store ni conocíamos si quiera esa palabra, lo único que conocíamos eran las aplicaciones pre-instaladas que venían en los primeros teléfonos (antes de ser los smartphones que conocemos hoy en día). Aquel &amp;ldquo;snake&amp;rdquo; de los primeros nokias o incluso la aplicación de sms o la agenda del teléfono era la única fuente de aplicaciones que teníamos sobre los 90, a partir de ahí comenzó el movimiento de mejora que nos llevó a lo que hoy son las stores.</description></item><item><title>040 - ¡Feliz 2018!</title><link>https://unaqaenapuros.com/2018/01/01/040-feliz-2018/</link><pubDate>Mon, 01 Jan 2018 10:49:46 +0000</pubDate><guid>https://unaqaenapuros.com/2018/01/01/040-feliz-2018/</guid><description>¡Hola a todos!
Como bien dice la entrada, ¡feliz 2018!.
Después de este parón navideño, reanudaremos las entradas en unos días con más artículos sobre calidad del software.
¡Hasta la siguiente entrada!</description></item><item><title>039- Pruebas móviles: clasificación de aplicaciones (II)</title><link>https://unaqaenapuros.com/2017/12/13/039-pruebas-moviles-clasificacion-de-aplicaciones-ii/</link><pubDate>Wed, 13 Dec 2017 08:00:22 +0000</pubDate><guid>https://unaqaenapuros.com/2017/12/13/039-pruebas-moviles-clasificacion-de-aplicaciones-ii/</guid><description>¡Hola a todos!
En esta entrada seguiremos hablando sobre la clasificación de las aplicaciones móviles y los diferentes tipos que existen. ¡Comenzamos!
Condiciones de distribución Las aplicaciones se pueden clasificar por las condiciones de distribución que hay, estas pueden ser:
Gratuitas: Aplicaciones sin coste que los usuarios pueden descargar libremente. De pago: Aplicaciones con coste en los que un porcentaje de ese coste va para el desarrollador y el otro para la store donde está publicada la aplicación. Con compras dentro de la aplicación: Aplicaciones gratuitas que incluyen compras adicionales para ciertas funcionalidades que ofrezca la aplicación, eliminar los anuncios&amp;hellip; Tipos de diseño</description></item><item><title>038- Pruebas móviles: clasificación de aplicaciones.</title><link>https://unaqaenapuros.com/2017/12/06/038-pruebas-moviles-clasificacion-de-aplicaciones/</link><pubDate>Wed, 06 Dec 2017 08:00:34 +0000</pubDate><guid>https://unaqaenapuros.com/2017/12/06/038-pruebas-moviles-clasificacion-de-aplicaciones/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar sobre la clasificación de las aplicaciones móviles y los diferentes tipos que existen. ¡Comenzamos!
¿Por qué clasificar las aplicaciones? Cuando las aplicaciones móviles estuvieron de auge y los smartphones se pusieron de moda, se necesitó llegar a un acuerdo para clasificar de la misma forma los diferentes tipos de aplicaciones móviles que se desarrollaban.
¿Cómo se clasifican las aplicaciones móviles? Se pueden clasificar por:</description></item><item><title>037 - Pruebas móviles: tipos de aplicaciones.</title><link>https://unaqaenapuros.com/2017/11/29/037-pruebas-moviles-tipos-de-aplicaciones/</link><pubDate>Wed, 29 Nov 2017 08:00:17 +0000</pubDate><guid>https://unaqaenapuros.com/2017/11/29/037-pruebas-moviles-tipos-de-aplicaciones/</guid><description>¡Hola a todos!
En esta entrada vamos a continuar con los conceptos básicos que debemos saber antes de aprender a realizar pruebas móviles de forma automática. En esta entrada vamos a hablar de los tipos de aplicaciones que se pueden desarrollar para los dispositivos móviles&amp;hellip; ¡Comenzamos!
Tipos de aplicaciones. Como comentamos en la anterior entrada, hay diferentes formas y lenguajes de programación utilizados para crear una aplicación móvil ( Java, C#, Swift, Kotlin...) pero no sólo podemos hacerlos en esos también podemos desarrollar aplicaciones mediante frameworks como Ionic, Phonegap, Xamarin&amp;hellip; esto da lugar a tener dos tipos claramente diferenciados de aplicaciones móviles, estas son conocidas como aplicaciones nativas e híbridas.</description></item><item><title>036 - Pruebas Móviles: Conceptos básicos.</title><link>https://unaqaenapuros.com/2017/11/22/036-pruebas-moviles-conceptos-basicos/</link><pubDate>Wed, 22 Nov 2017 08:00:24 +0000</pubDate><guid>https://unaqaenapuros.com/2017/11/22/036-pruebas-moviles-conceptos-basicos/</guid><description>¡Hola a todos!
En esta entrada vamos a comenzar con las pruebas en dispositivos móviles y empezaremos el camino hacia saber cómo hacer pruebas automáticas para móviles con diferentes herramientas. Pero antes de llegar a ese punto tenemos que tener en cuenta varios conceptos importantes que debemos saber antes de empezar, por eso en esta entrada nos dedicaremos a hablar de unos conceptos previos o conceptos básicos que debemos conocer&amp;hellip; ¡Comenzamos!</description></item><item><title>035 - Proyecto Selenium - Cucumber (V).</title><link>https://unaqaenapuros.com/2017/11/08/035-proyecto-selenium-cucumber-v/</link><pubDate>Wed, 08 Nov 2017 08:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2017/11/08/035-proyecto-selenium-cucumber-v/</guid><description>¡Hola a todos!
Esta será la última entrada referente al proyecto Selenium-Cucumber. ¡Comenzamos!
URL Repositorio: https://github.com/estefafdez/selenium-cucumber En esta entrada vamos a explicar la sección Features del proyecto y los selectores para completar nuestro primer test.
Features. Esta sección se compone de las diferentes Features (test) del proyecto.
HomePage.feature</description></item><item><title>034 - Proyecto Selenium - Cucumber (IV).</title><link>https://unaqaenapuros.com/2017/11/01/034-proyecto-selenium-cucumber-iv/</link><pubDate>Wed, 01 Nov 2017 08:00:08 +0000</pubDate><guid>https://unaqaenapuros.com/2017/11/01/034-proyecto-selenium-cucumber-iv/</guid><description>¡Hola a todos!
En esta entrada seguiremos hablando del proyecto Selenium-Cucumber. ¡Comenzamos!
URL Repositorio: https://github.com/estefafdez/selenium-cucumber En esta entrada vamos a explicar la sección Step Definitions del proyecto centrándonos en la clase Hooks y en una clase con pasos ya definidos como es ClickSteps().
Step Definitions. Esta sección se compone de las siguientes clases:
ConfigurationSteps.java Hooks.java ClickSteps.java AssertionSteps.java ConfigurationSteps.java InputSteps.javaJavascript HandlingSteps.java KeyboardSteps.java NavigationSteps.java ProgressSteps.java ScreenshotSteps.java \* Cada una de estas clases representa un conjunto de acciones agrupadas en cada clase.</description></item><item><title>033 - Proyecto Selenium - Cucumber (III).</title><link>https://unaqaenapuros.com/2017/10/25/033-proyecto-selenium-cucumber-iii/</link><pubDate>Wed, 25 Oct 2017 07:00:42 +0000</pubDate><guid>https://unaqaenapuros.com/2017/10/25/033-proyecto-selenium-cucumber-iii/</guid><description>¡Hola a todos!
En esta entrada seguiremos hablando del proyecto Selenium-Cucumber. ¡Comenzamos!
URL Repositorio: https://github.com/estefafdez/selenium-cucumber En esta entrada vamos a explicar la sección Configure Environment del proyecto centrándonos en la clase WebDriverFactory y PropertiesHandler.
Configure Environment. Esta sección se compone de las siguientes clases:
CreateDriver.java WebDriverFactory.java PropertiesHandler.java *Nota: Las clases HandlerRepo.java y Main.java las comentaremos una vez que estén terminadas ya que siguen siendo un WIP.</description></item><item><title>032 - Proyecto Selenium - Cucumber (II).</title><link>https://unaqaenapuros.com/2017/10/18/031-proyecto-selenium-cucumber-ii/</link><pubDate>Wed, 18 Oct 2017 07:00:25 +0000</pubDate><guid>https://unaqaenapuros.com/2017/10/18/031-proyecto-selenium-cucumber-ii/</guid><description>¡Hola a todos!
En esta entrada seguiremos hablando del proyecto Selenium-Cucumber que comenzamos en la anterior entrada. ¡Comenzamos!
URL Repositorio: https://github.com/estefafdez/selenium-cucumber En esta entrada vamos a explicar la sección Configure Environment del proyecto centrándonos en la clase createDriver.
Configure Environment. Esta sección se compone de las siguientes clases:
CreateDriver.java WebDriverFactory.java PropertiesHandler.java *Nota: Las clases HandlerRepo.java y Main.java las comentaremos una vez que estén terminadas ya que siguen siendo un WIP.</description></item><item><title>031 - Proyecto Selenium - Cucumber (I).</title><link>https://unaqaenapuros.com/2017/10/11/031-proyecto-selenium-cucumber-i/</link><pubDate>Wed, 11 Oct 2017 07:00:33 +0000</pubDate><guid>https://unaqaenapuros.com/2017/10/11/031-proyecto-selenium-cucumber-i/</guid><description>¡Hola a todos!
En esta entrada hablaremos del proyecto Selenium-Cucumber. ¡Comenzamos!
Este proyecto propio fue llevado a cabo con Francisco Fernández González, gran compañero y amigo.
URL Repositorio: https://github.com/estefafdez/selenium-cucumber ¿Por qué hacer este proyecto? Este proyecto surge, primero, de poder tener un &amp;ldquo;core&amp;rdquo; propio donde poder ejecutar pruebas usando Selenium Webdriver 3 en cualquier sistema operativo y cualquier navegador simplemente cambiando las configuraciones necesarias en el fichero pom.xml y segundo, para poder aprender Cucumber y cómo trabajar con él en el desarrollo de test automáticos con Selenium.</description></item><item><title>030 - Cómo compilar aplicaciones Android con Jenkins</title><link>https://unaqaenapuros.com/2017/10/04/030-proyecto-selenium-cucumber-i/</link><pubDate>Wed, 04 Oct 2017 09:00:48 +0000</pubDate><guid>https://unaqaenapuros.com/2017/10/04/030-proyecto-selenium-cucumber-i/</guid><description>
¡Hola a todos!
Antes de nada me gustaría daros las gracias por llegar hasta aquí y celebrar mi entrada número 30 (¡que no es poco!).
Esta entrada va a ser algo diferente ya que va a ser un artículo relacionado (que también escribí yo) pero en Blog de mi actual empresa, SDOS.
Para seguir con nuestra serie de Jenkins, en este artículo hablo sobre cómo utilizar Jenkins para el CD (Continuous Delivery o entregas continuas), realizando todos los pasos para compilar el APK generado y realizar varias acciones post-build muy interesantes.</description></item><item><title>029 - Instalar Plugins en Jenkins.</title><link>https://unaqaenapuros.com/2017/09/27/029-instalar-plugins-en-jenkins/</link><pubDate>Wed, 27 Sep 2017 09:00:47 +0000</pubDate><guid>https://unaqaenapuros.com/2017/09/27/029-instalar-plugins-en-jenkins/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de cómo instalar plugins en Jenkins y cómo encontrarlos. ¡Comenzamos!
Primero tenemos que ver cómo recuperar el contenedor donde instalamos Jenkins en Docker. ¿Qué debemos hacer? Arrancamos Docker y abrimos un terminal.
Una vez que tengamos Docker corriendo y el terminal abierto, escribimos el siguiente comando que nos dará un listado de los contenedores que tenemos en nuestro Docker:</description></item><item><title>028 - Instalar Jenkins en Docker.</title><link>https://unaqaenapuros.com/2017/09/20/028-instalar-jenkins-en-docker/</link><pubDate>Wed, 20 Sep 2017 09:00:43 +0000</pubDate><guid>https://unaqaenapuros.com/2017/09/20/028-instalar-jenkins-en-docker/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de cómo instalar Jenkins en Docker. ¡Comenzamos!
Herramientas utilizadas en este tutorial:
MacbookPro con MacOSX Sierra. Docker for Mac: https://www.docker.com/docker-mac Imagen de Jenkins para Docker: https://hub.docker.com/r/jenkins/jenkins/ Comenzamos descargando Docker para Mac e instalándolo:
Una vez que lo tengamos lo ejecutaremos y lo veremos de la siguiente forma:</description></item><item><title>027 - Jenkins.</title><link>https://unaqaenapuros.com/2017/09/13/027-jenkins/</link><pubDate>Wed, 13 Sep 2017 09:00:40 +0000</pubDate><guid>https://unaqaenapuros.com/2017/09/13/027-jenkins/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de lo que es Jenkins y del concepto de integración continua. ¡Comenzamos!
¿Qué es Jenkins? Jenkins es un software de Integración continua, gratuito y Open Source escrito en Java y está basado en el proyecto Hudson, creado por Kohsuke Kawaguchi. Podemos descargar Jenkins aquí: https://jenkins.io/index.html Jenkins proporciona integración continua para el desarrollo de software. Es un sistema que se ejecuta en un servidor que es un contenedor de servlets, como Apache Tomcat. Soporta herramientas de control de versiones como CVS, Subversion, Git, Mercurial, Perforce y Clearcase y puede ejecutar proyectos basados en Apache Ant y Apache Maven, Gradle, así como scripts de shell y programas batch de Windows.</description></item><item><title>026 - Selenium 103.</title><link>https://unaqaenapuros.com/2017/09/06/026-selenium-103-sin-empezar-q26/</link><pubDate>Wed, 06 Sep 2017 09:00:59 +0000</pubDate><guid>https://unaqaenapuros.com/2017/09/06/026-selenium-103-sin-empezar-q26/</guid><description>¡Hola a todos!
En esta entrada vamos a continuar con la recopilación de preguntas acerca de Selenium Webdriver a la hora de enfrentarnos a una entrevista de trabajo….¡Comenzamos!
¿Qué comandos existen para los diferentes tipos de navegación? Pon un ejemplo. Los comandos de navegación disponibles en Selenium son los siguientes: navigate().back() – Este método de navegación lo que hará es volver a la página anterior que estuviéramos visitando. No necesitamos ningún parámetro. Lo usaremos de la siguiente forma: driver.navigate().back(); navigate().forward() – Este método se puede usar cuando hemos vuelto a una página anterior y queremos volver a la página en la que estábamos antes, al contrario del navigate.back, este comando navega a la página siguiente. Tampoco necesita ningún parámetro y lo usaremos: driver.navigate().forward(); navigate().refresh() – Este método refresca la página actual del usuario, volviendo a cargar todos los elementos de nuevo. No se necesita ningún parámetro y lo usamos de la forma: driver.navigate().refresh(); navigate().to() – Este método sirve para lanzar una nueva página y navegar a una URL específica que debemos pasar como parámetro. Lo usaremos de la forma: driver.navigate().to(“https://estefafdez.com”);</description></item><item><title>025 - Selenium 102.</title><link>https://unaqaenapuros.com/2017/08/30/025-selenium-102/</link><pubDate>Wed, 30 Aug 2017 07:00:34 +0000</pubDate><guid>https://unaqaenapuros.com/2017/08/30/025-selenium-102/</guid><description>¡Hola a todos!
En esta entrada haremos una recopilación de preguntas acerca de Selenium Webdriver a la hora de enfrentarnos a una entrevista de trabajo&amp;hellip;.¡Comenzamos!
¿Qué es Selenium? Selenium es una herramienta de automatización de pruebas funcionales basada en el navegador. Es básicamente una biblioteca que puede utilizar en su programa para probar una aplicación web.
¿Qué versiones existen de Selenium? Selenium WebDriver - Se usa para la automatización de pruebas en aplicaciones web usando métodos en un navegador nativo. Selenium IDE - Plugin de Firefox para grabar y ejecutar pruebas. Selenium Grid - Permite ejecutar test de selenium en paralelo a través de múltiples máquinas. ¿Qué lenguajes de programación soporta Selenium Webdriver? Los lenguajes soportados son: Java, C#, php, Ruby, Python.</description></item><item><title>024 - Creando nuestro primer proyecto con Selenium Webdriver.</title><link>https://unaqaenapuros.com/2017/08/23/024-creando-nuestro-primer-proyecto-con-selenium-webdriver/</link><pubDate>Wed, 23 Aug 2017 07:00:34 +0000</pubDate><guid>https://unaqaenapuros.com/2017/08/23/024-creando-nuestro-primer-proyecto-con-selenium-webdriver/</guid><description>¡Hola a todos!
En esta entrada vamos a aprender a hacer nuestro primer proyecto de pruebas automáticas usando Selenium Webdriver&amp;hellip;. ¡Comenzamos!
Herramientas utilizadas en este tutorial:
MacbookPro con MacOSX Sierra. InteliJ Idea 2017. Geckodriver for MacOSX: https://github.com/mozilla/geckodriver/releases Vamos a comenzar creando un nuevo proyecto Maven de la siguiente forma:
Create new project -&amp;gt; Maven.</description></item><item><title>023 - Selenium Webdriver: seleccionando Xpath.</title><link>https://unaqaenapuros.com/2017/08/16/023-selenium-webdriver-seleccionando-xpath/</link><pubDate>Wed, 16 Aug 2017 07:00:00 +0000</pubDate><guid>https://unaqaenapuros.com/2017/08/16/023-selenium-webdriver-seleccionando-xpath/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de cómo seleccionar un Xpath para trabajar con Selenium Webdriver de forma que sea lo más robusto y portable posible. ¡Comenzamos!
Antes de empezar con los consejos debemos comprender qué es un Xpath.
XPath (XML Path Language) es un lenguaje que permite recuperar información de un documento XML definiendo una sintaxis para establecer partes en un documento XML, permitiendo navegar a través de sus elementos y atributos, además permite manipular de forma básica booleanos, números y cadenas.</description></item><item><title>022 - Selenium Webdriver.</title><link>https://unaqaenapuros.com/2017/08/09/022-selenium-webdriver/</link><pubDate>Wed, 09 Aug 2017 07:00:20 +0000</pubDate><guid>https://unaqaenapuros.com/2017/08/09/022-selenium-webdriver/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de Selenium Webdriver&amp;hellip;¡Comenzamos!
Selenium WebDriver es una herramienta que está diseñada para ejecutar las pruebas automáticas en los principales navegadores (IE, Chrome, Firefox y Opera). Utiliza lenguajes como Python, Ruby, Java y C#. La licencia de esta herramienta es Apache 2.0.
Una de las ventajas de usar Selenium WebDriver frente a Selenium IDE son los controladores nativos que incluye, que dan soporte a distintos navegadores (Internet Explorer, Firefox, Chrome y próximamente Opera y Safari).</description></item><item><title>021- Selenium 101.</title><link>https://unaqaenapuros.com/2017/08/02/021-selenium-101/</link><pubDate>Wed, 02 Aug 2017 07:00:17 +0000</pubDate><guid>https://unaqaenapuros.com/2017/08/02/021-selenium-101/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de Selenium, primero haciendo una pequeña definición de qué es, y hablando de Selenium IDE. ¡Comenzamos!
Selenium es un entorno de pruebas de software para aplicaciones web. Existen dos herramientas principales: Selenium IDE, que es una herramienta para grabar/reproducir pruebas sólo grabando acciones y en la que se puede generar el código de esas pruebas, y Selenium Webdriver (el más conocido) en el que se pueden escribir en forma de código pruebas software usando lenguajes como Java, C#, Ruby, Groovy, Perl, Php o Python. Las pruebas pueden ejecutarse en cualquier navegador (Firefox, Chrome, IE, Safari..) así como en cualquier sistema operativo (Windows, Linux, MacOSX).</description></item><item><title>020 - Buenas prácticas en el diseño de Test Automáticos con Selenium Webdriver.</title><link>https://unaqaenapuros.com/2017/07/26/020-buenas-practicas-en-el-diseno-de-test-automaticos-con-selenium-webdriver/</link><pubDate>Wed, 26 Jul 2017 07:00:05 +0000</pubDate><guid>https://unaqaenapuros.com/2017/07/26/020-buenas-practicas-en-el-diseno-de-test-automaticos-con-selenium-webdriver/</guid><description>¡Hola a todos!
Para seguir con el tema de las buenas prácticas, en esta entrada vamos a hablar de las buenas prácticas en cuanto al diseño de Test Automáticos con Selenium Webdriver&amp;hellip;¡Comenzamos!
Haz siempre tu código legible. Para ello utiliza métodos claros, devuelve siempre &amp;ldquo;this&amp;rdquo;, usa métodos &amp;ldquo;void&amp;rdquo;. Devuelve argumentos genéricos y con nombres auto-descriptivos
1 2 3 4 5 6 7 @Test public void openPageWithoutErrors() throws Exception { MainPage main = openMainPage(); main.hasNumberOfErrors(1); main.withCampaignName(&amp;#34;SELENIUM&amp;#34;).save(); main.hasNumberOfErrors(2); } Sé robusto y portable a la hora de seleccionar los elementos. Evita siempre seleccionar un elemento usando el xpath generado por herramientas como Firepath. Crea siempre tus selectores de la forma más robusta y portable posible. Intenta seleccionar siempre un elemento mediante su: id &amp;gt; name &amp;gt; css &amp;gt; xpath. Seleccionar por id y por nombre son, a menudo, la forma más fácil y segura de seleccionar un elemento. Selecciona un elemento por xpath cuando necesites que contenga un texto específico. Usa siempre los selectores css junto al id o el nombre del elemento. Si tenemos problemas seleccionando los links en una aplicación, podemos usar las href parciales. Evita usar siempre Thread.sleep, usa Wait o FluentWait. Sabemos que a veces debemos decirle a Selenium que espere antes de realizar alguna acción. Debemos intentar utilizar siempre métodos como Wait o FluentWait.</description></item><item><title>019 - Buenas prácticas en Metodologías Ágiles para la programación.</title><link>https://unaqaenapuros.com/2017/07/19/019-buenas-practicas-en-metodologias-agiles-para-la-programacion/</link><pubDate>Wed, 19 Jul 2017 07:00:30 +0000</pubDate><guid>https://unaqaenapuros.com/2017/07/19/019-buenas-practicas-en-metodologias-agiles-para-la-programacion/</guid><description>¡Hola a todos!
Continuando con nuestro anterior post, en esta ocasión hablaremos de buenas prácticas en las metodologías ágiles para la programación. ¡Comenzamos!
Ya que hemos visto algunas de las buenas prácticas recomendadas para las metodologías ágiles, vamos a centrarnos ahora en las buenas prácticas orientadas a la programación en una metodología ágil.
En un principio este tipo de buenas prácticas se catalogan como Extreme Programming (XP), aunque también se han definido con términos como Prácticas de la Ingeniería Ágil, Buenas prácticas de Scrum y Agile Programming.</description></item><item><title>018 - Buenas prácticas en metodologías ágiles.</title><link>https://unaqaenapuros.com/2017/07/12/018-buenas-practicas-en-metodologias-agiles/</link><pubDate>Wed, 12 Jul 2017 07:00:55 +0000</pubDate><guid>https://unaqaenapuros.com/2017/07/12/018-buenas-practicas-en-metodologias-agiles/</guid><description>¡Hola a todos!
Vamos a dejar la parte técnica para volver a de nuevo a la teórica, en este caso para hablar sobre las buenas prácticas en las metodologías ágiles.
Las metodologías ágiles son una serie de técnicas para la gestión de proyectos que han surgido como contraposición a los métodos clásicos de gestión como por ejemplo CMMI.
Todas las metodologías que se consideran ágiles cumplen con el manifiesto ágil que no es más que una serie de principios que se agrupan en 4 valores:</description></item><item><title>017 - SonarQube + Plugins con Reglas.</title><link>https://unaqaenapuros.com/2017/07/05/017-sonarqube-plugins-con-reglas/</link><pubDate>Wed, 05 Jul 2017 07:00:43 +0000</pubDate><guid>https://unaqaenapuros.com/2017/07/05/017-sonarqube-plugins-con-reglas/</guid><description>¡Hola a todos!
En las últimas entradas hemos estado hablando de SonarQube: su instalación en Eclipse, en Docker y por último hemos estado hablando de las Reglas y las plantillas. En esta última entrada dedicada a Sonar, hablaremos de cómo importar plugins con reglas ya añadidas&amp;hellip; ¡Comenzamos!
Este es un paso bastante importante ya que, en función del lenguaje que se quiera analizar, ofrecerá una batería de métricas ya definidas listas para atacar el código analizado. A partir de esta batería de reglas se podrán coger las plantillas que tenga y crear reglas más personalizadas para cualquier caso en concreto.</description></item><item><title>016 - SonarQube + Custom Rule.</title><link>https://unaqaenapuros.com/2017/06/28/016-sonarqube-custom-rule/</link><pubDate>Wed, 28 Jun 2017 07:00:33 +0000</pubDate><guid>https://unaqaenapuros.com/2017/06/28/016-sonarqube-custom-rule/</guid><description>¡Hola a todos!
Seguimos con SonarQube y en esta ocasión tenemos un post dedicado a las Custom Rules.
Una Custom Rule o Regla Personalizada es una regla creada a través de una Rule Template (ya hablamos de ellas en nuestra anterior entrada).
Las Custom Rules se consideran como cualquier otra regla ya añadida en Sonar a la hora de analizar nuestro código, la única diferencia con las reglas predeterminadas es que las custom rules se pueden editar e incluso eliminar.</description></item><item><title>015 - SonarQube + Rule Template.</title><link>https://unaqaenapuros.com/2017/06/21/015-sonarqube-rule-template/</link><pubDate>Wed, 21 Jun 2017 07:00:24 +0000</pubDate><guid>https://unaqaenapuros.com/2017/06/21/015-sonarqube-rule-template/</guid><description>¡Hola a todos!
Continuamos con los artículos relacionados con SonarQube dedicando este último a una parte muy importante, las reglas.
Como ya hemos hablado anteriormente y para refrescar la memoria, sabemos que SonarQube es una herramienta que nos permite monitorizar y analizar el código de una aplicación y ver los errores, code smells y buenas prácticas del código analizado. El uso de esta herramienta cada vez está más extendido ya que el impacto que tiene su implementación es relativamente bajo comparado con la calidad con la que se genera en el código.</description></item><item><title>014 - SonarQube + Docker.</title><link>https://unaqaenapuros.com/2017/06/18/014-sonarqube-docker/</link><pubDate>Sun, 18 Jun 2017 11:01:48 +0000</pubDate><guid>https://unaqaenapuros.com/2017/06/18/014-sonarqube-docker/</guid><description>¡Hola a todos!
En esta sección vamos a explicar cómo instalar SonarQube en Docker para poder lanzar fácilmente sonar y ver el estado de la calidad de nuestro código&amp;hellip;. ¡Comenzamos!Podemos hacerlo de dos formas, una mediante la aplicación de Docker y otra mediante Play With Docker (sólo dura 4 horas).
Play with Docker. Play with docker es una web que nos permite crear contenedores virtuales que podemos usar durante un periodo de 4h. Sirven para hacer pruebas con docker de forma fácil y sencilla y para casos puntuales. Si queremos usar Play With Docker para instalar nuestro sonar y hacer un análisis rápido (sin guardar luego los resultados), lo haremos de la siguiente forma:</description></item><item><title>013 - SonarQube</title><link>https://unaqaenapuros.com/2017/06/10/013-sonarqube/</link><pubDate>Sat, 10 Jun 2017 09:00:15 +0000</pubDate><guid>https://unaqaenapuros.com/2017/06/10/013-sonarqube/</guid><description>¡Hola a todos!
Como comentábamos ya en las pasadas entradas, vamos a dejar atrás las entradas teóricas y vamos a centrarnos en las más técnicas. Comenzamos con git y los comandos básicos para saber usarlos y en esta entrada continuaremos con SonarQube.
¿Qué es SonarQube? SonarQube (conocido anteriormente como Sonar ) es una plataforma para evaluar código fuente. Es software libre y usa diversas herramientas de análisis estático de código fuente como Checkstyle, PMD o FindBugs para obtener métricas que pueden ayudar a mejorar la calidad del código de nuestra aplicación.</description></item><item><title>012 - Git Básico (II)</title><link>https://unaqaenapuros.com/2017/06/08/012-git-basico-ii/</link><pubDate>Thu, 08 Jun 2017 09:00:33 +0000</pubDate><guid>https://unaqaenapuros.com/2017/06/08/012-git-basico-ii/</guid><description>¡Hola a todos!
En esta entrada vamos a continuar hablando de Git y de los comandos más importantes que debemos conocer.
Diferencias: Si hemos tenido cambios en el repositorio y queremos ver qué es lo que ha cambiado, usamos el comando:
1 git diff y se mostrará una lista de los cambios realizados. Si queremos ver cuál es la diferencia entre nuestro commit más reciente, podemos verlo usando el puntero al HEAD con el comando:</description></item><item><title>011 - Git Básico.</title><link>https://unaqaenapuros.com/2017/06/06/011-git-basico/</link><pubDate>Tue, 06 Jun 2017 09:00:06 +0000</pubDate><guid>https://unaqaenapuros.com/2017/06/06/011-git-basico/</guid><description>¡Hola a todos!
En esta entrad hablaremos de Git y de los comandos básicos que tenemos que saber para poder usarlo con nuestro proyecto de automatización de pruebas.
Para comenzar, os dejo el enlace de un curso básico gratuito de Git (bastante completo además) de Code School llamado Try Git.
Una vez que tengamos claro todos los conceptos, vamos a detallar los más importantes:
Configurar una cuenta de Github. Para poder configurar una cuenta, tenemos que realizar una configuración previa para poder realizar cualquier acción en git.</description></item><item><title>010 - Procesos de prueba</title><link>https://unaqaenapuros.com/2017/06/03/010-procesos-de-prueba/</link><pubDate>Sat, 03 Jun 2017 09:00:06 +0000</pubDate><guid>https://unaqaenapuros.com/2017/06/03/010-procesos-de-prueba/</guid><description>¡Hola a todos!
En esta entrada hablaremos sobre los procesos de prueba y explicaremos qué actividades se realizan en cada uno de los procesos. ¡Comenzamos!
Planificación y control: En esta fase y mediante la planificación se determina lo que se va a probar y cómo se va a alcanzar el objetivo. El control son las acciones que se toman cuando las actividades no se ajustan a los planes. La planificación y el control son una actividad continuada que va comparando el progreso realizado contra el plan.</description></item><item><title>009 - Principios de prueba y sus objetivos.</title><link>https://unaqaenapuros.com/2017/06/01/009-principios-de-prueba-y-sus-objetivos/</link><pubDate>Thu, 01 Jun 2017 12:06:02 +0000</pubDate><guid>https://unaqaenapuros.com/2017/06/01/009-principios-de-prueba-y-sus-objetivos/</guid><description>¡Hola a todos!
En esta entrada hablaremos de los principios de pruebas y de cada uno de sus objetivos&amp;hellip;. ¡Comenzamos!
Debemos comenzar diciendo que los principios de pruebas que vamos a detallar a continuación pueden considerarse como una guía o soporte para los ingenieros de calidad y pueden usarse como base para diseñar el plan de pruebas software.
Las pruebas muestran la presencia de errores: El objetivo de las pruebas es encontrar defectos. Debemos tener en cuenta que las pruebas deben llevarse a cabo con el fin de encontrar tantos defectos como sea posible. Las pruebas exhaustivas son imposibles: Debemos saber de antemano que probarlo todo con detalle no es del todo factible (aunque puede ser posible si tenemos el tiempo y recursos). Nuestro objetivo es intentar hacer un análisis de riesgos para centrar los esfuerzos de las pruebas que realicemos. Pruebas iniciales: Cuando antes se empiece a desarrollar una prueba, mayor será el tiempo disponible para probar. No debemos esperar hasta que el software esté completamente terminado para comenzar a probar. Cuanto antes se detecte un problema, menor es el coste de solucionarlo. Las pruebas son dependientes del contexto: Tenemos que tener en cuenta que tendremos diferentes pruebas necesarias en diferentes circunstancias (y en otras no). Cuanto mayor es la posibilidad de pérdidas, mayor es la necesidad de invertir en probar el software antes de ser totalmente implementado. Y con esto terminamos los principios de pruebas y sus objetivos. En la siguiente entrada hablaremos con más detalle de los diferentes procesos de prueba que tenemos y qué se debe hacer en cada no de ellos.</description></item><item><title>008 - El ciclo de vida de un defecto.</title><link>https://unaqaenapuros.com/2017/05/31/008-el-ciclo-de-vida-de-un-defecto/</link><pubDate>Wed, 31 May 2017 08:21:00 +0000</pubDate><guid>https://unaqaenapuros.com/2017/05/31/008-el-ciclo-de-vida-de-un-defecto/</guid><description>¡Hola a todos!
En esta entrada hablaremos de forma detallada del ciclo de vida que tienen los defectos y las diferentes fases por las que pasa desde que lo reportamos hasta que lo cerramos. ¡Comenzamos!
Podríamos definir el ciclo de vida de un defecto como el viaje de éste por los diferentes estados durante su vida útil. Estos estados pueden variar dependiendo de la organización, del proyecto o de las herramientas que utilicemos, aún así, sus diferentes estados podrían definirse con este flujo:</description></item><item><title>007 - Cómo reportar un defecto.</title><link>https://unaqaenapuros.com/2017/05/30/007-como-reportar-un-defecto/</link><pubDate>Tue, 30 May 2017 08:29:04 +0000</pubDate><guid>https://unaqaenapuros.com/2017/05/30/007-como-reportar-un-defecto/</guid><description>¡Hola a todos!
En esta entrada vamos a dar una serie de consejos para reportar de forma correcta un defecto.
Una de las cosas que tenemos que tener claras antes de reportar un defecto es tener una forma de reproducirlo. Tenemos que tener un camino claro y definido de cómo reproducir lo que hemos encontrado para darle el máximo de detalles a los desarrolladores para que sean capaces de investigar y resolver el defecto que nos hemos encontrado. La mejor forma de mostrar evidencias que tenemos es tener unos pasos bien definidos, capturas de pantalla o incluso un video en el que se pueda ver el defecto que acabamos de reportar.</description></item><item><title>006 - Diferencias entre validación y verificación.</title><link>https://unaqaenapuros.com/2017/05/29/006-diferencias-entre-validacion-y-verificacion/</link><pubDate>Mon, 29 May 2017 07:42:05 +0000</pubDate><guid>https://unaqaenapuros.com/2017/05/29/006-diferencias-entre-validacion-y-verificacion/</guid><description>¡Hola a todos!
En esta entrada vamos a hablar de dos conceptos que a menudo se confunden y que hay que tener claros a la hora de revisar un defecto. ¡Comenzamos!
La validación y verificación (V&amp;amp;V) es el nombre que se da a los procesos de comprobación y análisis que aseguran que el software que se ha desarrollado es acorde a sus especificaciones y cumple con las necesidades del cliente. También debemos de tener en cuenta que ambas sirven para los siguientes propósitos en común:</description></item><item><title>005 - Definiciones: Error, defecto, fallo, incidencia, test case...</title><link>https://unaqaenapuros.com/2017/05/28/005-definiciones-error-defecto-fallo-incidencia-test-case/</link><pubDate>Sun, 28 May 2017 10:48:25 +0000</pubDate><guid>https://unaqaenapuros.com/2017/05/28/005-definiciones-error-defecto-fallo-incidencia-test-case/</guid><description>Hola de nuevo, para seguir poniéndonos en contexto sobre todo lo que tenemos que saber de base de QA, en esta entrada daremos varias definiciones de términos que debemos conocer y tener claro su significado. La mayoría de estas definiciones están sacadas de la web de ISTQB (International Software Testing Qualifications Board), una de las mayores organizaciones de pruebas internacionales. ¡Comenzamos!
Error: acción humana que produce un resultado incorrecto, por ejemplo un error de programación. Defecto: Imperfección en un componente o sistema que puede causar que el componente o sistema falle en desempeñar las funciones requeridas. Por ejemplo, si se localiza un defecto durante una ejecución puede causar un fallo en el componente o sistema, por ejemplo una sentencia o una definición de datos incorrecta. Fallo: Manifestación física o funcional de un defecto, por ejemplo, desviación de un componente o sistema respecto de la presentación, servicio o resultado esperado. Enmascaramiento de error: Ocurrencia en la cual un defecto impide la detección de otro [ IEEE6] Incidencia: Cualquier ocurrencia de un suceso que requiere investigación [ Según IEEE 1008]. Escalabilidad: Capacidad de un producto software de ser actualizado para adaptarse a cargas crecientes. Test Case: es un documento que tienen un conjunto de datos a probar, condiciones previas, resultados esperados y condiciones posteriores. Se desarrolla para un escenario de prueba en particular con el fin de verificar el cumplimiento de un requisito específico. Test Suite: Una Test Suite es un contenedor con un conjunto de pruebas (test) que ayuda en la ejecución a los testers y a reportar el estado de las pruebas. Un test case se puede añadir a varias Test Suites. White Box Testing (pruebas de caja blanca): Las pruebas de caja blanca son una técnica que examina la estructura del programa y los datos de prueba derivados de la lógica del programa/código. Black Box Testing (pruebas de caja negra): es un método de pruebas de software que examina la funcionalidad de una aplicación basada en las especificaciones. El equipo de pruebas lleva a cabo este tipo de pruebas durante el ciclo de vida del software. Este tipo de prueba se puede aplicar a cada uno y todos los niveles de las pruebas de software tal como los unitarios, la integración y las pruebas de aceptación. Release Candidate: Una release candidate (RC) es la build a probar para comprobar si algún problema crítico ha sido detectado en el código durante el periodo de desarrollo anterior. La Release Candidate no tiene por qué ser la que se despliegue en producción, tan solo es para propósitos de prueba. Sin embargo, en la mayoría de los casos, no existen diferencias entre la release final y la release candidate. Espero que después de estas definiciones tengamos más claros estos conceptos. En la próxima entrada seguiremos con otra de las comparativas y definiciones más importantes, la diferencia entre validación y verificación. ¡Nos leemos en la siguiente entrada!</description></item><item><title>004 - Tipos de Pruebas Software.</title><link>https://unaqaenapuros.com/2017/05/27/004-tipos-de-pruebas-software/</link><pubDate>Sat, 27 May 2017 17:31:21 +0000</pubDate><guid>https://unaqaenapuros.com/2017/05/27/004-tipos-de-pruebas-software/</guid><description>Hola de nuevo,
una vez que hemos aprendido qué son las pruebas software en nuestra anterior entrada, ahora entraremos en detalle hablando de los tipos de pruebas software que hay.
Para comprender las pruebas, debemos hablar de los diferentes niveles de pruebas que tenemos, así como de cuál es su objetivo, los participantes, el ambiente en el que se realizan y el método por el que se comprueban. Todos estos datos se pueden esquematizar en:</description></item><item><title>003 - Pruebas Software.</title><link>https://unaqaenapuros.com/2017/05/27/003-pruebas-software/</link><pubDate>Sat, 27 May 2017 16:40:15 +0000</pubDate><guid>https://unaqaenapuros.com/2017/05/27/003-pruebas-software/</guid><description>Hola a todos,
en esta entrada vamos a hablar de las Pruebas Software.
Las pruebas software son seguramente la actividad más importante en el control de calidad realizado en los proyectos de desarrollo software.Podríamos definir prueba software como: “ La actividad en la cual un sistema o uno de sus componentes se ejecuta en circunstancias previamente especificadas, los resultados se observan y registran y se realiza una evaluación al respecto” (IEEE Computer Society). También podríamos definirlo como “ el proceso de ejecutar un programa con el fin de encontrar errores”.El propósito de las pruebas es reducir el tiempo entre el momento en el que los fallos se insertan en el código y el momento en el que son detectados.Se debe tener en cuenta que las pruebas son técnicas de comprobación dinámica, es decir, que el realizarlas siempre implica la ejecución del programa y que éstas permiten evaluar la calidad de un producto, mejorarlo e identificar sus defectos y problemas.Para comprender las pruebas, debemos hablar de los diferentes niveles de pruebas que tenemos, así como de cuál es su objetivo, los participantes, el ambiente en el que se realizan y el método por el que se comprueban.</description></item><item><title>002 - Calidad del Software.</title><link>https://unaqaenapuros.com/2017/05/27/002-calidad-del-software/</link><pubDate>Sat, 27 May 2017 16:00:53 +0000</pubDate><guid>https://unaqaenapuros.com/2017/05/27/002-calidad-del-software/</guid><description>Hola de nuevo,
como ya sabéis, este es un blog sobre la calidad, en concreto sobre la calidad del software y como tal tenemos que comenzar hablando de qué es exactamente la calidad del software y para qué sirve.
Para empezar, daremos varias definiciones sobre calidad del software:
IEEE.Std.610-1990 la define como: “El grado con el que un sistema, componente o proceso cumple con los requisitos especificados y las necesidades o expectativas del cliente o usuario“. ISO/IEC 25010 define la calidad del producto software como: “El grado en que dicho producto satisface los requisitos de sus usuarios aportando de esta manera un valor.” Pressman define la calidad del software como: “ La calidad del software es la concordancia con los requerimientos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se esperan de todo software desarrollado profesionalmente.”Aunque de todas, mi definición favorita es la de IEEE, Std 610-1900 que dice: “ La calidad del software es el conjunto de cualidades que lo caracterizan, determinan su utilidad y satisfacción al cliente o usuario.”</description></item></channel></rss>