Software Quality Systems, S.A.

Anuncio
Software Quality
Systems, S.A.
© Software Quality Systems – SQS, s.a. 2006
TESTING
Calidad para competir
© Software Quality Systems – SQS, s.a. 2006
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
SQS S.A. - La Empresa
SQS S.A. ofrece servicios de
 Aseguramiento de la calidad del software.
 Soporte y asesoramiento tanto a nivel de calidad de proceso
como de producto.
 Implantación de metodologías y herramientas tanto
propias, resultado de nuestra propia labor investigadora, como
de terceras empresas.
SQS S.A. tiene dos ámbitos claros de actuación:
software comercial:
sistemas críticos:
fundamentalmente
zsector
bancario
fundamentalmente
zsector
ferroviario
ztelecomunicaciones
zsector
farmacia
zeditorial
zmáquina
zservicios
Web, etc.
© Software Quality Systems – SQS, s.a. 2006
zsector
herramienta
del automóvil, etc.
Servicios Generales
Gestión y Aseguramiento de la Calidad
© Software Quality Systems – SQS, s.a. 2006
Servicios Generales
Gestión y Aseguramiento de la Calidad
Construcción de QA - Implantación:
Â
Â
Soporte en la definición e implantación de procesos de
desarrollo y mantenimiento (p.e. Gestión de configuración
y control de cambios).
Soporte en la implantación/cumplimiento de normas de
calidad.
Analítica de QA - Análisis y Verificación:
Â
Â
Auditorías
funcionales
y
de
seguridad
documentación, cobertura de tests,...)
Servicios de Prueba.
© Software Quality Systems – SQS, s.a. 2006
(p.e.
Servicios Generales
Gestión y Aseguramiento de la Calidad
PRODUCT
oc
es
s
Pr
I
D
V
V& ng
ti
s
e
T
I
+
C
ou
Ce
rti
Su fica
p p ti o
or n
t
es
rs
l
ca
i ti
r
C s
ty
fe stem
a
S Sy
Per
f
o
r
m
Tes ance
t
D
Q&T
f.
rti
Ce
G
IN
QA-TEST
© Software Quality Systems – SQS, s.a. 2006
TEST-LAB
ional
Funct
Test
+
V&V
Testin
g
EC
K
on
at i e
f ic
rti ram
Ce rog
P
Co
m
Sys ercia
tem l
s
I-C
H
P
VP
SERVICES
Inter
Cenelec
N
AI
TR
T WF
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
Definiciones
Q
Varias preguntas.
T
Qué es la calidad?
T
Qué es el software testing/pruebas del software?
T
Por qué es necesario?
© Software Quality Systems – SQS, s.a. 2006
Qué es la calidad?
CALIDAD
“La totalidad de las características de una entidad que
conducen a la capacidad de satisfacer las nececidades
indicadas o implicadas.”
ASEGURAMIENTO DE LA CALIDAD
“Todas las acciones previstas para satisfacer los requisitos
para la calidad.”
© Software Quality Systems – SQS, s.a. 2006
Qué es el testing?
“…el proceso de ejercitar el software para detectar
errores y verificar que satisface los requisitos
funcionales y no-funcionales especificados.”
T
El testing es una forma de medir la calidad.
© Software Quality Systems – SQS, s.a. 2006
Por qué es necesario el Testing
Q
Por qué es necesario?
T
El problema del año 2000
T
Legislación
T
Incremento de la complejidad
T
Comercio electrónico
T
Time to market
T
Proveer nuevos canales de comunicación
© Software Quality Systems – SQS, s.a. 2006
Ejemplos de fallos de software
Q
1. Fallo de la sonda Mariner I (1962): una fórmula mal resuelta escrita en un
papel causa una trayectoria incorrecta.
Q
2. Oleoducto soviético (1982): Los estadounidenses pasan software con
fallos a los soviéticos para un oleoducto; la consecuencia fue la explosión no
nuclear más grande de la historia.
Q
3. Radiaciones letales en un dispositivo médico (1985-1987):Radiaciones
letales del Therac-25, un dispositivo médico para terapias radioactivas, que
mataba en vez de curar.
Q
4. Gusano de Morris (1988): el primero conocido y el cúal infectó de 2.000 a
6.000 computadoras usando un fallo conocido como buffer overflow.
Q
5. Generador de números aleatorios de Kerberos (1988-1996): No era
realmente aleatorio.
© Software Quality Systems – SQS, s.a. 2006
Ejemplos de fallos de software
Q
6. Caída de la red telefónica de AT&T (1990): Debido a un bug en una actualización de
software que controla los switches de larga distancia de la compañía.
Q
7. División en coma flotante del Intel Pentium (1993): La primera generación de
Pentiums de Intel tienen un fallo al calcular divisiones de punto flotante de un rango
específico.
Q
8. El Ping de la Muerte (1995/1996): Un ping mal formado arbitrariamente afectaba
miles de computadoras, especialmente con Windows instalado.
Q
9. Desintegración del Ariane 5 (1996): El código del Ariane 4 es usado en el Ariane 5
pero sus motores más veloces inician una cadena de bugs que hacen que el cohete se
desintegre a los 40 segundos de ser lanzado.
Q
10. Sobredosis radiológica en el Instituto Nacional del Cáncer de Panama City
(2000): Una falla de software y no seguir procedimientos por parte de humanos causa
que se proporcionen dosis erroneas a pacientes en el Instituto Nacional del Cáncer de
Panama City. 8 personas murieron, 20 con problemas de salud graves y doctores fueron
acusados de asesinato.
© Software Quality Systems – SQS, s.a. 2006
Por qué es necesario el testing?
Q
Por qué testear?
T
Identificar fallos
Reducir defectos en producción
Mejorar la calidad de la aplicación de los usuarios
Incrementar la fiabilidad
Para asegurar que los fallos no impactan a los costes y a la rentabilidad
Para ayudar a mantener la reputación de la organización
T
Para asegurar que los requisitos son satisfechos
O
T
Para asegurar que los requisitos legales son conocidos
Proveer una medida de calidad
© Software Quality Systems – SQS, s.a. 2006
Por qué es necesario el testing?
Q
Mediciones de calidad
T
La calidad puede ser medida por el testing para comprobar
su:
Correctitud
Fiabilidad
Usabilidad
Mantenibilidad
Reusabilidad
Testeabilidad
© Software Quality Systems – SQS, s.a. 2006
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
El objetivo del testing
DEFECTO
“La salida de un valor especificado para una característica de
calidad en un producto, que da lugar a que dicho producto o
servicio no satisface sus requisitos normales de uso.”
T
El testing tiene como objetivo prioritario y último encontrar
defectos, no sólo los fallos (bugs).
© Software Quality Systems – SQS, s.a. 2006
Qué implica el testing?
T
El testing lleva implícito un compendio de buenas prácticas que
dotan de calidad al proceso constructivo de software, desde la
primera fase de éste: el análisis de requisitos (funcionales y no
funcionales) hasta la última: satisfacción del cliente de nuestro
cliente.
T
El análisis del testing comienza con una valoración del ciclo de
vida del desarrollo.
T
El compendio de buenas prácticas proveen el proceso análitico
de nuestro modelo de negocio/proceso: desarrollar software.
© Software Quality Systems – SQS, s.a. 2006
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
Los costes de la no calidad
Q
Cuánto nos desviamos respecto del presupuesto previsto?.
Margen de beneficio. Break-point.
Q
Cuánto tiempo dedicamos a rehacer trabajo “acabado” o
“inacabado”?
Q
Cuántas tareas realizamos de forma repetitiva sin
necesidad?.
Q
Cuál es la proporción de tiempo de desarrollo frente a la
corrección de errores?.
© Software Quality Systems – SQS, s.a. 2006
Los costes de la no calidad
Q
Cuántas tareas realizamos que no nos son rentables y no
aportan valor?.
Q
Cuál es la dedicación prevista (tareas/tiempo) de cada rol?.
Y su verdadero desempeño?. Cómo se ve impactado el
coste del proyecto?.
Q
Cuánto nos cuesta mantener y adaptar nuestros
productos?. Cuántos se convierten en inmantenibles?.
Q
Proveemos la información suficiente a la dirección
para que conozcan los riesgos de lanzar una versión?.
© Software Quality Systems – SQS, s.a. 2006
Los costes de la no calidad
Q
El proceso constructivo de software es ambiguo
(escasamente definido) , no está controlado y no es
supervisable.
T
Trabajamos sin objetivos claros (modelo de negocio) y sin
comprobar en hitos establecidos, qué porcentaje serían
productivos a día de hoy.
T
No existen mecanismos sistemáticos para validar las tareas y
su completitud de acuerdo a los objetivos/necesidades.
T
Nuestro proceso de desarrollo no es ágil. No se puede
adaptar al cambio de los objetivos/necesidades de nuestro
cliente.
© Software Quality Systems – SQS, s.a. 2006
Los costes de la no calidad
Q
Q
Q
En la propia empresa
T
Perdida de imagen y competitividad.
T
Debilitamiento de la oferta de servicios.
En los clientes
T
Rotación de clientes.
T
Insatisfacción de clientes.
T
Perdida de negocio.
En el personal
T Rotación y desmotivación de los empleados.
T
Q
Escasa productividad.
En el proceso
T Descontrol del proceso y de los productos fabricados.
T
Redundancia de trabajo.
T
Estimaciones incorrectas de presupuestos y tiempos.
© Software Quality Systems – SQS, s.a. 2006
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de
software y su comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
Modelo tradicional de desarrollo
Análisis
Diseño
Implementación
Integración y
” Pruebas ”
Instalación y
vida
Tiempo
© Software Quality Systems – SQS, s.a. 2006
© Software Quality Systems – SQS, s.a. 2006
Modelos para testear
Q
Hay muchos modelos para testear
T
Los más generalizados son:
O
V,V&T.
O
El Modelo en V.
© Software Quality Systems – SQS, s.a. 2006
Modelos para testear
Q
Modelo V, V & T
T
Verificación
O
T
Validación
O
T
“El proceso de evaluar un sistema o componente para determinar si los
productos de la fase de desarrollo satisfacen las condiciones
impuestas al comienzo de esa fase”
“Determinación de la correctitud de los productos del desarrollo de
software con respecto a las necesidades y requisitos de los usuarios”
Testing
O
“proceso de ejercitar el software para corroborar que satisface con los
requisitos especificados y para detectar fallos”
© Software Quality Systems – SQS, s.a. 2006
Modelo de desarrollo con testing
Modelo en V – dónde empezamos a testear?
T
Requisitos
T
Diseño
Nivel
Código
T
UAT
Test de Sistema
Test Unitario
Tiempo
© Software Quality Systems – SQS, s.a. 2006
Modelo de desarrollo con testing
Un ejemplo del modelo en V
Requisitos del
negocio y usuario
Test de
aceptación del
usuario
Requisitos del
software
Test de sistema
Especificación del
programa
Test de
integración
Especificación de
componentes
Verificación
Validación
© Software Quality Systems – SQS, s.a. 2006
Test de
componentes
Programación
funcional,
no-funcional
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
La economía del testing
Q
Cuánto más temprano es encontrado un fallo, más
barato es remediarlo.
T
Fallos en los requisitos pueden conllevar una reingeniería de
todo el sistema.
T
Muchos errores pueden ser encontrados realizando
revisiones en la documentación y/o el código.
© Software Quality Systems – SQS, s.a. 2006
La economía del testing
Q
El coste medio de reparar un error se multiplica por 10
en cada etapa del proceso de desarrollo.
T
En revisiones de código se encuentran y corrigen errores en
una media de 1 a 2 minutos.
T
En el testing inicial, se encuentran y corrigen errores en una
media de 10 a 20 minutos.
T
En el testing de integración cada error puede costar una hora
o más.
T
En el test de sistema cada fallo puede costar entre 10 y 40
horas de ingeniería.
Watts Humphrey
© Software Quality Systems – SQS, s.a. 2006
La economía del testing
Q
Un diseño anticipado del test puede prevenir la
multiplicación de errores.
T
El análisis de los requisitos durante la preparación del test
amenudo saca a la luz errores en los mismos.
T
Si no son encontrados los errores en la documentación
puede que el sistema sea desarrollado incorrectamente.
© Software Quality Systems – SQS, s.a. 2006
La economía del testing
Preparación del Test –
“el método antiguo”
Esfuerzo
Preparación anticipada del Test
Casos de
Prueba
Datos de
Prueba
Ejecución del
Test
(1)
(2)
Análisis
Diseño
Implementación
Integración
y Test
Instalación
Tiempo
© Software Quality Systems – SQS, s.a. 2006
La economía del testing
La Base:
Aplicación online
(aproximadamente 100
funciones de
negocio)
Conclusión:
Errores totales en
requisitos: 1.300
Errores totales en la
implementación: 300
Número de Errores
1.400
1.200
1.150
1.000
800
Requisitos
FK
600
Implementación
Rea
295
400
100
200
15
35 5
0
Descubiertos Especificación Implemendurante:
de Casos de
tación
Ejecución
del Test
Producción
(1/2 año)
Prueba
Comentario:
• Casi el 90% de todos los errores fueron identificados en los
requisitos, durante la especificación sistemática de los casos de
prueba
• El ratio de errores entre requisitos e implementación fué de 4:1
© Software Quality Systems – SQS, s.a. 2006
La economía del testing - Coste de los defectos
Q
El coste de los defectos aumenta cuanto más tarde son
encontrados. Caper Jones, Applied Software Measurement 1996.
Encontrado
Coste del defecto
Desarrollo
10€
Testing de Unidad
150€
Testing de Sistema
300€
Pruebas de aceptación
1.200€
de usuario
En vida
© Software Quality Systems – SQS, s.a. 2006
21.000€
160
150
140
120
100
80
60
50
40
27,5
Production
Test
Acceptance
Test
10
Developer
3
Coding
0
1
Design
20
Requirements
Coste relativo de los errores
La economía del testing
fuente: Arne Schirmacher, 08.02.2002
© Software Quality Systems – SQS, s.a. 2006
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
Evolución del testing en la empresa
Q
“Pruebas de programador”
Q
Testing interno/Externalización del testing
Q
Alpha Testing
Q
Beta Testing
Q
Testing por una entidad/consultora independiente
© Software Quality Systems – SQS, s.a. 2006
Por dónde empezar el testing?
Q
Valoración de su proceso de desarrollo.
Q
Redefinir su proceso.
T
Identificar los inputs.
T
Identificar las tareas/actividades.
T
Identificar los roles encargados de realizarlas y de su
supervisión.
T
Identificar los outputs.
O
O
O
Identificar las métricas para medirlos.
Establecer sus criterios de completitud de acuerdo a los
objetivos.
Comparar el valor previsto con el obtenido y analizar.
© Software Quality Systems – SQS, s.a. 2006
Crear el plan de Testing/Pruebas
Q
Qué es un plan de test/pruebas?
“Un documento que describe el ámbito, acercamiento,
recursos, y calendario de las actividades de test
previstas. Identifica los items de pruebas, las
caracteríticas a ser testeadas, las tareas del testing,
quién hará cada tarea, y cualquier riesgo inherente con
su correspondiente plan de contingencia.”
T
Un plan de proyecto para el testing.
O
O
Que cubra todos los aspectos del testing.
Un documento vivo que debe cambiar de acuerdo al progreso
del testing.
© Software Quality Systems – SQS, s.a. 2006
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
Servicios del testing
Q
Valoración del ciclo de vida de desarrollo
T Informe de estado y mejoras
T
Q
Implantación de esas mejoras
Testing
T Funcional
T
Embebido/Empotrado
T
Carga y Rendimiento, Stress
T
Automatización
T
Instalación, Almacenamiento, Seguridad,…
T
Entornos de pruebas
T
Benchmark de herramientas
T
Pruebas de aceptación del usuario
T
Pruebas de aceptación operativa (24*7)
© Software Quality Systems – SQS, s.a. 2006
Servicios del testing
Q
Adecuación a normativas/estándares
T
Sectores críticos
T
Otros
Q
Ayuda a la creación del (departamento) Testing en su
empresa
Q
Externalización del testing
Q
Proveer entornos y herramientas de testing
T
SQS - TestLab
Q
Gestión de la configuración
Q
Análisis de herramientas de testing
© Software Quality Systems – SQS, s.a. 2006
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
Identificación del riesgo – Qué es el riesgo?
Q
Q
El riesgo de los fallos:
T
Del proyecto.
T
De una parte componente.
T
De los procesos soportados.
Qué coste tiene?
T
El 15% de los proyectos fallan. (DeMarco).
T
El gobierno británico ha abandonado un gasto en TI de 7,5
Bn € en los últimos 12 años.
T
Una empresa de seguros abandonó un proyecto al coste de
alrededor de 60M €.
© Software Quality Systems – SQS, s.a. 2006
Tendencias - Identificación de los riesgos
Q
Q
Clasificación de los riesgos:
T
Riesgo del negocio.
T
Riesgo del proyecto.
T
Riesgo técnico.
T
…
Cuáles son los objetivos de su cliente?
T
Protección de la inversión.
T
Expandir el mercado (nuevos productos/servicios disponibles).
T
Crear nuevos canales de entrega (explotar nuevas tecnologías).
T
Crear nuevos mercados (Posicionamiento de productos y servicios
vital).
© Software Quality Systems – SQS, s.a. 2006
Riesgos
Q
Cuanto mayor es el beneficio – mayor es el riesgo.
Q
Está dispuesto a asumir riesgos sin garantías de
éxito?
© Software Quality Systems – SQS, s.a. 2006
Tendencias - Problemática del desarrollo actual
Q
Q
Desarrollos descentralizados.
T
Análisis (Alemania)
T
Diseño (España)
T
Desarrollo (Alemania, España, India)
T
Implantación (en todo el mundo)
Complejidad de los productos
T
Un mismo producto para X paises/delegaciones
Q
Costes del personal.
Q
Externalización de parte/s de nuestro ciclo de vida.
© Software Quality Systems – SQS, s.a. 2006
Indice
Q
Presentación de SQS
Q
Definiciones
Q
Objetivo e implicaciones del testing
Q
Los costes de la no calidad
Q
Soporte a la mejora del proceso constructivo de software y su
comprobación
Q
La economía del testing
Q
Fases del testing
Q
Servicios del Testing
Q
Riesgos
Q
Tendencias
© Software Quality Systems – SQS, s.a. 2006
Tendencias – Normativas/Estándares
Q
Normativas/Estándares
T Son realizadas por comisiones técnicas de normalización
T
Sectores Críticos
O
O
CENELEC – Comite Europeo para la Estandarización Electrotecnica.
FDA – Administración de los Estados Unidos para los alimentos y
farmacos.
P
O
O
T
GMP – Buenas prácticas de fabricación
IEC – Comisión Electrotécnica Internacional
…
Otros
O
O
O
O
O
ISO – Organización Internacional para la Estandarización.
IEEE – Instituto de Ingenieros en Electricidad y Electrónica.
AENOR – Asociación Española de Normalización.
BS – Estándarización británica.
…
© Software Quality Systems – SQS, s.a. 2006
Tendencias - Certificación
Q
Cumplimiento de estándares (ej. demanda sectorial)
Q
Cumplimiento de niveles de calidad interna (elemento
diferencial frente a la competencia)
T
Q
Q
SQS
Cumplimento de niveles de calidad del contratista
T
VPP
T
Pliegos de condiciones
Entes Independientes
T
INTI
T
…
© Software Quality Systems – SQS, s.a. 2006
Tendencias
Q
Proyectos de I+D+I
T
Gobierno Vasco
O
SPRI – Sociedad para la Promoción y Reconversión Industrial
P
T
Gobierno Español
O
T
UET – Unidad Estrátegica de Tecnología
TI – Tecnologías de la Información
Unión Europea
O
TI – Tecnologías de la Información
© Software Quality Systems – SQS, s.a. 2006
SQS - Software Quality Systems
SQS - Software Quality Systems, SA
España, Inglaterra, Bélgica, China
Tel : +34 94 4804617
Fax: +34 94 4804247
E-Mail: fnanclares@sqs.es
Formación: formacion@sqs.es
Internet: www.sqs.es
© Software Quality Systems – SQS, s.a. 2006
Descargar