No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Metodologías

12/27
Recursos

Aportes 8

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Resumen

Metodologías

  • TDD (Test Driven Development): Desarrollo guiado por pruebas, donde primero se hacen las pruebas antes de escribir el código (primero los expects).

  • BDD (Behavior Driven Development): Desarrollo guiado por comportamiento de acuerdo a los requisitos y luego las pruebas.

  • AAA “Mantra” para hacer pruebas

_____ preparar Arrange | Given dado algo
_________ ejecutar Act | When cuando
resolver hipótesis Assert | Then entonces

concepto Falso Positívo Cuando una prueba indica un error, pero todo está bien, por ejemplo, testeando el método suma de 1 +1 y pongo el expect en 5, es un falso positivo, luego la prueba está mal.

c Falso Negativo Son más comunes, ya que parece que todo está normal, pero no se ha identificado el error, el set de pruebas debería ser más amplio; esto sucede cuando caemos en tan solo, probar el Happy Path, probar las condiciones en las que sabemos que el sistema funciona, por ejemplo, en el SUT de dividir las primeras pruebas salían bien porque no se tomó en cuenta la división entre cero 0, luego se hizo la prueba y el refactor. En caso de falso negativo lo mejor es aplicar TDD.

c Sistema Legacy Son sistemas que te piden agregar pruebas a algo funcional, incluso en paralelo; hay que refactorizar los métodos enormes a pequeños para hacer unit test de pocos a muchos métodos; legacy no lleva una buena arquitectura.

c Clean Architecture Este patrón lleva buenas prácticas desde el principio, cada método está bien dividido y con responsabilidades acertadas, es mucho más facil de agregar el set de pruebas.

AAA podría verse como las acciones que ejecutamos al realizar una prueba.

  • Arrage: condiciones previas.

  • Act: los pasos a ejecutar.

  • Assert: verificar lo esperado.

Cuando empleamos BDD, debemos utilizar un lenguaje común (entendido por todo el equipo: técnico y de negocio) llamado Gherkin. Gherkin está compuesto por unas 20 palabras claves, siendo tres de ellas Given, When, Then.

Con esto quería hacer referencia a la semejanza entre estas tres keywords de Gherkin y las AAA.

Yo no sé ustedes, pero este curso hasta ahora me ha parecido genial, tiene conceptos como el ciclo de vida del software, buenas prácticas, uso de pruebas estáticas con ESLint, metodologías y adicional testing en casi todas sus formas, es un todo en uno, es un muy buen curso hasta ahora desde mi punto de vista.

Metodologías

  1. TDD -> Test Driven Development: Primero escribimos las prubeas y después el código de la lógica.
  2. BDD -> Behavior Driven Development: De acuerdo a los requisitos, escribimos las pruebas, un poco más reales a lo que pasaría en producción.

Hay que tener cuidado con los falsos positivos y los falsos negativos (este se da cuando solamente pruebas el happy path).

En esta parte del curso, me acabo de dar cuenta que en la empresa donde trabajo, aplicamos TDD + BDD

jajaja, tuve un falso positivo, testeé expect(multiply(1,1)).toBe(2); y luego me dí cuenta del error expect(multiply(1,2)).toBe(2);;

Happy path como lo menciona el profe se traduce como camino de la felicidad o camino de felicidad