Está en la página 1de 19

Pruebas a través

del ciclo de vida del


Software
Unidad 2
I. MODELOS DE DESARROLLO DE
SOFTWARE
II. NIVELES O FASES DE PRUEBA
III. TIPOS U OBJETIVOS DE LAS
PRUEBAS
IV. PRUEBAS DE MANTENIMIENTO

CONTENIDO
MODELOS DE DESARROLLO

A. El modelo de cascada
B. El modelo en V
C. En Flor
D. Prototipos
E. El modelo de Espiral
F. El modelo de Procesos
G. Desarrollo Incremental
H. Modelos ágiles
• Scrum
• XP
• Kanban
EL MODELO
V

El modelo V ilustra cómo las


actividades de pruebas pueden
ser integradas en cada fase del
ciclo de vida del desarrollo de
software.
EL MODELO V

• La unión entre las fases de la parte izquierda y las


pruebas de la derecha representa una doble
información.
• Por un lado sirve para indicar en qué fase de desarrollo
se deben definir las pruebas correspondientes.
• Por otro sirve para saber a qué fase de desarrollo hay
que volver si se encuentran fallos en las pruebas
correspondientes.
VENTAJAS Y DESVENTAJAS
• La relación entre las etapas de desarrollo • Es difícil que el cliente exponga
y los distintos tipos de pruebas facilitan la explícitamente todos los requisitos
localización de fallos.
• El cliente debe tener paciencia pues
• Es un modelo sencillo y de fácil obtendrá el producto al final del ciclo
aprendizaje de vida
• Hace explícito parte de la iteración y • Las pruebas pueden ser caras y, a
trabajo que hay que revisar veces, no lo suficientemente efectivas
• Especifica bien los roles de los distintos • El producto final obtenido puede que
tipos de pruebas a realizar
no refleje todos los requisitos del
• Involucra al usuario en las pruebas usuario
MODELOS DE
DESARROLLO
ITERATIVO,
EVOLUTIVO E
INCREMENTAL

Tienen como principal característica la


transformación del concepto en el sistema en una
serie de secuencias de actividades repetidas y
lógicas. Cada secuencia de las actividades se
denomina una iteración o un incremento o un
salto (“sprint”) o algún otro nombre, dependiendo
del modelo.
MODELO ITERATIVO

•Un ciclo de vida del desarrollo donde


usualmente un proyecto es dividido en un
gran número de iteraciones.
•Una iteración es un ciclo completo del
desarrollo que resulta en una versión
(interna o externa) de un producto
ejecutable, un subconjunto del producto
final en desarrollo, que crece de iteración en
iteración para convertirse en el producto
final.
Un desarrollo iterativo es aquel en el que, con cada entrega, esperamos el feedback del usuario para
decidir los siguientes pasos a seguir.

Por ejemplo, podríamos entregar un prototipo en papel para validar las primeras hipótesis sobre cómo
quiere el usuario que le mostremos la información, luego, a partir del feedback recibido, podemos
desarrollar un prototipo con el que empezar a validar hipótesis técnicas (integración con fuentes de
datos, etc) y así hasta tener la aplicación completada.
MODELO
INCREMENTAL
•Un desarrollo incremental es aquel en
el que, con cada entrega, tenemos
acabada una pieza más del sistema,
pero éste no lo podemos considerar
acabado hasta la entrega de la última
pieza.
MODELO
INCREMENTAL
• Por ejemplo, podríamos planificar algo así
como: primero la base de datos, luego la lógica
de negocio y finalmente «las pantallas». Esto
tiene el problema de que no hemos pensado en
el usuario a la hora de planificar nuestras
entregas. Con cada incremento, el usuario no
puede hacer nada nuevo.
• NO hay nuevas funcionalidades que utilizar por
lo que, desde su punto de vista, no habría
mucha diferencia entre un desarrollo
incremental y un «waterfall» (con una única
entrega al final del proyecto).
Pero también podríamos planificar primero la gestión de
MODELO almacén, luego la gestión de la tienda y finalmente la
gestión de facturas. Este enfoque es el correcto al hablar de
INCREMENTAL desarrollo incremental.
El usuario, cuando tiene el módulo de gestión de almacén ya
puede empezar a gestionar el almacén. Si quiere gestionar
la tienda tendrá que esperar, pero al menos ya puede ir
gestionando el almacén.

Un desarrollo incremental es aquel en el que, con cada entrega, tenemos acabada una pieza más del sistema, pero éste
no lo podemos considerar acabado hasta la entrega de la última pieza
MODELOS DE
DESARROLLO • SCRUM
ÁGIL • XP
• KANBAN
METODOLOGÍAS ÁGILES

Son metodologías de
desarrollo flexible de un
proyecto. Tienen como principal
objetivo desarrollar
Se utilizan para ayudar a productos de calidad que
los usuarios a responder respondan a necesidades
más rápidamente a los cambiantes de los clientes.
requisitos cambiantes y
permite a los usuarios Los proyectos se adaptan
evaluar de forma regular el al día a día del trabajo y a
rendimiento. las urgencias que puedan
surgir. 
VENTAJAS Y DESVENTAJAS
• Al inicio del proyecto, es difícil determinar
Permite al equipo Permiten adaptar el
dividir el proyecto en proyecto a medida que con precisión la cantidad de tiempo y
etapas  avanza. dinero que se necesitará para completarlo,
debido a los requisitos en constante cambio.

Flexibilidad para • El equipo necesita tener una base sólida y


Retroalimentación más
rápida de los usuarios
definir funciones habilidades.
prioritarias y establecer
finales.
objetivos. • Se requiere un alto nivel de interacción entre
el cliente y los desarrolladores.
La estrecha interacción •  Falta de atención a la documentación 
entre el equipo y el
cliente garantiza un • Existe una falta de límites del proyecto lo que
progreso constante.
prodvoca una expansión descontrolada.
https://www.youtube.com/watch?v=oWz0wruhg5E
https://www.youtube.com/watch?v=XDOayQIuC78
KANBAN

https://www.youtube.com/watch?v=WP6Nt5XV980

También podría gustarte