MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf ·...

25
1 Pruebas de software ¿la salvación, un proceso sin utilidad, trivial, simplemente una moda, o ....? Maria Clara Choucair Cárdenas [email protected] Choucair Testing S.A. (574) 316 6300, Medellín (571) 610 7425, Bogotá

Transcript of MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf ·...

Page 1: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

1

Pruebas de software ¿la salvación,un proceso sin utilidad, trivial,simplemente una moda, o ....?

Maria Clara Choucair Cá[email protected]

Choucair Testing S.A.

(574) 316 6300, Medellín

(571) 610 7425, Bogotá

Page 2: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

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

Sobre la Ingenieria de Sistema y ResponsabilidadSocial

● Definición de la conferencista de Ingeniería deSistemas

➢ La rama de la ingeniería que facilita la implementación deuna correcta combinación de herramientas de software yhardware 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

Page 3: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 3

Algo de historia en Colombia de las pruebasde 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

Page 4: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 4

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 ymantiene el testware y cuyo objetivo es apoyar ladisminución del riesgo de aparición de fallas y faltas enoperación.

● Software Testing vs. QA (Quality Assurance)➢ Problema de léxico

➢ QA: Enfocado a Procesos, procedimientos……

➢ Testing: Enfocado a producto, un área de Quality Controlapoya a QA, pero no la reemplaza.

Page 5: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 5

Generalidades

● Mercado de las pruebas en el mundo“The worldwide testing market is estimated at $13 billion. Theglobal outsourcing testing market opportunity in this year hasbeen estimated at $4.5 billion, of which, nearly $3 billion will beoffshored 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

Page 6: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

Objetivos del Testing

● Encontrar defectos

● Lograr confianza acerca del nivel de calidad

● Proveer información

● Prevenir defectos

Page 7: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

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

Page 8: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 8

Cuando se debe hacer pruebas

Costo de corrección de un errorinyectado en la etapa de requerimiento

Etapas de desarrollo

R D C O

EntoncesRequisitos Diseño Construcción

Pruebas concurrentes, a cada etapa.Si se inyecta defecto en una etapa se debe retirar en la misma

etapa

YEl proceso de pruebas es parte del ciclo de desarrollo desoftware, como uno de los tantos procesos queintervienen en la creación de un producto.

No es una auditoria

Y

Page 9: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 9

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

● Cada etapa de desarrollo genera artefactos a los cualesse 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 lasanteriores, cuando los artefactos están listos.

● Existe estrategia para cada una de ellas

● Generalmente la literatura sobre pruebas, está dirigidaa pruebas funcionales en construcción.

Page 10: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 10

Resumen Niveles de Prueba-Cuándo se prueba

Creación Artefactos-Unitarias- Integración

Proceso de Pruebas-Sistema

Requisitos

Acep

tació

n

Creación Artefactos:-Unitarias- Integración

Proceso de Pruebas-Sistema

Diseño

Acep

tació

n

Creación Artefactos:-Unitarias- Integración

Proceso de Pruebas-Sistema

Construcción

Acep

tació

n

Page 11: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 11

Tipos de prueba- Pruebas de Sistema

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

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)

Requerimientos Diseño Construcción Operación

Pruebas Funcionales - Req

Pruebas Performance - Req

Pruebas Seguridad - Req

Pruebas Arquitectura - Req

Pruebas Funcionales - Dis

Pruebas Performance- Dis

Pruebas Seguridad - Dis

Pruebas Arquitectura - Dis

Pruebas Funcionales - Con*

Pruebas Performance - Con**

Pruebas Seguridad - Con

Pruebas Arquitectura - Con

General

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

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

Page 12: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 12

Qué se prueba en cada etapa, en un prueba desistema

LOS ARTEFACTOS PRODUCIDOS EN CADA UNADE LAS ETAPAS DE DESARROLLO

Page 13: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 13

Qué se prueba y algunas técnicas – Pruebas deSistema

Pruebas de Sistema Requisitos Diseño Construcción

Que artefactosDocumentos de RequisitosOtros

Specs FuncionalesSpecs TécnicoOtros

SoftwareManualesDocumentación deInstalacionOtros

Algunas Técnicasy Tecnicas deDiseño

- Reviews con usuarios- Revisión técnica de losdocumento

-Reviews con usuarios- Revisiones Técnicas de losartefactos

EstáticasDinámicasBasadas en laexperiencia (exploratory,error guessing..)

Que se puedeprobar en losartefactos

- Artefactos cumplan con lametodo de desarrollo- Artefactos no ambiguos,concisos…- Artefactos debe tener ciertalógica que cumplan con elnegocio y procesos del cliente

- Que todos los requisitosincluidos- Que no existan másrequisitos de losespecificados- Artefactos cumplan con lametodo de desarrollo- Artefactos no ambiguos,concisos…Artefactos debe tener ciertalógica

- Artefactos cumplancon lo especificado en eldiseño- Construcción cumplacon parámetrosestablecidos- Que todos losrequisitos establecidosen el diseño esténincluidos- Que no existan másrequisitos de losestablecidos en eldiseño

Participación delusuario Alta Media BajaPruebasFuncionales Establecer que aplicativo cumpla con lo establecido con el requisitoPruebasPerformance

Establecer que lo haga a la velocidad con cargas establecida por el cliente (carga,estrés, escalabilidad)

Pruebas Seguridad Establecer que contemple los parámetros de seguridad establecidos por el cliente……. ……………………

Page 14: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 14

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

Page 15: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 15

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

Estudio problema Visión Qué pruebas Planeación

Cliente ApoyaDiseñoCliente Apoya

Preparar PruebaSe ejecuta diseño basado en

lo planeado

Si existen errores,sugerencias, o

consideraciones?

Cliente entregaartefactos deprueba

Se modificaartefactos?

Termina laprueba?

Cliente entregaartefactoscorregidos

Entrega

Seguimiento

Comité de Cambios

Esto es un proyecto� Gestión!!

Page 16: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 16

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

Estudio problema Visión Qué pruebas Planeación

Cliente ApoyaDiseñoCliente Apoya

Preparar PruebaSe ejecuta diseño basado en

lo planeado

Si existen errores,sugerencias, o

consideraciones?

Cliente entregaartefactos deprueba

Se modificaartefactos?

Termina laprueba?

Cliente entregaartefactoscorregidos

Entrega

Seguimiento

Comité de Cambios

Esto es un proyecto� Gestión!!

Riesgo, seestablecequépruebas enqué etapas.

Se establece basados en los riesgos delaplicativo, :-Estrategia para cumplir nivel de calidad(considerar cobertura, complejidad) en eltiempo establecido.- Recursos- Criterios de terminación

Basado en lo planeado y diseñado, seejecutan pruebas (smoke tests, pruebas portipo)Si existen errores se reportanSi se termina los casos establecidos sinproblemas o con problemas solucionadosse corre test de regresión .Se congela versión o release.

Aspectos importantes por tipo de pruebaAdemás de preparar al equipo humanoPruebas en Requisitos y diseño, prepara:

Reuniones de ReviewSi es construcción

AmbientesDatosScripts si automatización

Page 17: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 17

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

Page 18: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 18

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 ymétodos. Algunos ejemplos para pruebas de sistema

➥ STEP,

➥ Requierments Based Testing,

➥ TMAP (Structured Test Management Approach)

➥ Propio….

Page 19: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 19

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

➥ ……

Page 20: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 20

Claves para la implantación

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

➢ Por si mismas no tienen sentido. Los métodos dependerándel ciclo de vida utilizado en el proyecto � Madurez

➢ Dónde debe estar el proceso de pruebas…. Existen muchosmodelos, pero recuerde que hace parte del proceso dedesarrollo

➢ Convencimiento de la gerencia, es un proceso de cultura ytiene costos inherentes de implantación

➢ Buena metodología de pruebas y disciplina de implantación

➢ Habilidades del equipo de pruebas

➢ Gestión del proceso de pruebas

➢ ……

Page 21: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 21

Conformación básica para proyecto con pruebas

Equipo de Ingeniera Equipo de Pruebas

Gerente del Proyecto - Cliente

Canales de Comunicación

…..

Todos los equipos trabajan sobre un solo cronogramaTodos en sincronización El proyecto termina, cuando todos los equipos terminan las actividades

� � � � � ��

Page 22: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 22

Sobre Herramientas de Pruebas

● Se debe generar como un proyecto coherente en eltiempo. Muchas veces se van comprando sin plan alargo 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

Page 23: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 23

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

Page 24: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 24

¿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 omenos un 97%, en defectos de impacto severo o alto. NOSON LA SALVACION.

● No es una moda, es un proceso de un ciclo de vida dedesarrollo de software

Page 25: MariaClaraChoucair-Pruebas de Software52.0.140.184/.../MariaClaraChoucair-PruebasDeSoftware.pdf · Aspecto Seguridad (pruebas Seguridad desde requerimientos hasta construcción) ...

XXVII Salón deInformática -Septiembre'2007 25

Gracias