• No se han encontrado resultados

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
25
0
0

Texto completo

(1)

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

(2)

XXVII Salón de Informática

-Septiembre'2007 2

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

(3)

XXVII Salón de Informática

-Septiembre'2007 3

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,

(4)

XXVII Salón de Informá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 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

(5)

XXVII Salón de Informática

-Septiembre'2007 5

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

(6)

Objetivos del Testing

Encontrar defectos

Lograr confianza acerca del nivel de calidad

Proveer información

(7)

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

(8)

XXVII Salón de Informática

-Septiembre'2007 8

Cuando se debe hacer pruebas

Costo de corrección de un error inyectado en la etapa de requerimiento

Etapas de desarrollo

R D C O

Entonces Requisitos Diseño Construcción

Pruebas concurrentes, a cada etapa.

Si se inyecta defecto en una etapa se debe retirar en la misma etapa

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.

No es una auditoria

(9)

XXVII Salón de Informática

-Septiembre'2007 9

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

(10)

XXVII Salón de Informática

-Septiembre'2007 10

Resumen Niveles de Prueba-Cuándo se prueba

Creación Artefactos -Unitarias - Integración Proceso de Pruebas -Sistema Requisitos A ce p ta ci ó n Creación Artefactos: -Unitarias - Integración Proceso de Pruebas -Sistema Diseño A ce p ta ci ó n Creación Artefactos: -Unitarias - Integración Proceso de Pruebas -Sistema Construcción A ce p ta ci ó n

(11)

XXVII Salón de Informá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

(12)

XXVII Salón de Informática

-Septiembre'2007 12

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

sistema

LOS ARTEFACTOS PRODUCIDOS EN CADA UNA

DE LAS ETAPAS DE DESARROLLO

(13)

XXVII Salón de Informática

-Septiembre'2007 13

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

Sistema

Pruebas de Sistema Requisitos Diseño Construcción Que artefactos Documentos de Requisitos Otros Specs Funcionales Specs Técnico Otros Software Manuales Documentación de Instalacion Otros Algunas Técnicas y Tecnicas de Diseño

- Reviews con usuarios - Revisión técnica de los documento

-Reviews con usuarios - Revisiones Técnicas de los artefactos Estáticas Dinámicas Basadas en la experiencia (exploratory, error guessing..) Que se puede probar en los artefactos

- Artefactos cumplan con la metodo de desarrollo - Artefactos no ambiguos, concisos…

- Artefactos debe tener cierta lógica que cumplan con el negocio y procesos del cliente

- Que todos los requisitos incluidos

- Que no existan más requisitos de los especificados

- Artefactos cumplan con la metodo de desarrollo - Artefactos no ambiguos, concisos…

Artefactos debe tener cierta lógica - Artefactos cumplan con lo especificado en el diseño - Construcción cumpla con parámetros establecidos - Que todos los requisitos establecidos en el diseño estén incluidos - Que no existan más requisitos de los establecidos en el diseño Participación del

usuario Alta Media Baja Pruebas

Funcionales Establecer que aplicativo cumpla con lo establecido con el requisito Pruebas

Performance

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 ……. ………

(14)

XXVII Salón de Informá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

(15)

XXVII Salón de 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 Cliente Apoya

Diseño

Cliente Apoya

Preparar Prueba

Se ejecuta diseño basado en lo planeado Si existen errores, sugerencias, o consideraciones? Cliente entrega artefactos de prueba Se modifica artefactos? Termina la prueba? Cliente entrega artefactos corregidos Entrega Seguimiento Comité de Cambios

(16)

XXVII Salón de Informática

-Septiembre'2007 16

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 Cliente Apoya

Diseño

Cliente Apoya

Preparar Prueba

Se ejecuta diseño basado en lo planeado Si existen errores, sugerencias, o consideraciones? Cliente entrega artefactos de prueba Se modifica artefactos? Termina la prueba? Cliente entrega artefactos corregidos Entrega Seguimiento Comité de Cambios

Esto es un proyectoà Gestión!!

Riesgo, se establece qué

pruebas en qué etapas.

Se establece basados en los riesgos del aplicativo, :

-Estrategia para cumplir nivel de calidad (considerar cobertura, complejidad) en el tiempo establecido.

- Recursos

- Criterios de terminación

Basado en lo planeado y diseñado, se ejecutan pruebas (smoke tests, pruebas por tipo)

Si existen errores se reportan

Si se termina los casos establecidos sin problemas o con problemas solucionados se corre test de regresión .

Se congela versión o release. Aspectos importantes por tipo de prueba

Además de preparar al equipo humano Pruebas en Requisitos y diseño, prepara:

Reuniones de Review Si es construcción

Ambientes Datos

(17)

XXVII Salón de Informá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 desarrolloNivel 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

(18)

XXVII Salón de Informá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 y

métodos. Algunos ejemplos para pruebas de sistema

STEP,

Requierments Based Testing,

TMAP (Structured Test Management Approach)Propio….

(19)

XXVII Salón de Informá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 habilidadesEn 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, redefinircálculos de tiempos de desarrollo

(20)

XXVII Salón de Informática

-Septiembre'2007 20

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 del proceso de pruebas

(21)

XXVII Salón de Informá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 cronograma Todos en sincronización

El proyecto termina, cuando todos los equipos terminan las actividades

(22)

XXVII Salón de Informática

-Septiembre'2007 22

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

(23)

XXVII Salón de Informá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

(24)

XXVII Salón de Informá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 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

(25)

XXVII Salón de Informática

-Septiembre'2007 25

Referencias

Documento similar

Aparece una breve panorámica acerca de la gestión de calidad de software en el mundo, del proceso de pruebas y específicamente la aplicación de pruebas de sistema, así como los

Para desarrollar esta prueba calcule los coeficientes del rango de correlación (r) entre pares de valores (del mismo componente de software) del factor de calidad y la

La Estrategia de Prueba de software integra un conjunto de actividades que describen los pasos que hay que llevar a cabo en un proceso de prueba: la planificación, el diseño de

Para el desarrollo del producto, Multimedia Interactiva Pruebas de Software, se escogió la herramienta de autor Macromedia Flash, específicamente la versión 8.0, porque es el

Para dar cumplimiento al objetivo principal se hizo necesario analizar los conceptos, metodologías y herramientas aplicadas a las estrategias de pruebas de

En este capítulo se aplica el Procedimiento para validar requisitos de software al módulo Generador de reportes del proyecto MENPET y se analizaron los

El segundo capítulo, Diseño y Aplicación de las Pruebas de Software, se ha de enmarcar en los resultados que se deben obtener del proyecto en específico, en el

Se aborda de manera general el proceso de pruebas de software, enfatizando las pruebas de seguridad en aplicaciones web, específicamente el tema de las pruebas de