Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prueba de Unidad
En este nivel se prueba cada unidad o módulo con el objetivo de eliminar
errores en la interfaz y en la lógica interna.
Esta actividad utiliza técnicas de caja negra y caja blanca.
Se realizan pruebas sobre:
- La interfaz del módulo.
- Las estructuras de datos locales, para asegurar que mantienen su
integridad durante todos los pasos de ejecución del programa
- Las condiciones límite.
- Todos los caminos independientes de la estructura de control.
De caja negra
- Partición o clases de equivalencia.
- Los errores suelen ocurrir en los límites de las clases
equivalentes.
- Podemos reforzar los casos de prueba probando los valores
límite.
- Si una condición de entrada especifica un rango de valores.
- Se debe diseñar casos de prueba para los límites del rango
y para los valores justo por encima y por debajo del rango.
- Si una condición de entrada especifica un número de valores.
- se deben diseñar casos de prueba que ejerciten los valores
máximo, mínimo, un valor justo por encima del máximo y
un valor justo por debajo del mínimo.
- Análisis de los valores límite.
Prueba de Integración
En este tipo de prueba se observa cómo interaccionan los distintos módulos,
se ha probado que todos los módulos funcionan por separado, se valida la
integración, se trata de comprobar si funcionan juntos.
Prueba de Sistema
La prueba del sistema está formada por un conjunto de pruebas cuya misión
es ejercitar profundamente el software.
- Pruebas de recuperación
- En este tipo de prueba se fuerza el fallo del software y verifica
que la recuperación se lleva a cabo apropiadamente.
- Pruebas de seguridad
- En esta prueba se intenta verificar que el sistema está protegido
contra accesos ilegales.
- Pruebas de resistencia (Stress)
- Trata de enfrentar el sistema con situaciones que demandan gran
cantidad de recursos.
Control de Versiones
Un Sistema de Control de Versiones (VCS, Version Control System) es una
herramienta CASE, utilizada en la fase de codificación, integración y
mantenimiento.
El funcionamiento de un VCS:
- Se almacenan los ficheros del código fuente en un servidor.
- Los ficheros de ese servidor no se modifican directamente.
- Cada desarrollador tiene su propia copia del código
- Si un desarrollador quiere modificar un fichero informa que va a realizar
dicha modificación
- Cuando la modificación está realizada, actualiza el fichero del servidor
- Cuando dos usuarios modifican el mismo fichero, el sistema resuelve
los conflictos automáticamente línea por línea.
- En el caso de que ambos programadores modifiquen las mismas
líneas, el sistema avisa para que el último desarrollador resuelva el
conflicto de manera manual.
Ramas
Una rama es un mecanismo que integran algunos CVS para permitir aislar de
la línea de desarrollo principal cambios que se quieren realizar.
- En Git a esa rama principal se le llama MASTER.
init: Se inicia el repositorio.
checkout: Cambiar a otra rama.
commit: creas una nueva revisión.
tags: etiquetar cada versión del fichero para saber que fue lo que se compró
en una determinada fecha.
diff: ver en qué se ha modificado la lista entre dos versiones.
branch: abre una rama.
merge: mezclar el archivo de la rama.
Fast-Forward: queremos mezclar 2 ramas donde un desciende del último
commit de la otra
Merging: Queremos mezclar 2 ramas divergentes.
Rebase: Se reorganizan las ramas para mantener un histórico lineal.
JUNIT
JUnit es una herramienta para realizar pruebas unitarias automatizadas.
Las pruebas unitarias se realizan sobre una Clase para probar su
comportamiento de forma aislada independientemente del resto de clases de
la aplicación.
En la Clase de Prueba se van a generar los métodos de prueba con un
código prototipo:
- El método de prueba llamará al método que va a ser evaluado.
Aserciones
- Los método assert() se utilizan para hacer las pruebas.
- Estos métodos permiten comprobar si la salida del método que se está
probando concuerda con los valores esperados.
- Todos devuelven tipo void.
- Inicializadores y Finalizadores.
- El método setUp es un método de inicialización de la prueba y se
ejecuta antes de cada caso de prueba en la clase de prueba.
- El método tearDown es un método finalizador de prueba y se
ejecutará después de cada test en la clase prueba.