Testing Software
-
Upload
odelorenzi -
Category
Documents
-
view
18.449 -
download
0
description
Transcript of Testing Software
El testing de software
NOV 2009
La necesidad de im
plementar un m
etodología de QA
T
delti.com.ar
Destinatarios de la charla
Para los que les interesa la calidad del software. Para los que entienden que el testing es una inversión. Para los que saben que el tester debe ser externo. Para los que quieren conocer aspectos básicos de las
ventajas del testing.
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
La necesidad de im
plementar un m
etodología de QA
T
Qué es TESTING
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
evaluar calidad identificar corregir fallas
defectos errores conocer buscar encontrar
gestión producción costos cambiar plan
pruebas demostrar garantía valor riesgo…
La necesidad de im
plementar un m
etodología de QA
T
Qué es TESTING
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
El proceso consistente en demostrar que el sistema no presenta errores
El proceso de verificar que el programa hace lo que debería hacer
E. W. Dijkstra , “el testing puede probar la presencia de errores pero no la ausencia de ellos”.
Software Testing es el proceso de evaluar un Sistema o Componente de un Sistema de forma manual o automática para verificar que satisface los requisitos esperados, o para identificar diferencias entre los Resultados esperados y los reales (IEEE, 1983)
Un test fracasa cuando no se encuentra ningún error
La necesidad de im
plementar un m
etodología de QA
T
Qué aporta el TESTING
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
• Calidad durante todo el proceso• Disminución de costos• Reducción de riesgos• Optimización de recursos• El seguimiento de estándares
aumentar, administrar y monitorear la calidad de los entregables
La necesidad de im
plementar un m
etodología de QA
T
Objetivos del TESTING
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
85% de los defectos de la aplicación se produce al inicio de la etapa de construcción Mientras más se demora en encontrar un error, más costoso será repararlo
InicioDel
Sistema
Prod. Especificado
Prod. Requerido
Prod. Entregado
GAP Usuario
GAP IT
La necesidad de im
plementar un m
etodología de QA
T
Visión estratégica del TESTING
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
factor económico, CEO/CIO, decisión estratégica
La necesidad de im
plementar un m
etodología de QA
T
Evolución del Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
1956 1957-1978 1979-1982 1983-1987 1988- PRESENTE
Depuración Destrucción PrevenciónMejoramiento
Demostración Evaluación
La necesidad de im
plementar un m
etodología de QA
T
Costos del Testing
Costos de Calidad se refiere a los recursos que se destinarán en un proyecto para asegurar que el servicio o producto final cumpla
satisfactoriamente con los requisitos preestablecidos por el cliente y así poder considerarlo como un resultado final exitoso.
Todo Project Manager debe considerar que por más experiencia que posea su equipo de proyecto, la calidad no se conseguirá por casualidad, ni de forma accidental; por lo que los Costos de la
Calidad al igual que sucede con otras tareas de un proyecto, deben ser planeados, medidos y presupuestados
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
La necesidad de im
plementar un m
etodología de QA
T
La necesidad de im
plementar un m
etodología de QA
T
gastos de prevención
Costos del Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
Crosby y JM Juran, Jim Campenella, en los principios de costes de calidad
Cost
os d
e Ca
lidad
Costos de Conformidad Costos NO conformidad
gast
os d
e pr
even
ción
cost
os d
e ev
alua
ción
los fallos internos (antes de la liberación)
fallos externos (post liberación).
formación, requisitos y las revisiones de código, y otras actividades que
promuevan un buen software.
planificación de las actividades de ensayo,
el desarrollo de la prueba, los casos y
datos, y la ejecución de esos casos de prueba una vez.
errores encontrados por los clientes
los gastos que surgen de la prueba de
programadores y/o testers
Etapa y Costos del Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
Bugs un costo de $ 1 cuando se encontró durante la revisión, $ 10 si se detecta a través de pruebas de desarrollo, $ 100 si se detecta a través de pruebas de probador, y $ 1.000 cuando lo encuentran los clientes.
Si una organización no llevó a cabo ninguna prueba formal, los desarrolladores pueden encontrar 250 errores y 750 los clientes (Software testing offers big ROI By Jennette Mullaney)
El Testing es un 30 - 40 % del costo total (Software Engineering Institute)
Costo $ 1 durante los requerimientos, $ 60 la reparación durante el testing, $ 100 costo de reparación después de la entrega (IBM – Gartner)
La necesidad de im
plementar un m
etodología de QA
T
gastos de prevención
Etapa y Costos del Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
Requerimientos 1
Diseño 2
Codificación 3
Pruebas de desarrollo 4
Pruebas aceptación 5
Producción 6
$ 1
$ 3
$ 10
$ 27
$ 50
$ 150
La necesidad de im
plementar un m
etodología de QA
T
gastos de prevención
Realidad del Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
• Falta de estándares• Falta de recursos (RH; Herramientas; documentos, etc.)• Falta de capacitación• Comienzo tarde de las pruebas• Excusas de falta de tiempo / costos…• No entenderlo como un proceso insoslayable dentro de la
ingeniería del software• Falta de planes • Programadores o Analistas probando y no testers
La necesidad de im
plementar un m
etodología de QA
T
Sin Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
• Baja calidad• Pérdida de imagen• Pérdidas económicas• Fallas en sistemas críticos
La necesidad de im
plementar un m
etodología de QA
T
Implementar Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
Si se está en las etapas iniciales del proyecto conviene empezar por la verificación de requerimientos y la validación de arquitectura, mientras que si ya se está avanzado, es mejor revisar el diseño o directamente el código
La necesidad de im
plementar un m
etodología de QA
T
Tipos deTesting
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
De caja negra (Black-box):No esta basada en el conocimiento del código o diseño interno, determina la funcionalidad del sistema.
De caja blanca (White-box):Esta basada en la lógica interna de la aplicación y el código. Hace una cobertura de declaraciones del código, ramas, caminos y condiciones.
Unitaria (o de unidad) (Unit):Es la escala mas pequeña de la prueba, esta basada en la funcionalidad de los módulos del programa, como funciones, procedimientos, módulos de clase, etc.
La necesidad de im
plementar un m
etodología de QA
T
Tipos deTesting
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
Integración incremental:Cuando nuevas funciones son ingresadas al sistema se hace la prueba basándose en la funcionalidad, la dependencia con otros módulos y la integración con el programa completo.
De integración (Integration):Se basa en las pruebas de conexiones y comunicaciones entre diferentes módulos. Es esencial en sistemas de cliente_servidor o red.
Funcional (Functional):La caja negra hace la prueba funcional de los requerimientos de la aplicación y generalmente es realizada por el programador, en cambio, la prueba funcional es realizada por los testers.
La necesidad de im
plementar un m
etodología de QA
T
Tipos deTesting
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
De sistema (System):Es una prueba de caja negra incluyendo todos los componentes del sistema desde el hardware a la documentación.
De fin a fin:Es similar a la prueba de sistema pero esta involucra la interacción con otro hardware, bases de datos y redes.
De sanidad:Determina si la nueva versión de un software esta bien realizada y si necesita un nuevo esfuerzo en la prueba de software. Por ejemplo la nueva versión de un programa cumple con casi todos los requisitos pero destruye la base de datos al leerla, por lo tanto se dice que este software no esta en una condición sana.
La necesidad de im
plementar un m
etodología de QA
T
Tipos deTesting
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
De aceptación (Acceptance):Es la prueba final basada en las especificaciones del usuario o basada en el uso del programa por el usuario final luego de un periodo de tiempo.
De carga:Esta basada en las aplicaciones bajo cargas pesadas, generalmente usadas en sitios web y en servidores con gran cantidad de datos donde se determina en cuales puntos existen degradaciones del sistema.
De rendimiento ó respuesta (Perfomance):Es una de las pruebas finales y sirve para definir los requerimientos y la calidad del software, en base a las pruebas de carga y estrés. Incluye entrevistas con el usuario y programador.
La necesidad de im
plementar un m
etodología de QA
T
Tipos deTesting
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
De estrés:Es una prueba de carga y rendimiento o respuesta (perfomance) basada en la Funcionalidad del sistema bajo cargas pesadas, un gran numero de repeticiones, manejo de grandes datos y demasiadas preguntas a bases de datos grandes.
De instalación y desinstalación:Determina la eficiencia de los procesos que instalan y desinstalan las aplicaciones del programa.
De recuperación:Es la prueba que evalúa que tan bien se recupera el sistema luego de bloqueos, fallas del hardware u otros problemas catastróficos.
La necesidad de im
plementar un m
etodología de QA
T
Tipos deTesting
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
De seguridad:Evalúa que tan bien el sistema se protege contra accesos, internos o externos, no autorizados, esta prueba requiere sofisticadas técnicas y herramientas.
De compatibilidad:Evalúa el desempeño del software en diferentes hardware, sistemas operativos,redes, etc.
De exploración:Es una prueba informal del software que no esta basada en ningún plan o caja de prueba y a menudo los testers aprenden del programa al explorar todas las aplicaciones posibles.
La necesidad de im
plementar un m
etodología de QA
T
Tipos deTesting
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
De anuncio:Es similar a la prueba de exploración pero los testers deben tener suficiente noción sobre el funcionamiento del programa antes de comenzar esta prueba. Incluye reunión con analistas y programadores.
De usuario:Determina si el usuario se desenvuelve satisfactoriamente con el programa.
De comparación:En esta prueba se comparan los pro y los contra del programa con los programas creados con la competencia.
La necesidad de im
plementar un m
etodología de QA
T
Tipos deTesting
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
Alfa (Alpha):Es la prueba cuando la aplicación esta cerca de la entrega al usuario. Se hacen pequeños cambios generalmente en el diseño de interfaces. Esta prueba es hecha por usuarios.
Beta (Beta):Es la búsqueda de defectos en el programa completo. Generalmente es hecha por usuarios.
De mutación (Mutation):Esta prueba esta basada en la introducción deliberada de diferentes códigos Externos al programa (defectos) para reexaminar si estos defectos pueden ser detectados. Requiere gran disponibilidad de recursos de computación.
La necesidad de im
plementar un m
etodología de QA
T
Cuestiones claves del Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
• Test Plan• El tester no debe ser el desarrollador• La empresa desarrolladora no debe hacer el testeo final• Revisión de resultados (qué haga lo que tiene que hacer y
que no haga lo que no tiene que hacer)• Registro de resultados• Equipo de testers• Recursos del Test Plan
La necesidad de im
plementar un m
etodología de QA
T
Tendencias Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
• Profesionalización RH• Planificación• Lugar jerarquía en el proceso de software• Certificaciones • Comenzar las actividades de testing lo antes
posible
La necesidad de im
plementar un m
etodología de QA
T
Reflexiones Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
• Las fallas de los sistemas motivan a los clientes a ir a la competencia.El alto costo del fracaso hace del Testing una obligación.
• La presión por la liberación cada vez más rápida del producto presiona a los testers.
• El testing como estrategia organizacional• El testing es una inversión• El testing como un mal necesario al final del proceso• El testing como el grupo que viene a destruir lo que otros
construyeron• Tercerizar el testing
La necesidad de im
plementar un m
etodología de QA
T
Certificaciones Testing
El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
ISEB/ISQTB (Information Systems Examinations Board/): Ofrece cursos y certificaciones en diferentes niveles: Foundation, Intermediate y Practicioner. Actualmente también se está preparando una certificación tipo Advanced.
IIST (International Institute of Software Testing): Este instituto ofrece dos tipos de certificaciones, Certified Software Test Professional (CSTP) y Certified Test Manager (CTM)
QAI (Quality Assurance Institute): Este instituto ofrece dos tipos de certificaciones Certified Software Quality Analyst (CSQA) y Certified Software Tester (CSTE).
ASQ (American Society for Quality): Bajo la ASQ, existen una serie de certificaciones orientadas a la Calidad del Software. Quizás las que más se adecúen a las responsabilidades del Tester serían Quality Engineer (CQE) y Software Quality Engineer (CSQE).
La necesidad de im
plementar un m
etodología de QA
T
GRACIAS POR SU ATENCIÓN
La necesidad de im
plementar un m
etodología de QA
T