Calidad del Software

18
Calidad del Software Proyecto “Pizza-Inn Restaurant” Integrantes Paul Astorga Tencio Ariana Cerdas Quesada Melvin Jiménez Araya Marianyela Magallón Hernández Jesús Pereira Mena José Zúñiga Marìn Profesor : Msc. Ricardo Boom III Cuatrimestre 2012

description

Métodos de Calidad para el producto software

Transcript of Calidad del Software

Page 1: Calidad del Software

Calidad del Software

Proyecto “Pizza-Inn Restaurant”

Integrantes

Paul Astorga Tencio

Ariana Cerdas Quesada

Melvin Jiménez Araya

Marianyela Magallón Hernández

Jesús Pereira Mena

José Zúñiga Marìn

Profesor :

Msc. Ricardo Boom

III Cuatrimestre

2012

Page 2: Calidad del Software

INTRODUCCIÓN

La calidad del software es un concepto que se ve alejado de la vida cotidiana de muchas personas, pero nada más lejos de la realidad. Un ejemplo muy claro y que vivimos siempre es cuando en nuestra computadora se muestran errores conocidos como “pantallazos azules”.

Los sistemas cliente/servidor de hoy en día todavía necesitan mejorar para permitir el uso concurrente a miles de usuarios. Las organizaciones necesitan desarrollar pruebas de carga repetibles y determinar el rendimiento real y límites potenciales del sistema.

Referente al proyecto del curso de Calidad del Software hemos querido analizar el sitio web “Pizza-Inn Restaurant” con algo más de detalle uno de los aspectos clave para la calidad. Se trata de las pruebas de software: es la técnica presente en todos los proyectos y consiste en realizar ensayos de funcionamiento de las aplicaciones en entornos controlados, a fin de detectar los posibles defectos presentes antes de que el producto se ponga en funcionamiento y pueda originar cualquier tipo de fallo.

Es claro que a la hora de desarrollar un software es importante tener en cuenta que la calidad se debe implementar desde las etapas tempranas del desarrollo y no agregarlo al final, así se asegurará la mejora continua del mismo cumpliendo con los estándares para su correcta distribución e implementación en la empresa.

Page 3: Calidad del Software

Breve Descripción del Sistema

El sistema al cual le aplicamos calidad, consiste en una página web de un

Restaurante llamado “Pizza-Inn Restaurant”.

La página web las funciones que hace es mostrar la pestaña de Inicio en donde

se encuentra la información del Restaurante, una pestaña llamada Pizza Zone

en donde se encuentra un historial acerca de las reservaciones hechas por el

cliente.

Cabe destacar que para poder ver toda esa información el cliente debe registrarse,

cuenta con la pestaña Special-Deals que son las ofertas que el Restaurante

pública para que sean vistas por los clientes; puesto que para formar parte de la

página como cliente y poder ver acerca de todo lo anteriormente mencionado la

página cuenta con una pestaña de registro y otra de Login para que el usuario

pueda ingresar y pueda disfrutar de toda la información de la página , así como

ofertas, reservaciones , historial de reservaciones, modo de contacto y lo más

importante la calificación para el Restaurante al momento de que el cliente prueba

sus servicios este mismo puede calificar que tal le pareció.

Objetivos del Proyecto

1. Objetivo General

Page 4: Calidad del Software

Aplicar los métodos de calidad aprendidos en clases para poder ver en la práctica su comportamiento.

2. Objetivos Específicos

· Verificar la consistencia de los datos de entrada

· Determinar si existe algún tipo de validación de los datos

·Identificar anomalías en el programa de desarrollo mediante los

métodos de calidad.

· Analizar la seguridad del sistema y la facilidad de uso

Descripción de las fases de la Prueba Prueba de SW / Comprobación de la Prueba

● Revisión del funcionamiento de las acciones asociadas a la pantalla de

Pizza-In Restaurant

● Revisión de los fundamentos Hipervínculo Home

● Revisión del módulo Mi cuenta

● Sección Mi perfil

● Revisión de la función cierre de sesión.

● Revisión Gestión Personal

● Revisión Mensajería

● Revisión Seguridad (todo el Frontend)

● Revisión Seguridad (Inicio de sesión para clientes)

● Revisión Seguridad (Panel Administrativo)

● Revisión de la pestaña “Pizza Zone”

● Revisión de pizza Zone (Reservación de mesas)

● Revisión de pizza Zone (Generar Órdenes)

● Revisión de pizza Zone (Reservación de mesas)

● Revisión de pizza Zone (Eliminar Órdenes)

Page 5: Calidad del Software

● Revisión del Panel administrativo, función Login.

A. Prueba Unitaria

En esta etapa se da la descripción de cada prueba hecha en el sistema para luego

en la etapa posterior que sería la etapa de la prueba de integración poder ver el

funcionamiento del sistema en conjunto.

● Revisión del funcionamiento de las acciones asociadas a la pantalla

de Pizza-In Restaurant Descripción: Ver el funcionamiento de la pantalla de Pizza-In Restaurant con sus

respectivas funciones asociadas.

● Revisión de los fundamentos Hipervínculo Home Descripción: Se basa en la revisión de la ortografía y gramática utilizada en todo

el sitio, la cual es de suma importancia ya que es la presentación para el usuario.

Además se realizará la prueba de navegación donde se checará la integridad de

los hipervínculos. Se analizará si el usuario necesita algún complemento para el

sitio como por ejemplo flash o Adobe Reader.

● Revisión del módulo Mi cuenta Descripción: Revisar que al momento de registrarse en el sistema los datos de

entrada sean los correctos y que la información en el módulo sea la esperada.

También la verificación posterior a la creación de la cuenta para detectar errores.

● Revisión Sección Mi perfil Descripción: Consiste en revisar la funcionalidad de los botones y también el

ingreso de información errónea para validar que este contenido no sea permitido

por el sistema

Page 6: Calidad del Software

● Revisión de la función cierre de sesión.Descripción: se verifica el funcionamiento del botón Logout.

● Revisión Gestión Personal Descripción: Dentro del administrador el usuario debe presionar el botón Staff Allocation Management el cual lo encontramos en la parte superior derecha,

al ingresar se muestra un conjunto de opciones; order id, staff id, reservation id,

staff id, entre otros. El administrador ingresa la información requerida y presiona el

botón Allocate Staff, con eso ingresamos los datos a la base de datos.

● Revisión Mensajería Descripción: Dentro del administrador el usuario debe presionar el botón Messages Management el cual lo encontramos en la parte superior derecha, al

ingresar se muestra una área de texto y un botón de envío.

● Revisión Seguridad (todo el Frontend) Descripción: Se accede a cualquier módulo que se muestre en el frontend y se

mira los derechos de autor.

● Revisión Seguridad (Inicio de sesión para clientes) Descripción: Se accede al formulario de registro, una vez ahí se ingresan los

datos para registrarse en el sistema.

● Revisión Seguridad (Panel Administrativo)

Page 7: Calidad del Software

Descripción: Se accede al panel administrativo entrando al directorio /admin/ y

pide datos para iniciar sesión como administrador.

● Revisión de la pestaña “Pizza Zone”Descripción: Se ingresa a la página web y luego a la pestaña del menú principal

llamada "Pizza Zone"

● Revisión de pizza Zone (reservación de mesas)Descripción: Se ingresa a la página web y luego a la pestaña del menú principal

llamada "Pizza Zone"

● Revisión de pizza Zone (Generar Ordenes)Descripción: Se ingresa a la página web y luego a la pestaña del menú principal

llamada "Pizza Zone"

● Revisión de pizza Zone (reservación de mesas)Descripción: Se ingresa a la página web y luego a la pestaña del menú principal

llamada "Pizza Zone"

● Revisión de pizza Zone (Eliminar Ordenes)Descripción: Se ingresa a la página web y luego a la pestaña del menú principal

llamada "Pizza Zone"

B. Prueba de Integración

Ejecución del sistema en su debida totalidad, después de las pruebas por módulo.

En especial se utiliza el tipo de integración ascendente, es donde la construcción

del diseño empieza desde los módulos más bajos hacia arriba (módulo principal),

el procesamiento requerido de los módulos subordinados siempre esta disponible

y elimina la necesidad de resguardo.

Page 8: Calidad del Software

La sección de una estrategia de integración depende de las características

depende de las características del software y, a veces, del plan del proyecto, en

algunos de los casos se puede combinar ambas estrategias.

C. Prueba Global del Sistema

Prueba al sistema en general sobre la debida ejecución, el uso correcto del

sistema y la respuesta esperada.

D. Prueba de Volumen y Tiempo de Respuesta Como se sabe, la meta de las pruebas de desempeño (tiempo y volumen) no es

encontrar bugs, es garantizar que el sistema es apto para soportar determinada

carga, así como la recuperación apropiada del exceso de uso de sus propios

recursos. Para las pruebas de desempeño,se debe tratar de determinar el

rendimiento de un sistema, validando atributos de calidad (como fiabilidad,

estabilidad, etc) del sistema, exponer los cuellos de botella y medir los picos de

carga.

Asegurarse de que el ambiente de pruebas está estable y las condiciones de

pruebas son similares al ambiente de producción como sea posible. Intentar

simular una carga de trabajo al azar.

Estimar el crecimiento de carga de trabajo cada año y aplicarlo dentro de las

pruebas

Asegurarse que la versión de software fue desplegada y probada correctamente

Page 9: Calidad del Software

Durante una prueba de desempeño se debe ajustar la carga de trabajo del sistema

gradualmente con tiempos adecuados entre pasos para permitir que el Sistema se

estabilice.

Siempre se debe monitorear y grabar las estadísticas del Sistema, incluyendo

utilización de CPU y memoria del cliente y todos los servidores involucrados en la

prueba.

Se ha hecho una prueba con la herramienta del sitio web: www.speedtest.net y el

resultado de velocidad de carga del ìndice es de 2.009 segundos, siendo calificado

como un sitio web optimizado.

RESULTADOS OBTENIDOS

El sistema muestra un tiempo de respuesta adecuado, además la prueba de

estrés realizada sobre el sistema no generó errores, permitiendo así que el

sistema soporte más de un usuario ingresado. Con esta prueba realizada hace

constar que el sistema es capaz de soportar pruebas en web.

Esquema de Pruebas

A. Planificación de Pruebas

Las pruebas se realizaron de manera separada por cada integrante del grupo en

donde, cada estudiante hizo el testing en donde se creyó que era conveniente

testear para ver la reacción del sistema al introducir datos, presionar botones,

links, etc.

Page 10: Calidad del Software

Estas pruebas se hicieron de acuerdo al grado de vulnerabilidad que se creyó que

podía haber en el sistema y así hacer notar los fallos .

B. Estrategia Global de Prueba La prueba global a realizar se basa en un caso de prueba sobre la funcionabilidad

del sistema y el correcto uso, se manejará en forma de manual de instrucciones

donde el usuario lo aplicará paso a paso al sistema.

C. Datos de Prueba

En las siguientes pruebas que se hicieron estos fueron los datos de prueba:

1. Revisión del módulo Mi cuenta:● Nombre: Z98PL

● Apellido: 51sp

● Email: [email protected]

● Clave: 123

Sección : Reservar Mesa

● Fecha : 2008/08/12

● Para la prueba se utilizarán cifras combinadas con letras y una cuenta

de correo electrónico totalmente errónea.

● En la sección de reservar mesa usaremos una fecha que es antigua a la

actual

2. Revisión de Sección Mi perfil

● Dirección: 0000

● PO Box No: FFFF

● Ciudad : 050

Page 11: Calidad del Software

● Mobile No: ppp

● No fijo:yyy

● Clic botón Añadir con datos nulos

● Clic a botón Cambiar

En Cambiar la contraseña: se comprobará la funcionalidad el botón: Cambiar

En añadir entrega/Dirección de Facturación: se implementará la estrategia descrita

en el punto anterior

3. Revisión Seguridad (Inicio de sesión para clientes) Se ingresará el carácter especial en el nombre de usuario para así probar errores.

Se ingresará 2 caracteres alfanuméricos en el campo de texto de la contraseña

para comprobar si el sistema valida los datos.

4. Revisión Seguridad (Panel Administrativo)Se utilizará una aplicación que realice un ataque de fuerza bruta al login del

sistema de administración.

5. Preparación del Entorno

Se preparó un servidor con el hardware:

● Procesador: Intel Xeon 16 nucleos.● Memoria RAM: 320mb.● Conexiòn: 100MBS

Software del servidor:

● Sistema operativo: Debian.● Motor de base de datos: MySQL.● Motor web: Apache.● Motor PHP.

Page 12: Calidad del Software

Ejecución de la Prueba

Ejecución del sistema en tiempo real, el sistema se encuentra cargado en la nube donde diferentes usuarios a la vez realizarán pruebas al sistema.

Administrar las actividades de la prueba

Uso de casos de prueba para la debida ejecución del sistema, se utiliza el caso de prueba para que los tester puedan encontrar errores en el sistema y así notificar el incidente a los desarrolladores.

Obtención de Resultados

Revisión de los fundamentos Hipervínculo Home:

Descripción del proceso: Cuando el usuario ingresa a la sección del menú: Home o Casa se presenta la página correspondiente al link. Se presenta una galería fotográfica realizada en flash el cual sería un requisito para que el usuario visualice

Resultado: Mostrar la página acordada

Revisión del módulo Mi cuenta

Descripción del proceso: Para la prueba se utilizarán cifras combinadas con letras y una cuenta de correo electrónico totalmente errónea.

En la sección de reservar mesa usaremos una fecha que es antigua a la actual

Resultados Obtenidos: Permite ingresar al sistema sin previas validaciones en la información ingresada, Fecha de reserva sin validaciones.

Page 13: Calidad del Software

Revisión Cerrar Sesión

Descripción del proceso: Botón Logout para cerrar sesión de administrador

Resultado obtenidos: EL botón cumple con los objetivos dispuestos, pero la sesión debería de cerrarse después de un tiempo dado por el administrador.

Revisión mensajería

Descripción del proceso: Administrador ingresa texto en el espacio requerido y es enviado como un correo.

Resultados Obtenidos: El administrador no sabe a cual correo o persona se esta enviando este correo, no tiene área para ingresar asunto. Y si es el caso que se envíe a otros administradores, debería de haber un módulo para ver mensajes o en su defecto crear un módulo chat.

Seguridad (todo el Frontend)

Descripción: Se revisará todo los módulos que son vistos por el usuario común(sin permisos de administración) en busca de información que comprometa la seguridad del sistema

Resultados obtenidos: En todos los módulos se encontró un link que redirecciona al usuario hacia el login del admin.

Seguridad (Inicio de sesión para clientes)

Descripción: Se ingresará el caracter especial ' en el nombre de usuario para así probar errores.

Obtención de resultados: La aplicación continuó con el registro.

Page 14: Calidad del Software

Seguridad (Panel administrativo)

Descripción : Se utilizará una aplicación que realice un ataque de fuerza bruta al login del sistema de administración.

Obtención de resultados: No banea la IP, permite hacer los intentos que soporte el servidor.

Seguridad (Inicio de sesión para clientes)

Descripción Se ingresará 2 caracteres alfanuméricos en el campo de texto de la contraseña para comprobar si el sistema valida los datos.

Obtención de resultados: La aplicación continuó con el registro.

Pizza Zone Generar Ordenes

Descripción: El usuario de la página ingresa a la pestaña del menú Pizza Zone y luego al link de Choose your Pizza, donde podrá ordenar alguna pizza.

Obtención de resultados: Cuando el usuario esta registrado puede entrar a esta sección y ordenar una pizza, el problema se genera al ingresar datos, ya que permite ingresar letras en la parte de Cantidad y en la parte de total, además el total debería ser auto calculado ya que si la persona compra varias pizzas pueden poner cualquier total que igual la orden se realiza, otro error es que permite ordenar pizzas para fechas ya pasadas. Otro problema que se encontró es que cuando se entra a la parte de Choose your Pizza no hay manera de devolverse al punto anterior que sería el ver órdenes o reservar mesa.

Pizza Zone Mensajes al Usuario.

Descripción: El usuario de la página ingresa a la pestaña del menú, donde podrá escoger alguna pizza o bien reservar una mesa, para algún día en específico.

Obtención de resultados: Si el usuario ingresa a la sección de Pizza Zone y no esta registrado, le mostrará un mensaje poco amigable con el usuario, "Access Denied!". En caso de que no sea miembro de la página debería mostrar un espacio para loguearse o registrarse por primera vez.

Pizza Zone reservación de Mesas

Page 15: Calidad del Software

Descripción: El usuario de la página ingresa a la pestaña del menú, donde podrá escoger alguna pizza o bien reservar una mesa, para algún día en específico.

Obtención de Resultados: Cuando el usuario está registrado puede entrar a esta sección y reservar una mesa, hay un problema en la validación de fechas, ya que permite reservar una mesa para fechas que ya pasaron. Además permite reservar una misma mesa para el mismo día y la misma hora, lo cual indica que faltan validaciones en esta parte.

Pizza Zone Eliminar Ordenes

Descripción: El usuario de la página ingresa a la pestaña del menú Pizza Zone donde verá un título de Order History y desde ahí podrá cancelar órdenes.

Obtención de resultados: Cuando el usuario está registrado puede entrar a esta

sección y ver el historial de sus órdenes, a la par de cada orden hay un botón

con el cual puede eliminar la orden, el problema se encontró en que si un usuario

por error le dio a ese botón, inmediatamente eliminará la orden sin antes haber

visto algún mensaje de confirmación, para así evitar ese tipo de problemas. Otro

problema encontrado es que en el historial de órdenes, el campo de Pizza Type no

esta siendo llenado al igual que el precio.

Identificar los bugs A. Asignación de los bugs para su solución

Clasificación y descripción de los errores que se encontraron en el tiempo de pruebas de calidad del sistema.

B. Corrección de los bugs

Incidentes del sistema debidamente notificados a los desarrolladores para su debida solución.

Page 16: Calidad del Software

Revisión de los fundamentos Hipervínculo Home

Errores encontrados: El link de Home se encuentra roto.

Solución: Se procede a revisar el código para determinar el problema y corregirlo lo más antes posible.

Revisión del módulo Mi cuenta

Errores encontrados: El sistema acepta y crea la cuenta con los errores citados anteriormente.

La posibilidad de que el usuario cambie su contraseña en caso de olvidarla es nula.

Reserva la mesa con una fecha anterior a la actual.

Solución:

Se recomienda tomar en cuenta las validaciones del sistema a la hora de ingresar datos en los formularios y al igual que las fechas.

Que el sistema tenga la capacidad de mostrarle al usuario mensajes de errores mostrándole la validación correcta de los datos.

Sección Mi perfil

Errores encontrados:

Acepta los datos que fueron especificados en la prueba

Al darle clic al botón Cambiar la contraseña dicho proceso no se lleva a cabo.

Al añadir datos nulos no se encuentra problemas en añadir pero si los hay en cambiar

Solución:

Asignar los procedimientos o funciones correctas a los botones.

Validar la entrada de datos

Page 17: Calidad del Software

Recomendaciones y Toma de Decisiones Se concluye que para la realización del proyecto es importante que a lo largo

del desarrollo software; es de gran importancia aplicarle calidad al producto

garantizando la calidad, la eficiencia y el éxito del producto, y es una buena

práctica para identificaciones de los posibles bugs en el producto, la forma de

poder solucionarlos antes de la entrega al cliente, revisión en la parte de la

seguridad ya que en toda empresa o negocio es la parte más importante y con la

Page 18: Calidad del Software

aplicación de la calidad se garantiza que lo que se le va a entregar al cliente será

un buen producto.

También se debe tomar en cuenta un modelo con las estrategias que se aplicarán

en el software,pruebas y demás documentos cumpliendo con las normas ISO en

especial las referentes a Calidad del Software.