Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Charla sobre Testing

Charla sobre Testing

Charla sobre Testing impartida en Sintel TI

Javier Ramírez Jr

November 29, 2011
Tweet

More Decks by Javier Ramírez Jr

Other Decks in Programming

Transcript

  1. Testing Actividad que tiene como objetivo evaluar si las características

    de un sistema de software cumplen los resultados esperados martes 29 de noviembre de 11
  2. “El programador es un irresponsable” “Los stakeholders no saben decirnos

    lo que quieren... como siempre” “Porque Java está muy difícil...” “Los bugs simplemente existen” ¿Por qué hay bugs en el software? martes 29 de noviembre de 11
  3. Múltiples razones El software es complejo Defectos en el diseño

    Omisiones de alguna de las partes ... etcétera martes 29 de noviembre de 11
  4. Entre más tardemos en detectar un fallo, más costoso será

    solucionarlo... martes 29 de noviembre de 11
  5. El gap entre el producto solicitado por el cliente y

    el producto entregado va aumentando... martes 29 de noviembre de 11
  6. Características del Software Mantainability Reliability Scalability Extensibility Testability Usability Integrity

    Reusability Flexibility Availability Performance Manageability Security ... martes 29 de noviembre de 11
  7. Black-box testing Test de “caja negra”, el funcionamiento interno del

    componente no es “observado” Solamente considera input/output Comúnmente llamado data-driven o input/output driven martes 29 de noviembre de 11
  8. White-box testing Test de “caja blanca”, el funcionamiento interno del

    componente es crucial Se toman en cuenta flujos de control, flujo de datos, se prueban iteraciones, la estructura interna del componente es importante También conocido como “glass-box testing” o “logic driven testing” martes 29 de noviembre de 11
  9. Performance Testing Uso de recursos Tiempo de respuesta Network bandwidth

    Ciclos del CPU Uso y acceso a discos Uso de memoria Todo sistema tiene requerimientos de rendimiento, aún sean implícitos martes 29 de noviembre de 11
  10. Reliability Testing Probabilidad de fallo en un sistema Es información

    útil para decidir cuándo liberar la versión de un producto También para que un usuario pueda decidir cuándo adoptar y comenzar a usar el software martes 29 de noviembre de 11
  11. Security Testing Identifica los posibles defectos de software que comprometen

    su funcionalidad Los tests de seguridad están orientados a detectar vulnerabilidades de un sistema martes 29 de noviembre de 11
  12. Test Automation Las tareas de testing pueden resultar muy costosas

    La automatización puede reducir este costo Sin embargo, no todo puede ser automatizado No existe una herramienta de pruebas capaz de automatizar toda la evaluación martes 29 de noviembre de 11
  13. ¿Cuándo detenerse? El testing tiende a ser potencialmente infinito... Es

    imposible probar todas las características de un sistema Idealmente, es conveniente cuando la confiabilidad del software cumplió con los requerimientos Esto depende de qué tan bien especificado se encuentre martes 29 de noviembre de 11