martes, 13 de noviembre de 2012

Pruebas de software

Definición de la conferencista de Ingeniería de Sistemas

La rama de la ingeniería que facilita la implementación de una correcta combinación de herramientas de software y hardware que permitan apoyar:
La estrategia de los países
La estrategia de negocio de las compañías
La felicidad y facilidad en la vida de las personas

Algo de historia en Colombia de las pruebas de Software– Percepciones cómunes

● Descrédito de las pruebas de software
Las pruebas no están funcionando, simplemente es un
requerimiento más del método
Falta de implementación de métodos formales
Falta de personas entrenadas
● “Las Pruebas son responsabilidad del usuario”
Las pruebas de aceptación se convirtieron en pruebas de
sistema
No es su trabajo, costo de oportunidad
Los Usuarios no están entrenados para tal efecto, complejidad técnica, ad-hoc testing

Generalidades

● Definición de Software Testing (Pruebas de Software)
 Proceso realizado concurrentemente a través de las diferentes etapas de desarrollo de software que utiliza y mantiene el testware y cuyo objetivo es apoyar la disminución del riesgo de aparición de fallas y faltas en operación.
El proceso de pruebas es parte del ciclo de desarrollo de software, como uno de los tantos procesos que
intervienen en la creación de un producto.

Niveles de Pruebas: Unitarias, Integración,Sistema y Aceptación

● Cada etapa  de desarrollo genera artefactos a los cuales se les debe aplicar (en ciclos de vida clásicos):
Pruebas Unitarias: Realizadas por el creador del artefacto
Pruebas Integración: Realizadas por el creador del artefacto
Pruebas de Sistema: Realizadas por el equipo de pruebas
Prueba de Aceptación – Usuario: Se realizan al final de las anteriores, cuando los artefactos están listos.
● Existe estrategia para cada una de ellas
● Generalmente la literatura sobre pruebas, está dirigida a pruebas funcionales en construcción.

Qué se necesita para implementar pruebas

● Qué tipos de pruebas se van a exigir
➢ Depende de mi modelo de desarrollo (Clásico, Ágil?)
➢ Unitarias, integración, de sistemas o aceptación?
➢ Dependiendo, se debe establecer e implantar procesos y
métodos. Algunos ejemplos para pruebas de sistema
➥ STEP,
➥ Requierments Based Testing,
➥ TMAP (Structured Test Management Approach)

Tipos de prueba- Pruebas de Sistema


Sistema



Una propuesta de un método de pruebas de sistema (para un ciclo de vida clásico)


Conformación básica para proyecto con pruebas


Finalmente

● Cada tipo de prueba implica:
Enfoques distintos
Perfiles de personas distintos
Diferentes Estrategias para atacar la prueba
Herramientas distintas
Conocimientos distintos
Aunque se presentan altos niveles de satisfacción,  las estadísticas Choucair muestran una efectividad de más o menos un 97%, en defectos de impacto severo o alto. NO SON LA SALVACION.
No es una moda, es un proceso de un ciclo de vida de desarrollo de software

Conclusiones

Las prueba son un proceso de ciclo de vida de desarrollo de software que deben ser aplicadas en cada ciclo de vida, cada vez que se encuentre un defecto se debe corregir inmediatamente. También poner a las personas adecuadas para realizar las pruebas y conocer el tipo que son más conveniente a nuestro software.

No hay comentarios:

Publicar un comentario