La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Software Testing Juan Carlos Olivares Rojas MSN:

Presentaciones similares


Presentación del tema: "Software Testing Juan Carlos Olivares Rojas MSN:"— Transcripción de la presentación:

1 Software Testing Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx http://antares.itmorelia.edu.mx/~jcolivar/ @jcolivares Social Network: Facebook, LinkedIn. Hi5

2 Específica: conoce los términos básicos de la reingeniería de software y aplica técnicas de reingeniería para el mejoramiento de software existente así mismo utiliza mejores prácticas para el desarrollo de software. Genéricas Instrumentales: Capacidad de análisis y síntesis, Solución de problemas, Toma de decisiones. Competencias

3 La gran foto

4 Al realizar una reestructuración de códigos se debe probar que los cambios realizados sigan satisfaciendo las pruebas unitarias, de integración y de aceptación. Si un software no contiene pruebas unitarias deberá refactorizarse para crear dichas pruebas. Testing in Refactoring

5 Aunque muchos de los modelos son de tipo estático como los diagramas de clases que definen la arquitectura de un sistema, todo modelo puede probarse previamente para ver si funciona. De hecho antes de codificar los modelos deben de ser válidos y en la etapa de codificación sólo se debiera de validar que lo que se hizo se hizo bien. Testing in Modeling

6 Las pruebas de software deben de realizarse en cada etapa de desarrollo: inicio, elaboración, construcción y despliegue. Esto se puede lograr a través de la implementación de técnicas de calidad como las Revisiones Técnicas Formales. Las pruebas de calidad van enfocadas hacia el proceso y producto en base a métricas e indicadores dados como referencia. Se sugiere utilizar estructuras probadas de diseño: Patrones de Diseño. Testing Software

7 Traen información sobre el comportamiento de la aplicación en tiempo de ejecución. En general las herramientas de perfilado se enfocan en: manejo de hilos, memoria y rendimiento de CPU pero otras variables también pueden ser monitorizadas. En general todas las herramientas de perfilado necesitan calibrarse para tener un óptimo desempeño. Profiling Testing

8 Las herramientas de perfilado ya tienen un conjunto de pruebas predefinidas para probar aplicaciones. En general se pueden guardar instantáneas para el análisis posterior de la información. En el caso del código portátil (Java,.NET) se debe recordar que la máquina virtual consume espacio de memoria y recursos de la máquina. Para aplicaciones pequeñas no se recomienda su uso. Profiling Testing

9 En muchas ocasiones se necesita de un perfilado de la aplicación para que se ejecuta de forma óptima bajo una plataforma o características particulares. A este tipo de pruebas se les denomina tunning test. En general aplica más en aplicaciones de servidor (J2EE) o aplicaciones de cómputo distribuido de alto rendimiento. Profile Testing

10 En lenguajes que utilicen recolectores de basura es necesario revisar constantemente la efectividad del mismo. Se sugiere que cuando un objeto se deje de utilizar se igual a null para un mejor desempeño. Se sugiere utilizar tipos de datos primitivos a objetos ya que se obtiene un mejor desempeño. Profile Testing

11 El manejo del recolector de basura sólo deberá hacerse cuando la aplicación sea muy compleja. Se deberán verificar los destructores y/o métodos finalizadores de los objetos. Se deberá tener cuidado con estructuras de datos como String y char[] que consumen mucha memoria y tardan en ser liberada dicha memoria. Profile Testing

12 El uso de objetos sincronizados hace más lento el desempeño de las aplicaciones. Si la aplicación no maneja concurrencia no hay necesidad de utilizarlas (en java Vector y ArrayList hacen exactamente lo mismo sólo que Vector es sincronizada). El monitoreo de los recursos es parte fundamental del profiling. Profile Testing

13 El manejo cadenas constantes en Java por ejemplo String cad=“hola” es única a diferencia de cadenas creadas con el operador new. Se pueden utilizar reductores de clases como: DashO-Pro, Jax o Jsrink. Muchas de estas herramientas funcionan como ofuscadores al igual que SourceGuard. Profile Testing

14 A partir del Java SE 6 se puede uitlizar la API de JMX para el monitoreo remoto de aplicaciones Existen diversos tipos de pruebas de perfilado: estrés, carga, rendimiento y capacidad. Se sugiere se realicen los siguientes pasos: Profile Testing

15 Identificar el ambiente de ala prueba Identificar los criterios de aceptación Planear y diseñar las pruebas Configurar el ambiente de prueba Implementar el diseño de las pruebas Ejecutar las pruebas Analizar los resultados, reportes y realizar nuevamente las pruebas. Profile Testing

16 Roger S. Pressman, Ingeniería de software un enfoque práctico.Ed. McGraw Hill. Piattini M.G. y F.O, Calidad en el desarrollo y mantenimiento del software. Ed. RAMA. Weitzenfeld, Ingeniería de Software Orientada a Objetos con UML, Java e Intrnet, Thomson. Referencias

17 ¿Preguntas?


Descargar ppt "Software Testing Juan Carlos Olivares Rojas MSN:"

Presentaciones similares


Anuncios Google