¿Es una prueba UNIT o una prueba de integración?

Estoy trabajando en un proyecto escolar y estoy investigando posibilidades de pruebas para aplicaciones de Android.

En esta página: http://developer.android.com/resources/tutorials/testing/helloandroid_test.html Google escribe acerca de las pruebas de unidad. ¿Es esto realmente una prueba unitaria? Una prueba unitaria no integrará todas las clases y no probará en este contexto.

Así que mi opinión es que no es una prueba de unidad, sino una prueba de integración. ¿Qué piensas?

3 Solutions collect form web for “¿Es una prueba UNIT o una prueba de integración?”

No creo que haya un consenso general sobre lo que es una prueba de unidad, por lo que es difícil de decir. Aunque algunos podrían argumentar que debe ser una unidad de código muy pequeña (por ejemplo, un método), que es bastante limitante, especialmente teniendo en cuenta el hecho de que cuando refactor una prueba de paso, puede poner ese código en varios métodos o incluso clases.

La definición de Roy Osherove es la siguiente:

Una prueba de unidad es una prueba rápida, en memoria, consistente, automatizada y repetible de una unidad funcional de trabajo en el sistema.

Una unidad de trabajo es cualquier escenario funcional en el sistema que contenga lógica. Puede ser tan breve como una función, o puede abarcar varias clases y funciones, y proporciona valor interno o de negocio al sistema bajo prueba.

"Rápido" y "en memoria" son, IMO, lo principal que separa esto de una prueba de integración. Si usted va por eso, entonces creo que las pruebas de google son en realidad pruebas de unidad.

Una prueba no es una prueba unitaria si:

  • Habla con la base de datos
  • Se comunica a través de la red
  • Toca el sistema de archivos
  • No puede ejecutarse al mismo tiempo que cualquiera de sus otras pruebas de unidad
  • Tienes que hacer cosas especiales con tu entorno (como editar archivos de configuración) para ejecutarlo.

Hola colegas codificadores.

Me gustaría añadir que en mi experiencia, parece mejor probar el comportamiento de un objeto, si hace lo que necesita hacer (para su dominio del problema), si es un método o más para pasar su prueba. Sé que esto puede sonar simplemente como métodos de prueba, pero hay más. Un buen libro para leer para ayudar a entender esto es "Growing Object Oriented Software, Guided by Tests" de Nat Pryce y Steve Freeman.

En general, buena pregunta, y grandes respuestas. Seguid así. Todos los derechos reservados

  • Desarrollo impulsado por pruebas para Android
  • Prueba de unidad de Android cuando la actividad tiene animación
  • Cómo probar esta línea de LayoutInflater.from () en android
  • Android Studio + Robolectric + Gradle Class Not Found Excepción
  • ¿Por qué no hay instrumentación de prueba para BroadcastReceiver?
  • TDD en Android con Robolectric y Mockito
  • Prueba de componente en Android App SDLC?
  • Mock de almacenamiento de prueba de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.