| Artículos | 01 ABR 1996

SQA Suite 4.0: Control de calidad de aplicaciones

Tags: Histórico
Software sin errores
Rais Busom.

La preocupación por la calidad se ha convertido en algo más que una necesidad en el desarrollo de aplicaciones de software. SQA es un producto que permite asegurar la calidad del software mediante la generación de juegos de test, probando la mayoría de las situaciones de uso a las que se enfrentará el usuario.

No existe software sin errores. Cualquier programador lo sabe. Incluso las aplicaciones estándar cuando llegan al mercado tienen errores. Otra cosa es que estos errores sólo se reproduzcan en condiciones extremas de uso a las que pocos usuarios llegan. A un error de aplicación se le llama en el argot profesional bug (insecto). Esta acepción tiene un origen curioso. Uno de los ordenadores descomunales y aparatosos de principios de la historia de la informática llamado ENIAC, dejó de funcionar porque un insecto como una cucaracha, cortocircuitaba determinada unidad. Para resolver los bugs, existen herramientas llamadas debuggers o depuradores. Estas herramientas permiten evitar de manera eficaz errores de sintaxis o semántica del lenguaje de programación, rastreando el código fuente, así como la asignación de memoria o el de paso de parámetros entre funciones. Pero los errores que se detectan durante la fase de codificación son más bien escasos.

¿Qué significa calidad del software?

No nos gastaremos un duro en calidad del software si no entendemos qué significa, y sobre todo, cuánto dinero podemos llegar a perder sin ésta. Como primera aproximación podemos definir la calidad del software como la ausencia de defectos. Sin embargo, otras consideraciones interesan a la calidad. No todas las empresas están capacitadas para preocuparse por la calidad. Sólo aquellas que tienen una sólida posición en el mercado deben preocuparse por mejorar su competitividad vía incremento de calidad. Sólo aquellas en las que el desarrollo de software está basado en procesos repetitivos y medibles y documentados, en el que trabajan equipos diferenciados de codificación y test. Sólo aquellas que pueden rentabilizar la gestión de calidad con un mejor posicionamiento del mercado deben tener esta preocupación.

La mayoría de las pequeñas empresas que realizan código desorganizado sin basarse en estándares, ni en metodologías, organizadas en tribus de programadores inspirados, difícilmente podrán sacar partido de productos como SQA para asegurar la calidad. Calidad no significa hacer las cosas bien, sino cada vez mejor. La calidad significa que los usuarios estén satisfechos de una aplicación, es decir, que consideren que las hacemos bien, lo cual exige cambiar los parámetros de producción industrial de software por los de satisfacción y calidad. Implementar un sistema de calidad en una empresa no es fácil ni barato. Si los productos son de calidad es porque la empresa implementa un sistema de calidad y nunca al contrario. Y no se puede adoptar un sistema de calidad sólo comprando productos de apoyo. Hay que cambiar la cultura de empresa, reciclar a programadores y analistas, documentar procesos, medirlos, certificarlos y auditarlos. Esto no puede realizarse de un día para otro. Es un proceso de reingeniería de procesos empresariales que implica ir alcanzando gradualmente una madurez en ingeniería de software.

¿Cómo puede asegurarse la calidad?

Uno de los criterios estadísticos más populares en ingeniería de software es el de calidad 6S. El símbolo sigma significa la desviación estándar. Este criterio indica una ratio de defectos, concretamente, de tres a cuatro errores cada millón de líneas de código o 10.000 puntos de función, equivalente al 99,9999998 % de calidad. Existen muchísimas empresas que operan en un nivel inferior de calidad al 6S, como es el 4S que equivale al 99,98 %. Claro que también hay muchas más empresas no preocupadas por la calidad y para medir los errores hay que utilizar otras técnicas menos exigentes.

No puede asegurarse la calidad sin cambiar la cultura de una empresa y por supuesto su organización y los procesos que intervienen en el desarrollo de aplicaciones. No basta con colgar letreros con el slogan la calidad es lo primero y comprar algunas herramientas para testear aplicaciones. Existe un error común entre los desarrolladores al confundir la calidad del software con el simple proceso de test de una aplicación que de alguna manera todo desarrollador realiza. Es todo el proceso completo de desarrollo de software el que debe estar sometido al sistema de calidad. Sólo entonces las herramientas para aseguramiento de la calidad como SQA Suite son útiles.

El primer paso para la calidad es documentar y medir todo lo que se hace. Trabajar con prototipos y gestionar las versiones de desarrollo. Para crear productos de calidad la empresa ha de implementar un programa de mejora de calidad sea propio de la empresa o estándar como el ISO-9001 (en España UNE 66 901) y concretamente las líneas de actuación marcadas por ISO 9000-3

SQA para equipos de test

SQA Suite es un entorno de trabajo integrado por diversas herramientas para equipos de test para aplicaciones monousuario o cliente/servidor. SQA posee el 65% del mercado de Windows de este tipo de aplicaciones. Permite automatizar el desarrollo y la ejecución de test y provee un flujo de trabajo muy complejo y eficaz que se convierte en una auténtica ratonera para los errores. Las herramientas principales que componen la SQA son: SQA Process, SQA Robot, SQA Manager y SQA LoadTest.

SQA Suite está pensada para equipos de test que trabajen con metodologías RAD (Rapid Application Development). Está pensada para que los equipos de desarrollo y test funcionen en paralelo. Soporta los entornos de desarrollo Visual Basic 2.0 o superior, PowerBuilder y SQL Windows. Diríamos que le falta Delphi, que se ha convertido en una herramienta de referencia para muchos desarrolladores. La instalación en disco requiere de 8 a 25 MB según los módulos que se quieran utilizar. Funciona sobre Windows 3.1 ó 3.11 y aunque es un aplicación de 16 bits es compatible con Windows '95. Funciona con MAPI como transporte de correo electrónico para intercambiar datos entre los programadores.

Desarrollo de tests

SQA impone un flujo de trabajo sofisticado para la planificación y ejecución de tests. Las fases de desarrollo de test empiezan por una fase de planificación, luego pasan a la definición de los test, más tarde a la generación y ejecución automática, y finalmente, a la evaluación de resultados y a la corrección de errores. SQA utiliza una metodología propia para el desarrollo y automatización de test llamada SQA Process que se implementa en el flujo de trabajo al que compromete SQA Suite.

En la fase de planificación se escogen todas las partes de una aplicación que se van a comprobar y se crean diversos proyectos de test según la complejidad de la aplicación. Mediante SQA Manager se crea una base de datos en el SQA Repository para cada proyecto. El SQA Repository permite registrar todos los acontecimientos que suceden en la verificación de una aplicación en cualquiera de sus fases, permitiendo realizar cambios con facilidad. En el desarrollo se crean los scripts de test mediante el lenguaje SQABasic o Visual Basic, de forma manual o automática. En la ejecución de los scripts de test mediante SQA Robot permite detectar la mayoría de defectos. En la evaluación puede analizarse cualquier elemento y crear informes de ello mediante SQA Manager. SQA Log Viewer documenta todo el contexto posible cuando encuentra un error. Los test se repiten hasta alcanzar un nivel de calidad adecuado.

Los aspectos que se pueden testear con SQA Suite son los más amplios: interfaz de usuario, instalación, configuración, rendimiento, operaciones de ficheros, operaciones de vídeo, uso de menús, ventanas y cuadros de diálogo, funciones, carga de datos, rango de datos, etc.

SQ

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información