viernes, 19 de septiembre de 2014

Tarea 2

INTRODUCCIÓN

El siguiente trabajo pretende dejar en claro las dudas que pueden llegar a existir en el camino del aprendizaje hacía el estándar ISO 9216.

DESARROLLO 
ISO 9126 es un estándar internacional para la evaluación del Software, fue originalmente desarrollado en 1991 para proporcionar un esquema para la evaluación de calidad del software.
La normativa define seis características de la aplicación, estas seis características son dividas en un número de sub- características, las cuales representan un modelo detallado para la evaluación de cualquier sistema informático.
3.1.1  CARACTERÍSTICAS NORMA ISO 9126
El modelo establece diez características, seis que son comunes a las vistas interna y externa y cuatro que son propias de la vista en uso.
A continuación se describen las características y subcaracterísticas propias de este estándar que se encuentran dentro de las vistas interna y externa,  las cuales usaremos para evaluar el software de CMI.
Funcionalidad: capacidad del software de proveer los servicios necesarios para cumplir con los requisitos funcionales.
Subcaracterísticas:

Idoneidad.- Hace referencia a que si el software desempeña las tareas para las cuales fue desarrollado.
Exactitud.- Evalúa el resultado final que obtiene el software y si tiene consistencia a lo que se espera de él.
Interoperabilidad.- Consiste en revisar si el sistema puede interactuar con otro sistema independiente.
Seguridad.- Verifica si el sistema puede impedir el acceso a personal no autorizado.
Fiabilidad: capacidad del software de mantener las prestaciones requeridas del sistema, durante un tiempo establecido y bajo un conjunto de condiciones definidas.
Subcaracterísticas:
Madurez.- Se debe verificar las fallas del sistema y si muchas de estas han sido eliminadas durante el tiempo de pruebas o uso del sistema.
Recuperabilidad.- Verificar si  el software puede  reasumir el funcionamiento y restaurar  datos perdidos después de un fallo ocasional.
Tolerancia a fallos.- Evalua si la aplicación desarrollada es capaz de manejar errores.
Usabilidad: esfuerzo requerido por el usuario para utilizar el producto satisfactoriamente.
Subcaracterísticas:
Aprendizaje.- Determina que tan fácil es para el usuario aprender a utilizar el sistema.
Comprensión.- Evalúa que tan fácil es para el usuario comprender el funcionamiento del sistema
Operatividad.- Determina si el usuario puede utilizar el sistema sin mucho esfuerzo.
Atractividad.- Verifica que tan atractiva se ve la interfaz de la aplicación.
Eficiencia: relación entre las prestaciones del software y los requisitos necesarios para su utilización.
Subcaracterísticas:
Comportamiento en el tiempo.- Verifica la rapidez en que  responde el sistema
Comportamiento de recursos.- Determina si el  sistema utiliza los recursos de manera eficiente
Mantenibilidad: esfuerzo necesario para adaptarse a las nuevas especificaciones y requisitos del software.
Subcaracterísticas:
Estabilidad.- Verifica si el sistema puede mantener su funcionamiento a pesar de realizar cambios.
Facilidad de análisis.- Determina si la estructura de desarrollo es funcional con el objetivo de diagnosticar fácilmente las fallas.
Facilidad de cambio.- Verifica si el sistema puede ser fácilmente modificado
Facilidad de pruebas.- .- Evalúa si el sistema puede ser probado fácilmente
Portabilidad: capacidad del software ser transferido de un entorno a otro.
Subcaracterísticas:
Capacidad de instalación.- Verifica si el software se puede instalar fácilmente
Capacidad de reemplazamiento.- Determina la facilidad con la que el software puede remplazar otro software similar.
Adaptabilidad.- El software se puede trasladar a otros ambientes
Co-Existencia.- El software puede funcionar con otros sistemas
Cada una de las características debe ser evaluada dentro del software basándonos en  pruebas de funcionamiento, medición de rendimiento y pruebas con usuarios que harán uso del sistema.

CONCLUSIÓN





domingo, 24 de agosto de 2014

Tarea 1



Tarea 1

Introducción 

En el siguiente trabajo daré una breve explicación sobre los conceptos fundamentales que dan vida a la ingeniería de pruebas como los son: prueba,  ingeniería de prueba, ciclo de vida del software y los tipos de prueba del software. Con el fin de obtener una idea clara de su funcionamiento, y así en un futuro poder utilizar este conocimiento en futuros proyectos para su impecable realización. 

Desarrollo

Prueba: Es la acción de experimentar, probar o realizar un breve estudio sobre las cualidades de un objeto cualquiera de nuestro interés, con el fin de obtener información que nos pueda brindar un panorama más amplio sobre su comportamiento y poder sacar provecho de ello. 

Ingeniería de pruebas: Permite al encargado (s) de diseñar el programa , realizar su tarea de construcción de software como un problema de ingeniería haciendo uso de guías, principios y normas que le permitirán el correcto desarrollo de su labor. Además, dispondrá de un conjunto de herramientas que le permitirán la evaluación, validación, depuración y corrección del software desarrollado.

Ciclo de vida del software: Esta es una importante metodología que nos permite realizar con eficacia, calidad, precisión y rapidez un software, puesto que evita que el trabajo se disperse a donde cada persona quiere, manteniendo así un camino firme hacia el mismo objetivo: un software de calidad,  evitando al mismo tiempo perdidas económicas y estatus, y aumentado la productividad de la empresa o institución que lo utilice. 

A continuación describiré los procedimientos básicos que se tienen que realizar en el ciclo de vida del software:

  • Definición de objetivos: definir el resultado del proyecto, la estrategia que se empleará para realizarlo y su alcance.
  • Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
  • Diseño general: requisitos generales de la arquitectura de la aplicación.
  • Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
  • Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
  • Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.
  • Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.
  • Prueba beta: para garantizar que el software cumple con las especificaciones originales.
  • Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.
  • Implementación
  • Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).

Tipos de prueba del software:

Las pruebas en conjunto tienen como objetivo general verificar y validar un software, independientemente de las características y el entorno donde se desarrollen, además de los recursos y los factores vinculados al proceso de desarrollo. 

Funcionalidad

  1. Función: Pruebas fijando su atención en la validación de las funciones, métodos, servicios, caso de uso.
  2. Seguridad: Asegurar que los datos o el sistema solamente es accedido por los actores deseados.
  3. Volumen: Enfocada en verificando las habilidades de los programas para manejar grandes cantidades de datos, tanto como entrada, salida o residente en la BD.

Usabilidad

Prueba enfocada a factores humanos, estéticos, consistencia en la interfaz de usuario, ayuda sensitiva al contexto y en línea, asistente documentación de usuarios y materiales de entrenamiento.

Fiabilidad

  1. Integridad: Enfocada a la valoración exhaustiva de la robustez (resistencia a fallos).
  2. Estructura: Enfocada a la valoración a la adherencia a su diseño y formación. Este tipo de prueba es hecho a las aplicaciones Web asegurando que todos los enlaces están conectados, el contenido deseado es mostrado y no hay contenido huérfano.
  3. Stress: Enfocada a evaluar cómo el sistema responde bajo condiciones anormales. (extrema sobrecarga, insuficiente memoria, servicios y hardware no disponible, recursos compartidos no disponible).

Rendimiento

  1. Benchmark: Es un tipo de prueba que compara el rendimiento de un elemento nuevo o desconocido a uno de carga de trabajo de referencia conocido.
  2. Contención: Enfocada a la validación de las habilidades del elemento a probar para manejar aceptablemente la demanda de múltiples actores sobre un mismo recurso (registro de recursos, memoria).
  3. Carga: Usada para validar y valorar la aceptabilidad de los límites operacionales de un sistema bajo carga de trabajo variable, mientras el sistema bajo prueba permanece constante. La variación en carga es simular la carga de trabajo promedio y con picos que ocurre dentro de tolerancias operacionales normales.

Soportabilidad

  1. Configuración: Enfocada a asegurar que funciona en diferentes configuraciones de hardware y software. Esta prueba es implementada también como prueba de rendimiento del sistema.
  2. Instalación: Enfocada a asegurar la instalación en diferentes configuraciones de hardware y software bajo diferentes condiciones (insuficiente espacio en disco, etc.)

Conclusión 

Como pudimos darnos cuenta la ingeniería de pruebas es vital para que nuestro software cumpla con todos los requisitos/objetivos que se definieron para poder entregar a nuestro un cliente un trabajo que le ayude a mejorar u optimizar su forma de trabajo. 


Biografía 

  • kioskea. (2012). Ciclo de vida del software. 24 de agosto del 2014, de CCM Benchmark group Sitio web: http://es.kioskea.net/contents/223-ciclo-de-vida-del-software
  • Ecured. (2013). Pruebas de calidad de software. 22 de agosto del 2014, de Ecured Sitio web: http://www.ecured.cu/index.php/Pruebas_de_Calidad_de_Software
  • Java. (2012). Tipos de prueba para el desarrollo del software . 22 de agosto del 2014, de JavaMéxico Sitio web: http://www.javamexico.org/blogs/emontoya/tipo_de_pruebas_para_desarrollo_de_software
  • ¿?. (2013). Ciclo de vida del software. 24 de agosto del 2014, de usrs.code Sitio web: http://img.redusers.com/imagenes/libros/lpcu097/capitulogratis.pdf
  • Definición.de. (2008). Definición de prueba. 24 de agosto del 2014, de Definicion.de. Sitio web: http://definicion.de/prueba/