Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Preguntas claves:
Anlisis de
requerimientos
Diseo
Codificacin
Pruebas unitarias
3. PRUEBAS DE INTEGRACION:
La prueba de integracin es una tcnica sistemtica para construir la estructura del programa mientras al
mismo tiempo, se lleva a cabo pruebas para detectar errores asociados con la interaccin. El objetivo es tomar
los mdulos probados en unidad y estructurar un programa que est deacuerdo con el que dicta el diseo. La
integracin puede ser descendente si se integran los mdulos desde el control o programa prinicpal, o bien,
asdendente, si la verificacin del diseo empieza desde los mdulos ms bajos y de all al principal. La
seleccin de una estrategia de integracin depende de las caractersticas depende de las caractersticas del
software y, a veces, del plan del proyecto, en algunos de los casos se puede combinar ambas estrategias.
4. PRUEBAS DE SUBSISTEMAS:
En este documento, se va a presentar el conjunto de pruebas relacionado con los
subsistemas de Delta Pensum 1.0 en su primera implementacion. La importancia de
este plan de pruebas es que sera llevado a cabo sobre los metodos y clases ya
probados, en este momento es que las funcionalidades separadas del sistema
comenzaran a probarse. Para probar los subsistemas de Delta Pensum 1.0, se va a
hacer uso de las herramientas suministradas por Binder. Dado que las pruebas se
realizaran a subsistemas separados, pero no disjuntos, nos daran un enfoque del
funcionamiento del sistema por partes, esto no significa que el comportamiento del
sistema completo sea correcto. Se dejara para otro plan de pruebas el chequeo de la
integracion de estos subsistemas. Este informe esta basado en los distintos patrones de
pruebas de subsistemas que se pueden observar en el capitulo 12 de Binder.
Enfoque: Binder nos ofrece en el captulo 12, cuatro patrones para diceo de pruebas
de subsistemas, las cuales nos presentan distintas estrategias para probar diferentes
funcionalidades en estos. Estas se describen a continuacion.
Pruebas de Escenarios de Ida y Vuelta : Permite disear un plan de pruebas que cubra todos los caminos
evento-respuesta en un diagrama de secuencia. Si van a ser usadas, y la forma de ejercitarlas se describe
posteriormente.
5. PRUEBAS DE UNITARIAS:
En programacin, una prueba unitaria es una forma de comprobar el correcto funcionamiento de un
mdulo de cdigo. Esto sirve para asegurar que cada uno de los mdulos funcione correctamente por
separado. Luego, con las Pruebas de Integracin, se podr asegurar el correcto funcionamiento del
sistema o subsistema en cuestin.
La idea es escribir casos de prueba para cada funcin no trivial o mtodo en el mdulo, de forma que
cada caso sea independiente del resto.
Caractersticas[editar]
Para que una prueba unitaria tenga la calidad suficiente se deben cumplir los siguientes requisitos:
Automatizable
No debera requerirse una intervencin manual. Esto es especialmente til para integracin
continua.
Completas
Deben cubrir la mayor cantidad de cdigo.
Repetibles o Reutilizables
No se deben crear pruebas que slo puedan ser ejecutadas una sola vez. Tambin es til
para integracin continua.
Independientes
La ejecucin de una prueba no debe afectar a la ejecucin de otra.
Profesionales
Las pruebas deben ser consideradas igual que el cdigo, con la misma profesionalidad,
documentacin, etc.
Aunque estos requisitos no tienen que ser cumplidos al pie de la letra, se recomienda seguirlos o de lo
contrario las pruebas pierden parte de su funcin.
Ventajas[editar]
El objetivo de las pruebas unitarias es aislar cada parte del programa y mostrar que las partes
individuales son correctas. Proporcionan un contrato escrito que el trozo de cdigo debe satisfacer.
Estas pruebas aisladas proporcionan cinco ventajas bsicas:
Fomentan el cambio
Las pruebas unitarias facilitan que el programador cambie el cdigo para mejorar su estructura (lo que
se ha dado en llamar refactorizacin), puesto que permiten hacer pruebas sobre los cambios y as
asegurarse de que los nuevos cambios no han introducido errores.
Simplifica la integracin
Puesto que permiten llegar a la fase de integracin con un grado alto de seguridad de que el cdigo
est funcionando correctamente. De esta manera se facilitan laspruebas de integracin.
Documenta el cdigo
Las propias pruebas son documentacin del cdigo puesto que ah se puede ver cmo utilizarlo.
Separacin de la interfaz y la implementacin
Dado que la nica interaccin entre los casos de prueba y las unidades bajo prueba son las interfaces
de estas ltimas, se puede cambiar cualquiera de los dos sin afectar al otro, a veces usando objetos
mock (mock object) para simular el comportamiento de objetos complejos.
Los errores estn ms acotados y son ms fciles de localizar
Dado que tenemos pruebas unitarias que pueden desenmascararlos.
Limitaciones[editar]
Es importante darse cuenta de que las pruebas unitarias no descubrirn todos los errores del cdigo.
Algunos enfoques se basan en la generacin aleatoria de objetos para amplificar el alcance de las
pruebas de unidad.1 Esta tcnica se conoce como testing aleatorio (RT, por random testing). Por
definicin, slo prueban las unidades por s solas. Por lo tanto, no descubrirn errores de integracin,
problemas de rendimiento y otros problemas que afectan a todo el sistema en su conjunto. Adems,
puede no ser trivial anticipar todos los casos especiales de entradas que puede recibir en realidad la
unidad de programa bajo estudio. Las pruebas unitarias slo son efectivas si se usan en conjunto con
otras pruebas de software.
Herramientas[editar]
JUnit: Entorno de pruebas para Java creado por Erich Gamma y Kent Beck. Se encuentra
basado en SUnit creado originalmente para realizar pruebas unitarias para el lenguaje
Smalltalk.
TestNG: Creado para suplir algunas deficiencias en JUnit.
TIPOS DE PRUEBAS:
Para su aplicacin debemos definir el contexto en el que vamos a usar las revisiones,
los criterios para aplicarlas y como evaluar su efectividad. No resta decir que los
participantes deben de estar capacitados en el mtodo a utilizar.
Adicional, a la deteccin de defectos, las revisiones por pares son una excelente
herramienta para compartir conocimiento entre los integrantes de la organizacin al
tener acceso, miembros con menos experiencia, al trabajo de gente mas
experimentada. De igual forma, las revisiones ayudan a los miembros de una
organizacin a socializar, intercambiar opiniones y a hacer trabajo en equipo.
El uso de las revisiones por pares es un complemento para el rea de pruebas, cada
una se enfoca a una parte diferente del proceso, de los productos de trabajo, y se
requiere de habilidades diferentes. Por ejemplo en una revisin por pares podemos ver
si un producto de trabajo cumple con los estndares de calidad definidos, si tiene
claridad, si es fcil de mantener, si es completo, cosa que con las pruebas no lo
podemos hacer.
El implementar un proceso efectivo de revisin por pares requiere de seriedad y
compromiso de la organizacin para obtener lo mejor de esta prctica. Un punto
importante para el xito de las revisiones por pares es que se revisa el producto de
trabajo, No al autor del producto.
INSPECCIONES DE SOFTWARE
xito de la inspeccin
Inspecciones y pruebas
Inspecciones de programas
Los defectos pueden ser errores lgicos, anomalas en el cdigo que pueden
indicar una condicin errnea (p.ej: una variable no iniciada) o no conformidad
con los estndares.
Precondiciones de la inspeccin
Los miembros del equipo deben estar familiarizados con los estndares de
organizacin.
Proceso de inspeccin
Listas de inspeccin
Cifras de inspeccin
(unos
VALIDACIN DE REQUERIMIENTOS
Validacin
Consiste en actividades de detectar y corregir cualquier requisito innecesario e incorrecto.
Proceso de comprobacin de que estos requisitos fueron especificados de acuerdo a las
necesidades de los clientes.
Evita el riesgo de realizar una mala implementacin.
Bibliografa:
http://www.ctr.unican.es/asignaturas/Ingenieria_Software_4_F/Doc/M7_09_VerificacionV
alidacion-2011.pdf
http://www.fing.edu.uy/tecnoinf/mvd/cursos/ingsoft/material/teorico/is09-VerificacionValidacion.pdf
http://ldc.usb.ve/~teruel/ci4713/clases2001/testReqs
https://es.wikipedia.org/wiki/Pruebas_de_validaci%C3%B3n
http://mmedia1.fi-b.unam.mx/material/t1046/tutorial/tutorial-VV.pdf
http://sistemas.unla.edu.ar/sistemas/sls/ls-4-optativa-algoritmos-y-lenguajes-pruebadel-software/pdf/Pruebas-de-Software-C04-Tipos-de-pruebas-estaticas.pdf
http://www.academica.mx/blogs/las-pruebas-integraci%C3%B3n-software
http://ldc.usb.ve/~teruel/southpark/DP/pruebas/documentos/planSubsistema