612 Informática Elaboración y Mantenimiento de Sistemas de Información Luis Urquidi Aplicación de pruebas del sistema Contexto de la aplicación de pruebas
Inicialmente, la prueba fue confundida con el debugging, y se llevaba a cabo
para ganar confianza en que el sistema sí “corría bien”. Los trabajos de G. Myers en los 70’s vienen a constituir un parteaguas: desde su punto de vista, la labor del tester es demostrar que el sistema “no satisface los requerimientos”.
Estos son algunos de los principios que Myers enunció al respecto:
La organización desarrolladora debiera evitar probar sus propios
sistemas (hay una barrera mental que dificulta que encontremos defectos en aquello que construimos con esmero y dedicación). No debe planearse un esfuerzo de prueba bajo el supuesto de que no se encontrarán defectos. Probar es una tarea creativa e intelectualmente demandante.
La prueba de software debiera verse como un proceso paralelo al de
desarrollo de software, y que se realiza por el convencimiento de que todo sistema debe ser revisado con el objetivo de establecer si el nivel de calidad requerido es alcanzado. Esto aceptando limitantes prácticas que implican la imposibilidad de revisarlo de manera exhaustiva, pero aplicando técnicas ingenieriles para subsanar estas limitantes.
Control de calidad de software
El control de calidad es definido como los procesos y los métodos utilizados
para controlar el trabajo y observar si se cumplen los requisitos. Se centra en la revisión y eliminación de los defectos antes del envío de los productos. El control de calidad debe ser la responsabilidad de la unidad organizativa de producción del producto. Es posible tener el mismo grupo que se encarga de construir el producto y el que se encarga de las funciones de control de calidad, o establecer un grupo de control de calidad o departamento dentro de la unidad de organización que desarrolla el producto.
El control de calidad es definido como los procesos y los métodos utilizados
para controlar el trabajo y observar si se cumplen los requisitos. Se centra en la revisión y eliminación de los defectos antes del envío de los productos.
El control de calidad debe ser la responsabilidad de la unidad organizativa de
producción del producto.
CORRECIÓN: Es la capacidad de los productos software para realizar
una exactitud las tareas expresadas en su especificación EFICACIA: Es la capacidad del software para hacer un buen uso de los recursos que manipula VERIFICACIÓN: Es la facilidad de verificación de corrección de un software. Que tan sencillo la realización de pruebas que garanticen la funcionalidad del sistema. VALIDACIÓN: comprueba que el sistema cumple con los requisitos del cliente al final del ciclo de vida de desarrollo. Se trata de una prueba de que el producto cumple con las expectativas de los usuarios, y asegura que el programa ejecutable funciona tal como se había especificado
Tipos de prueba
Atendiendo a la forma de realización
o Prueba unitaria: Es una forma de probar el correcto funcionamiento de un módulo de código. o Prueba funcional: Es una prueba basada en la ejecución, revisión y retro alimentación de las funcionalidades previamente diseñadas para el software. o Pruebas de integración: Son aquellas que se realizan en el ámbito del desarrollo de software una vez que se han aprobado las pruebas unitarias. o Pruebas de validación: Son el proceso de revisión que el sistema de software producido cumple con las especificaciones y que cumple su cometido. o Cajas blancas: Es un tipo de pruebas de software que se realiza sobre las funciones internas de un módulo. o Caja negra: Ejercitan los requisitos funcionales desde el exterior del módulo.
o Prueba de Arquitectura y Aplicaciones: La arquitectura
cliente/servidor representa un importante desafío para quienes prueban el software.
o Pruebas de funcionalidad de la aplicación: La aplicación se
prueba de manera independiente.
o Pruebas de servidor: Se prueban funciones de coordinación y
manejo de datos del servidor. También se considera el desempeño del servidor (tiempo de respuesta y procesamiento de los datos).
o Pruebas de base de datos: Se prueba la exactitud e integridad
de los datos almacenados en el servidor. o Pruebas de transacción: Se crea una serie de pruebas para asegurar que cada clase de transacciones se procesa de acuerdo con sus requisitos.
o Pruebas de comunicaciones de red: Con estas pruebas se
verifica que la comunicación entre los nodos de la red ocurre de manera correcta y que el paso de mensajes, transacciones y el tráfico de la red relacionado se realiza sin errores.
Atendiendo al momento de realización
Prueba del sistema: Verifica que cada elemento encaja de forma
adecuada y que se alcanza la funcionalidad y el rendimiento del sistema total.
Prueba de seguridad: Verificar los mecanismos de protección.
Prueba de resistencia: Enfrenta a los programas a situaciones
anormales.
Prueba de rendimiento: Prueba el rendimiento del software en tiempo
de ejecución.
Prueba de instalación: Se centra en asegurar que el sistema software
desarrollado se puede instalar en diferentes configuraciones hardware y software y bajo condiciones excepciones.
Pruebas de regresión: Las pruebas de regresión son una estrategia de
prueba en la cual las pruebas que se han ejecutado anteriormente se vuelven a realizar en la nueva versión modificada, para asegurar la calidad después de añadir la nueva funcionalidad.
Implantación del sistema o puesta a punto
Determinación del periodo de transición o ejecución en paralelo
Durante este período de ejecución inmediato en el entrenamiento se reducen
a Crear las condiciones más favorables para conseguir la forma competitiva óptima. Si el período de competición es prolongado, que incluye no una, sino varias Competiciones, surge además la dificultad de asegurar la conservación de esta Forma competitiva óptima. En el supuesto que se celebre más de una competición en este período, algunos de los aspectos de la preparación físico- técnica y técnico-táctica pueden sufrir considerables modificaciones debido a la necesidad de adaptarse a las condiciones específicas de cada competición. No son aconsejables las re estructuraciones de la planificación en este período por cuanto provocarían la pérdida de la forma competitiva.
Procedimientos y operaciones de puesta en producción
Esta unidad se encargada de mantener la operatividad y funcionalidad de
toda la infraestructura tecnológica y de servicios de información que dan soportes a la gestión académica y administrativa del Vicerrectorado.
Determinación de necesidades de recursos adicionales
En este se muestran todo lo que debe contener el sistema dependiendo de las
necesidades del usuario dando un servicio correcto.
Equipos: ES muy necesario un equipo ya que con este vamos a trabajar
y donde se va desarrollar el sistema. Estos a su vez automatizan los procesos operativos, suministran una plataforma de información necesaria para la toma de decisiones y, lo más importante, su implantación logra ventajas competitivas o reducir la ventaja de los rivales. Interactúan entre sí con el fin de apoyar las actividades de una empresa o negocio. Consumibles: Estos se describen como los clientes que son los que compran y usan el sistema. También hace referencia al esfuerzo colaborativo para construir economías basadas en productos de la localidad, empresa y país. Instalaciones: En si las instalaciones son el conjunto de redes y equipos fijos que permiten el suministro y operación de los servicios que ayudan a los sistemas a cumplir las funciones para las que han sido diseñados
Pruebas de carga o repetición de pruebas del sistema con datos
reales
La prueba de sistemas no aprueba el software en sí, sino la integración de
cada módulo en el sistema. También busca las discrepancias entre el sistema y su objetivo original, especificación de y documentación del sistema. La preocupación principal es la compatibilidad de los módulos individuales.
Pruebas de aceptación y Visto Bueno del cliente
Estas pruebas las realiza el cliente. Son básicamente pruebas funcionales,
sobre el sistema completo, y buscan una cobertura de la especificación de requisitos y del manual del usuario. Estas pruebas no se realizan durante el desarrollo, pues sería impresentable al cliente; sino que se realizan sobre el producto terminado e integrado o pudiera ser una versión del producto o una interacción funcionad pactada previamente con el cliente. Una prueba de aceptación puede ir desde un informal caso de prueba hasta la ejecución sistemática de una serie de pruebas bien planificadas. De hecho, las pruebas de aceptación pueden tener lugar a lo largo de semanas o meses, descubriendo así errores latentes o escondidos que pueden ir degradando el funcionamiento del sistema. Estas pruebas son muy importantes, ya que definen el paso nuevas fases del proyecto como el despliegue y mantenimiento.