miércoles, 13 de abril de 2011

Diseño de pruebas unitarias (Clase)

Clase: Semana 10 
Texto con diagramas que explica las pruebas unitarias a aplicar



¿Que son las Pruebas Unitarias?
Son como ensayos parara comprobar que funcionan diferentes partes del código, con estas pruebas podemos saber si nuestro proyecto esta fallando o no.


¿Porque hacer Pruebas Unitarias?

  • Detectar y encontrar nuevos errores o bugs .
  • Definir peticiones de cada función.
  • Saber si un método es efectivo.
  • Podemos aprobar un caso de estudio.
  • No siempre se encuentran todos los errores.
  • Separar la interfaz con la implementación.



De la iOS Development Guide nos dice que:
Xcode ofrece dos tipos de pruebas unitarias: pruebas de logica (Logic Tests) y pruebas de aplicación (Application tests).


Las pruebas de lógica son pruebas que verifican el correcto funcionamiento de nuestro código en un entorno "clean-room environment", esto quiere decir que el código no se ejecuta dentro de una aplicación, esto lo podemos utilizar para llevar a cabo pruebas en el código para asegurar que se comporta correctamente en situaciones en donde no estamos seguros como va a reaccionar nuestro programa, ayudan a hacer nuestro código robusto que funciona correctamente cuando se utiliza de maneras que no estamos anticipando, en xcode el código que se está probando se ejecuta durante la fase de "Builder".


Las pruebas de aplicación son pruebas que verifican la funcionalidad del código en una aplicación en ejecución. Debido a que las pruebas de aplicación se ejecutan en un solo dispositivo, también las podemos utilizar para realizar pruebas de hardware.


En mi proyecto, como explico en mi entrada de taller, por el momento realizo dos pruebas unitarias dentro de la clase MenuTestCase, aqui expongo mi diagrama de clases actualizado con la clase de las pruebas unitarias incluida, podemos ver la clase MenuTestCase, que hereda de SenTestCase



Mi diagrama UML


OCUnit
OCUnit es un framework de pruebas para Objective C en Mac OS X integrado con xcode. Podemos probar los frameworks, paquetes o aplicaciones y es basado en SUnit para Smalltalk y en JUnit para Java.


Incluye un framework "SenTestingKit" que nos ayuda a escribir casos de prueba, teniendo como ventajas que podemos implementar pruebas en el mismo Objective C y tiene una integración total con xcode.


Para descargar OCUnit aqui.


Usando OCUnit en mi proyecto..
Luego de instalar OCUnit, descargado de la pagina.


1. Necesitas agregar un nuevo "Unit Test Bundle".


2. Le pones un nombre al target y das Next..


3. Luego se modifica "Other linker flags" cambiando de Cocoa a Foundation, esto para permitir que compile en el iPhone simulator.


4. Buscas Cocoa.h y borras las referencias.


5. Agregas una nueva clase en el proyecto "Objective-C test case class"




6. Es importante que al final del nombre de la clase se llame TestCase y seleccionas el nombre del Target.




7. Todos los metodos deben empezar con test


8. Agregas el Target a los metodos que los necesitas probar.






9. Es importante que cuando quieras hacer el Build, necesitas activar el Target.




Cualquier duda o pregunta sobre la entrada, pueden comentar.
Pueden encontrar mas información en los siguientes enlaces.

1 comentario: