unitarias tipos software pruebas niveles integración integracion funcionales estrés ejemplo carga unit-testing testing tdd integration-testing regression-testing

unit testing - tipos - ¿Prueba de unidad? ¿Examen de integración? ¿Test de regresión? ¿Examen de ingreso?



tipos de pruebas funcionales (5)

¿Hay alguien que pueda definir claramente estos niveles de prueba ya que me resulta difícil diferenciarlos al hacer TDD o pruebas unitarias? Por favor, si alguien puede elaborar cómo, cuándo implementar estos?


Aquí hay una explicación simple para cada una de las pruebas mencionadas y cuando son aplicables:

Prueba unitaria Una prueba unitaria se realiza en una unidad autónoma (normalmente una clase o método) y se debe realizar siempre que se haya implementado una unidad o se haya completado la actualización de una unidad.

Esto significa que se ejecuta cada vez que ha escrito una clase / método, corrige un error, cambia la funcionalidad ...

La prueba de Integración de prueba de integración tiene como objetivo probar qué tan bien varias unidades interactúan entre sí. Este tipo de prueba se debe realizar siempre que se haya establecido una nueva forma de comunicación entre las unidades o la naturaleza de su interacción haya cambiado.

Esto significa que se ejecuta cada vez que se integra una unidad recientemente escrita en el resto del sistema o cuando una unidad que interactúa con otros sistemas se ha actualizado (y ha completado con éxito sus pruebas unitarias).

Pruebas de regresión Las pruebas de regresión se realizan cada vez que se ha cambiado algo en el sistema, para verificar que no se hayan introducido nuevos errores.

Esto significa que se ejecuta después de todos los parches, actualizaciones, correcciones de errores. Las pruebas de regresión pueden verse como un caso especial de prueba unitaria combinada y prueba de integración.

Pruebas de aceptación Las pruebas de aceptación se realizan siempre que sea relevante para verificar que un subsistema (posiblemente el sistema completo) cumpla con todas sus especificaciones.

Esto significa que se ejecuta principalmente antes de terminar un nuevo entregable o anunciar la finalización de una tarea más grande. Vea esto como su cheque final para ver que realmente ha completado sus objetivos antes de correr hacia el cliente / jefe y anunciar la victoria.

Esta es al menos la forma en que aprendí, aunque estoy seguro de que hay otros puntos de vista opuestos. De cualquier manera, espero que eso ayude.


Brevemente:

Pruebas unitarias : usted prueba cada pieza individual de código. Piensa en cada archivo o clase.

Pruebas de integración : al juntar varias unidades que interactúan, debe realizar pruebas de integración para asegurarse de que la integración de estas unidades no haya introducido ningún error.

Pruebas de regresión : después de integrar (y tal vez arreglar) debe ejecutar las pruebas de su unidad nuevamente. Esta es una prueba de regresión para garantizar que los cambios posteriores no hayan roto ninguna unidad que ya haya sido probada. La prueba unitaria que ya hizo produjo las pruebas unitarias que se pueden ejecutar una y otra vez para la prueba de regresión.

Pruebas de aceptación : cuando un usuario / cliente / empresa recibe la funcionalidad, ellos (o su departamento de pruebas) realizarán pruebas de aceptación para garantizar que la funcionalidad cumpla con sus requisitos.

También es posible que desee investigar las pruebas de caja blanca y caja negra. También hay pruebas de rendimiento y carga, y pruebas de las "ilidades" a considerar.


Lo intentaré:

  1. Prueba unitaria: un desarrollador escribiría uno para probar un componente o clase individual.
  2. Prueba de integración: una prueba más extensa que involucraría varios componentes o paquetes que necesitan colaborar
  3. Prueba de regresión: hacer un solo cambio en una aplicación lo obliga a volver a ejecutar TODAS las pruebas y verificar TODA la funcionalidad.
  4. Prueba de aceptación: los usuarios finales o QA hacen esto antes de firmar para aceptar la entrega de una aplicación. Dice "La aplicación cumplió con mis requisitos".

Prueba de unidad: cuando falla, te dice qué parte de tu código necesita ser reparado.

Prueba de integración: cuando falla, le dice que las piezas de su aplicación no funcionan juntas como se esperaba.

Prueba de aceptación: cuando falla, le dice que la aplicación no está haciendo lo que el cliente espera que haga.

Prueba de regresión: cuando falla, le informa que la aplicación ya no se comporta como solía hacerlo.


Prueba unitaria: ¿mi único método funciona correctamente? (SIN dependencias, o dependencias burladas)

Prueba de integración: ¿ son mis dos módulos desarrollados por separado los que funcionan corectly cuando se combinan?

Prueba de regresión: ¿Rompí algo cambiando / escribiendo un nuevo código? (La ejecución de las pruebas unidad / integración con cada confirmación es una prueba de regresión técnicamente (automatizada)). Se usa con más frecuencia en el contexto del control de calidad: manual o automatizado.

Prueba de aceptación : prueba realizada por el cliente, que él "acepta" el SW entregado