6 videos • 📅 2025-03-19 09:00:00 America/Bahia_Banderas
1:38
2025-03-19 13:02:19
5:09
2025-03-20 09:04:50
1:01:32
2025-03-20 09:32:49
4:31
2025-03-20 09:35:15
31:01
2025-03-20 10:19:57
17:34
2025-03-20 15:02:37

Visit the Agile Software Testing course recordings page

United Arab Emirates - Agile Software Testing Overview

                WEBVTT

00:00:00.000 --> 00:00:16.080
acceder a la url, por ahi veo que no, ella lo esta descargando, ahi es mas que pudo descargarlo

00:00:17.640 --> 00:00:33.720
ahi también creo que ya lo esta descargando, ah ya lo descargo, excelente

00:00:33.720 --> 00:00:39.960
justo lo que esta haciendo la mahi es lo correcto, una vez que ya tengan el nuevo archivo, bueno

00:00:39.960 --> 00:00:46.080
la nueva carpeta, hay que volver a eliminar los contenedores y crearlos con el contenido

00:00:46.080 --> 00:00:52.860
que tenemos ahi en el laboro que el compos, creo que es el mismo, pero bueno, no esta

00:00:52.860 --> 00:01:00.580
de mas eliminarlos y nos volvemos a recrear, cuando puedan acceder al contenedor de .net

00:01:00.580 --> 00:01:08.000
me avisan, ahi es donde hacemos la pauta y les vuelvo a mostrar como ejecutar el

00:01:10.220 --> 00:01:16.740
contenedor, mientras en lo que eso sucede, y ahi que me avisen, yo voy a ver si ya

00:01:16.740 --> 00:01:33.060
levanto, ya me levanto la, entonces excelente, ahi dejamos el code share, para futuras referencias

00:01:35.480 --> 00:01:44.280
y por cierto ustedes tienen en sus, en su empresa restricciones como de firewalls, reglas,

00:01:44.420 --> 00:01:50.680
no se, por ahi de que les impida descargar docker o algo asi, o son libres de ambientar

00:01:50.680 --> 00:02:05.180
ah, externo, si me imagino, ahi hagan su peticion colectiva para que les, entremos

00:02:05.180 --> 00:02:08.620
por favor al de punto en excelente, y una vez que estes ahi adentro amigo, ya ahi

00:02:08.620 --> 00:02:15.220
me espera, va, me avisa a escribir, lo puedes colocar en donde tu quieras, yo te recomiendo

00:02:15.220 --> 00:02:20.060
que literal reemplaces la carpeta que existia por la nueva, que creo que esta

00:02:20.060 --> 00:02:30.260
en el escritorio si no mal recuerdo, si esta en el escritorio, ahi tal cual, reemplazala

00:02:36.160 --> 00:02:42.980
ahi la duda que pregunto, ahi pues realmente es valida, tu lo puedes poner en donde tu

00:02:42.980 --> 00:02:47.980
quieras, lo unico importante es asegurarnos de que cuando corramos el comando docker

00:02:47.980 --> 00:02:54.380
compose op, accedamos obviamente a la ruta en donde esta el archivo docker compose,

00:02:54.860 --> 00:03:01.140
entonces no importa la ruta, lo que importa es en donde va a estar, que se ejecute

00:03:01.140 --> 00:03:05.520
dentro de ese mismo archivo

00:03:16.400 --> 00:03:23.480
y en todos, quien mas, ademas de noe, sergio ya tambien ahi tiene, el ios ya esta dentro

00:03:23.480 --> 00:03:28.900
del container, perfecto, ya nada mas nos falta el glasio, bien ahi, vamos a usar

00:03:28.900 --> 00:03:33.520
ahi un par de minutitos mas, y ya le seguimos, y en caso de que a ustedes les

00:03:33.520 --> 00:03:40.980
quepo este, ahi ahorita hacemos otra, listo ahi tambien ya esta, y ahi nacional nos

00:03:40.980 --> 00:03:47.500
le falta por ahi un comando, excelente, bueno vamos a continuar, entonces otra vez

00:03:47.500 --> 00:03:52.460
por favor me ayudan poniendome atención a mi, les voy a mostrar como levantamos

00:03:52.460 --> 00:03:57.620
el api y ahorita lo hacen ya en su maquina, basicamente para levantar el api es una

00:03:57.620 --> 00:04:02.840
vez que yo ya me meti al contenedor, si, yo voy a estar adentro de la carpeta

00:04:02.840 --> 00:04:08.640
workspace, cuando ustedes entran, lo que hay que hacer es meternos un nivel mas adentro

00:04:08.640 --> 00:04:14.840
y nos vamos a meter a la carpeta msdemo, porque ahi adentro esta todo nuestro

00:04:16.040 --> 00:04:20.800
aplicacion, entonces le dan cd msdemo y obviamente adentro del contenedor

00:04:20.800 --> 00:04:25.540
y ya que esten ahi adentro ya vamos a poder ejecutar los comandos que les voy a

00:04:25.540 --> 00:04:29.960
mostrar, los voy a señalar, en la nueva hoja de chuleta que ustedes ya tienen

00:04:29.960 --> 00:04:36.400
ya obviamente van a tener la version mas reciente, la ultima, van a ver una, perdon

00:04:36.400 --> 00:04:42.280
un bloque de código que esta en la linea 86, en la linea de la 86 a la 92

00:04:43.000 --> 00:04:47.180
basicamente pueden seleccionar todos esos comandos, les van a copiar y los

00:04:47.740 --> 00:04:51.960
ejecutan dentro de la carpeta que les acabo de comentar, que es la msdemo

00:04:52.760 --> 00:04:59.880
estan ahi, simplemente le han clic derecho, pegar y ya, en automatico

00:04:59.880 --> 00:05:04.980
si lo hacen como les dije, pues es mas comodo, los comandos se van a

00:05:04.980 --> 00:05:09.020
ejecutando secuencialmente, va, entonces

00:05:10.360 --> 00:05:13.720
que hacen estos comandos, basicamente van a borrar

00:05:14.360 --> 00:05:19.200
van a recrear la cachet, van a quitar el obj, van a quitar de las pruebas

00:05:19.200 --> 00:05:23.980
tambien ese obj, van a hacerle una limpieza, van a hacer un restore

00:05:23.980 --> 00:05:27.640
van a hacer nuevamente un build, y despues de que hagan ese build

00:05:27.640 --> 00:05:31.640
ya van a poder ejecutar con el comando .net run

00:05:32.640 --> 00:05:35.360
la url que se encuentra en localhost

00:05:35.360 --> 00:05:40.420
en el puerto 5000, vamos a hacer una aclaracion respecto a esto

00:05:40.420 --> 00:05:44.040
esto de aqui, quiere decir que corra localhost

00:05:44.040 --> 00:05:47.640
en el, es la direccion host interna

00:05:48.200 --> 00:05:51.860
de la maquina, si, por eso es que lo detecta, cuando yo

00:05:51.860 --> 00:05:55.680
ejecuto este comando estoy adentro del contenedor, y obviamente pues dentro

00:05:55.680 --> 00:05:59.980
del contenedor localhost se llama asi 0.0.0.0

00:05:59.980 --> 00:06:03.400
y que puerto quiero que exponga, el 5000

00:06:03.400 --> 00:06:07.560
como nosotros ya habiamos visto aqui en el compose

00:06:07.560 --> 00:06:12.100
si, estamos ahora accediendo a este puerto que acabo de seleccionar

00:06:12.100 --> 00:06:15.900
al de la derecha, ese puerto que esta, que ahi acabo de mover

00:06:16.780 --> 00:06:19.760
ese puerto, es el que esta dentro de la maquina

00:06:19.760 --> 00:06:23.780
por eso es que yo lo necesito exponer en ese puerto, para que

00:06:23.780 --> 00:06:27.660
al externo tambien pueda acceder al mismo puerto 5000

00:06:27.660 --> 00:06:31.580
y me haga el match con la aplicacion, sale

00:06:31.580 --> 00:06:35.340
entonces si quieren ayuden a ejecutar estos comandos

00:06:35.340 --> 00:06:39.580
y finalmente vemos la, bueno, vamos a ver el ultimo paso

00:06:39.580 --> 00:06:43.840
una vez que corren esos comandos, lo unico que hay que hacer es acceder al

00:06:43.840 --> 00:06:47.440
endpoint que yo le llame como de health check

00:06:47.440 --> 00:06:51.740
que ese endpoint es basicamente el de la aplicacion

00:06:51.740 --> 00:06:55.220
que tenia por default.net, lo vamos a copiar en la linea 100

00:06:55.220 --> 00:07:00.060
vamos a pegar eso en un navegador, si, le vamos a dar

00:07:00.060 --> 00:07:04.200
pegar e ir, y con eso van a ver esta respuesta

00:07:04.860 --> 00:07:08.380
una vez que ustedes tengan esa respuesta ya con eso vamos a poder continuar

00:07:08.380 --> 00:07:11.560
pero basicamente esto nos estaria diciendo que ya esta arriba

00:07:12.200 --> 00:07:16.120
el backend, si, esa es la respuesta que ustedes deberian de tener

00:07:16.120 --> 00:07:19.860
como salir, entonces si quieren ayudenme

00:07:19.860 --> 00:07:23.300
porfa a llevar esos comandos y

00:07:23.860 --> 00:07:26.200
le vamos continuar, sale

00:07:27.420 --> 00:07:31.900
esto es lo que van a ver en la salida de la consola cuando ejecutan los comandos

00:07:31.900 --> 00:07:36.040
ustedes tienen que ver esta parte, vale, no se si tienen

00:07:36.040 --> 00:07:39.980
alguna duda o pregunta, si no, adelante pueden ir haciendo

00:07:39.980 --> 00:07:44.160
la ejecucion de comandos, y yo mientras los voy a ir

00:07:45.260 --> 00:07:47.880
monitoreando, por ahi Sergio veo que ya tiene

00:07:47.880 --> 00:07:51.880
la respuesta del API, bueno del API

00:07:54.380 --> 00:07:55.980
que viene por default

00:07:55.980 --> 00:07:59.880
tambien el yot, perfecto

00:07:59.880 --> 00:08:03.680
los demas tambien ya van mas o menos, ahi tambien Anaia lo tiene

00:08:04.500 --> 00:08:08.220
excelente, muy bien, excelente, tambien no ella

00:08:08.220 --> 00:08:12.020
pudo ejecutar el endpoint

00:08:14.140 --> 00:08:16.220
perfecto, y vamos a ver

00:08:17.360 --> 00:08:20.600
ahi Ignacio te falta ejecutar el ultimo comando

00:08:20.600 --> 00:08:23.760
porque ahi exacto, a ver dejame ver si puedo ver en tu maquina

00:08:23.760 --> 00:08:28.440
ah listo, si ya lo ejecutaste, ahi hay que, es que como que el bloque

00:08:28.440 --> 00:08:31.780
no ejecuta el ultimo, entonces el unico, me falta decirles el ultimo

00:08:33.920 --> 00:08:36.320
exacto, y entonces Ignacio ya tambien ahi lo tienes

00:08:36.320 --> 00:08:40.240
entonces ya todos estamos a la par, ya todos tenemos eso, entonces ahora

00:08:40.240 --> 00:08:44.320
para poder yo entrar a la API que ahorita

00:08:44.320 --> 00:08:47.540
desblozamos o que destazamos, que fue la del login

00:08:47.540 --> 00:08:51.820
lo unico que hay que hacer es meternos nuevamente aqui en la chuleta

00:08:51.820 --> 00:08:56.680
y aqui van a ver un, dejame ver si tienen el post

00:08:56.680 --> 00:09:00.040
ahi no lo tienen, ok, lo que vamos a hacer es

00:09:00.040 --> 00:09:03.940
vamos a abrir postman, ustedes deben de tener postman ahi instalado

00:09:05.060 --> 00:09:08.180
abranlo por favor y ahorita yo les voy a pasar el call

00:09:08.180 --> 00:09:11.720
para que lo puedan importar y podamos hacer la peticion

00:09:11.720 --> 00:09:16.820
pero desde postman, si, entonces yo ahorita se las estoy mostrando ahi

00:09:16.820 --> 00:09:20.020
si se fijan ya interactue y pude probarla

00:09:20.020 --> 00:09:24.760
entonces simplemente es copiar este call y se los voy a pasar

00:09:24.760 --> 00:09:28.200
dejenme ver si ya lo puedo volver a pegar aca y si no se los pego

00:09:28.200 --> 00:09:31.520
en el mismo code shell que teniamos ahi este

00:09:32.800 --> 00:09:35.720
trabajando, parece que no, no, no se ve pegando

00:09:36.700 --> 00:09:39.720
esta bien raro, no se porque todo el tiempo ayer estuve

00:09:46.140 --> 00:09:47.180
ah perfecto

00:09:47.180 --> 00:09:50.720
ah ya tienen el login ahi, ah pues si se quedo perfecto

00:09:50.720 --> 00:09:54.160
entonces si quieres haganle post

00:09:54.160 --> 00:10:00.680
y diganme si pueden, si si les esta respondiendo el login

00:10:01.780 --> 00:10:03.560
excelente, perfecto, muy bien

00:10:03.560 --> 00:10:06.520
entonces interactuen ahi con la, con el API por favor

00:10:06.520 --> 00:10:09.380
manden por ejemplo un admin 1,2,3,4,5

00:10:09.380 --> 00:10:13.480
y vean que sucede, manden parametros vacios

00:10:13.480 --> 00:10:17.220
no se, esto que vamos a estar haciendo es un primer

00:10:17.220 --> 00:10:21.600
modo de prueba, aqui es como si estuviéramos haciendo una prueba manual

00:10:22.680 --> 00:10:25.140
eh obviamente aqui vamos a hacer una pauta

00:10:25.140 --> 00:10:29.220
para explicar un poquito el escenario de este

00:10:29.220 --> 00:10:32.780
primero voy a hacer la pregunta, quienes ya trabajaban con postman?

00:10:32.840 --> 00:10:36.280
quienes si lo conocen? yo me imagino que la mayoría

00:10:36.960 --> 00:10:40.280
pero no se, si todos? ok perfecto

00:10:41.600 --> 00:10:44.280
bien entonces eh

00:10:45.080 --> 00:10:48.600
pues eso ahi, ahi postman es un cliente que nos permite

00:10:48.600 --> 00:10:52.480
interactuar con las APIs si, eh hacer peticiones tanto

00:10:52.480 --> 00:10:56.560
res como swap, eh también del tipo gRPC

00:10:57.260 --> 00:11:00.220
draftql, ese tipo de peticiones no, en este caso

00:11:00.220 --> 00:11:04.260
estamos haciendo algo muy sencillo con pulltonet, no que es como

00:11:04.260 --> 00:11:09.320
su número mole y listo, estamos ahi haciendo pruebas

00:11:11.380 --> 00:11:12.720
perfecto entonces

00:11:12.720 --> 00:11:16.160
ya logramos hacer la peticion ya tenemos con esto nuestro

00:11:16.160 --> 00:11:20.400
ambiente de backend encendido, ahora vamos

00:11:20.400 --> 00:11:24.300
a revisar la parte del front, vamos a revisar como esta construido

00:11:24.300 --> 00:11:28.400
un formulario de login y como finalmente se

00:11:28.400 --> 00:11:31.320
conecta con este backend para interactuar

00:11:31.320 --> 00:11:35.640
para eso yo eh obviamente aqui ya tengo

00:11:35.640 --> 00:11:39.540
el formulario corriendo si, si ustedes

00:11:39.540 --> 00:11:43.100
acceden a la misma url que yo que por ahi tambien la chuleta se encuentra

00:11:43.100 --> 00:11:47.380
es el localhost 5000 diagonal login y con eso van a poder

00:11:47.380 --> 00:11:51.500
renderizar este formulario si, este formulario vamos a

00:11:51.500 --> 00:11:55.120
ver como se desarrolla, pero basicamente es un formulario

00:11:55.120 --> 00:11:59.480
chiquito es lo que les decía en aplicacion en la cual eh yo tengo ahi

00:11:59.480 --> 00:12:04.360
un campo email, un campo password, pequeño formato ahi de estilos

00:12:04.360 --> 00:12:08.660
eh y listo, voy a poder ejecutar aqui

00:12:08.660 --> 00:12:11.680
emails, voy a poder poner mas bien algo

00:12:11.680 --> 00:12:15.500
una peticion y voy a poder enviarlo ahi bueno ahi nos sale un

00:12:15.500 --> 00:12:19.480
define, hay algo que corregir, sin embargo bueno la idea es que

00:12:20.500 --> 00:12:23.620
existan estas validaciones, yo ya tengo

00:12:23.620 --> 00:12:27.560
esto, ya tengo esto, si te fijas ya cuando mando

00:12:27.560 --> 00:12:31.220
el formato correcto eh pues la

00:12:31.220 --> 00:12:35.640
la, el mensaje es correcto, justo por esto

00:12:35.640 --> 00:12:39.440
es porque yo necesito de hecho bueno creo que salio

00:12:39.440 --> 00:12:43.320
salio sin querer respecto a que eso era mas bien una practica

00:12:43.320 --> 00:12:47.600
para ustedes detectar eh como testers digamos

00:12:47.600 --> 00:12:51.260
posibles mejoras o cambios o errores dentro del aplicativo, pero bueno

00:12:51.260 --> 00:12:55.280
ya no importa ya salio aqui, el eh aqui por ejemplo nosotros podemos

00:12:55.280 --> 00:12:59.120
debatir que una persona cuando este probando que tipo

00:12:59.120 --> 00:13:03.280
de hecho aqui vamos a empezar a hacer una serie de debates, preguntas

00:13:03.280 --> 00:13:07.240
aqui por favor ayuden a participar, que tipo de pruebas ustedes

00:13:07.240 --> 00:13:11.280
como testers se les ocurre que podriamos hacerle a este pequeño formulario

00:13:12.560 --> 00:13:15.500
vamos a ir repasando las

00:13:15.500 --> 00:13:19.260
los escenarios conforme a lo que hemos visto un poco de teoria

00:13:20.140 --> 00:13:23.340
eh no se aqui lo que quiero es ver un poquito es

00:13:23.340 --> 00:13:26.620
el entrenamiento de que todos tengamos como un panorama

00:13:26.620 --> 00:13:31.060
de que se podria probar en una aplicacion del tipo login

00:13:31.060 --> 00:13:34.920
quien quisiera empezar a darme ahi como su opinion

00:13:34.920 --> 00:13:39.340
quien tiene una nocion, quien cree que pueda definir ahi como

00:13:39.340 --> 00:13:42.720
algunos, algunas pruebas que se puedan hacer

00:13:43.340 --> 00:13:47.160
y ademas ayudenme por favor a categorizarla

00:13:47.160 --> 00:13:50.760
ya sea que sea una prueba funcional o una prueba no funcional

00:13:50.760 --> 00:13:54.500
sale, entonces esto es un ejercicio, es una practica

00:13:54.500 --> 00:13:58.800
quien quisiera comenzar, bueno para empezar no se si ya todos pudieron correr el login

00:13:58.800 --> 00:14:02.700
si, excelente, que te parece si empiezas tu Noe

00:14:04.560 --> 00:14:06.760
que abriste ahi el microfono

00:14:07.460 --> 00:14:10.660
que te parece si tu me das una prueba funcional

00:14:12.740 --> 00:14:14.840
recordando el concepto de ayer de la prueba funcional

00:14:14.840 --> 00:14:18.240
no se si te queda ahi el nombre, recuerda

00:14:18.240 --> 00:14:20.200
cual es una prueba funcional por ejemplo

00:14:23.840 --> 00:14:26.160
de que nos los ha llenado

00:14:26.160 --> 00:14:30.160
claro, claro, excelente, eso que mencionaste

00:14:30.160 --> 00:14:34.680
es una prueba funcional porque debe de funcionar tal cual

00:14:34.680 --> 00:14:38.340
como estas diciendo que no permita el envio

00:14:38.340 --> 00:14:42.380
de campos que no estan vacios, te voy a hacer una

00:14:42.380 --> 00:14:45.720
pregunta bueno, si no estan llenos claro

00:14:45.720 --> 00:14:49.780
esa es una, que fíjate que ahi a lo mejor en términos de UX

00:14:50.440 --> 00:14:53.200
eso lo aprendí de un UX precisamente

00:14:53.720 --> 00:14:57.880
me decía que es mejor dejárselo habilitado porque si yo se los deshabilito

00:14:57.880 --> 00:15:01.840
la persona piensa que no sirve el botón y va a decir

00:15:01.840 --> 00:15:06.900
bueno y como lo habilito y no hay una forma de que el entienda que tiene que llenar los campos

00:15:07.560 --> 00:15:10.160
entonces la idea es como dejar que interactue

00:15:10.160 --> 00:15:14.000
y sea la interfaz la que le diga que esta pasando

00:15:15.460 --> 00:15:17.920
eso que acabamos de tener ahorita entre nosotros

00:15:17.920 --> 00:15:21.700
es un dialogo de que estamos poniéndonos de acuerdo

00:15:21.700 --> 00:15:25.380
en definir una funcionalidad que es lo que ayer veíamos

00:15:26.300 --> 00:15:29.960
stakeholders se ponen, se reúnen y empiezan a hacer una lluvia de ideas

00:15:29.960 --> 00:15:34.120
de decir bueno yo en otros lados he visto que se prueba asi, no yo en otros lados

00:15:34.120 --> 00:15:38.780
veo que si, y de nuestras ideas sale un parte aguas, una regla de negocio

00:15:38.780 --> 00:15:41.600
que va a dictar unas en la metodología de ahi

00:15:41.600 --> 00:15:45.680
cuando creamos nuestro backlog van a hacer un requerimiento

00:15:45.680 --> 00:15:50.100
funcional y ahi ya no va a haber un dime si diretes

00:15:50.100 --> 00:15:53.560
ahi se va a ir la regla tal cual y decir no

00:15:53.560 --> 00:15:57.620
esto va a estar deshabilitado y solamente se va a habilitar cuando el usuario

00:15:57.620 --> 00:16:01.660
llene los campos o como dijo diego va a estar

00:16:01.660 --> 00:16:05.380
va a estar el botón siempre prendido para que el usuario la riegue

00:16:05.380 --> 00:16:09.740
y la interfaz interactue con el, aqui le pude haber mandado un mensaje en vez de

00:16:10.680 --> 00:16:15.080
decirle llename los campos o no hay campos vacios

00:16:15.080 --> 00:16:19.060
una validacion, no se, sale, esto

00:16:19.900 --> 00:16:22.740
ahora, muy bien noe, muchisimas gracias por tu participacion

00:16:23.440 --> 00:16:28.720
ahora yo les voy a hacer a alguien mas con una pregunta y ese alguien va a ser

00:16:29.580 --> 00:16:33.280
eliot, eliot te voy a preguntar

00:16:34.260 --> 00:16:36.560
eso que dijo noe

00:16:36.560 --> 00:16:38.740
respecto al tema de poder validar

00:16:41.460 --> 00:16:43.840
los campos a ti

00:16:43.840 --> 00:16:47.820
te suena que es una validacion que va del lado del frontend o del lado del back

00:16:49.500 --> 00:16:51.040
de que no sean

00:16:51.800 --> 00:16:58.400
que no esten vacios, lo que explico noe

00:16:58.400 --> 00:17:02.740
noe dijo yo aqui podria probar que estos no me los dejen vacios

00:17:03.860 --> 00:17:04.900
a ti

00:17:10.120 --> 00:17:10.760
perfecto

00:17:11.840 --> 00:17:12.480
excelente

00:17:14.780 --> 00:17:17.000
alguien, alguien opina

00:17:17.820 --> 00:17:21.300
diferente, alguien tiene otra idea, vamos a ir haciendo un ejercicio

00:17:21.300 --> 00:17:24.900
yo voy a ir levantando los requerimientos, sale, el primero es validar

00:17:26.440 --> 00:17:28.800
campos nulos, ya salio

00:17:28.800 --> 00:17:32.780
nuestra idea, dentro de esos campos nulos

00:17:32.780 --> 00:17:35.160
yo pregunto

00:17:35.820 --> 00:17:38.500
va del lado del front o del back

00:17:39.840 --> 00:17:44.260
y ya eliot nos dijo que a el se le hace muy buena idea

00:17:45.660 --> 00:17:48.140
levantarlos tanto del front como del back

00:17:48.660 --> 00:17:52.880
si te fijas voy poniendo una lista de lo que vamos a

00:17:52.880 --> 00:17:56.400
tener que hacer porque esto es lo que le vamos a pasar al programador

00:17:56.400 --> 00:17:59.260
nosotros estamos ahorita en un rol de testers

00:17:59.260 --> 00:18:03.340
y nosotros estamos definiendo que es lo que se le debe

00:18:03.340 --> 00:18:07.500
de validar a los campos, aqui hay una primer validacion muy buena

00:18:07.500 --> 00:18:09.600
que es campos nulos

00:18:11.100 --> 00:18:14.700
una persona por ahi nos dijo que es eliot tanto en el front como en el back

00:18:15.260 --> 00:18:18.440
alguien opina igual, opina diferente

00:18:19.980 --> 00:18:23.260
todos estamos de acuerdo en que se debe validar tanto en el front como en el back

00:18:25.060 --> 00:18:26.520
excelente, yo tambien

00:18:26.520 --> 00:18:31.160
si me piden eso yo diria que esa validacion debe de ser

00:18:31.160 --> 00:18:34.320
tanto en el front como en el back, porque si yo

00:18:34.320 --> 00:18:38.140
hago modular mi software si mi back se lo puedo llevar

00:18:38.140 --> 00:18:42.040
a cualquier otra interfaz el servicio debe funcionar igual

00:18:42.040 --> 00:18:45.900
si yo mando información erronea

00:18:46.520 --> 00:18:50.020
debe de validarse, eso es lo que podemos probar

00:18:50.020 --> 00:18:53.520
si te fijas ahorita ya lo hicimos, aqui en el front no funciono

00:18:53.520 --> 00:18:55.600
entonces ahi ya tendremos que levantar un error

00:18:55.600 --> 00:19:00.500
no funciono el tema de los campos nulos, pero en el backend

00:19:00.500 --> 00:19:05.520
vamos a ver que pasa, si yo mandara un campo nulo que me diria ahi la aplicacion

00:19:06.240 --> 00:19:08.140
ahi me esta diciendo una decepcion

00:19:08.140 --> 00:19:12.980
y me esta diciendo una validacion fallo, un status 400 y me dice

00:19:12.980 --> 00:19:17.160
la contraseña es obligatoria, esta validandome el campo

00:19:17.160 --> 00:19:20.480
que no sea nulo, se me explico, entonces

00:19:20.480 --> 00:19:24.240
en el backend funciona, parece que si

00:19:24.240 --> 00:19:28.180
como me cercioro finalmente, ah pues no se

00:19:28.180 --> 00:19:32.480
voy a ver tambien si el email lo valida, exacto, y ahi me dice

00:19:32.480 --> 00:19:36.640
no es valido, me esta haciendo dos validaciones, eso es por el

00:19:36.640 --> 00:19:40.500
modelo que ahorita vamos a revisar, pero bueno al final a nosotros como

00:19:40.500 --> 00:19:44.480
testers nos importa que la aplicacion este funcionando, aqui

00:19:44.480 --> 00:19:48.420
pues estamos viendo como testers ya le estamos haciendo pruebas

00:19:48.420 --> 00:19:52.420
y pues estoy diciendo que digamos la aplicacion

00:19:53.340 --> 00:19:56.780
conforme a la idea que ustedes ahorita que

00:19:56.780 --> 00:19:59.920
ustedes le estan levantando los requerimientos

00:19:59.920 --> 00:20:04.360
esta funcionando, entonces en el backend parece que si funciona, en el front

00:20:04.360 --> 00:20:08.320
no, esto es porque vamos a levantar tareas en gira

00:20:08.320 --> 00:20:12.700
le vamos a ir asignando a un desarrollador, que es lo que

00:20:12.700 --> 00:20:15.520
vimos como en nuestras pruebas que esta pasando

00:20:15.520 --> 00:20:18.900
estamos haciendo testings, sale

00:20:19.520 --> 00:20:23.560
le estamos diciendo, es una pantalla muy

00:20:23.560 --> 00:20:27.740
sencilla, pues ahi le vamos a decir que es lo que esta fallando, sale

00:20:27.740 --> 00:20:31.720
nosotros ahorita estamos haciendo una validacion, una lluvia

00:20:31.720 --> 00:20:35.220
de ideas, digamos con un minimo de orden

00:20:35.220 --> 00:20:39.660
pero otra estructura podria ser separarlo por funcionalidad, por ejemplo

00:20:39.660 --> 00:20:43.360
yo puedo listar el frontend, todo lo que

00:20:43.360 --> 00:20:47.640
encuentre, y dentro del backend igual, puedo agarrar el backend

00:20:47.640 --> 00:20:51.060
y aqui empezar a hacer todas las validaciones que se me ocurran

00:20:51.060 --> 00:20:54.780
o todo el analisis que se me ocurra, cualquiera de los dos enfoques es bueno

00:20:54.780 --> 00:20:59.900
el chiste es tener orden, e incluso ustedes pueden tener un template mas adelante

00:20:59.900 --> 00:21:03.000
que les permita levantar esos requerimientos

00:21:04.000 --> 00:21:07.060
y todo nace a traves de que ustedes estan haciendo

00:21:07.060 --> 00:21:11.440
una observacion y de la expertise que tienen del sentido

00:21:11.440 --> 00:21:15.260
comun, etc, etc, todo esto es lo que se escucha

00:21:16.120 --> 00:21:16.800
ahora

00:21:19.440 --> 00:21:23.440
a quien creen que le podemos preguntar

00:21:24.020 --> 00:21:27.440
que tipo de mensajes vamos a manejar

00:21:28.000 --> 00:21:31.440
para que la aplicacion responda de forma

00:21:32.680 --> 00:21:35.500
adecuada, o le notifique al usuario de

00:21:35.500 --> 00:21:38.480
forma adecuada, que se comunique con el usuario

00:21:42.620 --> 00:21:45.400
la parte de que los campos nos tambien

00:21:45.400 --> 00:21:50.640
vamos a suponer que aqui no sale un define y que sale el mensaje de campos

00:21:50.640 --> 00:21:54.840
son validos, digo son obligatorios

00:21:54.840 --> 00:21:58.640
yo puedo poner un mensaje que diga los campos son obligatorios, pero a lo mejor

00:21:58.640 --> 00:22:01.480
alguien dice no no no, hay que ser mas

00:22:03.000 --> 00:22:06.600
amigables con el usuario y hay que decir, el campo email y el campo

00:22:06.600 --> 00:22:10.500
es obligatorio, si me explico ya hay una variedad de mensajes

00:22:10.500 --> 00:22:14.700
para que no me pongan a mi hacer el mensaje

00:22:14.700 --> 00:22:18.240
cambiarlo en que se me ocurrio, para que no hayan muchos

00:22:18.240 --> 00:22:21.900
quien creen que deberia tomar la decision de cual mensaje poner

00:22:22.760 --> 00:22:26.420
y quien de nuestros compañeros de aqui creen que pueda ser esa persona

00:22:26.420 --> 00:22:30.540
que por ahi yo me acuerdo que Arturo era como el project manager, si estan de acuerdo

00:22:30.540 --> 00:22:34.020
que tiene que ser el, digamos un project manager tal vez, un product owner

00:22:34.020 --> 00:22:37.380
por ahi, ahi dice que si

00:22:39.860 --> 00:22:42.280
perfecto, entonces que mensajes crees

00:22:42.280 --> 00:22:45.660
que puedan ponerse por ahi Sergio

00:22:45.660 --> 00:22:50.280
digamos tu ya hablaste con las gerencias ya te dijeron

00:22:50.280 --> 00:22:53.160
que mensaje podrias poner, como se te ocurre ahi

00:22:53.160 --> 00:22:54.420
como poner

00:22:59.020 --> 00:23:00.720
perfecto, algo asi

00:23:00.720 --> 00:23:04.740
ok, aqui la idea es mas que nada como que ustedes vayan teniendo como

00:23:04.740 --> 00:23:07.580
la idea de, con el rol que tenemos

00:23:09.200 --> 00:23:12.680
que cosas van de tu cancha y que

00:23:12.680 --> 00:23:16.840
cosas van en la cancha de otras personas, lo que decíamos

00:23:16.840 --> 00:23:20.800
ayer en el concepto de los stakeholders, todos los que estamos

00:23:20.800 --> 00:23:24.760
involucrados, quienes somos quien, esto que estamos haciendo

00:23:25.340 --> 00:23:28.600
ahorita, es su dia a dia me imagino

00:23:28.600 --> 00:23:32.620
es lo que ustedes ven en su dia a dia, no se si

00:23:32.620 --> 00:23:36.680
mas o menos le atinea a que Sergio hace ese tipo de

00:23:36.680 --> 00:23:41.020
validaciones, el trae esa informacion, el trae los requerimientos que hay que hacer

00:23:41.020 --> 00:23:44.840
si ahi, por ahi no es, si por ahi

00:23:44.840 --> 00:23:48.560
eliot, son los que se ponen a desarrollar, todo eso

00:23:49.060 --> 00:23:51.640
no se si vamos en el mismo canal

00:23:53.240 --> 00:23:56.660
en cuanto a la practica, y sobretodo si son los roles

00:23:59.100 --> 00:23:59.860
adecuados

00:23:59.860 --> 00:24:01.540
o alguien tiene un rol diferente

00:24:10.380 --> 00:24:11.140
exacto

00:24:12.420 --> 00:24:15.960
perfecto, muy bien, basicamente todos son

00:24:16.660 --> 00:24:20.360
todos los logos, son project managers, son

00:24:20.360 --> 00:24:21.180
desarrolladores

00:24:22.820 --> 00:24:24.600
exacto, ah perfecto

00:24:25.180 --> 00:24:29.040
bueno entonces con mas razon todos y cada uno cualquiera de ustedes

00:24:29.040 --> 00:24:33.080
le puedo preguntar practicamente cualquier cosa y

00:24:33.080 --> 00:24:37.300
pues pueden responderlo, sin embargo para que se vea un poquito como

00:24:37.300 --> 00:24:41.180
la dinamica, vamos a tomar esos roles, Sergio va a ser nuestro project manager

00:24:41.700 --> 00:24:44.920
todos los demas somos del equipo de desarrollo

00:24:46.480 --> 00:24:49.460
vamos a alternar roles entre desarrollo y tester

00:24:50.400 --> 00:24:53.400
y pues bueno asi es como vamos a estar trabajando

00:24:53.400 --> 00:24:57.460
este primer ejercicio que hicimos, asi como practica de rebotar, de bajar requerimientos

00:24:58.020 --> 00:25:01.480
y demas, pues son las cosas que ahora entiendo

00:25:01.480 --> 00:25:05.500
pues son su dia a dia, ustedes van teniendo ahi como las llamadas

00:25:05.500 --> 00:25:09.580
con los involucrados, los usuarios finales, y van haciendo ese

00:25:09.580 --> 00:25:13.700
levantamiento de requerimientos que despues se traduce a un

00:25:14.300 --> 00:25:17.540
a una metodologia agile, si en donde

00:25:17.540 --> 00:25:21.020
hay un tablero levantan las historias de usuario

00:25:21.540 --> 00:25:25.540
y van dandole ese seguimiento, entonces listo

00:25:26.060 --> 00:25:29.900
no se si por ahi tengan alguna duda, alguna pregunta, todos lograron

00:25:29.900 --> 00:25:33.540
acceder al formulario, perfecto

00:25:34.180 --> 00:25:38.020
muy bien, entonces ya para terminar esta primer practica

00:25:38.020 --> 00:25:41.760
vamos a hacer ya, entrar en materia de lo que es

00:25:41.760 --> 00:25:46.160
una prueba unitaria, si, vamos a ver como se ejecuta

00:25:46.160 --> 00:25:49.660
la prueba para que nos sirve, retomemos un poquito

00:25:49.660 --> 00:25:53.820
y vamos a ver pues como se desarrolla

00:25:53.820 --> 00:25:58.640
como se interpreta, basicamente

00:25:58.640 --> 00:26:01.920
lo que deciamos ayer, la prueba unitaria

00:26:01.920 --> 00:26:05.160
es una prueba que esta del tipo funcional

00:26:05.160 --> 00:26:10.260
son pruebas funcionales, una prueba unitaria basicamente lo que

00:26:10.260 --> 00:26:13.960
nos permite es hacer una prueba dentro de un modulo

00:26:13.960 --> 00:26:17.960
dentro del mi desarrollo, si, que valide la funcionalidad

00:26:18.540 --> 00:26:21.860
de dicha funcion, valga la redundancia

00:26:21.860 --> 00:26:25.280
dentro del código sabemos, los que nos dedicamos

00:26:25.960 --> 00:26:30.100
ya entiendo son todos ustedes, nos dedicamos a la parte del desarrollo

00:26:30.100 --> 00:26:32.860
sabemos que hay diferentes

00:26:34.560 --> 00:26:38.040
entidades que entran en la programacion

00:26:38.040 --> 00:26:42.220
ya sea de la programacion, el paradigma que ocupemos ya sea programacion

00:26:42.220 --> 00:26:46.220
funcional, ya sea programacion declarativa, ya sea programacion

00:26:47.840 --> 00:26:49.780
por programacion orientada a objetos

00:26:49.780 --> 00:26:55.320
no se, el paradigma que tu ocupes, finalmente vas a tener

00:26:55.320 --> 00:26:58.080
reglas o entidades que

00:26:58.080 --> 00:27:02.320
se relacionan e interactuan con el desarrollo, que tu vas a

00:27:02.320 --> 00:27:06.020
poder ejecutar los bloques, entonces en la programacion orientada a objetos

00:27:06.020 --> 00:27:10.260
que es el paradigma que aqui tenemos, cortesia de .net

00:27:10.260 --> 00:27:13.640
nosotros tenemos una

00:27:14.820 --> 00:27:18.320
forma de poder referirnos al código, sabemos

00:27:18.320 --> 00:27:22.080
que se pueden hacer clases, que pueden haber interfaces

00:27:22.080 --> 00:27:26.060
que pueden haber metodos, que pueden haber objetos

00:27:26.060 --> 00:27:29.800
que pueden haber utilidades, que bueno, en general

00:27:29.800 --> 00:27:34.620
un todo, todas y cada una de esas entidades

00:27:34.620 --> 00:27:38.680
que yo antes les mencione, se pueden probar

00:27:38.680 --> 00:27:42.740
y se pueden, no tanto se pueden sino que se deben probar

00:27:42.740 --> 00:27:47.060
en un paradigma de test, bueno ahi ya solo el pomodoro, denme nada mas

00:27:47.060 --> 00:27:50.900
4 minutitos y ya cerramos el

00:27:50.900 --> 00:27:51.960
el siguiente comodoro

00:27:54.740 --> 00:27:58.820
basicamente lo que yo trato de decirles es que una prueba funcional, una prueba

00:27:58.820 --> 00:28:02.340
unitaria, lo que me permite hacer es

00:28:04.100 --> 00:28:06.580
ver con mucho mayor

00:28:06.580 --> 00:28:10.380
digamos, con mucho mayor detallo, mucho

00:28:10.380 --> 00:28:14.600
mayor aislamiento mejor dicho, el código en unidades

00:28:14.600 --> 00:28:17.980
funcionales, en funcionales

00:28:18.580 --> 00:28:22.760
unidades unitarias, vamos a decirlo asi, o en bloques

00:28:22.760 --> 00:28:26.800
unitarios y poder aislar las piezas o los componentes

00:28:26.800 --> 00:28:29.860
y probarlos por separado

00:28:30.580 --> 00:28:34.820
con el objetivo de ver como si fuera una caja negra, en la que ayer

00:28:34.820 --> 00:28:38.800
platicamos, la caja negra es al cual una entidad

00:28:38.800 --> 00:28:42.740
que esta obscura al publico, nadie la puede, nadie

00:28:42.740 --> 00:28:46.640
puede ver que hay adentro, pero lo que si sabemos es que tiene entradas y tiene

00:28:46.640 --> 00:28:50.780
salidas, eso es lo que nosotros necesitamos en una prueba

00:28:51.720 --> 00:28:54.960
unitaria, una prueba unitaria la va a hacer

00:28:55.940 --> 00:28:58.800
ahi bueno, quisiera tener un poquito de noción, les

00:28:58.800 --> 00:29:02.820
pregunto, ustedes creo que ayer me dicen que no estan tan habituados en hacer

00:29:02.870 --> 00:29:07.030
pruebas, como que si las hacen, pero como que no les dan como el seguimiento o algo

00:29:07.030 --> 00:29:10.290
así, o estoy mal

00:29:10.870 --> 00:29:14.990
ah perfecto, pero ustedes digamos si las han sabido crear o las han podido crear

00:29:14.990 --> 00:29:18.870
desde cero, excelente, ah perfecto

00:29:21.690 --> 00:29:22.730
ah perfecto

00:29:22.730 --> 00:29:27.130
ah listo, ok, bueno pues entonces eso da el panorama

00:29:27.130 --> 00:29:30.870
para saber como podemos hacerlo, aqui

00:29:30.870 --> 00:29:34.830
yo les voy a mostrar los comandos ahorita que regresemos del descanso

00:29:34.830 --> 00:29:38.910
como se crea el proyecto de pruebas, sale, pero ahorita

00:29:38.910 --> 00:29:42.930
nada mas como para ya cerrarlo, vamos a hacer, bueno creo

00:29:42.930 --> 00:29:46.550
no se si tengan alguna duda de lo que es la prueba unitaria

00:29:47.110 --> 00:29:50.590
basicamente si yo tengo, ahorita que hablabamos de mi controlador

00:29:50.590 --> 00:29:55.010
por ejemplo del login, si, la prueba unitaria lo que me va a permitir hacer es

00:29:55.010 --> 00:29:59.090
probar todos y cada uno de estos metodos

00:29:59.090 --> 00:30:03.050
y validar que funcione, una prueba unitaria

00:30:03.050 --> 00:30:07.890
basicamente es otro, es un programa, si, es un programa, es una aplicación

00:30:07.890 --> 00:30:11.370
es otra clase, si, es otro estilo de programación

00:30:11.370 --> 00:30:15.090
que cuando yo la programo, yo la ejecuto

00:30:15.090 --> 00:30:19.010
esa prueba lo que va a hacer es encargarse de pasar parámetros

00:30:19.010 --> 00:30:23.250
si, a las cajas negras, que en este caso el software es lo que

00:30:23.250 --> 00:30:27.050
está ahí adentro es nuestra caja negra, a la prueba unitaria no le importa

00:30:27.050 --> 00:30:30.870
como está o que hay de programación en tu blog

00:30:30.870 --> 00:30:35.410
a la prueba unitaria lo que le interesa son las entradas y las salidas, nada mas

00:30:35.410 --> 00:30:39.310
sale, entonces eso es lo que ahorita vamos a probar y vamos a revisar

00:30:39.310 --> 00:30:43.130
en nuestro archivo de pruebas como se está haciendo diferentes

00:30:43.130 --> 00:30:46.090
escenarios de prueba, vale, entonces

00:30:47.310 --> 00:30:51.450
vamos a tomar el pequeño descanso de 5 minutos

00:30:51.450 --> 00:30:55.130
y les parece si a las 11 en punto nos volvemos a ver

00:30:55.130 --> 00:30:58.770
y le seguimos con el tema de la prueba

00:30:58.770 --> 00:31:01.770
la ejecución excelente, entonces ahorita nos vemos