Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Verificación y validación de aplicaciones web

No description
by

sharon cornejo aguayo

on 23 November 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Verificación y validación de aplicaciones web

Verificación y validación de aplicaciones web
6.1. Planificación de la verificación y validación de aplicaciones web.
La planificación de la verificación debe definir el propósito, los métodos, las frecuencias y las responsabilidades de las actividades de verificación. Los resultados de la planificación deben estar en un formato adecuado para los métodos de operación de la organización. Los resultados de la verificación se deben registrar y deben comunicase al equipo.
6.2 Inspección de software basado en web.
En la actualidad, está dirigido a los procesos, metodologías, planes o a todo el ciclo de vida, es decir, a cualquier artefacto producido en el transcurso del desarrollo; detectando defectos en estos.

Inspección en la Ingeniería de software, se relaciona con la Revisión por pares de cualquier producto de trabajo por personas capacitadas que buscan defectos mediante un proceso bien definido. La inspección de software es conocida también como Fagan inspection en homenaje a Michael Fagan, el creador de este popular método de inspección de software
Verificación
es un Conjunto de actividades que aseguran que el software implementa correctamente una función específica, esto implica comprobar que el software está de acuerdo con su especificación y si satisface sus requerimientos funcionales y no funcionales.
La validación requiere una planificación precisa para identificar y documentar los procedimientos, medidas y pruebas que se usaran, así como el orden y programa de las pruebas y las aptitudes requeridas del personal que las realizara.
La verificación se puede realizar mediante análisis , pruebas y una combinación de ambos. Estas actividades podrían incluir:

• La revisión de documentos para garantizar el cumplimiento con los objetivos y requisitos.
• Revisión del diseño
• Pruebas de los productos diseñados para garantizar que funcionen de acuerdo con su especificación.
• Pruebas de integración realizadas cuando se juntan diferentes partes del sistema

La Validación
La validación de datos garantiza la corrección de datos y precisión de todos los valores de datos de la aplicación. Una de las formas más sencillas de validación de datos consiste en comprobar el tipo de datos.

Hay varios tipos de validación de datos:

Validación del tipo de datos
Comprobación del intervalo
Comprobación del código.



6.3 Pruebas de las Aplicaciones web
Las pruebas se utilizan para descubrir errores en el contenido, funciones, fiabilidad de uso, la navegación, el desempeño la capacidad y la seguridad de las aplicaciones web.

Pruebas de contenido. Busca errores ortográficos (información errónea y mala organización).
Pruebas de interfaz. Busca los errores en una interacción y valida el aspecto estético la interfaz.
Prueba de Navegación. Prueba en cada escenario dentro de la página.
Prueba de Componentes. Los elementos de la arquitectura se revisan y se aplican pruebas de unidad a los componentes de proceso.
Pruebas de Configuración. Errores específicos de usuarios.
Pruebas de seguridad. Evalúa la vulnerabilidad de la página.
Pruebas de Desempeño. Como afecta el tráfico de usuarios y el tiempo de respuestas.


6.5 Implementación de las Aplicaciones web
La implementación de las tecnologías web, trata de integrar los procesos de las aplicaciones, manteniendo de manera organizada y estructurada sus procesos generando una buena comunicación entre sus integrantes y así poder mejorar el rendimiento de la misma. La implementación de aplicaciones es muy importante ya que la tecnología avanza a pasos inmensos, día a día y los requerimientos de las empresas, son cada vez mayores, inclusive la exigencia de los consumidores se incrementa cada día más, lo que ocasiona que los procesadores tengan que ser más rápidos, y las capacidades de almacenamiento deben también crecer; para poner en funcionamiento grandes sistemas informáticos.
Hoy en día los sitios Web se han convertido en una de las opciones de mayor consulta y divulgación para la sociedad actual como también uno de los medios de comunicación rápidos y entretenidos.
Ventajas y Beneficios de una Aplicación Web


• Se facilita el trabajo a distancia.

• No se requieren complicadas combinaciones de Hardware/Software para utilizar estas aplicaciones. Solo un computador con un buen navegador Web.

• Las aplicaciones Web son fáciles de usar (no requieren conocimientos avanzados de computación)

• Con una aplicación Web tendrá alta disponibilidad, ya que puede realizar consultas en cualquier parte del mundo donde tenga acceso a Internet y a cualquier hora.


Las aplicaciones web son populares debido a lo práctico del navegador web como ligero, a la independencia del sistema operativo, así como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs, tiendas en línea y la propia Wikipedia que son ejemplos bien conocidos de aplicaciones web
CONSIDERACIONES TECNICAS DE LA IMPLENTACIONES DELAS APLICACIONES WEB
Las aplicaciones web deberían funcionar igual independientemente de la versión del sistema operativo instalado en el cliente. En vez de crear clientes para Windows ,Mac OS X,GNU/Linux y otros sistemas operativos ,la aplicación web se escribe una vez y se ejecuta igual en todas partes. Sin embargo, hay aplicaciones inconsistentes escritas con HTML,CSS,DOM y otras especificaciones estándar para navegadores web que pueden causar problemas en el desarrollo y soporte de estas aplicaciones, principalmente debido a la falta de adhesión de los navegadores a dichos estándares web(especialmente versiones de Internet Explorer anteriores a la 7.0).Adicionalmente, la posibilidad de los usuarios de personalizar muchas de las características de la interfaz (tamaño y color de fuentes, tipos de fuentes, inhabilitar Java script) puede interferir con la consistencia de la aplicación web.
La calidad queda definida a un alto nivel de abstracción por seis características:
•Funcionalidad: Las funciones satisfacen necesidades declaradas o implícitas [ISO 9126: 1991]
•Fiabilidad: Capacidad de un sistema para mantener su nivel de rendimiento
•Usabilidad: Esfuerzo necesario para el uso y la valoración individual de tal uso, por parte de un conjunto de usuarios. [ISO 9126: 1991]
•Portabilidad: Es la capacidad de un sistema para ser transferido de un entorno a otro. [ISO 9126: 1991]
•Mantenibilidad: Es el esfuerzo necesario para realizar modificaciones específicas. [ISO 9126: 1991]
•Eficiencia: Es la relación entre el nivel de prestaciones de un sistema y el volumen de recursos utilizados en condiciones declaradas. [ISO 9126: 1991]

Usabilidad: Métodos y técnicas de evaluación
A la hora de calificar la calidad de una aplicación web, uno de los factores más importantes es la usabilidad. Es el atributo más visible ya que determina el grado de satisfacción del usuario respecto de la aplicación web; de ello depende que sea utilizada o no.
El término usabilidad es planteado desde tres puntos de vista:
•Orientado al producto
•Orientado al usuario
•Orientado al rendimiento del usuario
ISO 9126-1
Este estándar define la usabilidad como la capacidad de un producto software de ser comprendido, aprendido, usado y de ser atractivo para el usuario, en condiciones específicas de uso.

6.6 Evaluación de Aplicaciones web
La calidad es sinónimo de unos factores que pueden ser medidos:

•Eficiencia
•Flexibilidad
•Facilidad de uso
•Portabilidad
•Seguridad, etc.

La norma ISO 8402 define la calidad como el conjunto de propiedades y características de un producto o servicio, que le confieren aptitud para satisfacer unas necesidades explícitas o implícitas.

Métodos de Evaluación de Usabilidad
Se pueden considerar dos grupos de UEM [Usability Evaluation Methods]
Los UEM empíricos, donde participan:
•Usuarios
•Evaluadores
•Observadores
•Expertos en test
Los UEM analíticos donde no tienen acceso los usuarios, incluyen un equipo de especialistas en usabilidad. Para el proceso de inspección se utilizan directrices o heurísticas para realizar el proceso de inspección.

La Evaluación de Aplicaciones Web en la Actualidad
Hasta la actualidad no existe una metodología formal, completa que dicte los pasos necesarios para llevar a cabo esta tarea. Todas las evaluaciones de calidad que se realizan son inherentes a su propio proyecto.
El Modelado de Negocio de la Ingeniería Web, empleando criterios generales de usabilidad pero no métricas. Las dimensiones que incluye la evaluación son:
• Contenido: Relacionado a los objetos de información incluidos en la aplicación.
• Estructura: La organización del contenido.
• Presentación: Cómo se muestra a los lectores el contenido y las funciones de la aplicación.
• Dinámica: Cómo los usuarios se mueven e interactúan con los elementos y componentes de información
• Interacción: Cómo se usan los componentes dinámicos.

6.7 Mantenimiento de las Aplicaciones Web
Toda aplicación web es efectiva siempre y cuando se mantenga actualizada tanto tecnológica como funcionalmente, proporcionando al usuario lo que necesita a cada momento. Del mismo modo que las empresas y organizaciones evolucionan en la forma de hacer las cosas, las aplicaciones informáticas deben seguir el mismo camino para lograr su único objetivo, que es el de servir al usuario a realizar su trabajo de una manera más eficiente.
El mantenimiento se encarga de corregir las fallas detectadas durante la operación de la aplicación, así como el de realizar las modificaciones pertinentes a los nuevos requerimientos que se van presentando.
Las principales funciones que se realizan en el mantenimiento de una aplicación son las siguientes:

Planeación: Consiste en la detección (falla) o planteamiento del nuevo
Requerimiento: Definición de los Ajustes a realizar. Se hace un análisis del cambio a efectuar, considerando:


Grado de Dificultad: Se estima el esfuerzo, costo y tiempo que se llevaría la modificación.

Repercusiones: Se vislumbran las consecuencias en la estructura, contenido y funcionamiento de la aplicación.



Se prueba la navegación a través de toda la arquitectura, para esto se aplica los casos de uso que se prueban contra el diseño de la navegación y luego con la aplicación en si
Se prueba en diversas configuraciones ambientales para comprobar su compatibilidad. Se crea una matriz de referencia cruzada que define todos los probables sistemas operativos, navegador, plataformas de hardware y protocolos de comunicación.
Se realizan pruebas de seguridad con el objetivo de encontrar vulnerabilidades

Estrategias de Pruebas
Revisar el modelo de contenido (sintáctica y semántica)
Revisar el modelo de interfaz para confirmar que todos los casos de uso se pueden acomodar
Revisar el modelo de diseño para descubrir errores de navegación
Revisar la interfaz del usuario para descubrir errores en la presentación o en los mecanismos de navegación

Las inspecciones son parte fundamental del aseguramiento de calidad, establecen un orden en el proceso y garantizan la mejora continua del proceso. Es un proceso de mejora de calidad continuo. “Trata el producto, pero también el proceso de desarrollo así como su propio proceso.”
OBJETIVO DE LA INSPECCION
La inspección debe ser muy bien planificada y bien llevada, no puede olvidarse ningún detalle y siempre se debe tener en mente los siguientes objetivos

Encontrar tempranamente los defectos.
Prevenir el mal funcionamiento de los procesos o planes establecidos
Proporcionar mejoras en la fiabilidad, disponibilidad, y la facilidad demantenimiento del software.

Continuar el mejoramiento del proceso de desarrollo.
Establecer una igualdad de conocimiento dentro de los desarrolladores para la buena práctica de los estándares y técnicas de desarrollo.

La ventaja más reconocida para la inspección, es la integración y la educación implícita de las personas que sean nuevas en el proyecto, ganando mucho tiempo en la preparación y capacitación.

Su objetivo es asegurar que el sistema satisface las expectativas del cliente. Procura demostrar que el software hace lo que el cliente espera que haga.

6.4 Ejemplos de Pruebas Para WebApps
El enfoque de las pruebas de las WebApps adopta los principios básicos de todas las pruebas del software y aplica estrategias y tácticas que ya han sido recomendadas para los sistemas orientados a objetos.

El modelo de contenido de la WebApp es revisado para descubrir errores.

Esta actividad de“prueba” se asemeja en muchos aspectos a la de un corrector ortográfico de un documento escrito. De hecho, un sitio Web grande tendrá la capacidad de construir un listado de los servicios de correctores profesionales para descubrir errores tipográficos, errores gramaticales, errores en la consistencia del contenido, errores en representaciones gráficas y de referencias cruzadas.

El modelo de diseño para la WebApp es revisado para descubrir errores de navegación.
Los casos prácticos derivados como parte de la actividad de análisis permiten que un ingeniero Web ejercite cada escenario de utilización frente al diseño arquitectónico y de navegación. En esencia, estas pruebas no ejecutables ayudan a descubrir errores en la navegación (por ejemplo, un caso en donde el usuario no pueda leer un nodo de navegación).

La WebApp ensamblada se prueba para conseguir una funcionalidad global y un contenido.

Al igual que la validación convencional, la validación de los sistemas y aplicaciones basados en Web se centra en acciones visibles del usuario y en salidas reconocibles para el usuario que procedan del sistema. Para ayudar en la derivación de las pruebas de validación, las pruebas deberán basarse en casos prácticos. El caso práctico proporciona un escenario con una probabilidad alta de descubrir errores en los requisitos de interacción del usuario.
La WebApp se implementa en una variedad de configuraciones diferentes de entornos y comprobar así la compatibilidad con cada configuración.
Se crea una matriz de referencias cruzadas que define todos los sistemas operativos probables, plataformas de hardware para navegadores y protocolos de comunicación. Entonces se llevan a cabo pruebas para descubrir los errores asociados con todas y cada una de las configuraciones posibles.
Factibilidad: En base a los recursos requeridos y los disponibles, se decide la posibilidad de aplicar la modificación.

Ejecución de las Modificaciones: Se llevan a cabo las modificaciones necesarias para satisfacer al requerimiento planteado.

Pruebas de las Modificaciones: Se prueban exhaustivamente los cambios hechos de la aplicación, procurando detectar y corregir posibles errores.

Liberación: Se actualiza la documentación y se procede a informar y adiestrar al personal involucrado en la operación de la aplicación
Full transcript