INTRODUCCIÓN
PROYECTO DE DESARROLLO DE LA INDUSTRIA DEL SOFTWARE
AL TESTING DE
SOFTWARE
DIA INTERNACIONAL
DEL TESTER DE
SOFTWARE
9 DE SEPTIEMBRE
Día del descubrimiento del primer defecto
informático oficial (1947)
MISIÓN DEL Son los profesionales encargados de velar por la
TESTER calidad del software, garantizando que todo
funcione correctamente de acuerdo a lo definido y
que los defectos no lleguen al usuario.
Hoy en día no se concibe el desarrollo de software
sin realizar pruebas, ya que éstas serán el
instrumento principal para asegurar la calidad de
dicho software.
CALIDAD DE
SOFTWARE
DEFINICIÓN
"La calidad de software es el cumplimiento de
los requisitos de funcionalidad y desempeño
explicitamente establecidos, de los
estándares de desarrollo explicitamente
documentados y de las características
implícitas que se esperan de todo software
desarrollado profesionalmente".
ROGER S. PRESSMAN
Desde la visión del cumplimiento de los
requerimientos; obtener un producto de
calidad implica tener requerimientos
medibles, y que se cumplan. La calidad
pasa a ser un estado binario.
Desde la visión del cliente; el cumplimiento
de las necesidades presentadas por el
mismo.
WILLIAM E. LEWIS
LA CALIDAD DE SOFTWARE ES
UNA COMPLEJA COMBINACIÓN
CONCLUSIÓN DE FACTORES QUE VARÍAN
ENTRE LAS DIFERENTES
APLICACIONES Y LOS CLIENTES
QUE LAS NECESITAN.
CALIDAD DE
SOFTWARE
FACTORES QUE LO DETERMINAN
SEGÚN LAS NORMAS
ISO 25000
Hace referencia a la capacidad que tiene
un producto de software para proveer las
funciones que satisfacen los
ADECUACIÓN
requerimientos declarados e implícitos,
cuando el software se utiliza bajo
FUNCIONAL
determinadas condiciones.
COMPLETITUD FUNCIONAL
CORRECCIÓN FUNCIONAL
PERTINENCIA FUNCIONAL
Representa el desempeño del producto
relativo a la cantidad de recursos
utilizados bajo determinadas condiciones.
EFICIENCIA DE
DESEMPEÑO CAPACIDAD
COMPORTAMIENTO
TEMPORAL
UTILIZACIÓN DE RECURSOS
Capacidad de dos o más sistemas o
componentes de intercambiar información
y llevar a cabo funciones específicas bajo
el mismo entorno de hardware y/o
COMPATIBILIDAD software.
COEXISTENCIA
INTEROPERABILIDAD
Capacidad del producto para ser
aprendido, atractivo, usado y entendido
por el usuario bajo determinadas
condiciones.
USABILIDAD ACCESIBILIDAD
APRENDIZAJE
ESTÉTICA
INTELIGIBILIDAD
OPERABILIDAD
PROTECCIÓN FRENTE A
ERRORES DE USUARIO
Representa el desempeño de un sistema a
la hora de realizar funciones específicas
bajo determinadas condiciones y periodos
de tiempo determinados.
FIABILIDAD CAPACIDAD DE RECUPERACIÓN
DISPONIBILIDAD
MADUREZ
TOLERANCIA A FALLOS
Capacidad de proteger la información de
manera tal que no puedan ser leídos o
modificados cualquier persona o sistema
no autorizados.
SEGURIDAD AUTENTICIDAD
CONFIDENCIALIDAD
INTEGRIDAD
NO REPUDIO
RESPONSABILIDAD
Representa el esfuerzo requerido para
realizar modificaciones de forma efectiva
y eficiente debido a necesidades.
MANTENIBILIDAD ANALIZABILIDAD
CAPACIDAD DE SER MODIFICADO
CAPACIDAD DE SER PROBADO
MODULARIDAD
REUSABILIDAD
Capacidad del producto de software de
ser transferido eficientemente de un
entorno hardware o software a otro.
PORTABILIDAD ADAPTABILIDAD
CAPACIDAD DE SER REEMPLAZADO
FACILIDAD DE INSTALACIÓN
PRUEBAS DE
SOFTWARE
"LA PRUEBA ES EL PROCESO
DE EJECUCIÓN DE UN
PROGRAMA CON LA INTENCIÓN
DE ENCONTRAR ERRORES"
Cuando probamos un programa se quiere
aportar un valor añadido a lo que estamos
probando, elevar la calidad y fiabilidad, y
esto nos lleva a tener que encontrar y
eliminar los errores del programa.
“El proceso que consiste en todas las actividades del
ciclo de vida,tanto estáticas como dinámicas
relacionadas con la planificación, preparación y
evaluación de productos de software y productos
relacionados con el trabajo para determinar que
cumplen los requisitos especificados, para demostrar
que son aptos para el propósito y para detectar
defectos”.
International Software Testing Qualifications Board
“Una persona puede cometer un error que a su
vez puede producir un defecto en el código de
programa o en un documento. Si se ejecuta un
defecto en el código, el sistema puede no hacer
lo que debiera (o hacer algo que no debiera), lo
que provocaría un fallo. Algunos defectos de
software pueden dar lugar a fallos, pero no todos
los defectos lo hacen.”
ISTQB
¿POR QUÉ SON
IMPORTANTES
LAS PRUEBAS? Ahorro de dinero y dolores de
cabeza
Prevenir catástrofes
corporativas
Inspira confianza del cliente
El 4 de junio de 1996 la Agencia Espacial Europea
lanzó el cohete Ariane 5. Un error de programación en
el módulo de gestión provocó la autodestrucción del
cohete 37 segundos después del despegue.
Solo la carga que llevaba tenia un valor de 500
millones de dólares.
Las extensas revisiones y test llevados a cabo
durante el programa de desarrollo del Ariane-5 no
incluyeron el adecuado análisis y prueba del sistema
de referencia inercial o del sistema de control de
vuelo completo, lo cual podría haber detectado los
fallos potenciales
Therac 25, una máquina de radioterapia
producida por la Atomic Energy of Canada
Limited en 1985, fue la causante de la muerte
de tres personas directamente y otras tres
sufrieron graves daños por la administración de
sobredosis masivas de radiación. Una de las
razones de que se produjera esta sobredosis
fue un mal diseño del software, el código fuente
no había sido revisado de forma independiente.
Toyota retiró más de 400.000 de sus vehículos
híbridos en 2010, por un problema software,
que provocaba un retraso en el sistema anti-
bloqueo de frenos. Se estima entre
sustituciones y demandas el error le costó a
Toyota 3 billones de dólares.
BIBLIOGRAFIA
- LEWIS, WILLIAM E. “PDCA/TEST, A QUALITY FRAMEWORK FOR SOFTWARE
TESTING”.AUERBACH, 1998
- LEWIS, WILLIAM E. “SOFTWARE TESTING AND CONTINOUS QUALITY
IMPROVEMENT”.AUERBACH,. 2000
- PRESSMAN, ROGER S. “INGENIERÍA DEL SOFTWARE: UN ENFOQUE PRACTICO”, 6A
EDICIÓN,MC GRAW HILL. 2006
- SOFTWARE TESTING, DISPONIBLE EN:
HTTP://EN.WIKIPEDIA.ORG/WIKI/SOFTWARE_TESTING
- NORMAS ISO 25000, DISPONIBLE EN: ISO25000.COM/INDEX.PHP/NORMAS-ISO-25000