10 herramientas para la gestion de calidad de software

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.
¿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 de Udemy.
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.
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.
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.
8.- Cucumber

Tenemos una serie artículos dedicada a 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.