Descubre el TMM

TMM es la abreviación usada para Test Maturity Model. El TMM es un proceso de madurez del test que fue originalmente creado por el Illinois Institute of Technoloogy como guía para la mejora de procesos de testing y como complemento al CMM(i).

La estructura del TMM está basada en el CMM y en su fases, ya que consiste también en 5 niveles que reflejan el grado de madurez del test. Para cada nivel de madurez, hay definidas un número de procesos. Los cinco niveles del TMM ayudarán a una organización a determinar la madurez de sus procesos de test y a identificar los pasos a seguir para introducir las mejoras necesarias para lograr niveles mayores de madurez.

Los niveles de madurez son:
o Nivel 1 – Inicial: El test está sumido en un proceso caótico ó simplemente no hay test alguno.

o Nivel 2 – Definición: Se caracteriza por la utilización de técnicas básicas de test que identificarán si el software está de acuerdo con sus especificaciones. Estructuración del proceso de test, planificaciones y estrategias.

o Nivel 3 – Integración: Se caracteriza por el test está completamente integrado en el ciclo de vida del software y es reconocido a todos los niveles del modelo en V. El Plan de test está terminado, las estrategias han sido determinadas en función del previo análisis de riesgos basados en los requisitos.

o Nivel 4 – Gestión y Medición: El test es un proceso medido y cuantificado. La usabilidad es uno de los atributos de calidad utilizados en el test de software.

o Nivel 5 – Optimización, Prevención de defectos y control de calidad: Se caracteriza por mecanismos precisos para que el test pueda ser mejorado continuamente. En este nivel se utilizan procedimientos para seleccionar y evaluar herramientas de test.

Cada día los sistemas son más y más complejos, haciendo necesario que se tomen encuenta mejoras en la calidad de nuestros procesos para mejorar así la calidad final del producto. El modelo TMM nos proporcionará y proceso de desarrollo de software más eficiente y efectivo. Nuestro objetivo será a prevención y no en la detección.

En la web de la fundación TMM se puede encontrar muchísima documentación sobre el modelo TMM y algunos casos prácticos.

Referencias:
+ http
://www.tmmifoundation.org/

Software Testing Life cycle

Normalmente, el testing está considerado como parte del Ciclo de Vida de Desarrollo de cualquier aplicación (Requisitos, análisis & diseño, implementación, testing y deployment), pero el testing, a su vez, tiene su propio ciclo de vida. Dependiendo de la organización, este ciclo puede tener más o menos fases, pero acontinuación comentaré las fases que son siempre comunes.

A grandes rasgo, podemos decir que el ciclo de vida del Software Testing incluye las siguientes fases:

1. Planificación.
2. Análisis
3. Diseño
4. Ejecución
5. Ciclos
6. Pruebas Finales e Implementation
7. Producción

Read more

¿Costes relativos a la calidad? (Por Javier Lopez Arana)

Sabemos que implantar un Sistema de Gestión de la Calidad supone un fuerte desembolso económico inicial y que el objetivo último de la Gestión de la Calidad es la optimización de recursos, es decir, con los menores costes posibles obtener el mayor rendimiento

Para calcular los gastos que pueden suponer los fallos de nuestro producto y tratar de reducirlos, la empresa utiliza un Sistema de Costes de Calidad. Pero qué son los “Costes de la Calidad”?
Read more

Gestion de Requisitos (introducción)

La toma de requisitos es la primera fase de cualquier ciclo de vida de una aplicación, y por lo tanto, la más delicada. De ella saldrá nuestro producto final. Consideraciones de esta fase:

1. Involucrarse desde el principio.
Un ingeniero de Test necesitan involucrarse en el ciclo de vida del proyecto desde el principio, así podrán entender que están exactamente testeando.y prevenir defectos. Para prevenir defectos debemos usar tecnicas y procesos que pueden ayudar a detectar y prevenir errores. Por lo tanto, el equipo de pruebas debe formar parte de las reuniones de toma de requisitos.

Un requisito puede ser considerado testable si es posible diseñar un procedimiento en el cual la funcionalidad testada pueda ser ejecutada, el resultado esperado es conocido y se puede verificar visualmente.

Cuanto más temprano el defecto sea detectado dentro del ciclo de vida del proyecto, más barato será de arreglar.

2. Verificar los requisitos:
Los requitos deben estar bien definidos. En algunas ocasiones los requisitos no son del todo claros y pueden ser interpretados de multiples maneras. Una buena costumbre para obtener los requisitos funcionales de nuestra aplicación es usar Use Cases (casos de uso). La UML (Unifique Modeling Language) puede ayudarnos de una manera rápida y facil a obtener nuestros Use


Pero, ¿Que métodos podemos utilizar para definir requisitos? hay muchas meneras, pero una de las más usadas es la realización de un prototipo (prototipado). Otros métodos conocidos pueden ser las entrevistas a clientes ó cuestionarios, análisis de posibles escenarios, utilizar animaciones, brainstormings…

En la toma de requisitos han de tenerse una serie de consideraciones, como la complejidad, ambigüedad, relación, trazabilidad…

Existen un gran número de herramietas de gestión de requisitos, aunque la mayoría son de pago. Una de las herramientas más conocidad es “Doors” , aunque naturalmente, es de pago.

¿Que es el Modelo CMM?

El CMM (Capability Maturity Model for Software), es decir, Modelo de Madurez de Capacidades. Fue creado por el Software Engineering Institute (SEI) y tiene como Meta el describir los elementos principales para llegar a cabo los procesos de software de una forma efectivos. El CMM consiste en una serie de procedimientos destinados a evaluar y mejorar los procesos de desarrollo, implementación y mantenimiento del software. Aunque aún está en vías desarrollo, es un estándar que la industria acepta para evaluar y garantizar la calidad y madurez de sus aplicaciones. Por otro lado, hay CMMs para procesos que no son estrictamente en el sector del software, como por ejemplo el BMP (Business Process Management).

Niveles del CMM
CMM define cinco niveles de madurez para una organización y proporciona un marco para moverse a partir de un nivel al siguiente. Las guías CMM contienen actividades diseñadas para ayudar a una organización para mejorar sus procesos con la meta de alcanzar capacidad de repetición, y control de los mismos. El CMM ha ganado considerable credibilidad en las industrias intensivas en el uso de conocimientos. La implantación del CMM ha permitido mejoras considerables en la calidad de los productos y bajado perceptiblemente el costo del desarrollo dentro de grandes compañías.

Las organizaciones han probado que mejorando sus procesos de desarrollo, CMM del nivel 1 al nivel 3, puede bajar su costo por hasta 50-60%. Aún más, quienes han estado en el negocio de la productividad del desarrollo del software por años, sostienen que la rentabilidad resultada de mejoras en productividad y reducción en tiempo de llegada al mercado.

Los niveles del CMM son:

1 – Inicial. Las organizaciones en este nivel no disponen de un ambiente estable para el desarrollo y mantenimiento de software. Aunque se utilicen técnicas correctas de ingeniería, los esfuerzos se ven minados por falta de planificación. El éxito de los proyectos se basa la mayoría de las veces en el esfuerzo personal, aunque a menudo se producen fracasos y casi siempre retrasos y sobre costes. El resultado de los proyectos es impredecible.

2 – Repetible. En este nivel las organizaciones disponen de unas prácticas institucionalizadas de gestión de proyectos, existen unas métricas básicas y un razonable seguimiento de la calidad. La relación con subcontratistas y clientes está gestionada sistemáticamente.

3 – Definido. Además de una buena gestión de proyectos, a este nivel las organizaciones disponen de correctos procedimientos de coordinación entre grupos, formación del personal, técnicas de ingeniería más detalladas y un nivel más avanzado de métricas en los procesos. Se implementan técnicas de revisión por pares (peer reviews).

4 – Gestionado. Se caracteriza por que las organizaciones disponen de un conjunto de métricas significativas de calidad y productividad, que se usan de modo sistemático para la toma de decisiones y la gestión de riesgos. El software resultante es de alta calidad.

5 – Optimizado. La organización completa está volcada en la mejora continua de los procesos. Se hace uso intensivo de las métricas y se gestiona el proceso de innovación.

Beneficios de la implantación del modelo CMM
o Mayor efectividad en la detección de errores a lo largo del ciclo de vida del desarrollo del software, reduciendo drasticamente el número de defectos.

o Reducción de las desviaciones en plazo de los proyectos.

o Mayor tolerancia al cambio e incremento de la capacidad de adopción y adaptación de nuevas Tecnologías.

o Mejora en la rapidez y efectividad de respuesta ante exigencias del negocio.

o Mejora en la colaboración y comunicación.

o Mitigación de Riesgo.

o Reducción de los costes del proyectos.

Implementación en la Organización:
Una empresa que decide implentar el modelo CMM, indica que no sólo se preocupa por la calidad de su organización sino que quiere constituir un proceso continuo de mejora.

Una de las principales ventajas de una empresa que implanta CMM es que es mucho más flexible a la hora de integrar nuevos procesos.

Referencias:
+ Wikipedia, La enciclopedia libre

http://es.wikipedia.org

+ Software Engineering Institute, SEI

Los 8 Principios Básicos de la Gestión de la Calidad (Por Javier Lopez Arana)

Los 8 principios que voy a enumerar a continuación, constituyen la base para la redacción de las nuevas normas ISO 9000, 9001 y 9004 y recogen las mejores prácticas de gestión. Su influencia en los requisitos específicos de la familia de norma ISO es constatable y destacada.

Estos sencillos principios, se consideran básicos en cualquier empresa que quiera perdurar en el mercado. Aunque no se quiera obtener la certificación, es recomendable seguirlos. Estos principios mejoran la capacidad de competencia y permanencia de cualquier empresa u organización.

A modo de detalle, decir que existe una clara similitud entre éstos principios básicos para la calidad en los que se basan las nuevas normas ISO 9000: 2000 con los que forman la base y estructura modular del modelo de excelencia empresarial EFQM. Se percibe el gran acercamiento y similitud entre los modelos ISO 9000: 2000 y el de excelencia EFQM.

Read more

Prioridad en los Casos de Prueba

Todo el mundo conoce la importancia de asignar prioridades a los defectos. La prioridad que asignamos a los defectos es crucial para el éxito de un proyecto. Por tanto, la prioridad que se le asigna a un Caso de prueba (test case) es igual de importante. Podríamos discutir durante horas cual es la mejor herramienta para gestionar este tipo de situaciones, al igual que usamos una herramienta para gestionar y priorizar nuestros defecto se podrían usar muchas de las herramientas de este tipo que hay en el mercado, pero este no es el objetivo de este artículo.

Read more

ITIL – Gestión de Servicios TI

El año pasado, en la coferencia internacional de QA&Test, estuve en una presentación sobre ITIL. Era la primera vez para mi que oía hablar de ello (aunque estoy seguro que se lleva años implantando), pero han pasado los meses y no paro de ir gente hablar de la Gestión de Servicios TI usando ITIL. Parece que se está poniendo de moda dentro de grandes organizaciones. Sólo quiero comentar un poco que es ITIL y a quién va dirigido y por si alguien no ha oido nunca hablar de ITIL, sepa al menos que es y donde puede encontrar más información.

ITIL (IT Infraestructure Library) fue desarrollado en la década de los 80 en Inglaterra. Es el framework o marco de procesos de Gestión de Servicios de TI que proporciona un conjunto de mejores prácticas recogidas por la Oficina Gubernativa de Comercio Británica y que describe los procesos necesarios para administrar el área de TI eficazmente con el fin de optimizar beneficios y garantizar la integración de los servicios en la cadena de valor de las unidades de negocio.

Read more