Вы находитесь на странице: 1из 25

Pruebas de software ¿la salvación,

un proceso sin utilidad, trivial,


simplemente una moda, o ....?
Maria Clara Choucair Cárdenas
mcchoucair@choucairtesting.com
Choucair Testing S.A.
(574) 316 6300, Medellín
(571) 610 7425, Bogotá

1
Sobre la Ingenieria de Sistema y Responsabilidad
Social
● 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
● Impacto de nuestro trabajo
➢ Efecto sobre la sociedad
➢ Efecto sobre la empresas

XXVII Salón de Informática -


Septiembre'2007 2
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,


XXVII Salón de complejidad técnica, ad-hoc testing
Informática -
Septiembre'2007 3
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.
● Software Testing vs. QA (Quality Assurance)
➢ Problema de léxico
➢ QA: Enfocado a Procesos, procedimientos……

➢ Testing: Enfocado a producto, un área de Quality Control


apoya a QA, pero no la reemplaza.
XXVII Salón de
Informática -
Septiembre'2007 4
Generalidades

● Mercado de las pruebas en el mundo


“The worldwide testing market is estimated at $13 billion. The
global outsourcing testing market opportunity in this year has
been estimated at $4.5 billion, of which, nearly $3 billion will be
offshored to cheaper destinations. “
Feb 2005.
http://www.rediff.com/money/2005/feb/01software.htm
● Que tipo:
➢ Internas
➢ Outsourcing
● Es un negocio de medio, no de resultado
XXVII Salón de
Informática -
Septiembre'2007 5
Objetivos del Testing

● Encontrar defectos
● Lograr confianza acerca del nivel de calidad
● Proveer información
● Prevenir defectos
Principios generales del Testing

● Testing muestra la presencia de defectos


● Testing exhaustivo es imposible
● Testing temprano
● Concentración (cluster) de Defectos
● Pesticide Paradox
● Testing depende del contexto
● Falacia Ausencia-de-errores
Cuando se debe hacer pruebas
Costo de corrección de un error
inyectado en la etapa de requerimiento

Requisitos Diseño Construcción


Entonces
Pruebas concurrentes, a cada etapa.
Si se inyecta defecto en una etapa se debe retirar en la misma
etapa
R D C O
Etapas de desarrollo

Y
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.
Y
XXVII Salón de
Informática -
No es una auditoria
Septiembre'2007 8
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.
XXVII Salón de
Informática -
Septiembre'2007 9
Resumen Niveles de Prueba-Cuándo se prueba

Requisitos
Creación Artefactos

Aceptación
-Unitarias
- Integración
Proceso de Pruebas
-Sistema Diseño
Creación Artefactos:

Aceptación
-Unitarias
- Integración
Proceso de Pruebas Construcción
-Sistema Creación Artefactos:

Aceptación
-Unitarias
- Integración
Proceso de Pruebas
-Sistema

XXVII Salón de
Informática -
Septiembre'2007 10
Tipos de prueba- Pruebas de Sistema

● Se prueba a través de todo el ciclo de desarrollo


Requerimientos Diseño Construcción Operación

Aspecto Funcional (pruebas funcionales desde requerimientos hasta construcción)


Aspecto Performance (pruebas Performance desde requerimientos hasta construcción)
Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción)
Aspecto Arquitectura (pruebas Arquitectura desde requerimientos hasta construcción)
Aspecto Usabilidad (pruebas Usabilidad desde requerimientos hasta construcción)
Aspecto ............ (pruebas ..... desde requerimientos hasta construcción)

General
Pruebas Funcionales - Req Pruebas Funcionales - Dis Pruebas Funcionales - Con*

Pruebas Performance - Req Pruebas Performance- Dis Pruebas Performance - Con**

Pruebas Seguridad - Req Pruebas Seguridad - Dis Pruebas Seguridad - Con

Pruebas Arquitectura - Req Pruebas Arquitectura - Dis Pruebas Arquitectura - Con

*:Manuales o Automáticas
**: Carga, estrés y Escalabilidad

Es deseable retirar el defecto en la etapa donde se inyecto!!

XXVII Salón de
Informática -
Septiembre'2007 11
Qué se prueba en cada etapa, en un prueba de
sistema

LOS ARTEFACTOS PRODUCIDOS EN CADA UNA


DE LAS ETAPAS DE DESARROLLO

XXVII Salón de
Informática -
Septiembre'2007 12
Qué se prueba y algunas técnicas – Pruebas de
Sistema
Pruebas de Sistema Requisitos Diseño Construcción
Software
Manuales
Specs Funcionales Documentación de
Documentos de Requisitos Specs Técnico Instalacion
Que artefactos Otros Otros Otros
Estáticas
Dinámicas
Algunas Técnicas - Reviews con usuarios -Reviews con usuarios Basadas en la
y Tecnicas de - Revisión técnica de los - Revisiones Técnicas de los experiencia (exploratory,
Diseño documento artefactos - Artefactos
error cumplan
guessing..)
con lo especificado en el
diseño
- Que todos los requisitos - Construcción cumpla
incluidos con parámetros
- Que no existan más establecidos
requisitos de los - Que todos los
- Artefactos cumplan con la especificados requisitos establecidos
metodo de desarrollo - Artefactos cumplan con la en el diseño estén
- Artefactos no ambiguos, metodo de desarrollo incluidos
concisos… - Artefactos no ambiguos, - Que no existan más
Que se puede - Artefactos debe tener cierta concisos… requisitos de los
probar en los lógica que cumplan con el Artefactos debe tener cierta establecidos en el
artefactos negocio y procesos del cliente lógica diseño
Participación del
usuario
Pruebas Alta Media Baja
Funcionales Establecer que aplicativo cumpla con lo establecido con el requisito
Pruebas Establecer que lo haga a la velocidad con cargas establecida por el cliente (carga,
Performance estrés, escalabilidad)
Pruebas Seguridad Establecer que contemple los parámetros de seguridad establecidos por el cliente
XXVII Salón de ……. ……………………
Informática -
Septiembre'2007 13
Entonces…..

● Cada tipo de prueba implica:


➢ Enfoques distintos
➢ Perfiles de personas distintos

➢ Diferentes Estrategias para atacar la prueba

➢ Herramientas distintas

➢ Conocimientos distintos

Para mantener coherente al equipo se debe tener GESTION

XXVII Salón de
Informática -
Septiembre'2007 14
Una propuesta de un método de pruebas de
sistema (para un ciclo de vida clásico)
Estudio problema Visión Qué pruebas Planeación

Diseño Cliente Apoya


Cliente Apoya

Cliente entrega Se ejecuta diseño basado en


Preparar Prueba artefactos de lo planeado
prueba

Cliente entrega
artefactos
corregidos
Si existen errores,
sugerencias, o
Se modifica consideraciones?
artefactos?
Seguimiento

Comité de Cambios
Termina la
Entrega prueba?

XXVII Salón de Esto es un proyectoà Gestión!!


Informática -
Septiembre'2007 15
Una propuesta de un método de pruebas de
sistema (para un ciclo de vida clásico)
Estudio problema Visión Qué pruebas Planeación

Riesgo, se Se establece basados en los riesgos del Cliente Apoya


establece Cliente Apoyaaplicativo, :
Diseño
qué -Estrategia para cumplir nivel de calidad
pruebas en (considerar cobertura, complejidad) en el
qué etapas. tiempo establecido. Se ejecuta diseño basado en
Cliente entrega
Preparar Prueba - Recursos artefactos de
- Criterios de terminación lo planeado
prueba

Cliente entrega
Aspectos importantes por tipo de pruebaartefactos Basado en lo planeado y diseñado, se
Además de preparar al equipo humano corregidos ejecutan pruebas (smoke tests, pruebas por
Pruebas en Requisitos y diseño, prepara: tipo) Si existen errores,
Reuniones de Review Si existen errores se reportan sugerencias, o
Se modifica Si se termina los casos establecidos sin consideraciones?
Si es construcción artefactos?
Seguimiento
Ambientes problemas o con problemas solucionados
Datos se corre test de regresión .
Scripts si automatización Se congela versión o release.
Comité de Cambios
Termina la
Entrega prueba?

XXVII Salón de Esto es un proyectoà Gestión!!


Informática -
Septiembre'2007 16
Cuánto cuesta, cuánto tiempo à Depende

● Cuánto cuesta probar


➢ Depende
➥ Nivel de calidad del equipo de desarrollo
➥ Nivel de madurez del ciclo de vida de desarrollo
➥ Nivel de madurez del equipo de pruebas
➥ ……..

● Cuánto tiempo se consume la prueba de sistema


➢ La teoría indica que aproximadamente entre 30% - 35%,
sobre tiempo de desarrollo pero……… depende
➢ Impacto sobre proceso de desarrollo

XXVII Salón de
Informática -
Septiembre'2007 17
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)
➥ Propio….

XXVII Salón de
Informática -
Septiembre'2007 18
Qué se necesita para implementar pruebas

➢ Definir procesos de pruebas a implantar


➥ Qué pruebas y en qué etapas (definir si incluye unitarias e
integración). Cuidado con el costo.
➥ Métodos de pruebas
➥ Selección, entrenamiento de personas y desarrollo de habilidades
➥ En particular en la etapa de construcción tema de ambientes y datos
➥ ………
➢ Preparar el resto de los equipos de desarrollo. Esto implica:
➥ procesos de desarrollo
➥ estructura de los proyectos,
➥ canales de comunicación, redefinir
➥ cálculos de tiempos de desarrollo
➥ ……
XXVII Salón de
Informática -
Septiembre'2007 19
Claves para la implantación

● El éxito de la implantación de un área de pruebas


depende de :
➢ Por si mismas no tienen sentido. Los métodos dependerán
del ciclo de vida utilizado en el proyecto à Madurez
➢ Dónde debe estar el proceso de pruebas…. Existen muchos
modelos, pero recuerde que hace parte del proceso de
desarrollo
➢ Convencimiento de la gerencia, es un proceso de cultura y
tiene costos inherentes de implantación
➢ Buena metodología de pruebas y disciplina de implantación

➢ Habilidades del equipo de pruebas

➢ Gestión
XXVII Salón de del proceso de pruebas
Informática -
➢ ……
Septiembre'2007 20
Conformación básica para proyecto con pruebas

Canales de Comunicación

 



Gerente del Proyecto - Cliente

Equipo de Ingeniera Equipo de Pruebas …..

Todos los equipos trabajan sobre un solo cronograma


Todos en sincronización
El proyecto termina, cuando todos los equipos terminan las actividades

XXVII Salón de
Informática -
Septiembre'2007 21
Sobre Herramientas de Pruebas

● Se debe generar como un proyecto coherente en el


tiempo. Muchas veces se van comprando sin plan a
largo plazo y quedan fragmentadas
● Herramientas de Gestión (se mencionan algunas):
➢ Cronogramas
➢ Gestión del Testware

➢ Bugtrackers

➢ Ojalá sobre herramienta de Gestión de TI

XXVII Salón de
Informática -
Septiembre'2007 22
Sobre Herramientas de Pruebas

● Herramientas Operativas
➢ Operativas
➥ Para pruebas unitarias
➥ Automatización de Pruebas funcionales
❖ Automatización

❖ Automatización bajo framework de trabajo

❖ Alta Automatización

➥ Específicas para performance, seguridad de aplicativos


➢ Para volver eficientes las pruebas
➥ Cobertura
➥ Selección de pruebas

XXVII Salón de
Informática -
Septiembre'2007 23
¿Trivial, sin utilidad, simplemente una moda?

● No es trivial
➢ Formal
➢ Impacta

● Utilidad, pero no la salvación


➢ 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
XXVII Salón de
Informática -
Septiembre'2007 24
Gracias

XXVII Salón de
Informática -
Septiembre'2007 25

Вам также может понравиться