﻿1
00:00:07,700 --> 00:00:11,467
TDD es un acrónimo
para Test Driven Development.

2
00:00:11,800 --> 00:00:13,100
Como su nombre indica,

3
00:00:13,125 --> 00:00:17,838
este concepto gira en torno a la idea
de que el flujo de tu desarrollo de software,

4
00:00:17,863 --> 00:00:19,667
será guiado por pruebas.

5
00:00:20,246 --> 00:00:23,570
Empezó a tener mucha tracción
a principios del 2000

6
00:00:23,595 --> 00:00:25,983
cuando Kent Beck publicó un libro

7
00:00:26,008 --> 00:00:29,330
titulado Test Driven
Test Driven Development by Example.

8
00:00:30,067 --> 00:00:32,233
Puede que reconozcas a Kent Beck,

9
00:00:32,433 --> 00:00:36,200
también es conocido por sus contribuciones
a la Programación Extrema

10
00:00:36,259 --> 00:00:38,667
y el Manifiesto Ágil.

11
00:00:40,635 --> 00:00:43,356
El proceso fundamental
del desarrollo basado en pruebas

12
00:00:43,381 --> 00:00:48,400
es escribir nuestro código haciendo un bucle
sobre tres etapas principales de la aplicación,

13
00:00:48,700 --> 00:00:51,867
rojo, verde y refactorizar.

14
00:00:53,467 --> 00:00:54,907
Para la etapa roja,

15
00:00:54,932 --> 00:00:59,233
empezamos escribiendo una prueba
que describe un requisito

16
00:00:59,258 --> 00:01:01,433
que queremos que cumpla nuestra aplicación.

17
00:01:02,093 --> 00:01:03,596
Mientras escribimos el test,

18
00:01:03,621 --> 00:01:07,033
pretendemos que toda la funcionalidad
ya está ahí.

19
00:01:07,867 --> 00:01:10,367
Lo más probable es que esta prueba falle.

20
00:01:11,907 --> 00:01:15,287
Nos centraremos entonces en hacer
la menor cantidad de trabajo

21
00:01:15,333 --> 00:01:18,667
necesario para obtener esta nueva prueba para pasar.

22
00:01:19,167 --> 00:01:22,117
Mientras que al mismo tiempo mantener
todas las demás pruebas

23
00:01:22,167 --> 00:01:25,267
que ya tenemos en su lugar, sigue pasando.

24
00:01:25,567 --> 00:01:27,680
Tan pronto como todas las pruebas estén pasando,

25
00:01:27,705 --> 00:01:30,627
hemos alcanzado oficialmente
la fase verde.

26
00:01:31,200 --> 00:01:36,400
No se preocupe si su trabajo más reciente
parece un poco desordenado y difícil de leer.

27
00:01:38,510 --> 00:01:41,033
Ahora estamos listos para mejorar nuestro código.

28
00:01:41,500 --> 00:01:46,967
Es crítico que realicemos
mejoras incrementales y confirmar a menudo.

29
00:01:47,672 --> 00:01:53,667
Cada mejora sólo puede ser aceptada
si todas las pruebas siguen pasando.

30
00:01:54,173 --> 00:01:57,600
La fase de refactorización
puede durar tanto como queramos.

31
00:01:57,886 --> 00:02:02,333
Nos detendremos una vez que pensemos
que nuestro código es lo suficientemente bueno.

32
00:02:03,786 --> 00:02:06,633
Tan pronto como estemos contentos
con el estado del código,

33
00:02:06,700 --> 00:02:11,800
podemos escribir otra prueba para otro
objetivo que queremos que cumpla nuestra aplicación.

34
00:02:11,967 --> 00:02:16,167
Esto nos llevará
de vuelta a la etapa roja.

35
00:02:16,660 --> 00:02:19,733
Este es el bucle de refactorización rojo-verde

36
00:02:19,767 --> 00:02:23,767
que es la fuerza impulsora
detrás del desarrollo basado en pruebas.

37
00:02:25,190 --> 00:02:29,033
¿Por qué no ponemos
estos conceptos a prueba?

38
00:02:29,997 --> 00:02:33,533
En este curso,
crearemos un clon

39
00:02:33,558 --> 00:02:37,605
del popular juego Wordle,
utilizando el desarrollo basado en pruebas.

40
00:02:37,993 --> 00:02:40,267
Como estamos creando esta aplicación,

41
00:02:40,299 --> 00:02:43,400
nos centraremos
en cómo el desarrollo basado en pruebas

42
00:02:43,400 --> 00:02:48,533
no sólo le permite escribir software
con requisitos robustos y claros,

43
00:02:48,733 --> 00:02:54,300
sino que también te ayuda a ti y a tu equipo
a escribir un código muy limpio y fácil de mantener.

44
00:02:56,490 --> 00:02:58,833
Además de aprender el desarrollo basado en pruebas,

45
00:02:58,933 --> 00:03:04,333
este curso también hará uso de
de Vue 3 y su API de composición.

46
00:03:04,920 --> 00:03:08,033
Ejecutaremos nuestras pruebas con Vitest

47
00:03:08,067 --> 00:03:13,300
y haremos un amplio uso de Vue test Utils
para ayudarnos a realizar aserciones.

48
00:03:13,766 --> 00:03:18,383
Por último, pero no menos importante, este curso
es también una buena oportunidad

49
00:03:18,408 --> 00:03:21,100
para explorar
un poco de TypeScript.

50
00:03:22,003 --> 00:03:27,633
Yo recomendaría un poco de experiencia básica
con Vue antes de ver este curso.

51
00:03:28,153 --> 00:03:31,900
No te preocupes si nunca has escrito
TypeScript antes,

52
00:03:32,039 --> 00:03:35,400
todavía serás capaz de seguir
con el contenido.

53
00:03:35,800 --> 00:03:40,500
Además, no nos centraremos
en los fundamentos y la sintaxis

54
00:03:40,525 --> 00:03:42,567
de las herramientas de prueba en este curso,

55
00:03:42,700 --> 00:03:46,467
sino más bien en el proceso
de desarrollo basado en pruebas.

56
00:03:47,146 --> 00:03:49,776
Por lo tanto,
si eres nuevo en las pruebas,

57
00:03:49,801 --> 00:03:53,167
puede que merezca la pena consultar
la documentación de Vue Test Utils

58
00:03:53,192 --> 00:03:57,267
o consultar nuestro curso
sobre cómo probar componentes Vue.

59
00:03:57,613 --> 00:04:01,933
He dejado enlaces para estos dos
recursos en la descripción de abajo.


