1. El testing de software La necesidad de implementar un metodología de QAT NOV 2009 delti.com.ar
2.
3. Para los que entienden que el testing es una inversión.
4. Para los que saben que el tester debe ser externo.
5. Para los que quieren conocer aspectos básicos de las ventajas del testing.La necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
6. Qué es TESTING evaluar calidadidentificar corregirfallas defectoserroresconocerbuscar encontrar gestiónproducción costoscambiarplan pruebasdemostrar garantíavalorriesgo… La necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
7. Qué es TESTING 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
12. El seguimiento de estándares aumentar, administrar y monitorear la calidad de los entregables La necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
13. Objetivos del TESTING Inicio Del Sistema Prod. Requerido GAP Usuario Prod. Entregado GAP IT La necesidad de implementar un metodología de QAT Prod. Especificado 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 El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
14. Visión estratégica del TESTING factor económico, CEO/CIO, decisión estratégica La necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
15. Evolución del Testing Depuración Destrucción Prevención Mejoramiento La necesidad de implementar un metodología de QAT 1956 1957-1978 1979-1982 1983-1987 1988- PRESENTE Demostración Evaluación El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
16. 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 La necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
17. gastos de prevención Costos del Testing Costos de Conformidad Costos NO conformidad los gastos que surgen de la prueba de programadores y/o testers formación, requisitos y las revisiones de código, y otras actividades que promuevan un buen software. Costos de Calidad los fallos internos (antes de la liberación) fallos externos (post liberación). gastos de prevención costos de evaluación La necesidad de implementar un metodología de QAT errores encontrados por los clientes 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. Crosby y JM Juran, JimCampenella, en los principios de costes de calidad El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
18. Etapa y Costos del Testing 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 testingoffersbigROI ByJennetteMullaney) El Testing es un 30 - 40 % del costo total (Software EngineeringInstitute) 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
19. gastos de prevención Etapa y Costos del Testing $ 1 Requerimientos 1 $ 3 Diseño 2 Codificación $ 10 3 La necesidad de implementar un metodología de QAT Pruebas de desarrollo $ 27 4 Pruebas aceptación $ 50 5 Producción $ 150 6 El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
27. Programadores o Analistas probando y no testersLa necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
31. Fallas en sistemas críticosLa necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
32. Implementar Testing 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
33. Tipos deTesting 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
34. Tipos deTesting 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
35. Tipos deTesting 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
36. Tipos deTesting 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
37. Tipos deTesting 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
38. Tipos deTesting 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
39. Tipos deTesting 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
40. Tipos deTesting 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 implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
47. Recursos del Test PlanLa necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
52. Comenzar las actividades de testing lo antes posibleLa necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
53.
54. La presión por la liberación cada vez más rápida del producto presiona a los testers.
58. El testing como el grupo que viene a destruir lo que otros construyeron
59. Tercerizar el testingLa necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
60. Certificaciones Testing ISEB/ISQTB (InformationSystemsExaminationsBoard/): 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, CertifiedSoftware Test Professional (CSTP) y CertifiedTest Manager (CTM) QAI (QualityAssuranceInstitute): Este instituto ofrece dos tipos de certificaciones CertifiedSoftware QualityAnalyst (CSQA) y Certified Software Tester (CSTE). ASQ (American SocietyforQuality): 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 QualityEngineer (CQE) y Software Quality Engineer(CSQE). La necesidad de implementar un metodología de QAT El testing de softwareAnálisis de la necesidad de implementar un metodología de QAT
61. GRACIAS POR SU ATENCIÓN La necesidad de implementar un metodología de QAT info@delti.com.ar testingsoftware.com.ar