Esquemas de pruebas

2,324 views
2,104 views

Published on

Configuración de un esquema de pruebas con Java y herramientas de Software LIbre

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,324
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Esquemas de pruebas

  1. 1. Diseño de esquema de pruebas Analisis y Diseño 2 Primer Semestre 2009 Victor Leonel Orozco http://tuxtor.shekalug.org
  2. 2. Agenda <ul><li>Estrategias de debug
  3. 3. ¿De que se trata?
  4. 4. Tipos de pruebas
  5. 5. Pruebas unitarias
  6. 6. Pruebas integración
  7. 7. Pruebas sistema
  8. 8. Junit (xUnit)
  9. 9. Ejemplo de JUnit
  10. 10. Junit+Hudson
  11. 11. Practica </li></ul>
  12. 12. Estrategias de debug <ul><li>Malas practicas
  13. 13. Debuggers
  14. 14. Esquemas de pruebas </li></ul>
  15. 15. ¿De que se trata? ... System.out.println(“Valor de a: ”+a); } Valor de a: 5 *La clave es comparar valor esperado con valor real El programa funcionara si a termina con valor 5
  16. 16. ¿De que se trata? WTF??
  17. 17. Tipos de pruebas de software <ul><li>Por enfoque </li><ul><li>Caja blanca, pruebas estructurales
  18. 18. Caja negra, pruebas funcionales </li></ul><li>Por dimension </li><ul><li>Unitarias
  19. 19. Integracion (incrementales)
  20. 20. Sistema (verificacion) </li></ul></ul>Mas informacion http://kybele.escet.urjc.es/documentos/ISG/%5BISG-2006-07%5DPruebasSoftware.pdf
  21. 21. Pruebas unitarias <ul><li>Prueba modular, si es necesario uso de drivers y stubs </li><ul><li>Codigo
  22. 22. Procedimientos
  23. 23. Objetos
  24. 24. Paquetes (no muy comun) </li></ul><li>Flujos de ejecución, decisiones, valores de variables. </li></ul>
  25. 25. Integración <ul><li>Tecnica de prueba incremental
  26. 26. Modulos de forma unitaria e ir construyendo el programa </li><ul><li>Partir del modulo principal e ir construyendo (top-down)
  27. 27. Ejecutar las pruebas una por una e ir construyendo (botom-up) </li></ul></ul>
  28. 28. Sistema <ul><li>Se integra el software con el resto del sistema </li><ul><li>Hardware, software legacy, sistemas externos </li></ul><li>Tres tipos </li><ul><li>Recuperación
  29. 29. Estres
  30. 30. Seguridad </li></ul></ul>
  31. 31. Estrategia de pruebas de software <ul><li>Una estrategia de pruebas incorpora </li><ul><li>Planificación de pruebas
  32. 32. Diseño de casos de prueba </li></ul><li>Partes </li><ul><li>Datos de entrada
  33. 33. Resultados esperados
  34. 34. Limite del modulo a probar </li></ul></ul>
  35. 35. Pruebas de software Algunos consejos: <ul><li>Al diseñar casos de prueba siempre definir salida esperada
  36. 36. No probar programas propios (para producción)
  37. 37. Inspeccionar a conciencia los resultados
  38. 38. Hacer pruebas de exitos y fallos </li></ul>
  39. 39. Pruebas unitarias automaticas <ul><li>En los últimos años se han desarrollado un conjunto de herramientas que facilitan la elaboración de pruebas unitarias en diferentes lenguajes. Dicho conjunto se denomina Xunit </li><ul><li>Junit
  40. 40. Nunit
  41. 41. Phpunit
  42. 42. Httpunit
  43. 43. Pyunit
  44. 44. ..... </li></ul></ul>
  45. 45. ¿Como funcionan entonces? <ul><li>xunit son herramientas para comparar, solo definimos que es lo que esperamos como resultado y xunit lo compara y nos informa el resultado. </li></ul>Error Exito
  46. 46. El secreto esta en los Asserts <ul><li>Existen varios tipos de asserts (8 para junit) </li><ul><li>assertEquals
  47. 47. assertArrayEquals
  48. 48. assertSame
  49. 49. assertFalse
  50. 50. assertNull
  51. 51. assertNotNull
  52. 52. assertTrue
  53. 53. fail (Muy usado en try y catch) </li></ul><li>Cuando xunit detecta que un assert ha fallado la añade a su informe. </li></ul>
  54. 54. El ejemplo de hoy... <ul><li>Mas informacion de Junit: </li><ul><li>http://junit.org/junit/javadoc/4.5/
  55. 55. http://www.junit.org
  56. 56. Google: Junit
  57. 57. En cada salto grande de version, las pruebas se hacen incompatibles </li></ul></ul>

×