10 herramientas para la gestion de calidad de software - La Oficina de Proyectos de Informática

miércoles, 15 de abril de 2015

10 herramientas para la gestion de calidad de software

Imagen de: WP Glee

Con el auge que han tenido las aplicaciones basadas en la web y en la nube, han surgido numerosas herramientas de software que nos permiten gestionar diversas tareas.

En el área de ingeniería de software y en particular las pruebas de software (Software Testing), existen nuevas herramientas para registrar información y presentarnos reportes de estatus en las diferentes fases de ciclo de vida, según las metodologías de desarrollo de software utilizadas.  Asimismo, tenemos nuevas herramientas para automatizar los Tests.

En este post presentamos una recopilación de herramientas de gestión de pruebas de software, tales como: Testlink, Redmine, HP Quality Center e IBM Rational Quality Manager, Gemini, Zephyr, Mantis y Bugzilla.

PMOInformatica presenta 10 herramientas para gestionar el Software Testing.

10 herramientas de calidad de software


Gestión de pruebas de software


1.- Testlink


Testlink es un sistema de gestión de pruebas de software basado en la web, es de código abierto (Open Source) y dispone de una amplia comunidad de foristas y voluntarios que publican guías e información sobre cómo utilizarlo.


Para organizar las pruebas de software, Testlink define tres unidades de información básicas que son el Proyecto de pruebas (Test Project), Plan de pruebas (Test Plan) y el usuario (User), el resto de la información son relaciones entre estas bases.

Para gestionar el software Testing, utilizas el Testlink para:

  • Definir proyectos de pruebas (Test Project).
  • Definir los usuarios que accederán al proyecto.
  • Crear casos de prueba y su información (Test Case).
  • Organizar los casos de pruebas en “conjuntos de pruebas” (Test Suite).
  • Asignar palabras claves (keywords) a los casos de pruebas.
  • Crear planes de pruebas (Test Plan) y enlazarles casos de pruebas (Test Case).
  • Ejecutar los casos de prueba y registrar resultados.
  • Visualizar los resultados de las pruebas (Test Results).

Para obtener más información, visita el sitio web de Testlink.

Para manejar una estrategia concertada entre Testing y desarrollo, es recomendable usar también herramientas para la gestión de desarrollo de software, aquí te compartimos un artículo sobre el tema.

Herramientas de Gestión de Proyectos de Desarrollo de Software (1era Parte)

Cursos de Software Testing


Curso Introducción al Testing de Software para principantes

¿Estás trabajando en el área de pruebas de software y te gustaría ampliar tu formación?

Te recomendamos los Cursos de Software Testing iconde Udemy.

Introducción al Testing de Software, pruebas de webservices con SoapUI, automatización de pruebas con Selenium y muchos más.

También Visita nuestra página de Recursos en Pruebas de Software

¿Cómo elaborar el plan de pruebas de software?


¿Interesado en un método para levantar la información y elaborar el plan de pruebas de software?, sigue el enlace:

Pruebas de software: 10 pasos para elaborar el plan de pruebas

Pruebas no funcionales de software


10 tipos de pruebas no funcionales

Más Información sobre Software Testing


Visita nuestra página de Recursos en Pruebas de Software

2.- Redmine


Redmine es una aplicación de software para la gerencia de proyectos, puede funcionar en diversas plataformas y bases de datos de distintos proveedores.

La herramienta es de código abierto y su mantenimiento está a cargo de una comunidad de voluntarios a la cual todos pueden incorporarse.


No es una herramienta de gestión de software Testing perse, sin embargo, puedes usarla para organizar el ciclo de calidad de software como si fuera un proyecto, por ejemplo para:
  • Establecer controles de acceso basados en roles.
  • Definir cuales actividades tendrá tu ciclo de Testing.
  • Definir cuál va a ser su flujo de trabajo (workflow) y posibles estatus.
  • Registrar el tiempo invertido (en horas por ejemplo) por tu equipo de trabajo.
  • Cada usuario puede ingresar y registrar su reporte de tiempo.
  • Ver reportes de tiempo por usuario, tipo de Issue, categoría o actividad.
  • Elaborar gráficos Gantt y calendarios de forma automatizada a partir de la información registrada.

Redmine tiene muchas más funcionalidades, para obtener mayor información puedes visitar el sitio web de Redmine.

También si buscas herramientas de gestión de proyectos (Project Management) aquí te compartimos un artículo.

Herramientas de Software para Gestión Proyectos

3.- Zephyr / Jira


Zephyr es un software de gestión de ciclo de pruebas de software, disponible como versión empresarial y como un Add-On de Atalassian Jira.

Disponible bajo licencia (que tienen un costo), pero dispone de una edición comunitaria (hasta 10 usuarios) gratuita.

En su versión para Jira, Zephyr te permite extender tu Jira Server o Jira Cloud para incluir tipos de Issues y estatus de Software Testing, estas Issues podrás crearlas, ejecutarlas y hacerles seguimiento como cualquier otra Issue de Jira.

Entre los ciclos de pruebas que puede manejar, tiene la novedad que soporta ciclos Agile Testing.


Para gestionar el software Testing, puedes usar Zephyr para:

  • Creación y planificación de pruebas:
    • Crear Tests como Issues de Jira estándares.
    • Construir planes de prueba.
    • Definir ciclos de pruebas.
    • Hacer seguimiento al avance de las pruebas dentro de Jira.
    • Tiene disponibles planes predeterminados para amplia variedad de proyectos.
  • Ejecución de las pruebas:
    • Ingreso de información en las pruebas (estatus, comentarios, adjuntos).
    • Asociaciones de defectos a los casos de pruebas.
  • Tableros e indicadores para ver la situación y progreso de las pruebas.

La información que presentamos aquí la obtuvimos del sitio web de Zephyr, puedes visitarlos para mayor información.

Es conveniente integrar tu herramienta de Agile Testing con herramientas de desarrollo ágil de software, para trabajar concertadamente entre desarrollo y testing. Aquí te compartimos un artículo:

> Herramientas de software para gestión de proyectos de desarrollo ágil

4.- Gemini


Gemini es una solución automatización de flujo de trabajo, comunicaciones y reportes en una gran variedad de escenarios de gestión de tecnología de información (TI).

La solución puede ser instalada en los servidores del cliente o se brinda acceso a la nube. Es suministrada bajo licencia (a un costo).


Gemini incluye varias soluciones para la gestión de TI y el ciclo de ingeniería de software, entre ellas seguimiento de issues, gestión de defectos (bugs), metodologías ágiles, help desk, ITIL Service Desk, seguimiento de proyectos, gestión de software Testing y captura (identificación) de requisitos.

En cuanto a la gestión de testing, Gemini posee un módulo para definir planes de pruebas, ejecutarlos, asignar los casos de prueba a tareas (Issues), registrar incidencias y producir reportes de trazabilidad.

El modulo Agile también puede ser de utilidad para definir tableros Kanban, backlogs de productos y manejo de tareas bajo filosofía ágil.

Para obtener más información, visita el sitio web CounterSoft, proveedor de Gemini.

5.- Hewlett Packard Quality Center (HP QC)


Es un software de gestión de calidad suministrado por la división de software de HP, que ofrece diversas capacidades para el aseguramiento de calidad, gestión de requerimientos, gestión de software testing, entre otros.

HP QC es una solución licenciada (a un costo).


Como área de software Testing, las capacidades de HP QC te sirven para:

  • Definir proyectos, ciclos y planes de prueba.
  • Definir los casos de prueba.
  • Registrar la ejecución de casos de prueba incluyendo el resultado y la evidencia anexa.
  • Registrar defectos y asociarlos a los casos de prueba.
  • Reportes operativos de Testing, incluyendo porcentajes de avance, estado de incidencias, progreso del Release entre otros.

Recientemente HP QC ha incorporado también funciones de gestión de requisitos, Testing de procesos de negocio, Agile Testing e integración con automatización de pruebas.

La información que reseñamos aquí la obtuvimos del sitio web de HP QC.

6.- IBM Rational Quality Manager


Es un centro automatizado de colaboración para manejar la calidad de sistemas entre múltiples plataformas y tipos de Testing.


Como Tester o área de calidad de software, puedes usar IBM Rational Quality Manager para:
  • Definir planes de prueba y los objetivos de calidad asociados al proyecto.
  • Crear tableros customizados (a partir de widgets predeterminados) para hacer seguimiento al trabajo completado y por realizar.
  • Registrar defectos y usar herramientas para identificar defectos duplicados sospechosos.
  • Integrar capacidades de comunicación como feeds de eventos, chat y workflow de aprobaciones.
  • Completar parte de la información de la prueba realizada a partir de las acciones del usuario en pantalla.
  • Reusabilidad de casos de prueba (casos de pruebas pueden compartir los mismos pasos.
  • Identificar y seleccionar los test mínimos requeridos para dar cobertura.
  • Priorizar funcionalidades a ser probadas.
  • Obtener reportes para la toma de decisiones.
  • Reportes para evaluar si el producto está listo y en qué porcentaje ha cumplido los tests.
  • Hacer versionamiento de ciclo de vida y trazabilidad entre pruebas, defectos y correcciones.

Para mayor información te recomendamos visitar el sitio web de IBM Rational Manager.

Automatización de software testing


7.- Selenium (para automatización)


Selenium WebDriver es uno de los principales exponentes en la automatización de Software Testing para aplicaciones web hoy en día.

Aquí te presentamos una interesante serie de artículos que tenemos sobre Selenium.

> Introducción a la automatización de software testing con Selenium Webdriver

Como instalar Selenium Webdriver y Ruby en 5 pasos

> Selenium WebDriver, metodologías ágiles y el Testing de Aceptación Automatizado

> Tutorial de lenguaje Ruby en Español

Con Selenium puedes escribir instrucciones en lenguajes de programación como Java, Python y Ruby para abrir ventanas de navegadores de servidores web, escribir datos en dichas páginas, presionar botones y opciones de menú sin intervención de un usuario, permitiendote de esta forma automatizar tus pruebas de software.

Si buscas herramientas para automatizar pruebas de software, te recomendamos este artículo:

5 Herramientas para la automatización de pruebas de software

Curso de Selenium




¿Problemas con proyectos de software muy grandes en los cuales tienes que repetir las mismas pruebas manuales una y otra vez? 


8.- Cucumber


Tenemos una serie artículos dedicada a Cucumber.

Aquí te dejamos los enlaces.

5 preguntas y respuestas sobre Cucumber

Desarrollo de sistemas con Behaviour-Driven Development y Cucumber

Cucumber es una herramienta para implementar metodologías como el Behaviour Driven Development (BDD), que permite ejecutar descripciones funcionales en texto plano como pruebas de software automatizadas.

Seguimiento de incidencias


9.- Mantis


MantisBT es una herramienta de seguimiento de problemas e incidencias (issue tracker) de fuente de código abierto (Open Source).

Según sus creadores, representa un buen balance entre simplicidad y capacidad funcional. Gracias a esta simplicidad, los usuarios pueden aprender a usarla y comenzar en tan solo minutos, habilitando la colaboración entre miembros del equipo y clientes.

MantisBT es una herramienta Web que puede ser instalada en cualquier Sistema que soporte PHP, tales como Windows, Linux, Mac, Solaris, AS400 /i5.

Puede trabajar con distintas bases de datos (MySQL, MS SQL, PostgreSQL). Además, proporciona servicios Web que permiten otras aplicaciones interactuar con MantisBT.


Entre sus funcionalidades destacan:

  • Páginas para registrar Issues (incidencias) customizable.
  • Múltiples proyectos por instancia.
  • Clasificación de Issues en proyectos, subproyectos y categorías.
  • Diferentes niveles de acceso por proyectos.
  • Búsqueda y filtro.
  • Reportes y gráficos.
  • Notificaciones por email.
  • Archivos adjuntos.
  • Historial de cambios.
  • Flujo de trabajo (Workflow) personalizable.
  • Registro de tiempo.

Como profesional o área de Software Testing, MantisBT es de mucha utilidad para registrar y hacer seguimiento a las incidencias que identifiques durante el proceso de Testing, para cada incidencia, puedes incluir su descripción archivos adjuntos y configurar envíos de e-mail automáticos. 

Si tienes otras aplicaciones de gestión de Testing desarrolladas In-House, puedes registrar y obtener información de Mantis vía servicios SOA.

El sitio web de Mantis tiene más información sobre la herramienta y cómo usarla. Te recomendamos visitarlo.

10.- Bugzilla


Bugzilla es un “Sistema de seguimiento de defectos” (Bug Tracking System). Un sistema de este tipo permite a grupos de desarrolladores o individuales hacer seguimiento a los errores (bugs) de software en el producto que se está desarrollando.


En términos generales, la funcionalidad que proporciona es:
  • Seguimiento de errores en el código (Defectos) reportados por distintas vías (una de ellas el Testing).
  • Seguimiento a cambios en códigos.
  • Comunicación con los integrantes del equipo.
  • Envío y revisión de cambios.
  • Aseguramiento de calidad (QA).
  • Identificación automatizada de defectos (bugs) reportados duplicados.
  • Reportes y gráficos.
  • Registro de tiempo.
  • Control de acceso, seguridad y administración.

Como Software Tester individual o grupo, Bugzilla te puede servir para registrar los defectos (bugs) identificados en las pruebas, describirlos y anexar documentación soporte, luego enviarlos al equipo de desarrollo para que sean replicados y corregidos. La herramienta te presenta reportes que te permiten ver cuantos errores tienes en distintos estatus.

Aquí dejamos un enlace al sitio web de Bugzilla en el cual encontrarás mucha más información.

¿Y qué opinas tú?


¿Cuáles herramientas de gestión de desarrollo y de software Testing usas en tu organización? ¿Cuáles son tus herramientas preferidas? ¿Qué ventajas tienen esas herramientas sobre otras?

¿Buscas más información de gerencia informática?

¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de gerencia informática?, entonces presiona "suscríbete" a continuación.

Suscríbete a la lista de correo electrónico:


Vía FeedBurner, se abrirá una nueva ventana

También puedes seguirnos vía Twitter, Facebook o Linkedin:

  

Herramientas de gestión de desarrollo de software


Para una gestión más efectiva del software Testing por medio de herramientas de gestión, es recomendable adoptar una estrategia concertada con las áreas desarrollo de software y de gestión de proyectos.

Aquí te dejamos un par de artículos con herramientas de gestión del proceso de desarrollo de software que te pueden ayudar.

> 5 Herramientas de testing de servicios web

Herramientas de Gestión de Proyectos de Desarrollo de Software (1era Parte)


7 aplicaciones de productividad para profesionales tecnología de información

Las opciones presentadas son interesantes para integrarlas las herramientas de pruebas de software con las de gestión técnica (desarrollo) y de proyectos.

5 comentarios :

  1. Excelente post :) podría incluirse también la herramienta de JMeter para las pruebas de Strés y Carga. Me daría mucho gusto si realizan un post sobre esta herrmienta o similares. Saludos

    ResponderEliminar
  2. Alguien conoce la herramienta Kuscos para certificación y detención de módulos críticos y de riesgo en las aplicaciones?

    ResponderEliminar
  3. Excelente, me pueden recomendar algún programa (Testlink, JMeter, ...), para revisar el código PL/SQL?.
    Saludos.

    ResponderEliminar
  4. Saludos anónimo,

    Sobre herramientas para inspecciones de código, te recomendamos los siguientes artículos:

    http://testingbaires.com/kiuwan-y-el-analisis-estatico-de-codigo/

    http://testingbaires.com/analisis-estatico-de-codigo-algunas-herramientas/

    Un saludo,

    ResponderEliminar

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.