pruebas funcionales y de aceptación

Anuncio
PRUEBAS
FUNCIONALES Y DE
ACEPTACIÓN
Por: Julián Camilo Ortega Muñoz
Pontificia Universidad Javeriana
2013
Pruebas Funcionales y
Aceptación
INTRODUCCIÓN
Este documento tiene como propósito demostrar que las funcionalidades de la aplicación web CLUBMAT
funcionan correctamente, mas específicamente los servicios web REST que presta la aplicación en el
servidor.
Estos servicios son utilizados por toda la aplicación Cliente de CLUBMAT y prácticamente son la base de la
aplicación. Por este motivo, es importante que se demuestre su funcionamiento de manera practica.
Así mismo, se quiere demostrar la aceptación de los clientes directamente implicados con el sistema
CLUBMAT.
Se realizaron las pruebas de aceptación pertinentes para obtener la validación del producto por parte de
los clientes y en este documento se presentaran los documentos anexos y validación del sistema por parte
de los Stakeholders.
Pruebas Funcionales y
Aceptación
TABLA DE CONTENIDO
INTRODUCCIÓN ....................................................................................................................................................... 2
TABLA DE CONTENIDO ............................................................................................................................................ 3
COMO REALIZAR PRUEBAS SERVICIOS WEB REST ................................................................................................. 4
WADL (Web Application Description Language) ............................................................................................... 5
CODIGOS DE RESPUESTA HTTP ............................................................................................................................... 6
PRUEBAS SERVICIOS WEB REST CRUD .................................................................................................................... 7
PRUEBAS SERVICIOS WEB REST DE NEGOCIO ....................................................................................................... 9
PRUEBAS DE ACEPTACIÓN ................................................................................................................................... 14
BIBLIOGRAFIA ......................................................................................................................................................... 18
Pruebas Funcionales y
Aceptación
COMO REALIZAR PRUEBAS SERVICIOS WEB REST
Estas pruebas fueron realizadas a los servicios REST creados para el proyecto y validar su funcionamiento.
Para probar los servicios web y su correcto funcionamiento se realiza lo siguiente:
• En modulo web del proyecto buscar el folder RESTful Web Services y hacer Click derecho en el. Luego hacer
Click en Test RESTful Web Services, tal como muestra la imagen.
•
En la configuración de la prueba elegir que sea local y luego dar ok.
•
Luego la aplicación va a abrir un browser para realizar las pruebas del Servicio Web.
•
Elegir el servicio web elegido y probar los métodos http mencionados anteriormente en el formato elegido (XML,
JSON) para probar que efectivamente funciona con la base de datos.
•
En la siguiente ventana se muestra un ejemplo de la prueba al Servicio Web
Pruebas Funcionales y
Aceptación
WADL (Web Application Description Language)
Son las siglas de Web Application Description Language. Es un XML que sirve para describir servicios HTTP,
normalmente Servicios REST. [1]
El WADL modela los recursos provistos por un servicio y las relaciones entre ellos. [1]
Es el equivalente al WSDL para servicios web SOAP pero para REST. [1]
La siguiente imagen nos muestra el WADL de la aplicación CLUBMAT. [1]
Para publicar los servicios con ayuda de este descriptor se realiza lo siguiente:
•
En la pestaña Services de nuestro ide Netbeans, hacemos click derecho en Web Services, luego
seleccionar la opción Add Web Service.
•
Luego copiamos la ruta del WADL y la agregamos en el campo como muestra la imagen y
aceptamos.
Pruebas Funcionales y
Aceptación
Finalmente los servicios REST quedaran publicados para poder accederlos desde cualquier aplicación.
CODIGOS DE RESPUESTA HTTP
A continuación se muestran los diferentes códigos http de respuesta para validar el funcionamiento de los
servicios web.
1xx – Informativo
Esta clase de código de estado indica una respuesta provisional, que consiste solamente en el Estado-Line
y títulos opcionales, y es terminada por una línea en blanco. No hay encabezados requeridos para esta
clase de código de estado. Desde HTTP/1.0 no definía los códigos de estado 1xx, los servidores NO DEBE
enviar una respuesta 1xx a un cliente HTTP/1.0 excepto bajo condiciones experimentales. [2]
2xx – Exitosa
Esta clase de código de estado indica que la solicitud del cliente se ha recibido correctamente, entendido
y aceptado. [2]
3xx – Redirección
Esta clase de código de estado indica que una mayor acción debe ser tomada por el agente de usuario
con el fin de atender la solicitud. La acción requerida puede llevarse a cabo por el agente de usuario sin
interacción con el usuario, si y sólo si el método utilizado en la segunda petición es GET o HEAD. Un cliente
es conveniente detectar bucles de redireccionamiento infinito, ya que tales lazos generan tráfico de red
para cada cambio de dirección. [2]
4xx - Error del cliente
La clase 4xx del código de estado se aplica a los casos en que el cliente parece haber errado. Excepto
cuando se responde a una petición HEAD, el servidor debe incluir una entidad que contenga una
explicación de la situación de error, y si es una condición temporal o permanente. Estos códigos de estado
son aplicables a cualquier método de petición. Los agentes de usuario deben mostrar cualquier entidad
incluida para el usuario. [2]
Pruebas Funcionales y
Aceptación
5xx - Error del servidor
Códigos de estado de respuesta que comienzan con el dígito "5" indican casos en los que el servidor es
consciente de que ha cometido un error o es incapaz de realizar la solicitud. Excepto cuando se responde
a una petición HEAD, el servidor debe incluir una entidad que contenga una explicación de la situación de
error, y si es una condición temporal o permanente. Los agentes de usuario deben mostrar cualquier
entidad incluida para el usuario. Estos códigos de respuesta son aplicables a cualquier método de
petición. [2]
Es importante tener en cuenta estos códigos de respuesta para saber si los servicios web funcionan
adecuadamente o que tipo de respuesta tenemos al realizar las pruebas.
Se espera que los resultados sean 2XX- Exitosos para validar su funcionamiento.
PRUEBAS SERVICIOS WEB REST CRUD
Estas pruebas son realizadas a los servicios web REST generados a partir de las entidades de la aplicación.
Estos servicios son generados automáticamente por lo que se mostrarán las pruebas realizadas a un
servicios web REST donde se solicite crear, editar, eliminar y leer datos de una entidad (CRUD).
CREAR INSTITUCION
Se realizó la prueba agregando una institución en formato XML utilizando el método POST para agregar.
Pruebas Funcionales y
Aceptación
EDITAR INSTITUCION
En esta prueba se edito una institución existente en formato XML cambiando datos de la instancia. Para
esta prueba se utiliza el método PUT para editar.
VER INSTITUCION
En esta prueba se realizó un llamado GET para obtener los datos de las instituciones en formato XML
Pruebas Funcionales y
Aceptación
Estas pruebas realizadas retornaron valores de éxito lo que indica el funcionamiento apropiado de los
servicios generados a partir de las entidades.
PRUEBAS SERVICIOS WEB REST DE NEGOCIO
Estas pruebas son realizadas a los servicios web REST de negocio generados manualmente y que son de
vital importancia para el desarrollo de la aplicación CLUBMAT.
Los servicios web REST de negocio creados son los siguientes:
OPCIONES DE UNA PREGUNTA
Este servicio recibe una pregunta (IDPREGUNTA) y retorna las opciones de la pregunta en un formato JSON.
Se utiliza el método GET para la obtención de datos.
PREGUNTAS POR GRADO
Este servicio recibe un grado (3,4,5) y el retorna las preguntas para ese respectivo grado,
Se utiliza el método GET para la obtención de datos.
Pruebas Funcionales y
Aceptación
REGLAS DEL CLUB
Este servicio recibe un club (IDCLUB) y retorna las reglas de ese respectivo club. Se utiliza el método GET
para la obtención de datos.
Pruebas Funcionales y
Aceptación
NOTICIAS POR TIPO
Este servicio recibe un tipo de noticia (General, Privada) y retorna las noticias de ese tipo. Se utiliza el
método GET para la obtención de datos.
NOTICIAS POR CLUB
Este servicio recibe un club (IDCLUB) y retorna las noticias de ese club. Se utiliza el método GET para la
obtención de datos.
Pruebas Funcionales y
Aceptación
USUARIOS INSCRITOS EN OLIMPIADA
Este servicio recibe una olimpiada (IDOLIMPIADA) y retorna los usuarios inscritos a esa olimpiada. Se utiliza el
método GET para la obtención de datos.
USUARIO POR NOMBRE (LOGIN)
Este servicio recibe el usuario para retornar los datos de ese usuario, esto se utiliza para retornar el usuario
que esta iniciando sesión y obtener sus datos para validarlos. Se utiliza el método GET para la obtención de
datos.
Pruebas Funcionales y
Aceptación
PRUEBAS POR EL USUARIO
Este servicio recibe un usuario (IDUSUARIO) y retorna las pruebas que este usuario a realizado. Se utiliza el
método GET para la obtención de datos.
Pruebas Funcionales y
Aceptación
USUARIOS POR CLUB
Este servicio recibe un club de matemáticas (IDCLUB) y retorna los usuarios que pertenecen a ese club. Se
utiliza el método GET para la obtención de datos.
Estas pruebas realizadas a los servicios web REST de negocio fueron satisfactorias ya que se obtuvieron
respuestas de valor 2XX existosas.
Con esto se valida la funcionalidad de los servicios web REST creados en el sistema CLUBMAT.
PRUEBAS DE ACEPTACIÓN
Para finalizar las pruebas del sistema CLUBMAT, era fundamental la aceptación por parte de los
involucrados (STAKEHOLDERS).
Para estas pruebas de aceptación se realizaron unas encuestas a los clientes después de haber visto y
probado el sistema.
Estas pruebas demostraron que la calificación del producto por parte del cliente es de 4 en una escala de
1 a 5 con lo que se acepto el sistema CLUBMAT satisfactoriamente.
A continuación se encuentran las encuestas realizadas y sus resultados.
Pruebas Funcionales y
Aceptación
Pruebas Funcionales y
Aceptación
+
Pruebas Funcionales y
Aceptación
Pruebas Funcionales y
Aceptación
BIBLIOGRAFIA
[1]
Rafael
Navarro
Marset,
“Rest
VS
Web
Services,”
http://users.dsic.upv.es/~rnavarro/NewWeb/docs/RestVsWebServices.pdf.
2006.
[2] V. P. Madrid y J. F. De Paz, "Servicios Web", Salamanca.
http://zarza.usal.es/~fgarcia/doctorado/iweb/05-07/Trabajos/ServiciosWeb.pdf
[Online].
[En
línea].
Available:
Avai-lable:
Descargar