WEBVTT

1
00:00:04.340 --> 00:00:05.220
<00:00:04.340>Hello <00:00:05.132>everyone,

2
00:00:05.480 --> 00:00:09.900
<00:00:05.480>and <00:00:05.620>actually <00:00:05.760>I <00:00:05.900>am <00:00:06.040>so <00:00:06.180>glad <00:00:06.320>to <00:00:06.460>see <00:00:06.600>you <00:00:06.740>here <00:00:06.880>because

3
00:00:11.050 --> 00:00:15.180
<00:00:11.050>this <00:00:11.283>timeframe <00:00:11.516>is <00:00:11.750>so <00:00:11.983>early <00:00:12.216>and <00:00:12.450>yeah,

4
00:00:16.260 --> 00:00:18.900
<00:00:16.260>I <00:00:16.415>was <00:00:16.571>like, <00:00:16.726>okay, <00:00:16.882>am <00:00:17.037>I <00:00:17.193>awake? <00:00:17.348>Are <00:00:17.504>you <00:00:17.660>awake?

5
00:00:18.960 --> 00:00:21.860
<00:00:18.960>Is <00:00:19.100>everyone <00:00:19.240>awake <00:00:19.380>or <00:00:19.520>are <00:00:19.660>there <00:00:19.800>any <00:00:19.940>people <00:00:20.080>but <00:00:20.220>you <00:00:20.360>there?

6
00:00:21.920 --> 00:00:24.820
<00:00:21.920>And <00:00:22.075>so <00:00:22.231>alone <00:00:22.386>by <00:00:22.542>doing <00:00:22.697>that, <00:00:22.853>you <00:00:23.008>made <00:00:23.164>my <00:00:23.320>day.

7
00:00:24.820 --> 00:00:28.020
<00:00:24.820>So <00:00:24.960>thank <00:00:25.100>you <00:00:25.240>so <00:00:25.380>much <00:00:25.520>for <00:00:25.660>being <00:00:25.800>here. <00:00:25.940>And <00:00:26.080>don't <00:00:26.220>worry,

8
00:00:28.580 --> 00:00:31.780
<00:00:28.580>I <00:00:28.707>will <00:00:28.834>talk <00:00:28.961>about <00:00:29.089>testing <00:00:29.216>and <00:00:29.343>I <00:00:29.470>will <00:00:29.598>talk <00:00:29.725>about <00:00:29.852>performance. <00:00:29.979>However,

9
00:00:32.810 --> 00:00:34.700
<00:00:32.810>it's <00:00:33.090>nothing <00:00:33.370>athletic, <00:00:33.650>so <00:00:33.930>don't <00:00:34.210>worry,

10
00:00:34.940 --> 00:00:37.980
<00:00:34.940>I <00:00:35.140>don't <00:00:35.339>do <00:00:35.540>any <00:00:35.739>gym <00:00:35.940>exercises <00:00:36.140>or <00:00:36.339>stuff.

11
00:00:38.390 --> 00:00:42.660
<00:00:38.390>Let's <00:00:38.530>keep <00:00:38.670>performance <00:00:38.810>to <00:00:38.950>our <00:00:39.090>projects <00:00:39.230>or <00:00:39.370>application, <00:00:39.510>that's <00:00:39.650>our <00:00:39.790>tools.

12
00:00:43.640 --> 00:00:47.540
<00:00:43.640>But <00:00:43.767>before <00:00:43.894>I <00:00:44.021>start <00:00:44.149>to <00:00:44.276>talk <00:00:44.403>about <00:00:44.530>performance <00:00:44.658>in <00:00:44.785>a <00:00:44.912>little, <00:00:45.040>um,

13
00:00:47.810 --> 00:00:52.300
<00:00:47.810>discovery <00:00:47.926>I <00:00:48.043>had <00:00:48.160>when <00:00:48.276>it <00:00:48.393>comes <00:00:48.510>to <00:00:48.626>the <00:00:48.743>interlude <00:00:48.860>of <00:00:48.976>testing <00:00:49.093>and <00:00:49.210>performance,

14
00:00:53.430 --> 00:00:57.460
<00:00:53.430>let's <00:00:53.585>um, <00:00:53.741>do <00:00:53.896>a <00:00:54.052>little <00:00:54.207>introduction <00:00:54.363>before <00:00:54.518>that <00:00:54.674>real <00:00:54.830>quick.

15
00:00:57.720 --> 00:01:01.420
<00:00:57.720>My <00:00:57.847>name <00:00:57.974>is <00:00:58.101>Ramona. <00:00:58.229>I <00:00:58.356>am <00:00:58.483>a <00:00:58.610>software <00:00:58.738>engineer <00:00:58.865>at <00:00:58.992>Shop <00:00:59.120>Wear,

16
00:01:01.420 --> 00:01:02.820
<00:01:01.420>which <00:01:01.672>is <00:01:01.924>a <00:01:02.176>component <00:01:02.428>pro <00:01:02.680>uh,

17
00:01:02.890 --> 00:01:07.420
<00:01:02.890>company <00:01:03.017>providing <00:01:03.144>an <00:01:03.271>open <00:01:03.399>source <00:01:03.526>e-commerce <00:01:03.653>platform. <00:01:03.780>And <00:01:03.908>apart <00:01:04.035>from <00:01:04.162>that, <00:01:04.290>I'm,

18
00:01:07.610 --> 00:01:11.020
<00:01:07.610>yeah, <00:01:07.750>running <00:01:07.890>around <00:01:08.030>doing <00:01:08.170>talks. <00:01:08.310>Um, <00:01:08.450>I'm <00:01:08.590>a <00:01:08.730>G <00:01:08.870>D <00:01:09.010>E,

19
00:01:11.020 --> 00:01:14.540
<00:01:11.020>so <00:01:11.147>a <00:01:11.274>Google <00:01:11.401>developer <00:01:11.529>expert <00:01:11.656>for <00:01:11.783>web <00:01:11.910>technologies <00:01:12.038>and <00:01:12.165>a <00:01:12.292>Cypress <00:01:12.420>ambassador.

20
00:01:14.800 --> 00:01:16.780
<00:01:14.800>So <00:01:15.033>yeah, <00:01:15.266>I'm <00:01:15.500>pretty <00:01:15.733>known <00:01:15.966>for <00:01:16.200>testing.

21
00:01:18.400 --> 00:01:22.670
<00:01:18.400>But <00:01:18.680>let's <00:01:18.960>go <00:01:19.240>one <00:01:19.520>step <00:01:19.800>back,

22
00:01:23.680 --> 00:01:27.770
<00:01:23.680>like <00:01:23.787>I <00:01:23.895>don't <00:01:24.003>know <00:01:24.110>if <00:01:24.218>you <00:01:24.326>already <00:01:24.433>heard <00:01:24.541>about <00:01:24.649>this <00:01:24.756>quote <00:01:24.864>by <00:01:24.972>Steve <00:01:25.080>Bowmore.

23
00:01:27.770 --> 00:01:32.210
<00:01:27.770>My <00:01:27.863>content <00:01:27.956>is <00:01:28.050>king <00:01:28.143>and <00:01:28.236>content <00:01:28.330>is <00:01:28.423>important <00:01:28.516>no <00:01:28.610>matter <00:01:28.703>if <00:01:28.796>it's <00:01:28.890>this <00:01:28.983>slide <00:01:29.076>or <00:01:29.170>the

24
00:01:32.210 --> 00:01:33.850
<00:01:32.210>content <00:01:32.490>of <00:01:32.770>my <00:01:33.050>talk <00:01:33.330>or <00:01:33.610>anything.

25
00:01:35.070 --> 00:01:39.610
<00:01:35.070>But <00:01:35.186>I <00:01:35.303>guess <00:01:35.419>I <00:01:35.536>will <00:01:35.653>change <00:01:35.770>this <00:01:35.886>quote <00:01:36.003>a <00:01:36.119>little <00:01:36.236>bit <00:01:36.353>for <00:01:36.470>today.

26
00:01:41.010 --> 00:01:45.840
<00:01:41.009>Let's <00:01:41.149>change <00:01:41.289>it <00:01:41.429>to <00:01:41.570>information <00:01:41.710>as <00:01:41.850>king <00:01:41.990>and <00:01:42.130>not <00:01:42.270>only <00:01:42.410>in

27
00:01:45.900 --> 00:01:48.520
<00:01:45.900>for <00:01:46.180>example, <00:01:46.460>a <00:01:46.740>word <00:01:47.020>of <00:01:47.300>quest,

28
00:01:48.520 --> 00:01:51.400
<00:01:48.520>which <00:01:48.660>is <00:01:48.800>called <00:01:48.940>exactly <00:01:49.080>that <00:01:49.220>where <00:01:49.360>you <00:01:49.500>need <00:01:49.640>to <00:01:49.780>give <00:01:49.920>some,

29
00:01:51.680 --> 00:01:54.160
<00:01:51.680>I <00:01:51.855>guess <00:01:52.030>it <00:01:52.205>was <00:01:52.380>KU <00:01:52.555>skin <00:01:52.730>to <00:01:52.905>avedo <00:01:53.080>quote.

30
00:01:54.160 --> 00:01:58.320
<00:01:54.160>Good <00:01:54.335>stitch <00:01:54.509>information <00:01:54.685>is <00:01:54.860>really <00:01:55.035>important <00:01:55.210>for <00:01:55.384>basically <00:01:55.560>anything,

31
00:01:58.320 --> 00:01:59.760
<00:01:58.320>especially <00:01:58.579>when <00:01:58.838>it <00:01:59.097>comes <00:01:59.356>to <00:01:59.615>testing.

32
00:02:00.660 --> 00:02:05.040
<00:02:00.660>So <00:02:00.776>you <00:02:00.893>need <00:02:01.009>to <00:02:01.126>gather <00:02:01.243>all <00:02:01.360>of <00:02:01.476>the <00:02:01.593>information <00:02:01.710>you <00:02:01.826>can <00:02:01.943>of <00:02:02.060>your

33
00:02:05.110 --> 00:02:09.640
<00:02:05.110>application <00:02:05.285>because <00:02:05.460>we <00:02:05.635>want <00:02:05.810>to <00:02:05.985>build <00:02:06.160>good <00:02:06.335>applications, <00:02:06.510>right?

34
00:02:09.700 --> 00:02:13.080
<00:02:09.699>We <00:02:09.875>want <00:02:10.049>to <00:02:10.225>be <00:02:10.399>the <00:02:10.574>one <00:02:10.750>serving <00:02:10.924>our <00:02:11.100>users.

35
00:02:14.570 --> 00:02:19.350
<00:02:14.570>And <00:02:14.697>there's <00:02:14.824>one <00:02:14.951>other <00:02:15.079>quote <00:02:15.206>which <00:02:15.333>is <00:02:15.460>used <00:02:15.588>to <00:02:15.715>sum <00:02:15.842>that <00:02:15.970>up

36
00:02:19.490 --> 00:02:22.420
<00:02:19.490>pretty <00:02:19.770>good <00:02:20.050>a <00:02:20.330>couple <00:02:20.610>of <00:02:20.890>times.

37
00:02:22.780 --> 00:02:26.980
<00:02:22.780>I <00:02:22.873>guess <00:02:22.966>it's <00:02:23.060>by <00:02:23.153>comeback <00:02:23.246>and <00:02:23.340>it <00:02:23.433>basically <00:02:23.526>sums <00:02:23.620>up <00:02:23.713>real <00:02:23.806>good <00:02:23.900>what <00:02:23.993>we <00:02:24.086>should <00:02:24.180>do.

38
00:02:27.200 --> 00:02:32.180
<00:02:27.200>So <00:02:27.339>the <00:02:27.480>first <00:02:27.619>make <00:02:27.760>it <00:02:27.899>work, <00:02:28.040>which <00:02:28.179>is <00:02:28.320>pretty <00:02:28.459>self <00:02:28.600>explanatory.

39
00:02:32.200 --> 00:02:34.900
<00:02:32.200>So <00:02:32.327>we <00:02:32.454>want <00:02:32.581>to <00:02:32.709>solve <00:02:32.836>a <00:02:32.963>problem <00:02:33.090>of <00:02:33.218>our <00:02:33.345>users <00:02:33.472>at <00:02:33.600>hands.

40
00:02:35.440 --> 00:02:39.180
<00:02:35.440>We <00:02:35.579>want <00:02:35.720>to <00:02:35.859>build <00:02:36.000>our <00:02:36.140>application, <00:02:36.280>build <00:02:36.420>our <00:02:36.560>site <00:02:36.700>project, <00:02:36.840>um,

41
00:02:39.600 --> 00:02:43.140
<00:02:39.600>do <00:02:39.716>a <00:02:39.833>little <00:02:39.950>feature, <00:02:40.066>do <00:02:40.183>our <00:02:40.299>task <00:02:40.416>the <00:02:40.533>way <00:02:40.650>we <00:02:40.766>use <00:02:40.883>our <00:02:41.000>wishes.

42
00:02:44.500 --> 00:02:46.400
<00:02:44.500>The <00:02:44.780>second <00:02:45.060>one, <00:02:45.340>make <00:02:45.620>it <00:02:45.900>right.

43
00:02:46.700 --> 00:02:50.490
<00:02:46.700>So <00:02:46.855>we <00:02:47.011>don't <00:02:47.166>want <00:02:47.322>to <00:02:47.477>hack <00:02:47.633>just <00:02:47.788>one <00:02:47.944>little <00:02:48.100>thing,

44
00:02:51.030 --> 00:02:54.330
<00:02:51.030>we <00:02:51.205>want <00:02:51.380>to <00:02:51.555>make <00:02:51.730>it <00:02:51.905>maintainable. <00:02:52.080>So <00:02:52.255>I <00:02:52.430>dunno,

45
00:02:54.490 --> 00:02:59.480
<00:02:54.490>raise <00:02:54.590>your <00:02:54.690>hand <00:02:54.790>if <00:02:54.890>you <00:02:54.990>came <00:02:55.090>back <00:02:55.190>to <00:02:55.290>one <00:02:55.390>code <00:02:55.490>example <00:02:55.590>you <00:02:55.690>wrote <00:02:55.790>like <00:02:55.890>half

46
00:02:59.520 --> 00:03:03.360
<00:02:59.520>a <00:02:59.647>year <00:02:59.774>ago <00:02:59.901>and <00:03:00.029>you <00:03:00.156>have <00:03:00.283>no <00:03:00.410>idea <00:03:00.538>what <00:03:00.665>you <00:03:00.792>did, <00:03:00.920>okay,

47
00:03:03.620 --> 00:03:08.160
<00:03:03.620>in <00:03:03.707>this <00:03:03.795>case <00:03:03.882>I <00:03:03.970>don't <00:03:04.057>feel <00:03:04.145>like <00:03:04.232>an <00:03:04.320>idiot <00:03:04.407>because <00:03:04.495>we <00:03:04.582>are <00:03:04.670>all <00:03:04.757>together <00:03:04.845>in <00:03:04.932>this. <00:03:05.020>Um,

48
00:03:08.390 --> 00:03:11.640
<00:03:08.390>yeah, <00:03:08.506>we <00:03:08.623>want <00:03:08.739>to <00:03:08.856>make <00:03:08.973>it <00:03:09.089>right, <00:03:09.206>we <00:03:09.323>want <00:03:09.440>to <00:03:09.556>make <00:03:09.673>it <00:03:09.790>maintainable.

49
00:03:11.700 --> 00:03:15.680
<00:03:11.700>We <00:03:11.816>want <00:03:11.933>to <00:03:12.049>be <00:03:12.166>our <00:03:12.283>better <00:03:12.399>me <00:03:12.516>and <00:03:12.633>don't <00:03:12.750>hate <00:03:12.866>our <00:03:12.983>past <00:03:13.100>self.

50
00:03:16.700 --> 00:03:20.030
<00:03:16.700>And <00:03:16.875>then <00:03:17.049>last <00:03:17.225>but <00:03:17.399>not <00:03:17.575>least, <00:03:17.750>make <00:03:17.924>it <00:03:18.100>fast.

51
00:03:20.670 --> 00:03:24.590
<00:03:20.670>I <00:03:20.770>guess <00:03:20.870>everyone <00:03:20.970>knows <00:03:21.070>like <00:03:21.170>if <00:03:21.270>you <00:03:21.370>are <00:03:21.470>using <00:03:21.570>your <00:03:21.670>application <00:03:21.770>and <00:03:21.870>you <00:03:21.970>need <00:03:22.070>to

52
00:03:24.590 --> 00:03:27.950
<00:03:24.590>wait <00:03:24.730>for <00:03:24.870>everything <00:03:25.010>to <00:03:25.150>take <00:03:25.290>ages, <00:03:25.430>you <00:03:25.570>will <00:03:25.710>be <00:03:25.850>frustrated, <00:03:25.990>right?

53
00:03:28.170 --> 00:03:31.430
<00:03:28.170>So <00:03:28.263>we <00:03:28.356>don't <00:03:28.450>want <00:03:28.543>to <00:03:28.636>be <00:03:28.730>the <00:03:28.823>one <00:03:28.916>to <00:03:29.010>blame <00:03:29.103>if <00:03:29.196>people <00:03:29.290>say, <00:03:29.383>oh, <00:03:29.476>you're <00:03:29.570>annoying.

54
00:03:31.570 --> 00:03:33.510
<00:03:31.570>So <00:03:31.803>make <00:03:32.036>it <00:03:32.269>fast, <00:03:32.503>make <00:03:32.736>it <00:03:32.970>perform,

55
00:03:34.970 --> 00:03:38.790
<00:03:34.970>and <00:03:35.097>at <00:03:35.224>least <00:03:35.351>some <00:03:35.479>parts <00:03:35.606>of <00:03:35.733>this <00:03:35.860>quota <00:03:35.988>are <00:03:36.115>easily <00:03:36.242>to <00:03:36.370>achieve.

56
00:03:39.650 --> 00:03:41.190
<00:03:39.650>So <00:03:39.881>the <00:03:40.112>first <00:03:40.343>one, <00:03:40.574>make <00:03:40.805>it <00:03:41.036>work.

57
00:03:42.170 --> 00:03:46.390
<00:03:42.170>We <00:03:42.277>are <00:03:42.385>good <00:03:42.493>developers <00:03:42.600>and <00:03:42.708>even <00:03:42.816>if <00:03:42.923>we <00:03:43.031>want <00:03:43.139>to <00:03:43.246>challenge <00:03:43.354>our <00:03:43.462>own <00:03:43.570>skills,

58
00:03:46.450 --> 00:03:48.910
<00:03:46.450>our <00:03:46.649>own <00:03:46.850>assumptions, <00:03:47.049>test <00:03:47.250>automation <00:03:47.450>can <00:03:47.649>help <00:03:47.850>us.

59
00:03:48.970 --> 00:03:53.770
<00:03:48.970>We <00:03:49.086>write <00:03:49.203>a <00:03:49.320>test <00:03:49.436>so <00:03:49.553>we <00:03:49.670>know <00:03:49.786>that <00:03:49.903>it's <00:03:50.020>working <00:03:50.136>as <00:03:50.253>intended. <00:03:50.370>Second,

60
00:03:53.960 --> 00:03:56.970
<00:03:53.960>make <00:03:54.160>it <00:03:54.360>right <00:03:54.560>can <00:03:54.760>be <00:03:54.960>supported <00:03:55.160>by <00:03:55.360>tools.

61
00:03:57.070 --> 00:03:59.530
<00:03:57.070>So <00:03:57.350>think <00:03:57.630>about <00:03:57.910>code <00:03:58.190>style <00:03:58.470>fixers,

62
00:03:59.820 --> 00:04:02.770
<00:03:59.820>think <00:04:00.019>about <00:04:00.220>Eastland <00:04:00.420>other <00:04:00.620>linkers <00:04:00.820>for <00:04:01.019>other <00:04:01.220>languages.

63
00:04:03.310 --> 00:04:06.490
<00:04:03.310>So <00:04:03.450>we <00:04:03.590>get <00:04:03.730>at <00:04:03.870>least <00:04:04.010>some <00:04:04.150>support <00:04:04.290>for <00:04:04.430>making <00:04:04.570>it <00:04:04.710>right,

64
00:04:07.830 --> 00:04:09.690
<00:04:07.830>but <00:04:08.110>what's <00:04:08.390>about <00:04:08.670>making <00:04:08.950>it <00:04:09.230>first?

65
00:04:10.720 --> 00:04:15.620
<00:04:10.720>How <00:04:10.847>can <00:04:10.974>we <00:04:11.101>make <00:04:11.229>it <00:04:11.356>easier <00:04:11.483>for <00:04:11.610>us <00:04:11.738>to <00:04:11.865>have <00:04:11.992>fast <00:04:12.120>applications?

66
00:04:16.590 --> 00:04:19.160
<00:04:16.589>Because <00:04:16.869>to <00:04:17.149>be <00:04:17.429>honest <00:04:17.709>with <00:04:17.989>you,

67
00:04:19.160 --> 00:04:23.440
<00:04:19.160>for <00:04:19.300>me <00:04:19.440>performance <00:04:19.580>optimization <00:04:19.720>seems <00:04:19.860>like <00:04:20.000>a <00:04:20.140>daunting <00:04:20.280>task <00:04:20.420>because <00:04:20.560>yeah,

68
00:04:23.440 --> 00:04:26.800
<00:04:23.440>there <00:04:23.567>are <00:04:23.694>so <00:04:23.821>many <00:04:23.949>possibilities <00:04:24.076>code <00:04:24.203>wise <00:04:24.330>to <00:04:24.458>speed <00:04:24.585>up <00:04:24.712>the <00:04:24.840>application.

69
00:04:26.900 --> 00:04:31.040
<00:04:26.900>May <00:04:27.016>it <00:04:27.133>be <00:04:27.250>decreasing <00:04:27.366>the <00:04:27.483>number <00:04:27.599>of <00:04:27.716>requests <00:04:27.833>you <00:04:27.950>are <00:04:28.066>doing <00:04:28.183>or <00:04:28.299>whatever.

70
00:04:31.500 --> 00:04:32.333
<00:04:31.500>But <00:04:32.249>yeah,

71
00:04:33.790 --> 00:04:36.880
<00:04:33.790>finding <00:04:34.023>it <00:04:34.256>out <00:04:34.490>that <00:04:34.723>something's <00:04:34.956>not <00:04:35.190>right.

72
00:04:36.880 --> 00:04:40.960
<00:04:36.880>Performance <00:04:36.996>rise <00:04:37.113>involves <00:04:37.230>much <00:04:37.346>manual <00:04:37.463>testing <00:04:37.580>and <00:04:37.696>nobody <00:04:37.813>got <00:04:37.930>the <00:04:38.046>time <00:04:38.163>for <00:04:38.280>that,

73
00:04:41.010 --> 00:04:45.440
<00:04:41.010>right? <00:04:41.126>So <00:04:41.243>we <00:04:41.360>cannot <00:04:41.476>always <00:04:41.593>have <00:04:41.710>a <00:04:41.826>look <00:04:41.943>at <00:04:42.060>all <00:04:42.176>those <00:04:42.293>proficient, <00:04:42.409>uh,

74
00:04:45.440 --> 00:04:48.880
<00:04:45.440>performance <00:04:45.595>measures <00:04:45.751>may <00:04:45.906>be <00:04:46.062>metrics, <00:04:46.217>may <00:04:46.373>it <00:04:46.528>be <00:04:46.684>like, <00:04:46.840>yeah,

75
00:04:49.030 --> 00:04:51.040
<00:04:49.030>basically <00:04:49.380>testing <00:04:49.729>of <00:04:50.080>our <00:04:50.429>application.

76
00:04:51.380 --> 00:04:56.160
<00:04:51.380>So <00:04:51.520>how <00:04:51.659>can <00:04:51.800>we <00:04:51.940>have <00:04:52.080>this <00:04:52.219>task <00:04:52.360>of <00:04:52.500>optimization <00:04:52.640>not <00:04:52.780>that

77
00:04:56.440 --> 00:05:01.200
<00:04:56.440>daunting <00:04:56.540>and <00:04:56.640>how <00:04:56.740>can <00:04:56.840>we <00:04:56.940>not <00:04:57.040>waste <00:04:57.140>the <00:04:57.240>time? <00:04:57.340>So <00:04:57.440>we <00:04:57.540>will <00:04:57.640>learn <00:04:57.740>about <00:04:57.840>it,

78
00:05:02.180 --> 00:05:06.720
<00:05:02.180>we <00:05:02.296>will <00:05:02.413>learn <00:05:02.530>about <00:05:02.646>it <00:05:02.763>without <00:05:02.880>taking <00:05:02.996>actual <00:05:03.113>cognitive <00:05:03.230>load <00:05:03.346>and <00:05:03.463>manual <00:05:03.580>testing

79
00:05:06.780 --> 00:05:09.920
<00:05:06.780>on <00:05:06.955>it <00:05:07.130>and <00:05:07.304>we <00:05:07.479>can <00:05:07.655>focus <00:05:07.830>on <00:05:08.005>important <00:05:08.179>tasks.

80
00:05:11.200 --> 00:05:15.900
<00:05:11.200>So <00:05:11.400>there's <00:05:11.599>a <00:05:11.800>way <00:05:12.000>you <00:05:12.200>maybe <00:05:12.400>are <00:05:12.599>already

81
00:05:15.950 --> 00:05:19.540
<00:05:15.950>using <00:05:16.050>right <00:05:16.150>now <00:05:16.250>which <00:05:16.349>can <00:05:16.450>help <00:05:16.550>you <00:05:16.650>with <00:05:16.750>that. <00:05:16.849>So <00:05:16.950>you <00:05:17.050>don't <00:05:17.150>need <00:05:17.250>new <00:05:17.349>tools,

82
00:05:19.540 --> 00:05:20.780
<00:05:19.540>you <00:05:19.819>don't <00:05:20.098>need <00:05:20.377>GitHub <00:05:20.655>actions,

83
00:05:21.320 --> 00:05:24.700
<00:05:21.320>you <00:05:21.460>don't <00:05:21.599>need <00:05:21.740>to <00:05:21.880>learn <00:05:22.020>how <00:05:22.159>to <00:05:22.300>use <00:05:22.440>Lucas <00:05:22.580>for <00:05:22.719>example.

84
00:05:26.010 --> 00:05:30.940
<00:05:26.010>What <00:05:26.137>if <00:05:26.264>I <00:05:26.391>told <00:05:26.519>you <00:05:26.646>you <00:05:26.773>can <00:05:26.900>utilize <00:05:27.028>your <00:05:27.155>give <00:05:27.282>and <00:05:27.409>test

85
00:05:30.940 --> 00:05:35.460
<00:05:30.940>automation <00:05:31.173>for <00:05:31.406>it <00:05:31.640>without <00:05:31.873>doing <00:05:32.106>more <00:05:32.340>stuff,

86
00:05:35.490 --> 00:05:39.500
<00:05:35.490>like <00:05:35.606>in <00:05:35.723>most <00:05:35.840>cases <00:05:35.956>only <00:05:36.073>an <00:05:36.190>N <00:05:36.306>P <00:05:36.423>M <00:05:36.540>install <00:05:36.656>command. <00:05:36.773>Like <00:05:36.890>okay,

87
00:05:39.500 --> 00:05:43.780
<00:05:39.500>it's <00:05:39.627>downloading <00:05:39.754>the <00:05:39.881>whole <00:05:40.009>internet <00:05:40.136>but <00:05:40.263>well <00:05:40.390>I <00:05:40.518>digress. <00:05:40.645>And <00:05:40.772>um, <00:05:40.900>yeah,

88
00:05:44.210 --> 00:05:47.900
<00:05:44.210>writing <00:05:44.365>one <00:05:44.521>line <00:05:44.676>of <00:05:44.832>code <00:05:44.987>and <00:05:45.143>having <00:05:45.298>all <00:05:45.454>the <00:05:45.609>measures,

89
00:05:48.240 --> 00:05:50.860
<00:05:48.240>all <00:05:48.520>the <00:05:48.800>monitoring <00:05:49.080>things <00:05:49.360>at <00:05:49.640>hand,

90
00:05:52.620 --> 00:05:55.100
<00:05:52.620>even <00:05:53.320>performance, <00:05:54.020>okay,

91
00:05:55.850 --> 00:05:59.320
<00:05:55.850>when <00:05:56.005>I <00:05:56.161>think <00:05:56.316>about <00:05:56.472>misusing <00:05:56.627>test <00:05:56.783>automation <00:05:56.938>for <00:05:57.094>other <00:05:57.250>purposes,

92
00:05:59.650 --> 00:06:03.600
<00:05:59.650>especially <00:05:59.757>when <00:05:59.865>it <00:05:59.973>comes <00:06:00.080>to <00:06:00.188>performance, <00:06:00.296>I <00:06:00.403>want <00:06:00.511>to <00:06:00.619>be <00:06:00.726>close <00:06:00.834>to <00:06:00.942>the <00:06:01.049>user.

93
00:06:03.740 --> 00:06:08.520
<00:06:03.740>So <00:06:03.840>I <00:06:03.940>guess <00:06:04.040>the <00:06:04.140>best <00:06:04.240>idea <00:06:04.340>is <00:06:04.440>to <00:06:04.540>use <00:06:04.640>end-to-end <00:06:04.740>testing <00:06:04.840>for <00:06:04.940>it <00:06:05.040>because <00:06:05.140>an

94
00:06:08.520 --> 00:06:10.720
<00:06:08.520>end-to-end <00:06:08.986>test <00:06:09.453>testing <00:06:09.919>something,

95
00:06:10.880 --> 00:06:14.600
<00:06:10.880>a <00:06:10.996>workflow <00:06:11.113>from <00:06:11.230>beginning <00:06:11.346>to <00:06:11.463>end <00:06:11.580>and <00:06:11.696>this <00:06:11.813>means <00:06:11.930>that <00:06:12.046>the <00:06:12.163>complete <00:06:12.280>application

96
00:06:14.600 --> 00:06:19.520
<00:06:14.600>stack <00:06:14.755>is <00:06:14.911>present <00:06:15.066>so <00:06:15.222>we <00:06:15.377>can <00:06:15.533>find <00:06:15.688>all <00:06:15.844>the <00:06:16.000>potential

97
00:06:19.520 --> 00:06:24.080
<00:06:19.520>errors <00:06:19.627>at <00:06:19.735>hand <00:06:19.843>and <00:06:19.950>be <00:06:20.058>pretty <00:06:20.166>sure <00:06:20.273>that <00:06:20.381>the <00:06:20.489>results <00:06:20.596>we <00:06:20.704>get <00:06:20.812>are <00:06:20.919>accurate.

98
00:06:24.940 --> 00:06:27.720
<00:06:24.940>It <00:06:25.080>might <00:06:25.219>be <00:06:25.360>a <00:06:25.500>little <00:06:25.640>difficult <00:06:25.780>if <00:06:25.920>you're <00:06:26.060>have <00:06:26.200>for <00:06:26.340>example,

99
00:06:27.720 --> 00:06:30.840
<00:06:27.720>unit <00:06:27.860>testing <00:06:28.000>and <00:06:28.140>the <00:06:28.280>closed <00:06:28.420>up <00:06:28.560>isolated <00:06:28.700>unit <00:06:28.840>to <00:06:28.980>see <00:06:29.120>that.

100
00:06:32.410 --> 00:06:35.510
<00:06:32.409>And <00:06:32.537>yeah, <00:06:32.664>I <00:06:32.791>said <00:06:32.919>you <00:06:33.046>can <00:06:33.173>use <00:06:33.300>your <00:06:33.428>given <00:06:33.555>tools <00:06:33.682>for <00:06:33.809>that,

101
00:06:36.330 --> 00:06:40.680
<00:06:36.330>but <00:06:36.485>I <00:06:36.641>don't <00:06:36.796>want <00:06:36.952>to <00:06:37.107>go <00:06:37.263>too <00:06:37.418>many <00:06:37.574>steps <00:06:37.729>ahead.

102
00:06:41.330 --> 00:06:45.000
<00:06:41.330>Let's <00:06:41.469>start <00:06:41.609>at <00:06:41.750>the <00:06:41.890>monitoring <00:06:42.030>and <00:06:42.169>gathering <00:06:42.310>information <00:06:42.450>aspect <00:06:42.590>at <00:06:42.729>first.

103
00:06:45.060 --> 00:06:48.680
<00:06:45.060>So <00:06:45.215>how <00:06:45.371>can <00:06:45.526>we <00:06:45.682>get <00:06:45.837>performance <00:06:45.993>information <00:06:46.148>with <00:06:46.304>end-to-end <00:06:46.460>testing

104
00:06:50.080 --> 00:06:54.660
<00:06:50.080>and <00:06:50.219>okay, <00:06:50.359>I <00:06:50.500>was <00:06:50.640>a <00:06:50.780>little <00:06:50.919>fast. <00:06:51.060>Um, <00:06:51.200>please <00:06:51.340>forget <00:06:51.479>that.

105
00:06:54.740 --> 00:06:57.820
<00:06:54.740>I <00:06:54.867>don't <00:06:54.994>want <00:06:55.121>to <00:06:55.249>do <00:06:55.376>a <00:06:55.503>spoiler <00:06:55.630>alert <00:06:55.758>right <00:06:55.885>now. <00:06:56.012>Okay, <00:06:56.140>so

106
00:06:59.330 --> 00:07:03.870
<00:06:59.330>the <00:06:59.469>task <00:06:59.609>of <00:06:59.750>gathering <00:06:59.890>basic <00:07:00.030>information <00:07:00.169>can <00:07:00.310>be <00:07:00.450>already <00:07:00.590>achieved <00:07:00.729>through

107
00:07:04.260 --> 00:07:07.150
<00:07:04.260>default <00:07:04.726>measures. <00:07:05.193>So <00:07:05.659>yeah,

108
00:07:07.570 --> 00:07:11.510
<00:07:07.570>I'm <00:07:07.697>talking <00:07:07.824>about <00:07:07.951>login <00:07:08.079>and <00:07:08.206>I <00:07:08.333>guess <00:07:08.460>everyone <00:07:08.588>stumbled <00:07:08.715>onto <00:07:08.842>logs <00:07:08.969>again,

109
00:07:11.510 --> 00:07:15.550
<00:07:11.510>but <00:07:11.617>let's <00:07:11.725>have <00:07:11.833>a <00:07:11.940>shared <00:07:12.048>definition <00:07:12.156>so <00:07:12.263>we <00:07:12.371>are <00:07:12.479>all <00:07:12.586>at <00:07:12.694>the <00:07:12.802>same <00:07:12.909>page.

110
00:07:15.770 --> 00:07:18.350
<00:07:15.770>So <00:07:15.945>logging <00:07:16.120>is <00:07:16.294>basically <00:07:16.469>the <00:07:16.645>act <00:07:16.820>of <00:07:16.995>keeping <00:07:17.169>entries,

111
00:07:18.350 --> 00:07:23.070
<00:07:18.350>information <00:07:18.525>logs <00:07:18.700>basically <00:07:18.875>in <00:07:19.050>the <00:07:19.225>computer <00:07:19.400>of <00:07:19.575>everything <00:07:19.750>what

112
00:07:23.220 --> 00:07:27.230
<00:07:23.220>appears <00:07:23.375>in <00:07:23.531>the <00:07:23.686>computer <00:07:23.842>system <00:07:23.997>such <00:07:24.153>as <00:07:24.308>problems, <00:07:24.464>errors, <00:07:24.620>warnings,

113
00:07:27.230 --> 00:07:28.950
<00:07:27.230>basically <00:07:27.405>you <00:07:27.580>name <00:07:27.755>it, <00:07:27.930>whatever <00:07:28.105>you <00:07:28.280>want <00:07:28.455>to <00:07:28.630>know.

114
00:07:30.250 --> 00:07:32.470
<00:07:30.250>And <00:07:30.483>in <00:07:30.716>testing <00:07:30.950>this <00:07:31.183>is <00:07:31.416>exactly <00:07:31.650>it.

115
00:07:32.490 --> 00:07:35.470
<00:07:32.490>So <00:07:32.606>we <00:07:32.723>will <00:07:32.840>try <00:07:32.956>to <00:07:33.073>monitor <00:07:33.190>everything <00:07:33.306>what <00:07:33.423>happens <00:07:33.540>inside <00:07:33.656>of <00:07:33.773>our <00:07:33.890>tests.

116
00:07:37.210 --> 00:07:40.020
<00:07:37.210>This <00:07:37.365>could <00:07:37.521>look <00:07:37.676>like <00:07:37.832>this. <00:07:37.987>So <00:07:38.143>a <00:07:38.298>little <00:07:38.454>um, <00:07:38.609>yeah,

117
00:07:40.080 --> 00:07:43.340
<00:07:40.080>way <00:07:40.207>on <00:07:40.334>how <00:07:40.461>to <00:07:40.589>look <00:07:40.716>it <00:07:40.843>looks <00:07:40.970>like <00:07:41.098>in <00:07:41.225>C <00:07:41.352>L <00:07:41.479>I.

118
00:07:43.760 --> 00:07:47.860
<00:07:43.760>And <00:07:43.876>this <00:07:43.993>is <00:07:44.110>a <00:07:44.226>screenshot <00:07:44.343>taken <00:07:44.460>by <00:07:44.576>Cyprus <00:07:44.693>and <00:07:44.810>I'm <00:07:44.926>using <00:07:45.043>some <00:07:45.159>Cyprus

119
00:07:48.380 --> 00:07:51.780
<00:07:48.380>examples, <00:07:48.520>but <00:07:48.659>I <00:07:48.800>try <00:07:48.940>to <00:07:49.080>keep <00:07:49.219>it <00:07:49.360>as <00:07:49.500>agnostic <00:07:49.640>as <00:07:49.780>possible.

120
00:07:51.840 --> 00:07:55.780
<00:07:51.840>So <00:07:51.940>many <00:07:52.040>stuff <00:07:52.140>I'm <00:07:52.240>showing <00:07:52.340>you <00:07:52.440>here <00:07:52.540>can <00:07:52.640>be <00:07:52.740>used <00:07:52.840>for <00:07:52.940>other <00:07:53.040>testing <00:07:53.140>frameworks <00:07:53.240>too,

121
00:07:55.780 --> 00:07:59.260
<00:07:55.780>so <00:07:55.896>don't <00:07:56.013>worry <00:07:56.130>about <00:07:56.246>that. <00:07:56.363>So <00:07:56.479>back <00:07:56.596>to <00:07:56.713>the, <00:07:56.830>whoops, <00:07:56.946>back <00:07:57.063>to <00:07:57.179>login.

122
00:07:59.530 --> 00:08:01.700
<00:07:59.530>This <00:07:59.685>is <00:07:59.841>how <00:07:59.996>it's <00:08:00.152>looking <00:08:00.307>like <00:08:00.463>in <00:08:00.618>C <00:08:00.774>L <00:08:00.929>I,

123
00:08:02.080 --> 00:08:06.460
<00:08:02.080>but <00:08:02.180>some <00:08:02.280>tools <00:08:02.380>such <00:08:02.479>as <00:08:02.580>Cypress <00:08:02.680>or <00:08:02.780>playwright <00:08:02.880>will <00:08:02.979>provide <00:08:03.080>you <00:08:03.180>with <00:08:03.280>a <00:08:03.380>test <00:08:03.479>runner

124
00:08:06.480 --> 00:08:08.820
<00:08:06.480>too. <00:08:06.713>So <00:08:06.946>it's <00:08:07.180>a <00:08:07.413>little <00:08:07.646>more <00:08:07.880>pretty,

125
00:08:09.020 --> 00:08:13.300
<00:08:09.020>a <00:08:09.120>little <00:08:09.219>more <00:08:09.320>clear <00:08:09.419>so <00:08:09.520>you <00:08:09.620>don't <00:08:09.719>waste <00:08:09.820>much <00:08:09.919>time <00:08:10.020>to <00:08:10.120>search <00:08:10.219>for <00:08:10.320>the <00:08:10.419>information

126
00:08:13.320 --> 00:08:17.340
<00:08:13.320>you <00:08:13.553>log <00:08:13.786>and <00:08:14.020>you <00:08:14.253>need. <00:08:14.486>But <00:08:14.719>yeah,

127
00:08:18.180 --> 00:08:20.060
<00:08:18.180>I <00:08:18.335>guess <00:08:18.491>this <00:08:18.646>is <00:08:18.802>nothing <00:08:18.957>new <00:08:19.113>to <00:08:19.268>you <00:08:19.424>I <00:08:19.580>know.

128
00:08:20.080 --> 00:08:24.460
<00:08:20.080>So <00:08:20.187>it's <00:08:20.295>really <00:08:20.403>valid <00:08:20.510>to <00:08:20.618>wonder <00:08:20.726>why <00:08:20.833>do <00:08:20.941>I <00:08:21.049>tell <00:08:21.156>you <00:08:21.264>that <00:08:21.372>right <00:08:21.479>now?

129
00:08:25.210 --> 00:08:28.620
<00:08:25.210>Because <00:08:25.443>even <00:08:25.676>though <00:08:25.909>it's <00:08:26.143>a <00:08:26.376>standard <00:08:26.609>feature,

130
00:08:28.970 --> 00:08:33.540
<00:08:28.970>it's <00:08:29.125>vital <00:08:29.281>when <00:08:29.436>it <00:08:29.592>comes <00:08:29.747>to <00:08:29.903>performance <00:08:30.058>metrics <00:08:30.214>because <00:08:30.370>logging

131
00:08:34.200 --> 00:08:37.420
<00:08:34.200>is <00:08:34.340>vital <00:08:34.480>to <00:08:34.620>measure <00:08:34.760>things <00:08:34.900>and <00:08:35.040>if <00:08:35.180>you <00:08:35.320>cannot <00:08:35.460>measure <00:08:35.600>something,

132
00:08:37.760 --> 00:08:41.140
<00:08:37.760>you <00:08:37.900>cannot <00:08:38.039>approve <00:08:38.179>it. <00:08:38.319>So <00:08:38.460>you <00:08:38.600>cannot <00:08:38.740>ignore <00:08:38.880>just <00:08:39.020>the <00:08:39.159>messenger.

133
00:08:41.140 --> 00:08:43.620
<00:08:41.140>You <00:08:41.340>need <00:08:41.539>to <00:08:41.740>have <00:08:41.939>a <00:08:42.140>documentation <00:08:42.340>at <00:08:42.539>hub.

134
00:08:44.910 --> 00:08:49.170
<00:08:44.910>So <00:08:45.010>if <00:08:45.110>we <00:08:45.209>remember <00:08:45.310>the <00:08:45.410>quote, <00:08:45.510>make <00:08:45.610>it <00:08:45.709>work, <00:08:45.810>make <00:08:45.910>it <00:08:46.010>right, <00:08:46.110>make <00:08:46.209>it <00:08:46.310>fast,

135
00:08:49.640 --> 00:08:50.473
<00:08:49.640>this <00:08:50.014>is <00:08:50.389>crucial.

136
00:08:50.550 --> 00:08:55.480
<00:08:50.550>So <00:08:50.677>to <00:08:50.804>able <00:08:50.931>to <00:08:51.059>be <00:08:51.186>noticed <00:08:51.313>problems <00:08:51.440>and <00:08:51.568>especially <00:08:51.695>when <00:08:51.822>it <00:08:51.949>comes

137
00:08:55.480 --> 00:08:58.320
<00:08:55.480>to <00:08:55.713>metrics <00:08:55.946>performance <00:08:56.180>are <00:08:56.413>connected <00:08:56.646>to <00:08:56.880>metrics,

138
00:08:58.580 --> 00:09:03.240
<00:08:58.580>are <00:08:58.707>connected <00:08:58.834>to <00:08:58.961>numbers <00:08:59.089>and <00:08:59.216>to <00:08:59.343>thresholds. <00:08:59.470>We <00:08:59.598>need <00:08:59.725>to <00:08:59.852>capture <00:08:59.980>them.

139
00:09:05.300 --> 00:09:06.840
<00:09:05.300>If <00:09:05.577>you <00:09:05.854>want <00:09:06.131>to <00:09:06.408>have <00:09:06.686>information,

140
00:09:06.980 --> 00:09:10.920
<00:09:06.980>may <00:09:07.080>it <00:09:07.180>be <00:09:07.280>the <00:09:07.380>normal <00:09:07.480>lock <00:09:07.580>but <00:09:07.680>enriched <00:09:07.780>with <00:09:07.880>more <00:09:07.980>information <00:09:08.080>such <00:09:08.180>as <00:09:08.280>run <00:09:08.380>times,

141
00:09:11.220 --> 00:09:14.120
<00:09:11.220>you <00:09:11.336>can <00:09:11.453>have <00:09:11.570>it <00:09:11.686>even <00:09:11.803>more <00:09:11.920>freer <00:09:12.036>for <00:09:12.153>example, <00:09:12.270>by <00:09:12.386>using <00:09:12.503>much <00:09:12.620>awesome,

142
00:09:14.530 --> 00:09:16.040
<00:09:14.530>which <00:09:14.801>you <00:09:15.073>can <00:09:15.345>do <00:09:15.617>for <00:09:15.889>shippers

143
00:09:18.090 --> 00:09:22.870
<00:09:18.090>or <00:09:18.190>you <00:09:18.290>can <00:09:18.390>basically <00:09:18.490>print <00:09:18.590>out <00:09:18.690>any <00:09:18.790>information <00:09:18.890>from <00:09:18.990>the <00:09:19.090>dev <00:09:19.190>tools <00:09:19.290>if <00:09:19.390>you <00:09:19.490>want

144
00:09:22.870 --> 00:09:27.390
<00:09:22.870>to. <00:09:22.986>And <00:09:23.103>um, <00:09:23.220>may <00:09:23.336>it <00:09:23.453>be <00:09:23.570>warnings, <00:09:23.686>may <00:09:23.803>it <00:09:23.920>be <00:09:24.036>information <00:09:24.153>on <00:09:24.270>requests,

145
00:09:27.410 --> 00:09:31.310
<00:09:27.410>may <00:09:27.517>it <00:09:27.625>be <00:09:27.733>basically <00:09:27.840>anything <00:09:27.948>you <00:09:28.056>can <00:09:28.163>see <00:09:28.271>in <00:09:28.379>your <00:09:28.486>browsers. <00:09:28.594>Um, <00:09:28.702>developer <00:09:28.810>tools,

146
00:09:34.150 --> 00:09:35.210
<00:09:34.150>so <00:09:34.468>far <00:09:34.786>so <00:09:35.104>good.

147
00:09:35.620 --> 00:09:39.810
<00:09:35.620>These <00:09:35.736>are <00:09:35.853>the <00:09:35.970>login <00:09:36.086>defaults <00:09:36.203>we <00:09:36.320>can <00:09:36.436>gather <00:09:36.553>already <00:09:36.670>in <00:09:36.786>the <00:09:36.903>default <00:09:37.020>money

148
00:09:39.880 --> 00:09:42.650
<00:09:39.880>information, <00:09:40.055>but <00:09:40.230>this <00:09:40.405>is <00:09:40.580>not <00:09:40.755>enough <00:09:40.930>for <00:09:41.105>us, <00:09:41.280>right?

149
00:09:42.910 --> 00:09:45.530
<00:09:42.910>We <00:09:43.110>want <00:09:43.310>to <00:09:43.510>have <00:09:43.709>a <00:09:43.910>focus <00:09:44.110>on <00:09:44.310>performance,

150
00:09:46.710 --> 00:09:50.210
<00:09:46.710>but <00:09:46.943>what's <00:09:47.176>performance <00:09:47.410>about? <00:09:47.643>So <00:09:47.876>for <00:09:48.110>me,

151
00:09:51.070 --> 00:09:56.010
<00:09:51.070>web <00:09:51.186>performance <00:09:51.303>refers <00:09:51.420>to <00:09:51.536>the <00:09:51.653>speed <00:09:51.770>and <00:09:51.886>efficiency <00:09:52.003>with <00:09:52.120>a <00:09:52.236>website <00:09:52.353>or <00:09:52.470>a

152
00:09:56.010 --> 00:10:00.890
<00:09:56.010>web <00:09:56.165>application <00:09:56.321>functions <00:09:56.476>and <00:09:56.632>delivers <00:09:56.787>content <00:09:56.943>to <00:09:57.098>the <00:09:57.254>user <00:09:57.410>and

153
00:10:00.940 --> 00:10:03.690
<00:10:00.940>there <00:10:01.140>can <00:10:01.340>be <00:10:01.540>various <00:10:01.740>factors <00:10:01.940>playing <00:10:02.140>a <00:10:02.340>role.

154
00:10:04.230 --> 00:10:05.970
<00:10:04.230>May <00:10:04.696>it <00:10:05.163>be <00:10:05.630>responsiveness,

155
00:10:06.200 --> 00:10:11.090
<00:10:06.200>page <00:10:06.355>load <00:10:06.511>time <00:10:06.666>or <00:10:06.822>basically <00:10:06.977>anything <00:10:07.133>with <00:10:07.288>allows <00:10:07.444>user <00:10:07.600>to

156
00:10:11.090 --> 00:10:15.610
<00:10:11.090>access <00:10:11.323>information <00:10:11.556>without <00:10:11.790>any <00:10:12.023>delays, <00:10:12.256>any <00:10:12.490>interruptions,

157
00:10:15.760 --> 00:10:19.370
<00:10:15.760>just <00:10:16.040>flawlessness <00:10:16.319>basically. <00:10:16.600>And <00:10:16.880>yeah, <00:10:17.160>um,

158
00:10:20.460 --> 00:10:25.050
<00:10:20.460>optimizing <00:10:20.615>this <00:10:20.771>can <00:10:20.926>include <00:10:21.082>stuff <00:10:21.237>like, <00:10:21.393>yeah, <00:10:21.548>reducing <00:10:21.704>file <00:10:21.860>sizes,

159
00:10:25.050 --> 00:10:29.610
<00:10:25.050>minimizing <00:10:25.224>the <00:10:25.400>numbers <00:10:25.574>of <00:10:25.750>requests, <00:10:25.925>optimizing <00:10:26.099>codes, <00:10:26.275>being <00:10:26.449>efficient,

160
00:10:29.610 --> 00:10:31.650
<00:10:29.610>stuff <00:10:29.960>like <00:10:30.310>that. <00:10:30.660>And <00:10:31.010>yeah,

161
00:10:32.030 --> 00:10:35.890
<00:10:32.030>if <00:10:32.146>we <00:10:32.263>don't <00:10:32.380>take <00:10:32.496>care <00:10:32.613>of <00:10:32.730>this <00:10:32.846>we <00:10:32.963>might <00:10:33.079>need <00:10:33.196>to <00:10:33.313>frustration <00:10:33.430>like

162
00:10:36.860 --> 00:10:41.090
<00:10:36.860>worst <00:10:37.000>user <00:10:37.140>experience <00:10:37.280>and <00:10:37.420>the <00:10:37.560>negative <00:10:37.700>impact <00:10:37.840>on <00:10:37.980>search <00:10:38.120>engine <00:10:38.260>rankings.

163
00:10:41.150 --> 00:10:43.410
<00:10:41.150>So <00:10:41.324>yeah, <00:10:41.500>we <00:10:41.675>need <00:10:41.850>to <00:10:42.025>take <00:10:42.199>care <00:10:42.375>of <00:10:42.550>this.

164
00:10:45.240 --> 00:10:49.340
<00:10:45.240>And <00:10:45.356>of <00:10:45.473>course <00:10:45.590>there <00:10:45.706>are <00:10:45.823>some <00:10:45.940>backend <00:10:46.056>measures <00:10:46.173>and <00:10:46.290>many <00:10:46.406>ways <00:10:46.523>of <00:10:46.640>testing

165
00:10:49.500 --> 00:10:53.100
<00:10:49.500>performance <00:10:49.627>such <00:10:49.754>as <00:10:49.881>performance <00:10:50.009>testing, <00:10:50.136>which <00:10:50.263>is <00:10:50.390>a <00:10:50.518>typical <00:10:50.645>one <00:10:50.772>to <00:10:50.900>evaluate,

166
00:10:53.110 --> 00:10:58.100
<00:10:53.110>speed, <00:10:53.226>responsiveness, <00:10:53.343>you <00:10:53.460>name <00:10:53.576>it. <00:10:53.693>Or <00:10:53.810>low <00:10:53.926>testing <00:10:54.043>where <00:10:54.160>you <00:10:54.276>try <00:10:54.393>to <00:10:54.510>um,

167
00:10:58.410 --> 00:11:03.220
<00:10:58.410>have <00:10:58.537>normal <00:10:58.664>and <00:10:58.791>expected <00:10:58.919>al <00:10:59.046>loads <00:10:59.173>and <00:10:59.300>you <00:10:59.428>and <00:10:59.555>spike <00:10:59.682>stress <00:10:59.810>testing,

168
00:11:03.310 --> 00:11:05.700
<00:11:03.310>stuff <00:11:03.510>like <00:11:03.709>that. <00:11:03.910>All <00:11:04.109>of <00:11:04.310>those <00:11:04.510>backend <00:11:04.709>measures,

169
00:11:05.700 --> 00:11:10.540
<00:11:05.700>you <00:11:05.793>can <00:11:05.886>take <00:11:05.980>a <00:11:06.073>look <00:11:06.166>at <00:11:06.260>the <00:11:06.353>service <00:11:06.446>site <00:11:06.540>and <00:11:06.633>test <00:11:06.726>at <00:11:06.820>the <00:11:06.913>server <00:11:07.006>site. <00:11:07.100>However,

170
00:11:12.470 --> 00:11:16.350
<00:11:12.470>we <00:11:12.670>shouldn't <00:11:12.870>underestimate <00:11:13.070>the <00:11:13.270>front <00:11:13.470>end <00:11:13.670>here <00:11:13.870>because

171
00:11:17.780 --> 00:11:18.630
<00:11:17.780>there's <00:11:18.162>a <00:11:18.545>point

172
00:11:20.440 --> 00:11:24.800
<00:11:20.440>the <00:11:20.640>most <00:11:20.840>users <00:11:21.040>will <00:11:21.240>notice <00:11:21.440>issues <00:11:21.640>in <00:11:21.840>performance

173
00:11:25.380 --> 00:11:27.360
<00:11:25.380>on <00:11:25.580>the <00:11:25.780>web <00:11:25.980>types <00:11:26.180>on <00:11:26.380>the <00:11:26.580>front <00:11:26.780>end.

174
00:11:28.060 --> 00:11:32.160
<00:11:28.060>So <00:11:28.176>all <00:11:28.293>of <00:11:28.410>you <00:11:28.526>fellow <00:11:28.643>frontend <00:11:28.760>engineers <00:11:28.876>like <00:11:28.993>me, <00:11:29.109>please <00:11:29.226>don't <00:11:29.343>hide <00:11:29.459>away.

175
00:11:32.660 --> 00:11:35.000
<00:11:32.660>You <00:11:32.800>cannot <00:11:32.939>say <00:11:33.079>like <00:11:33.219>just <00:11:33.360>leave <00:11:33.500>it <00:11:33.640>to <00:11:33.780>the <00:11:33.920>backend <00:11:34.060>people.

176
00:11:35.260 --> 00:11:40.160
<00:11:35.260>You <00:11:35.435>are <00:11:35.610>at <00:11:35.785>responsible <00:11:35.960>too, <00:11:36.135>like <00:11:36.310>I <00:11:36.485>am. <00:11:36.660>Okay?

177
00:11:41.100 --> 00:11:45.280
<00:11:41.100>So <00:11:41.300>when <00:11:41.500>I <00:11:41.700>think <00:11:41.900>about <00:11:42.100>measuring <00:11:42.300>performance <00:11:42.500>issues,

178
00:11:45.280 --> 00:11:47.600
<00:11:45.280>because <00:11:45.560>as <00:11:45.839>said, <00:11:46.120>information <00:11:46.400>is <00:11:46.680>king,

179
00:11:47.660 --> 00:11:51.640
<00:11:47.660>we <00:11:47.753>want <00:11:47.846>to <00:11:47.939>have <00:11:48.033>the <00:11:48.126>information <00:11:48.219>and <00:11:48.313>we <00:11:48.406>want <00:11:48.500>to <00:11:48.593>have <00:11:48.686>it <00:11:48.780>in <00:11:48.873>the <00:11:48.966>front <00:11:49.060>end,

180
00:11:52.050 --> 00:11:53.360
<00:11:52.050>there <00:11:52.344>might <00:11:52.639>be <00:11:52.934>a <00:11:53.229>tool.

181
00:11:54.760 --> 00:11:59.080
<00:11:54.760>I <00:11:54.876>guess <00:11:54.993>some <00:11:55.110>people <00:11:55.226>of <00:11:55.343>you <00:11:55.460>already <00:11:55.576>used <00:11:55.693>it, <00:11:55.810>so <00:11:55.926>if <00:11:56.043>you <00:11:56.160>um,

182
00:11:59.080 --> 00:12:02.600
<00:11:59.080>please <00:11:59.255>raise <00:11:59.430>your <00:11:59.605>hand <00:11:59.780>if <00:11:59.955>you <00:12:00.130>recognize <00:12:00.305>this <00:12:00.480>logo.

183
00:12:04.640 --> 00:12:08.090
<00:12:04.640>Yeah, <00:12:04.840>so <00:12:05.040>some <00:12:05.240>fellow <00:12:05.439>people <00:12:05.640>who <00:12:05.840>took <00:12:06.040>care,

184
00:12:08.120 --> 00:12:10.010
<00:12:08.120>it's <00:12:08.400>on <00:12:08.680>Lighthouse <00:12:08.960>or <00:12:09.240>by <00:12:09.520>Google,

185
00:12:10.380 --> 00:12:15.370
<00:12:10.380>which <00:12:10.480>is <00:12:10.580>a <00:12:10.680>typical <00:12:10.780>tool <00:12:10.880>you <00:12:10.980>use <00:12:11.080>in <00:12:11.180>your <00:12:11.280>dev <00:12:11.380>tools <00:12:11.480>to <00:12:11.580>monitor <00:12:11.680>performance <00:12:11.780>issues.

186
00:12:15.950 --> 00:12:19.690
<00:12:15.950>But <00:12:16.066>you <00:12:16.183>can <00:12:16.300>do <00:12:16.416>more <00:12:16.533>than <00:12:16.650>that. <00:12:16.766>Just <00:12:16.883>ss <00:12:17.000>e <00:12:17.116>o <00:12:17.233>best <00:12:17.350>practices.

187
00:12:19.690 --> 00:12:23.930
<00:12:19.690>Accessibility <00:12:19.845>will <00:12:20.001>be <00:12:20.156>monitored <00:12:20.312>too. <00:12:20.467>So <00:12:20.623>it's <00:12:20.778>a <00:12:20.934>pretty <00:12:21.090>um,

188
00:12:24.290 --> 00:12:28.730
<00:12:24.290>powerful <00:12:24.406>tool <00:12:24.523>and <00:12:24.640>it's <00:12:24.756>something <00:12:24.873>we <00:12:24.990>might <00:12:25.106>use <00:12:25.223>on <00:12:25.339>a <00:12:25.456>lo <00:12:25.573>local <00:12:25.689>machine,

189
00:12:29.040 --> 00:12:33.450
<00:12:29.040>like <00:12:29.156>while <00:12:29.273>we <00:12:29.390>are <00:12:29.506>developing <00:12:29.623>locally, <00:12:29.740>however <00:12:29.856>you <00:12:29.973>can <00:12:30.089>automate <00:12:30.206>that <00:12:30.323>as <00:12:30.439>well.

190
00:12:34.350 --> 00:12:37.970
<00:12:34.350>So <00:12:34.466>of <00:12:34.583>course <00:12:34.700>you <00:12:34.816>can <00:12:34.933>think <00:12:35.050>about, <00:12:35.166>okay, <00:12:35.283>I'm <00:12:35.400>using <00:12:35.516>a <00:12:35.633>GitHub <00:12:35.750>action,

191
00:12:38.270 --> 00:12:39.170
<00:12:38.270>but <00:12:38.472>if <00:12:38.675>you <00:12:38.877>for <00:12:39.079>example,

192
00:12:39.170 --> 00:12:43.250
<00:12:39.170>have <00:12:39.277>other <00:12:39.385>CI <00:12:39.493>providers <00:12:39.600>or <00:12:39.708>you <00:12:39.816>want <00:12:39.923>to <00:12:40.031>use <00:12:40.139>your <00:12:40.246>given <00:12:40.354>test <00:12:40.462>automation <00:12:40.569>asset,

193
00:12:45.270 --> 00:12:47.470
<00:12:45.270>I <00:12:45.503>prepared <00:12:45.736>a <00:12:45.970>little <00:12:46.203>example <00:12:46.436>with <00:12:46.670>Cyprus.

194
00:12:48.130 --> 00:12:52.890
<00:12:48.130>So <00:12:48.246>there's <00:12:48.363>a <00:12:48.480>Cyprus <00:12:48.596>audit <00:12:48.713>plugin <00:12:48.830>which <00:12:48.946>you <00:12:49.063>can <00:12:49.180>download <00:12:49.296>via <00:12:49.413>your <00:12:49.530>package

195
00:12:52.890 --> 00:12:56.770
<00:12:52.890>manager <00:12:53.030>and <00:12:53.170>it <00:12:53.310>will <00:12:53.449>provide <00:12:53.590>you <00:12:53.730>some <00:12:53.870>lighthouse <00:12:54.010>on <00:12:54.150>power <00:12:54.290>audits.

196
00:12:57.150 --> 00:13:01.850
<00:12:57.150>But <00:12:57.257>we <00:12:57.365>will <00:12:57.473>focus <00:12:57.580>on <00:12:57.688>Lighthouse <00:12:57.796>right <00:12:57.903>now <00:12:58.011>and <00:12:58.119>you <00:12:58.226>can <00:12:58.334>use <00:12:58.442>it <00:12:58.550>for

197
00:13:01.850 --> 00:13:03.250
<00:13:01.850>playwright <00:13:02.102>too <00:13:02.354>if <00:13:02.606>you <00:13:02.858>want <00:13:03.110>to.

198
00:13:03.850 --> 00:13:06.850
<00:13:03.850>I <00:13:03.957>didn't <00:13:04.065>took <00:13:04.173>a <00:13:04.280>look <00:13:04.388>if <00:13:04.496>there's <00:13:04.603>for <00:13:04.711>something <00:13:04.819>for <00:13:04.926>Teca <00:13:05.034>Fail <00:13:05.142>or <00:13:05.250>Selenium,

199
00:13:06.870 --> 00:13:09.730
<00:13:06.870>but <00:13:07.025>if <00:13:07.181>you <00:13:07.336>are <00:13:07.492>aware <00:13:07.647>of <00:13:07.803>other <00:13:07.958>tools, <00:13:08.114>please <00:13:08.270>yeah,

200
00:13:09.990 --> 00:13:14.330
<00:13:09.990>let <00:13:10.077>them <00:13:10.165>let <00:13:10.252>me <00:13:10.340>know <00:13:10.427>and <00:13:10.515>I <00:13:10.602>will <00:13:10.690>post <00:13:10.777>them <00:13:10.865>on <00:13:10.952>Twitter <00:13:11.040>or <00:13:11.127>LinkedIn <00:13:11.215>masteron <00:13:11.302>so <00:13:11.390>we

201
00:13:14.330 --> 00:13:18.880
<00:13:14.330>can <00:13:14.485>share <00:13:14.641>it <00:13:14.796>for <00:13:14.952>other <00:13:15.107>testing <00:13:15.263>frameworks <00:13:15.418>as <00:13:15.574>well. <00:13:15.730>Okay,

202
00:13:19.220 --> 00:13:21.440
<00:13:19.220>to <00:13:19.453>get <00:13:19.686>this <00:13:19.920>Cyprus <00:13:20.153>order <00:13:20.386>plugin <00:13:20.620>running,

203
00:13:22.630 --> 00:13:26.120
<00:13:22.630>it's <00:13:22.757>a <00:13:22.884>typical <00:13:23.011>N <00:13:23.139>P <00:13:23.266>M <00:13:23.393>stuff. <00:13:23.520>So <00:13:23.648>downloading <00:13:23.775>the <00:13:23.902>whole <00:13:24.030>internet,

204
00:13:27.150 --> 00:13:31.560
<00:13:27.150>just <00:13:27.257>installing <00:13:27.365>A <00:13:27.473>P <00:13:27.580>N <00:13:27.688>P <00:13:27.796>M <00:13:27.903>or <00:13:28.011>yarn <00:13:28.119>or <00:13:28.226>your <00:13:28.334>favorite <00:13:28.442>package <00:13:28.550>manager,

205
00:13:32.330 --> 00:13:37.320
<00:13:32.330>we'll <00:13:32.437>do <00:13:32.545>some <00:13:32.653>small <00:13:32.760>con <00:13:32.868>uh, <00:13:32.976>config, <00:13:33.083>which <00:13:33.191>we <00:13:33.299>will <00:13:33.406>see <00:13:33.514>in <00:13:33.622>a <00:13:33.730>bit.

206
00:13:38.340 --> 00:13:39.520
<00:13:38.340>And <00:13:38.694>then <00:13:39.048>it's <00:13:39.402>um,

207
00:13:40.190 --> 00:13:45.140
<00:13:40.190>importing <00:13:40.306>the <00:13:40.423>commands <00:13:40.540>to <00:13:40.656>Cypress <00:13:40.773>or <00:13:40.890>Cypress <00:13:41.006>is <00:13:41.123>aware <00:13:41.240>that <00:13:41.356>they <00:13:41.473>exist. <00:13:41.590>Okay,

208
00:13:46.060 --> 00:13:49.660
<00:13:46.060>a <00:13:46.176>little <00:13:46.293>disclaimer <00:13:46.410>first <00:13:46.526>because <00:13:46.643>I <00:13:46.760>have <00:13:46.876>the <00:13:46.993>information, <00:13:47.109>I <00:13:47.226>have <00:13:47.343>the <00:13:47.459>code,

209
00:13:49.680 --> 00:13:51.420
<00:13:49.680>so <00:13:49.959>don't <00:13:50.239>worry <00:13:50.520>about <00:13:50.800>that. <00:13:51.079>However,

210
00:13:51.660 --> 00:13:56.460
<00:13:51.660>I <00:13:51.760>recorded <00:13:51.860>it <00:13:51.959>beforehand <00:13:52.060>to <00:13:52.160>hit <00:13:52.260>the <00:13:52.360>timeframe <00:13:52.459>here <00:13:52.560>and <00:13:52.660>I <00:13:52.760>use <00:13:52.860>some <00:13:52.959>copilot <00:13:53.060>to

211
00:13:56.460 --> 00:14:00.020
<00:13:56.460>speed <00:13:56.576>stuff <00:13:56.693>up <00:13:56.810>as <00:13:56.926>well, <00:13:57.043>so <00:13:57.160>don't <00:13:57.276>be <00:13:57.393>um, <00:13:57.510>surprised <00:13:57.626>on <00:13:57.743>that <00:13:57.860>one,

212
00:14:00.120 --> 00:14:03.740
<00:14:00.120>but <00:14:00.227>we <00:14:00.335>only <00:14:00.443>have <00:14:00.550>25 <00:14:00.658>minutes, <00:14:00.766>so <00:14:00.873>try <00:14:00.981>to <00:14:01.089>be <00:14:01.196>as <00:14:01.304>fast <00:14:01.412>as <00:14:01.520>possible.

213
00:14:05.470 --> 00:14:06.303
Okay?

214
00:14:06.580 --> 00:14:10.640
<00:14:06.580>So <00:14:06.735>at <00:14:06.891>first <00:14:07.046>we <00:14:07.202>will <00:14:07.357>create <00:14:07.513>a <00:14:07.668>basic <00:14:07.824>Cypress <00:14:07.980>test,

215
00:14:11.140 --> 00:14:15.840
<00:14:11.140>run <00:14:11.233>it <00:14:11.326>inside <00:14:11.420>of <00:14:11.513>Chrome, <00:14:11.606>like <00:14:11.699>the <00:14:11.793>way <00:14:11.886>you <00:14:11.980>know <00:14:12.073>it, <00:14:12.166>I <00:14:12.260>will <00:14:12.353>use <00:14:12.446>the, <00:14:12.540>yeah,

216
00:14:17.410 --> 00:14:18.100
<00:14:17.410>small <00:14:18.031>test.

217
00:14:18.100 --> 00:14:22.440
<00:14:18.100>So <00:14:18.200>we <00:14:18.300>have <00:14:18.400>not <00:14:18.500>that <00:14:18.600>much <00:14:18.700>things <00:14:18.800>to <00:14:18.900>worry <00:14:19.000>about <00:14:19.100>and <00:14:19.200>it'll <00:14:19.300>open <00:14:19.400>the <00:14:19.500>cypress

218
00:14:22.440 --> 00:14:25.000
<00:14:22.440>example <00:14:22.790>page. <00:14:23.140>So <00:14:23.490>pretty <00:14:23.840>basic,

219
00:14:25.060 --> 00:14:28.400
<00:14:25.060>pretty <00:14:25.199>typical <00:14:25.339>if <00:14:25.479>you <00:14:25.619>work <00:14:25.760>with <00:14:25.900>Cypress <00:14:26.040>and <00:14:26.180>let <00:14:26.319>me, <00:14:26.459>yeah,

220
00:14:28.400 --> 00:14:33.320
<00:14:28.400>make <00:14:28.500>it <00:14:28.600>a <00:14:28.699>little <00:14:28.800>bit <00:14:28.900>bigger, <00:14:29.000>so <00:14:29.100>I <00:14:29.199>hope <00:14:29.300>you <00:14:29.400>can <00:14:29.500>read <00:14:29.600>it. <00:14:29.699>Okay, <00:14:29.800>yeah.

221
00:14:33.890 --> 00:14:38.440
<00:14:33.890>Afterwards <00:14:34.064>we <00:14:34.240>will <00:14:34.415>do <00:14:34.590>some <00:14:34.765>small <00:14:34.939>configuration. <00:14:35.115>So <00:14:35.290>yeah,

222
00:14:39.860 --> 00:14:40.693
<00:14:39.860>let's <00:14:40.609>go.

223
00:14:41.350 --> 00:14:45.090
<00:14:41.350>We <00:14:41.700>will <00:14:42.050>import <00:14:42.400>the <00:14:42.750>um,

224
00:14:45.740 --> 00:14:50.370
<00:14:45.740>lighthouse <00:14:45.915>and <00:14:46.090>the <00:14:46.265>uh, <00:14:46.440>prepare <00:14:46.615>audit <00:14:46.790>functions <00:14:46.965>to <00:14:47.140>um,

225
00:14:51.510 --> 00:14:54.200
<00:14:51.510>make <00:14:51.710>use <00:14:51.910>of <00:14:52.110>it <00:14:52.310>inside <00:14:52.510>of <00:14:52.710>the <00:14:52.910>config.

226
00:14:56.600 --> 00:15:00.860
<00:14:56.600>And <00:14:56.727>then <00:14:56.854>we'll <00:14:56.981>use <00:14:57.109>some <00:14:57.236>events <00:14:57.363>by <00:14:57.490>Cypress <00:14:57.618>like <00:14:57.745>node <00:14:57.872>events <00:14:58.000>to

227
00:15:01.370 --> 00:15:03.700
<00:15:01.370>make <00:15:01.570>it <00:15:01.770>run. <00:15:01.970>The <00:15:02.170>first <00:15:02.370>one <00:15:02.570>will <00:15:02.770>be,

228
00:15:03.780 --> 00:15:06.700
<00:15:03.780>I <00:15:03.980>guess <00:15:04.180>if <00:15:04.380>I <00:15:04.579>type <00:15:04.780>a <00:15:04.980>little <00:15:05.180>faster,

229
00:15:07.250 --> 00:15:09.180
<00:15:07.250>it's <00:15:07.600>called <00:15:07.950>on <00:15:08.300>before <00:15:08.650>launch,

230
00:15:10.050 --> 00:15:14.060
<00:15:10.050>like <00:15:10.205>before <00:15:10.361>the <00:15:10.516>browser <00:15:10.672>of <00:15:10.827>cypress <00:15:10.983>will <00:15:11.138>be <00:15:11.294>launched. <00:15:11.449>Yeah,

231
00:15:14.130 --> 00:15:18.380
<00:15:14.130>only <00:15:14.246>for <00:15:14.363>browser <00:15:14.480>launch <00:15:14.596>where <00:15:14.713>we <00:15:14.830>will <00:15:14.946>pass <00:15:15.063>in <00:15:15.180>basically <00:15:15.296>all <00:15:15.413>the <00:15:15.530>preparation,

232
00:15:18.440 --> 00:15:21.860
<00:15:18.440>all <00:15:18.547>the <00:15:18.655>launch <00:15:18.763>options <00:15:18.870>we <00:15:18.978>want <00:15:19.086>to <00:15:19.193>have. <00:15:19.301>So <00:15:19.409>if <00:15:19.516>we <00:15:19.624>want <00:15:19.732>to <00:15:19.840>um,

233
00:15:22.260 --> 00:15:24.820
<00:15:22.260>configure <00:15:22.400>something <00:15:22.540>or <00:15:22.680>customize <00:15:22.819>it, <00:15:22.960>we <00:15:23.100>can <00:15:23.240>do <00:15:23.380>it <00:15:23.520>like <00:15:23.660>that.

234
00:15:25.840 --> 00:15:29.140
<00:15:25.840>And <00:15:25.967>last <00:15:26.094>but <00:15:26.221>not <00:15:26.349>least, <00:15:26.476>the <00:15:26.603>most <00:15:26.730>important <00:15:26.858>one, <00:15:26.985>the <00:15:27.112>task <00:15:27.240>one.

235
00:15:29.360 --> 00:15:33.500
<00:15:29.360>So <00:15:29.535>the <00:15:29.710>lighthouse <00:15:29.885>command <00:15:30.060>is <00:15:30.235>basically <00:15:30.410>a <00:15:30.585>cypress <00:15:30.760>task,

236
00:15:33.500 --> 00:15:37.140
<00:15:33.500>which <00:15:33.587>we <00:15:33.675>will <00:15:33.762>want <00:15:33.850>as <00:15:33.937>a <00:15:34.025>command. <00:15:34.112>So <00:15:34.200>for <00:15:34.287>that <00:15:34.375>we <00:15:34.462>need <00:15:34.550>to <00:15:34.637>import <00:15:34.725>it <00:15:34.812>like <00:15:34.900>that.

237
00:15:39.060 --> 00:15:39.893
Okay,

238
00:15:40.200 --> 00:15:44.750
<00:15:40.200>let's <00:15:40.300>get <00:15:40.400>to <00:15:40.500>the <00:15:40.600>test <00:15:40.700>then <00:15:40.800>we <00:15:40.900>need <00:15:41.000>to <00:15:41.100>make <00:15:41.200>Cypress <00:15:41.300>aware <00:15:41.400>of <00:15:41.500>those <00:15:41.600>commands.

239
00:15:44.750 --> 00:15:47.910
<00:15:44.750>So <00:15:44.890>we <00:15:45.030>go <00:15:45.170>to <00:15:45.310>the <00:15:45.450>command <00:15:45.590>file <00:15:45.730>and <00:15:45.870>import <00:15:46.010>them <00:15:46.150>there.

240
00:15:48.370 --> 00:15:51.670
<00:15:48.370>So <00:15:48.603>actually <00:15:48.836>that's <00:15:49.070>basic <00:15:49.303>Cyprus <00:15:49.536>plugin <00:15:49.770>stuff.

241
00:15:54.900 --> 00:15:59.620
<00:15:54.900>Okay, <00:15:55.055>there <00:15:55.211>we <00:15:55.366>go <00:15:55.522>with <00:15:55.677>Cypress, <00:15:55.833>old <00:15:55.988>Lighthouse. <00:15:56.144>And <00:15:56.300>afterwards,

242
00:15:59.880 --> 00:16:01.260
<00:15:59.880>as <00:16:00.087>soon <00:16:00.294>as <00:16:00.501>we <00:16:00.708>have <00:16:00.915>the <00:16:01.122>commands,

243
00:16:01.260 --> 00:16:05.820
<00:16:01.260>we <00:16:01.337>will <00:16:01.415>go <00:16:01.493>to <00:16:01.571>the <00:16:01.648>test <00:16:01.726>and <00:16:01.804>we <00:16:01.882>will <00:16:01.960>write <00:16:02.037>this <00:16:02.115>line <00:16:02.193>of <00:16:02.271>code <00:16:02.348>we <00:16:02.426>want <00:16:02.504>to <00:16:02.582>have <00:16:02.660>for

244
00:16:05.820 --> 00:16:06.653
<00:16:05.820>the <00:16:06.569>metrics.

245
00:16:06.920 --> 00:16:11.180
<00:16:06.920>And <00:16:07.020>I <00:16:07.120>guess <00:16:07.219>people <00:16:07.319>won't <00:16:07.420>be <00:16:07.520>that <00:16:07.620>surprised <00:16:07.719>that <00:16:07.819>the <00:16:07.920>command <00:16:08.020>or <00:16:08.120>the <00:16:08.219>task <00:16:08.319>is

246
00:16:11.180 --> 00:16:15.260
<00:16:11.180>called <00:16:11.319>lighthouse. <00:16:11.459>We <00:16:11.599>will <00:16:11.739>keep <00:16:11.880>it <00:16:12.020>as <00:16:12.160>um, <00:16:12.300>default <00:16:12.439>right <00:16:12.579>now.

247
00:16:16.200 --> 00:16:21.180
<00:16:16.200>And <00:16:16.307>then <00:16:16.415>let's <00:16:16.523>see <00:16:16.630>if <00:16:16.738>it <00:16:16.846>stands <00:16:16.953>for <00:16:17.061>reality <00:16:17.169>through <00:16:17.276>the <00:16:17.384>reality <00:16:17.492>filter <00:16:17.600>and

248
00:16:21.240 --> 00:16:24.340
<00:16:21.240>run <00:16:21.706>it. <00:16:22.173>Okay. <00:16:22.640>Okay,

249
00:16:27.160 --> 00:16:31.960
<00:16:27.160>let's <00:16:27.287>take <00:16:27.414>a <00:16:27.541>look. <00:16:27.669>And <00:16:27.796>of <00:16:27.923>course <00:16:28.050>now <00:16:28.178>I <00:16:28.305>speed <00:16:28.432>it <00:16:28.560>up,

250
00:16:31.960 --> 00:16:35.840
<00:16:31.960>it <00:16:32.042>it <00:16:32.124>a <00:16:32.207>little <00:16:32.289>bit <00:16:32.371>and <00:16:32.454>it'll <00:16:32.536>open <00:16:32.618>and <00:16:32.701>close <00:16:32.783>the <00:16:32.865>site <00:16:32.948>a <00:16:33.030>little <00:16:33.112>bit <00:16:33.195>like <00:16:33.277>it <00:16:33.360>is

251
00:16:35.850 --> 00:16:38.480
<00:16:35.850>doing <00:16:36.083>when <00:16:36.316>you <00:16:36.550>run <00:16:36.783>a <00:16:37.016>lighthouse <00:16:37.250>locally.

252
00:16:39.640 --> 00:16:41.780
<00:16:39.640>So <00:16:39.795>this <00:16:39.951>takes <00:16:40.106>some <00:16:40.262>time <00:16:40.417>to <00:16:40.573>get <00:16:40.728>all <00:16:40.884>the <00:16:41.040>metrics.

253
00:16:46.510 --> 00:16:47.650
<00:16:46.510>And <00:16:46.852>there <00:16:47.194>we <00:16:47.536>go.

254
00:16:49.530 --> 00:16:53.570
<00:16:49.530>I <00:16:49.630>need <00:16:49.730>some <00:16:49.829>style <00:16:49.930>elevator <00:16:50.030>music <00:16:50.130>to <00:16:50.230>speed <00:16:50.329>it <00:16:50.430>up. <00:16:50.530>And <00:16:50.630>yeah, <00:16:50.730>there <00:16:50.829>we <00:16:50.930>are.

255
00:16:53.630 --> 00:16:55.770
<00:16:53.630>The <00:16:53.863>test <00:16:54.096>failed, <00:16:54.330>which <00:16:54.563>is <00:16:54.796>by <00:16:55.030>purpose.

256
00:16:55.910 --> 00:16:59.810
<00:16:55.910>So <00:16:56.010>we <00:16:56.110>can <00:16:56.209>see <00:16:56.310>that <00:16:56.410>the <00:16:56.510>test <00:16:56.610>is <00:16:56.709>actually <00:16:56.810>failing <00:16:56.910>if <00:16:57.010>you <00:16:57.110>have <00:16:57.209>some <00:16:57.310>predefined

257
00:17:00.130 --> 00:17:03.090
<00:17:00.130>threshold. <00:17:00.285>So <00:17:00.441>saying, <00:17:00.596>okay, <00:17:00.752>this <00:17:00.907>is <00:17:01.063>what <00:17:01.218>I <00:17:01.374>consider <00:17:01.530>good.

258
00:17:03.470 --> 00:17:07.010
<00:17:03.470>And <00:17:03.610>if <00:17:03.750>our <00:17:03.890>application <00:17:04.030>goes <00:17:04.170>below <00:17:04.310>those, <00:17:04.450>the <00:17:04.589>test <00:17:04.730>will <00:17:04.870>fail.

259
00:17:07.010 --> 00:17:10.930
<00:17:07.010>And <00:17:07.097>if <00:17:07.185>you <00:17:07.272>have <00:17:07.359>it <00:17:07.447>in <00:17:07.535>your <00:17:07.622>ci, <00:17:07.710>you <00:17:07.797>can <00:17:07.885>say, <00:17:07.972>okay, <00:17:08.060>I <00:17:08.147>want, <00:17:08.234>don't <00:17:08.322>want <00:17:08.410>to.

260
00:17:11.240 --> 00:17:14.810
<00:17:11.240>Then <00:17:11.415>to <00:17:11.589>take <00:17:11.765>a <00:17:11.940>quick <00:17:12.115>look <00:17:12.290>at <00:17:12.464>this, <00:17:12.640>um,

261
00:17:14.880 --> 00:17:17.210
<00:17:14.880>example <00:17:15.113>you <00:17:15.346>see <00:17:15.580>here, <00:17:15.813>the <00:17:16.046>log <00:17:16.280>part.

262
00:17:18.310 --> 00:17:20.930
<00:17:18.310>So <00:17:18.484>there <00:17:18.659>you <00:17:18.835>can <00:17:19.010>see <00:17:19.185>everything, <00:17:19.359>what <00:17:19.534>was <00:17:19.710>measured,

263
00:17:21.630 --> 00:17:24.090
<00:17:21.630>the <00:17:21.910>results <00:17:22.190>because <00:17:22.470>yeah, <00:17:22.750>it <00:17:23.030>failed

264
00:17:25.650 --> 00:17:28.910
<00:17:25.650>and <00:17:25.790>scattered <00:17:25.930>around <00:17:26.070>both <00:17:26.210>of <00:17:26.350>those. <00:17:26.490>You <00:17:26.630>can <00:17:26.770>see <00:17:26.910>the <00:17:27.050>thresholds,

265
00:17:28.910 --> 00:17:32.150
<00:17:28.910>what <00:17:29.190>were <00:17:29.470>being <00:17:29.750>used <00:17:30.030>and <00:17:30.310>such.

266
00:17:32.150 --> 00:17:36.550
<00:17:32.150>Lighthouse <00:17:32.266>thresholds <00:17:32.383>are <00:17:32.500>basically <00:17:32.616>those <00:17:32.733>you <00:17:32.850>are <00:17:32.966>used <00:17:33.083>to <00:17:33.200>when <00:17:33.316>it <00:17:33.433>comes <00:17:33.550>to

267
00:17:36.550 --> 00:17:41.310
<00:17:36.550>local, <00:17:36.705>uh, <00:17:36.861>lighthouse <00:17:37.016>usage. <00:17:37.172>So <00:17:37.327>may <00:17:37.483>it <00:17:37.638>be <00:17:37.794>performance, <00:17:37.950>accessibility,

268
00:17:41.500 --> 00:17:44.270
<00:17:41.500>best <00:17:41.733>practices, <00:17:41.966>zeal <00:17:42.200>and <00:17:42.433>p <00:17:42.666>w <00:17:42.900>a.

269
00:17:45.050 --> 00:17:48.310
<00:17:45.050>And <00:17:45.283>for <00:17:45.516>our <00:17:45.750>case <00:17:45.983>for <00:17:46.216>web <00:17:46.450>performance,

270
00:17:48.570 --> 00:17:52.000
<00:17:48.570>we <00:17:48.710>will <00:17:48.850>zoom <00:17:48.990>up <00:17:49.129>a <00:17:49.270>little <00:17:49.409>bit <00:17:49.550>into <00:17:49.689>the <00:17:49.830>performance <00:17:49.970>stuff.

271
00:17:52.260 --> 00:17:56.680
<00:17:52.260>So <00:17:52.367>remember <00:17:52.475>it's <00:17:52.583>our <00:17:52.690>focus <00:17:52.798>so <00:17:52.906>we <00:17:53.013>can <00:17:53.121>see <00:17:53.229>which <00:17:53.336>vessels <00:17:53.444>are <00:17:53.552>good <00:17:53.660>here.

272
00:17:56.700 --> 00:18:01.320
<00:17:56.700>So <00:17:56.800>everything <00:17:56.900>below <00:17:57.000>a <00:17:57.100>store <00:17:57.200>of <00:17:57.300>50 <00:17:57.400>is <00:17:57.500>bad. <00:17:57.600>You <00:17:57.700>need <00:17:57.800>to <00:17:57.900>change <00:17:58.000>the <00:17:58.100>plan.

273
00:18:01.570 --> 00:18:05.000
<00:18:01.570>Everything <00:18:01.770>in <00:18:01.970>between <00:18:02.169>50 <00:18:02.370>and <00:18:02.570>19 <00:18:02.770>is <00:18:02.970>okay,

274
00:18:05.180 --> 00:18:09.560
<00:18:05.180>but <00:18:05.335>you <00:18:05.491>should <00:18:05.646>maybe <00:18:05.802>improve <00:18:05.957>it <00:18:06.113>and <00:18:06.268>everything <00:18:06.424>above <00:18:06.580>90

275
00:18:09.980 --> 00:18:12.440
<00:18:09.980>is <00:18:10.213>good. <00:18:10.446>So <00:18:10.680>we <00:18:10.913>saw <00:18:11.146>it <00:18:11.380>before,

276
00:18:14.020 --> 00:18:16.410
<00:18:14.020>it's <00:18:14.300>a <00:18:14.580>pretty <00:18:14.860>good <00:18:15.139>score. <00:18:15.420>However,

277
00:18:16.500 --> 00:18:20.240
<00:18:16.500>still <00:18:16.616>we <00:18:16.733>are <00:18:16.850>defined <00:18:16.966>a <00:18:17.083>little <00:18:17.200>bit <00:18:17.316>that <00:18:17.433>we <00:18:17.550>need <00:18:17.666>to <00:18:17.783>be <00:18:17.900>stricter.

278
00:18:20.240 --> 00:18:23.000
<00:18:20.240>And <00:18:20.440>so <00:18:20.640>I <00:18:20.840>wanted <00:18:21.040>it <00:18:21.240>to <00:18:21.440>fail. <00:18:21.640>Okay?

279
00:18:23.820 --> 00:18:26.120
<00:18:23.820>So <00:18:23.975>if <00:18:24.131>you <00:18:24.286>take <00:18:24.442>a <00:18:24.597>look <00:18:24.753>at <00:18:24.908>this <00:18:25.064>little, <00:18:25.220>um,

280
00:18:26.190 --> 00:18:30.840
<00:18:26.190>metrics <00:18:26.423>below <00:18:26.656>stuff <00:18:26.890>like <00:18:27.123>first <00:18:27.356>Contentful <00:18:27.590>pan,

281
00:18:30.840 --> 00:18:35.600
<00:18:30.840>largest <00:18:30.980>Contentful <00:18:31.120>pin, <00:18:31.260>maybe <00:18:31.399>some <00:18:31.540>people <00:18:31.679>heard <00:18:31.820>about <00:18:31.959>that <00:18:32.100>because, <00:18:32.240>uh,

282
00:18:35.650 --> 00:18:37.080
<00:18:35.650>especially <00:18:36.079>provided <00:18:36.508>by <00:18:36.937>Google,

283
00:18:37.130 --> 00:18:40.600
<00:18:37.130>there <00:18:37.330>are <00:18:37.530>other <00:18:37.730>metrics <00:18:37.930>connected <00:18:38.130>to <00:18:38.330>user <00:18:38.530>experience,

284
00:18:40.600 --> 00:18:43.280
<00:18:40.600>which <00:18:40.755>are <00:18:40.911>really <00:18:41.066>important <00:18:41.222>to <00:18:41.377>take <00:18:41.533>a <00:18:41.688>look <00:18:41.844>at <00:18:42.000>too.

285
00:18:45.230 --> 00:18:49.610
<00:18:45.230>So <00:18:45.405>these <00:18:45.580>metrics <00:18:45.755>are <00:18:45.930>a <00:18:46.105>collection <00:18:46.280>and <00:18:46.455>they're <00:18:46.630>called

286
00:18:50.430 --> 00:18:52.490
<00:18:50.430>web <00:18:50.780>vitals. <00:18:51.130>So <00:18:51.480>these <00:18:51.830>are,

287
00:18:52.790 --> 00:18:56.610
<00:18:52.790>is <00:18:52.897>that <00:18:53.005>basically <00:18:53.113>that <00:18:53.220>measure <00:18:53.328>the <00:18:53.436>user <00:18:53.543>experience <00:18:53.651>of <00:18:53.759>a <00:18:53.866>website <00:18:53.974>and <00:18:54.082>they <00:18:54.190>focus

288
00:18:56.670 --> 00:19:00.530
<00:18:56.670>on <00:18:56.845>three <00:18:57.020>critical <00:18:57.195>aspects <00:18:57.370>of <00:18:57.545>web <00:18:57.720>performance <00:18:57.895>like <00:18:58.070>loading,

289
00:19:00.630 --> 00:19:04.610
<00:19:00.630>how <00:19:00.910>fast <00:19:01.190>your <00:19:01.470>page <00:19:01.750>is, <00:19:02.030>interactivity,

290
00:19:05.630 --> 00:19:10.130
<00:19:05.630>how <00:19:05.770>good <00:19:05.910>your <00:19:06.050>webpage <00:19:06.190>or <00:19:06.330>website <00:19:06.470>responds <00:19:06.610>to <00:19:06.750>the <00:19:06.890>user's <00:19:07.030>input

291
00:19:10.750 --> 00:19:14.010
<00:19:10.750>and <00:19:11.100>visual <00:19:11.450>stability. <00:19:11.800>So <00:19:12.150>yeah,

292
00:19:14.270 --> 00:19:16.810
<00:19:14.270>and <00:19:14.410>all <00:19:14.550>of <00:19:14.690>those <00:19:14.830>metrics <00:19:14.970>have <00:19:15.110>implication <00:19:15.250>on <00:19:15.389>your <00:19:15.530>page <00:19:15.670>rank.

293
00:19:16.870 --> 00:19:21.490
<00:19:16.870>So <00:19:17.025>it's <00:19:17.181>really <00:19:17.336>important <00:19:17.492>to <00:19:17.647>keep <00:19:17.803>that <00:19:17.958>in <00:19:18.114>mind <00:19:18.270>will

294
00:19:21.540 --> 00:19:25.770
<00:19:21.540>focus <00:19:21.656>on <00:19:21.773>the <00:19:21.889>three <00:19:22.006>most <00:19:22.123>important <00:19:22.240>ones, <00:19:22.356>which <00:19:22.473>are <00:19:22.590>called <00:19:22.706>core <00:19:22.823>web <00:19:22.940>vitals.

295
00:19:25.910 --> 00:19:29.930
<00:19:25.910>The <00:19:26.037>first <00:19:26.164>is <00:19:26.291>called <00:19:26.419>largest <00:19:26.546>content <00:19:26.673>for <00:19:26.800>paint <00:19:26.928>or <00:19:27.055>SS <00:19:27.182>c <00:19:27.310>p.

296
00:19:30.310 --> 00:19:32.690
<00:19:30.310>And <00:19:30.510>it <00:19:30.710>matters <00:19:30.909>how <00:19:31.110>quickly <00:19:31.310>the <00:19:31.510>main <00:19:31.710>content,

297
00:19:32.840 --> 00:19:36.770
<00:19:32.840>like <00:19:32.967>the <00:19:33.094>biggest <00:19:33.221>element <00:19:33.349>basically <00:19:33.476>on <00:19:33.603>what <00:19:33.730>your <00:19:33.858>web <00:19:33.985>page <00:19:34.112>is <00:19:34.240>loading.

298
00:19:37.070 --> 00:19:41.490
<00:19:37.070>And <00:19:37.245>it <00:19:37.419>should <00:19:37.595>occur <00:19:37.770>in <00:19:37.945>faster <00:19:38.120>than <00:19:38.294>2.5 <00:19:38.470>circuits,

299
00:19:42.000 --> 00:19:43.810
<00:19:42.000>otherwise <00:19:42.280>it's <00:19:42.560>not <00:19:42.840>a <00:19:43.120>good <00:19:43.400>ranking.

300
00:19:45.410 --> 00:19:50.150
<00:19:45.410>Second <00:19:45.503>one <00:19:45.596>is <00:19:45.690>the <00:19:45.783>first <00:19:45.876>input <00:19:45.970>delay. <00:19:46.063>So <00:19:46.156>maybe <00:19:46.250>you <00:19:46.343>had <00:19:46.436>a <00:19:46.530>website <00:19:46.623>with <00:19:46.716>a <00:19:46.810>button,

301
00:19:50.210 --> 00:19:53.510
<00:19:50.210>you <00:19:50.350>click <00:19:50.490>it <00:19:50.630>and <00:19:50.770>it <00:19:50.910>doesn't <00:19:51.050>respond <00:19:51.190>just <00:19:51.330>after <00:19:51.470>some <00:19:51.610>time.

302
00:19:53.610 --> 00:19:57.510
<00:19:53.610>So <00:19:53.726>this <00:19:53.843>is <00:19:53.959>a <00:19:54.076>bad <00:19:54.193>example <00:19:54.310>of <00:19:54.426>f <00:19:54.543>I <00:19:54.659>d <00:19:54.776>first <00:19:54.893>input <00:19:55.010>delay.

303
00:19:58.480 --> 00:20:01.900
<00:19:58.480>And <00:19:58.655>last <00:19:58.830>button <00:19:59.005>not <00:19:59.180>least, <00:19:59.355>this <00:19:59.530>is <00:19:59.705>a, <00:19:59.880>um,

304
00:20:02.280 --> 00:20:07.060
<00:20:02.280>metric <00:20:02.387>I <00:20:02.495>really <00:20:02.603>hate <00:20:02.710>if <00:20:02.818>people <00:20:02.926>screw <00:20:03.033>it <00:20:03.141>up <00:20:03.249>because <00:20:03.356>imagine <00:20:03.464>you <00:20:03.572>have <00:20:03.680>a

305
00:20:07.060 --> 00:20:09.940
<00:20:07.060>website <00:20:07.187>you're <00:20:07.314>reading, <00:20:07.441>you <00:20:07.569>want <00:20:07.696>to <00:20:07.823>interact <00:20:07.950>with <00:20:08.078>it <00:20:08.205>and <00:20:08.332>it <00:20:08.460>shift.

306
00:20:10.640 --> 00:20:14.700
<00:20:10.640>So <00:20:10.815>you <00:20:10.990>basically <00:20:11.165>click <00:20:11.340>a <00:20:11.515>text <00:20:11.690>without <00:20:11.865>wanting <00:20:12.040>it.

307
00:20:14.850 --> 00:20:16.660
<00:20:14.850>This <00:20:15.199>is <00:20:15.550>cumulative <00:20:15.899>layered <00:20:16.250>shift.

308
00:20:16.720 --> 00:20:20.620
<00:20:16.720>So <00:20:16.836>it <00:20:16.953>measures <00:20:17.070>the <00:20:17.186>visual <00:20:17.303>stability <00:20:17.420>of <00:20:17.536>a <00:20:17.653>webpage <00:20:17.770>by <00:20:17.886>tracking <00:20:18.003>unexpected <00:20:18.120>layout

309
00:20:20.680 --> 00:20:21.513
shifts.

310
00:20:21.720 --> 00:20:26.020
<00:20:21.720>And <00:20:21.875>it <00:20:22.031>shouldn't <00:20:22.186>be <00:20:22.342>more <00:20:22.497>than <00:20:22.653>I <00:20:22.808>guess <00:20:22.964>1.0 <00:20:23.120>0.1.

311
00:20:26.740 --> 00:20:31.250
<00:20:26.740>I <00:20:26.940>am <00:20:27.140>I <00:20:27.340>think <00:20:27.540>like <00:20:27.740>distance <00:20:27.940>and <00:20:28.140>yeah,

312
00:20:31.260 --> 00:20:34.610
<00:20:31.260>there <00:20:31.353>are <00:20:31.446>many <00:20:31.540>ways <00:20:31.633>of <00:20:31.726>improving <00:20:31.820>those <00:20:31.913>and <00:20:32.006>I <00:20:32.100>guess <00:20:32.193>I <00:20:32.286>could <00:20:32.379>have <00:20:32.473>a <00:20:32.566>full <00:20:32.660>day

313
00:20:34.850 --> 00:20:37.770
<00:20:34.850>workshop <00:20:35.024>on <00:20:35.199>that <00:20:35.375>one. <00:20:35.550>So <00:20:35.725>let's <00:20:35.899>focus <00:20:36.074>on <00:20:36.250>monitoring.

314
00:20:38.690 --> 00:20:40.690
<00:20:38.690>And <00:20:38.923>similar <00:20:39.156>to <00:20:39.390>the <00:20:39.623>Cypress <00:20:39.856>audit <00:20:40.090>plugin,

315
00:20:40.960 --> 00:20:45.010
<00:20:40.960>there's <00:20:41.067>a <00:20:41.175>Cyrus <00:20:41.283>Web <00:20:41.390>wireless <00:20:41.498>plugin <00:20:41.606>to <00:20:41.713>capture <00:20:41.821>all <00:20:41.929>of <00:20:42.036>those <00:20:42.144>metrics <00:20:42.252>by <00:20:42.360>using

316
00:20:45.010 --> 00:20:49.680
<00:20:45.010>your <00:20:45.137>given <00:20:45.264>test <00:20:45.391>automation. <00:20:45.519>And <00:20:45.646>yeah, <00:20:45.773>it's <00:20:45.900>again <00:20:46.028>downloading <00:20:46.155>the <00:20:46.282>whole <00:20:46.410>internet.

317
00:20:49.680 --> 00:20:53.760
<00:20:49.680>Let's <00:20:49.787>beat <00:20:49.895>it <00:20:50.003>up <00:20:50.110>a <00:20:50.218>little <00:20:50.326>bit <00:20:50.433>and <00:20:50.541>making <00:20:50.649>Cypress <00:20:50.756>aware <00:20:50.864>the <00:20:50.972>plugging <00:20:51.080>exists.

318
00:20:55.330 --> 00:20:58.020
<00:20:55.330>Yeah, <00:20:55.563>but <00:20:55.796>I <00:20:56.030>don't <00:20:56.263>want <00:20:56.496>to <00:20:56.730>quote,

319
00:20:58.430 --> 00:21:00.340
<00:20:58.430>let's <00:20:58.605>take <00:20:58.780>a <00:20:58.955>look <00:20:59.130>how <00:20:59.305>this <00:20:59.480>actually <00:20:59.655>look <00:20:59.830>like.

320
00:21:00.520 --> 00:21:05.140
<00:21:00.520>So <00:21:00.636>I <00:21:00.753>import <00:21:00.870>again <00:21:00.986>the <00:21:01.103>commands <00:21:01.220>to <00:21:01.336>Cyprus. <00:21:01.453>So <00:21:01.570>it's <00:21:01.686>again <00:21:01.803>this <00:21:01.920>um,

321
00:21:05.140 --> 00:21:06.940
<00:21:05.140>import <00:21:05.606>cypress <00:21:06.073>vitals <00:21:06.540>thing.

322
00:21:07.640 --> 00:21:10.900
<00:21:07.640>And <00:21:07.767>I <00:21:07.894>will <00:21:08.021>put <00:21:08.149>away <00:21:08.276>everything <00:21:08.403>from <00:21:08.530>before <00:21:08.658>what <00:21:08.785>we <00:21:08.912>did <00:21:09.040>before.

323
00:21:11.800 --> 00:21:16.220
<00:21:11.800>And <00:21:11.916>I <00:21:12.033>will <00:21:12.149>enter <00:21:12.266>again <00:21:12.383>one <00:21:12.500>line <00:21:12.616>of <00:21:12.733>code, <00:21:12.850>which <00:21:12.966>is <00:21:13.083>Cypress <00:21:13.200>vitals,

324
00:21:16.220 --> 00:21:20.460
<00:21:16.220>c <00:21:16.313>y <00:21:16.406>vitals. <00:21:16.500>There <00:21:16.593>I <00:21:16.686>will <00:21:16.780>define <00:21:16.873>the <00:21:16.966>U <00:21:17.060>R <00:21:17.153>L <00:21:17.246>I <00:21:17.340>want <00:21:17.433>to, <00:21:17.526>uh, <00:21:17.620>measure,

325
00:21:20.470 --> 00:21:22.700
<00:21:20.470>which <00:21:20.703>is <00:21:20.936>again <00:21:21.170>the <00:21:21.403>Cyprus <00:21:21.636>example <00:21:21.870>page.

326
00:21:24.060 --> 00:21:26.280
<00:21:24.060>And <00:21:24.260>then <00:21:24.460>we <00:21:24.659>are <00:21:24.860>fine <00:21:25.060>with <00:21:25.260>the <00:21:25.460>defaults.

327
00:21:26.340 --> 00:21:28.920
<00:21:26.340>Of <00:21:26.495>course <00:21:26.651>we <00:21:26.806>can <00:21:26.962>configure <00:21:27.117>later <00:21:27.273>some <00:21:27.428>others. <00:21:27.584>But <00:21:27.740>yeah,

328
00:21:29.790 --> 00:21:34.360
<00:21:29.790>it's <00:21:29.897>already <00:21:30.005>failing <00:21:30.113>as <00:21:30.220>I <00:21:30.328>wanted <00:21:30.436>to <00:21:30.543>because <00:21:30.651>I <00:21:30.759>guess <00:21:30.866>the <00:21:30.974>CU <00:21:31.082>cumulative <00:21:31.190>layer

329
00:21:34.450 --> 00:21:34.860
shift,

330
00:21:34.860 --> 00:21:39.480
<00:21:34.860>the <00:21:35.015>C <00:21:35.171>L <00:21:35.326>SS <00:21:35.482>value <00:21:35.637>is <00:21:35.793>above <00:21:35.948>the <00:21:36.104>0.1 <00:21:36.260>threshold.

331
00:21:40.380 --> 00:21:41.560
<00:21:40.380>So <00:21:40.734>as <00:21:41.088>you <00:21:41.442>see,

332
00:21:42.100 --> 00:21:46.160
<00:21:42.100>we <00:21:42.216>only <00:21:42.333>need <00:21:42.449>one <00:21:42.566>command <00:21:42.683>to <00:21:42.800>get <00:21:42.916>web <00:21:43.033>licenses <00:21:43.149>into <00:21:43.266>our <00:21:43.383>test <00:21:43.500>automation.

333
00:21:46.860 --> 00:21:49.640
<00:21:46.860>And <00:21:47.015>it's <00:21:47.171>apart <00:21:47.326>from <00:21:47.482>that <00:21:47.637>it's <00:21:47.793>typical <00:21:47.948>Cypress <00:21:48.104>plugin <00:21:48.260>usage.

334
00:21:51.000 --> 00:21:54.260
<00:21:51.000>And <00:21:51.155>I <00:21:51.311>said <00:21:51.466>if <00:21:51.622>you <00:21:51.777>want <00:21:51.933>to <00:21:52.088>configure <00:21:52.244>the <00:21:52.400>thresholds,

335
00:21:54.720 --> 00:21:59.220
<00:21:54.720>you <00:21:54.836>can <00:21:54.953>basically <00:21:55.070>have <00:21:55.186>them <00:21:55.303>in <00:21:55.420>an <00:21:55.536>object. <00:21:55.653>So <00:21:55.770>may <00:21:55.886>it <00:21:56.003>be, <00:21:56.120>uh,

336
00:21:59.230 --> 00:22:02.900
<00:21:59.230>everything, <00:21:59.405>of <00:21:59.580>course <00:21:59.755>the <00:21:59.930>millisecond <00:22:00.105>bar, <00:22:00.280>I <00:22:00.455>for <00:22:00.630>example,

337
00:22:03.010 --> 00:22:06.820
<00:22:03.010>like <00:22:03.126>to <00:22:03.243>add <00:22:03.360>another <00:22:03.476>value, <00:22:03.593>which <00:22:03.710>is <00:22:03.826>called <00:22:03.943>um, <00:22:04.060>time <00:22:04.176>to <00:22:04.293>first <00:22:04.410>bite,

338
00:22:07.230 --> 00:22:10.620
<00:22:07.230>which <00:22:07.405>is <00:22:07.580>the <00:22:07.755>time <00:22:07.930>between <00:22:08.105>the <00:22:08.280>request <00:22:08.455>for <00:22:08.630>shorts,

339
00:22:10.620 --> 00:22:12.780
<00:22:10.620>and <00:22:10.775>then <00:22:10.931>the <00:22:11.086>first <00:22:11.242>bite <00:22:11.397>of <00:22:11.553>your <00:22:11.708>response <00:22:11.864>will <00:22:12.020>come.

340
00:22:13.040 --> 00:22:16.660
<00:22:13.040>So <00:22:13.167>how <00:22:13.294>fast <00:22:13.421>are <00:22:13.549>your <00:22:13.676>requests? <00:22:13.803>This <00:22:13.930>is <00:22:14.058>a <00:22:14.185>wonderful <00:22:14.312>metric <00:22:14.440>too,

341
00:22:16.680 --> 00:22:20.900
<00:22:16.680>so <00:22:16.787>maybe <00:22:16.895>a <00:22:17.003>good <00:22:17.110>idea <00:22:17.218>to <00:22:17.326>include <00:22:17.433>it <00:22:17.541>as <00:22:17.649>well, <00:22:17.756>like <00:22:17.864>above <00:22:17.972>the <00:22:18.080>standards.

342
00:22:22.500 --> 00:22:25.230
<00:22:22.500>Okay, <00:22:22.655>a <00:22:22.811>quicker <00:22:22.966>look <00:22:23.122>on <00:22:23.277>the <00:22:23.433>results <00:22:23.588>of <00:22:23.744>the <00:22:23.900>test.

343
00:22:25.570 --> 00:22:27.470
<00:22:25.570>So <00:22:25.770>you <00:22:25.970>see <00:22:26.169>there's <00:22:26.370>the <00:22:26.570>fail <00:22:26.770>in <00:22:26.970>it,

344
00:22:27.530 --> 00:22:30.950
<00:22:27.530>so <00:22:27.730>this <00:22:27.930>little <00:22:28.129>circle <00:22:28.330>in <00:22:28.530>it <00:22:28.730>and <00:22:28.930>yeah,

345
00:22:31.250 --> 00:22:35.110
<00:22:31.250>the <00:22:31.366>lock <00:22:31.483>entries <00:22:31.600>are <00:22:31.716>there, <00:22:31.833>the <00:22:31.950>result <00:22:32.066>are <00:22:32.183>there, <00:22:32.300>the <00:22:32.416>test <00:22:32.533>is <00:22:32.650>failing.

346
00:22:35.130 --> 00:22:38.680
<00:22:35.130>So <00:22:35.285>it's <00:22:35.441>blocked <00:22:35.596>when <00:22:35.752>it <00:22:35.907>comes <00:22:36.063>to <00:22:36.218>merging <00:22:36.374>and <00:22:36.530>yeah,

347
00:22:39.140 --> 00:22:43.360
<00:22:39.140>it <00:22:39.295>fails <00:22:39.451>after <00:22:39.606>the <00:22:39.762>threshold <00:22:39.917>is <00:22:40.073>not <00:22:40.228>met. <00:22:40.384>Okay. <00:22:40.540>Okay,

348
00:22:44.660 --> 00:22:47.640
<00:22:44.660>so <00:22:44.860>I <00:22:45.060>guess <00:22:45.260>I <00:22:45.460>run <00:22:45.660>out <00:22:45.860>of <00:22:46.060>time.

349
00:22:47.740 --> 00:22:52.240
<00:22:47.740>So <00:22:47.840>let's <00:22:47.940>please <00:22:48.040>be <00:22:48.140>with <00:22:48.240>me <00:22:48.340>and <00:22:48.440>I <00:22:48.540>try <00:22:48.640>to <00:22:48.740>be <00:22:48.840>a <00:22:48.940>little <00:22:49.040>quick. <00:22:49.140>Um,

350
00:22:52.890 --> 00:22:56.800
<00:22:52.890>these <00:22:52.997>two <00:22:53.105>tools <00:22:53.213>are <00:22:53.320>the <00:22:53.428>ones <00:22:53.536>I <00:22:53.643>really <00:22:53.751>love <00:22:53.859>to <00:22:53.966>get <00:22:54.074>all <00:22:54.182>the <00:22:54.290>performance

351
00:22:56.800 --> 00:23:00.720
<00:22:56.800>information <00:22:56.927>without <00:22:57.054>introducing <00:22:57.181>new <00:22:57.309>tools <00:22:57.436>like <00:22:57.563>a <00:22:57.690>GitHub <00:22:57.818>action <00:22:57.945>or <00:22:58.072>the <00:22:58.200>own

352
00:23:00.720 --> 00:23:04.840
<00:23:00.720>Lighthouse <00:23:00.847>or <00:23:00.974>web <00:23:01.101>co <00:23:01.229>white <00:23:01.356>tools. <00:23:01.483>I, <00:23:01.610>for <00:23:01.738>example, <00:23:01.865>as <00:23:01.992>a <00:23:02.120>tester,

353
00:23:05.080 --> 00:23:09.880
<00:23:05.080>I <00:23:05.187>wrote <00:23:05.295>lots <00:23:05.403>of <00:23:05.510>end-to-end <00:23:05.618>tests, <00:23:05.726>maybe <00:23:05.833>smoke <00:23:05.941>tests. <00:23:06.049>It's <00:23:06.156>working <00:23:06.264>like <00:23:06.372>a <00:23:06.480>charm.

354
00:23:10.060 --> 00:23:12.000
<00:23:10.060>So <00:23:10.235>just <00:23:10.409>I <00:23:10.585>add <00:23:10.760>this <00:23:10.935>middle <00:23:11.110>line <00:23:11.284>of <00:23:11.460>code,

355
00:23:12.140 --> 00:23:16.640
<00:23:12.140>I'm <00:23:12.227>half <00:23:12.315>all <00:23:12.402>the <00:23:12.490>performance <00:23:12.577>measures <00:23:12.665>at <00:23:12.752>my <00:23:12.840>hand <00:23:12.927>and <00:23:13.015>I <00:23:13.102>like <00:23:13.190>to <00:23:13.277>use <00:23:13.365>it <00:23:13.452>like <00:23:13.540>that.

356
00:23:17.000 --> 00:23:18.360
<00:23:17.000>I <00:23:17.204>want <00:23:17.408>to <00:23:17.611>make <00:23:17.816>the <00:23:18.020>test <00:23:18.224>fail.

357
00:23:18.920 --> 00:23:22.880
<00:23:18.920>I <00:23:19.013>want <00:23:19.106>to <00:23:19.200>make <00:23:19.293>the <00:23:19.386>test <00:23:19.480>fail <00:23:19.573>on <00:23:19.666>my <00:23:19.760>pull <00:23:19.853>request <00:23:19.946>so <00:23:20.040>I <00:23:20.133>cannot <00:23:20.226>merge <00:23:20.320>it.

358
00:23:23.340 --> 00:23:25.960
<00:23:23.340>Or <00:23:23.456>even <00:23:23.573>if <00:23:23.689>I <00:23:23.806>don't <00:23:23.923>want <00:23:24.040>to <00:23:24.156>run <00:23:24.273>it <00:23:24.389>on <00:23:24.506>every <00:23:24.623>merge <00:23:24.740>request,

359
00:23:26.210 --> 00:23:31.000
<00:23:26.210>think <00:23:26.310>about <00:23:26.410>a <00:23:26.510>schedule <00:23:26.610>like <00:23:26.710>running <00:23:26.810>it <00:23:26.910>inside <00:23:27.010>of <00:23:27.110>the <00:23:27.210>night <00:23:27.310>to <00:23:27.410>always <00:23:27.510>have <00:23:27.610>a

360
00:23:31.000 --> 00:23:34.040
<00:23:31.000>quick <00:23:31.233>look <00:23:31.466>on <00:23:31.700>your <00:23:31.933>performance <00:23:32.166>measures. <00:23:32.400>So,

361
00:23:35.660 --> 00:23:39.680
<00:23:35.660>and <00:23:35.767>it <00:23:35.875>basically <00:23:35.983>doesn't <00:23:36.090>matter <00:23:36.198>if <00:23:36.306>you're <00:23:36.413>using <00:23:36.521>Cyprus <00:23:36.629>or <00:23:36.736>if <00:23:36.844>you're <00:23:36.952>using <00:23:37.060>play

362
00:23:39.680 --> 00:23:42.440
<00:23:39.680>route, <00:23:39.820>try <00:23:39.960>to <00:23:40.100>get <00:23:40.240>your <00:23:40.380>task <00:23:40.520>to <00:23:40.660>be <00:23:40.800>a <00:23:40.940>little <00:23:41.080>detective,

363
00:23:42.520 --> 00:23:45.160
<00:23:42.520>a <00:23:42.675>little <00:23:42.831>sure <00:23:42.986>like <00:23:43.142>Cyprus <00:23:43.297>or <00:23:43.453>if <00:23:43.608>you <00:23:43.764>want <00:23:43.920>to,

364
00:23:46.070 --> 00:23:50.200
<00:23:46.070>providing <00:23:46.186>you <00:23:46.303>with <00:23:46.419>lots <00:23:46.536>of <00:23:46.653>information <00:23:46.770>and <00:23:46.886>information <00:23:47.003>is <00:23:47.120>key <00:23:47.236>and <00:23:47.353>information <00:23:47.470>is

365
00:23:50.200 --> 00:23:52.800
<00:23:50.200>power <00:23:50.400>and <00:23:50.600>information <00:23:50.800>is <00:23:51.000>performed <00:23:51.200>in <00:23:51.400>this <00:23:51.600>regard.

366
00:23:54.570 --> 00:23:59.430
<00:23:54.570>So <00:23:54.669>if <00:23:54.770>there <00:23:54.870>are <00:23:54.970>just <00:23:55.070>four <00:23:55.169>things <00:23:55.270>I <00:23:55.370>want <00:23:55.470>you <00:23:55.570>to <00:23:55.669>remember <00:23:55.770>from <00:23:55.870>my <00:23:55.970>talk

367
00:23:59.650 --> 00:24:03.350
<00:23:59.650>and <00:23:59.750>to <00:23:59.850>take <00:23:59.950>back <00:24:00.050>home <00:24:00.150>with <00:24:00.250>you <00:24:00.350>and <00:24:00.450>maybe <00:24:00.550>be <00:24:00.650>inspired, <00:24:00.750>maybe <00:24:00.850>think <00:24:00.950>about <00:24:01.050>it,

368
00:24:03.740 --> 00:24:08.640
<00:24:03.740>it's <00:24:03.915>those <00:24:04.090>without <00:24:04.265>measurements, <00:24:04.440>there <00:24:04.615>will <00:24:04.790>be <00:24:04.965>no <00:24:05.140>improvement.

369
00:24:08.700 --> 00:24:11.480
<00:24:08.700>So <00:24:08.875>always <00:24:09.050>try <00:24:09.225>to <00:24:09.400>get <00:24:09.575>hold <00:24:09.750>of <00:24:09.925>your <00:24:10.100>information,

370
00:24:11.480 --> 00:24:13.760
<00:24:11.480>especially <00:24:11.760>your <00:24:12.040>performance <00:24:12.320>metrics. <00:24:12.600>At <00:24:12.880>harmed

371
00:24:16.570 --> 00:24:19.990
<00:24:16.570>All <00:24:16.710>the <00:24:16.850>performance <00:24:16.990>issues <00:24:17.129>are <00:24:17.270>more <00:24:17.409>noticeable <00:24:17.550>on <00:24:17.689>the <00:24:17.830>front <00:24:17.970>end.

372
00:24:20.050 --> 00:24:24.150
<00:24:20.050>So <00:24:20.166>I'm <00:24:20.283>really <00:24:20.399>sorry, <00:24:20.516>front <00:24:20.633>end <00:24:20.750>people <00:24:20.866>and <00:24:20.983>I'm <00:24:21.100>sorry, <00:24:21.216>my <00:24:21.333>past <00:24:21.450>me.

373
00:24:24.490 --> 00:24:27.710
<00:24:24.490>You <00:24:24.606>cannot <00:24:24.723>hide <00:24:24.840>away <00:24:24.956>from <00:24:25.073>the <00:24:25.190>responsibility <00:24:25.306>you <00:24:25.423>need <00:24:25.540>to <00:24:25.656>take <00:24:25.773>care <00:24:25.890>of

374
00:24:27.710 --> 00:24:29.830
<00:24:27.710>performance <00:24:27.943>as <00:24:28.176>much <00:24:28.410>as <00:24:28.643>backend. <00:24:28.876>People <00:24:29.110>do

375
00:24:32.020 --> 00:24:33.350
<00:24:32.020>utilize <00:24:32.618>test <00:24:33.216>automation.

376
00:24:33.350 --> 00:24:36.550
<00:24:33.350>If <00:24:33.443>you <00:24:33.536>don't <00:24:33.629>want <00:24:33.723>to <00:24:33.816>introduce <00:24:33.909>new <00:24:34.003>tools <00:24:34.096>or <00:24:34.189>if <00:24:34.283>you <00:24:34.376>want <00:24:34.469>to <00:24:34.563>have <00:24:34.656>a <00:24:34.750>shallow

377
00:24:36.830 --> 00:24:40.150
<00:24:36.830>learning <00:24:36.946>curve <00:24:37.063>and <00:24:37.179>it's, <00:24:37.296>as <00:24:37.413>you <00:24:37.530>saw, <00:24:37.646>it's <00:24:37.763>pretty <00:24:37.879>easy <00:24:37.996>to <00:24:38.113>do <00:24:38.230>that.

378
00:24:41.670 --> 00:24:44.370
<00:24:41.670>And <00:24:41.845>last <00:24:42.020>but <00:24:42.195>not <00:24:42.370>least, <00:24:42.545>stick <00:24:42.720>to <00:24:42.895>the <00:24:43.070>basics.

379
00:24:44.390 --> 00:24:48.410
<00:24:44.390>So <00:24:44.506>a <00:24:44.623>good <00:24:44.740>starting <00:24:44.856>points <00:24:44.973>are <00:24:45.090>Google <00:24:45.206>Lighthouse <00:24:45.323>and <00:24:45.440>the <00:24:45.556>core <00:24:45.673>vital, <00:24:45.790>uh,

380
00:24:48.410 --> 00:24:52.010
<00:24:48.410>web <00:24:48.510>core <00:24:48.610>web <00:24:48.710>vitals. <00:24:48.810>So <00:24:48.910>you <00:24:49.010>don't <00:24:49.110>need <00:24:49.210>to <00:24:49.310>have <00:24:49.410>think <00:24:49.510>like, <00:24:49.610>oh <00:24:49.710>my <00:24:49.810>God,

381
00:24:52.010 --> 00:24:57.010
<00:24:52.010>where <00:24:52.110>should <00:24:52.210>I <00:24:52.310>start? <00:24:52.410>These <00:24:52.510>basic <00:24:52.610>points <00:24:52.710>are <00:24:52.810>a <00:24:52.910>good <00:24:53.010>way <00:24:53.110>of <00:24:53.210>starting. <00:24:53.310>So <00:24:53.410>yeah,

382
00:24:57.350 --> 00:25:01.290
<00:24:57.350>you <00:24:57.457>can <00:24:57.565>use <00:24:57.673>test <00:24:57.780>automation <00:24:57.888>for <00:24:57.996>more <00:24:58.103>than <00:24:58.211>just <00:24:58.319>testing, <00:24:58.426>which <00:24:58.534>is <00:24:58.642>pretty <00:24:58.750>great,

383
00:25:01.300 --> 00:25:01.870
<00:25:01.300>isn't <00:25:01.812>it?

384
00:25:01.870 --> 00:25:06.730
<00:25:01.870>So <00:25:01.986>let's <00:25:02.103>test <00:25:02.219>all <00:25:02.336>the <00:25:02.453>things <00:25:02.570>and <00:25:02.686>try <00:25:02.803>to <00:25:02.919>see <00:25:03.036>all <00:25:03.153>the <00:25:03.270>tools,

385
00:25:06.950 --> 00:25:11.610
<00:25:06.950>all <00:25:07.066>the <00:25:07.183>test <00:25:07.300>automation <00:25:07.416>tools, <00:25:07.533>like <00:25:07.650>being <00:25:07.766>an <00:25:07.883>assistant <00:25:08.000>to <00:25:08.116>you <00:25:08.233>taking, <00:25:08.350>uh,

386
00:25:11.720 --> 00:25:15.770
<00:25:11.720>like <00:25:11.827>taking <00:25:11.935>away <00:25:12.043>Headspace <00:25:12.150>from <00:25:12.258>you <00:25:12.366>so <00:25:12.473>you <00:25:12.581>can <00:25:12.689>focus <00:25:12.796>on <00:25:12.904>the <00:25:13.012>most <00:25:13.120>important

387
00:25:15.770 --> 00:25:19.890
<00:25:15.770>things. <00:25:15.897>May <00:25:16.024>it <00:25:16.151>be <00:25:16.279>cool <00:25:16.406>features, <00:25:16.533>may <00:25:16.660>it <00:25:16.788>be <00:25:16.915>wonderful <00:25:17.042>user <00:25:17.170>experience.

388
00:25:20.430 --> 00:25:24.930
<00:25:20.430>May <00:25:20.523>it <00:25:20.616>be <00:25:20.710>on, <00:25:20.803>make <00:25:20.896>it <00:25:20.990>work, <00:25:21.083>make <00:25:21.176>it <00:25:21.270>fast, <00:25:21.363>make <00:25:21.456>it <00:25:21.550>better, <00:25:21.643>make <00:25:21.736>it <00:25:21.830>perform.

389
00:25:25.670 --> 00:25:29.250
<00:25:25.670>And <00:25:25.777>if <00:25:25.885>you <00:25:25.993>have <00:25:26.100>such <00:25:26.208>tools <00:25:26.316>to <00:25:26.423>help <00:25:26.531>you, <00:25:26.639>why <00:25:26.746>not <00:25:26.854>using <00:25:26.962>them? <00:25:27.070>Right?

390
00:25:30.790 --> 00:25:35.340
<00:25:30.790>Thank <00:25:30.877>you <00:25:30.965>so <00:25:31.052>much <00:25:31.139>for <00:25:31.227>being <00:25:31.315>here. <00:25:31.402>I'm <00:25:31.490>so, <00:25:31.577>so <00:25:31.665>glad <00:25:31.752>to <00:25:31.840>be <00:25:31.927>your <00:25:32.014>speaker. <00:25:32.102>Thank <00:25:32.190>you.

391
00:25:35.630 --> 00:25:36.420
<00:25:35.630>Thank <00:25:35.985>you <00:25:36.341>Ramona.