1 00:00:06,965 --> 00:00:09,185 - Let's look at the benefits of automation 2 00:00:09,185 --> 00:00:12,733 and what can get in the way of successful automation. 3 00:00:12,733 --> 00:00:16,900 We want to know what worked yesterday still works today. 4 00:00:18,100 --> 00:00:20,324 Automation tells us that. 5 00:00:20,324 --> 00:00:21,601 It's our regression tests, 6 00:00:21,601 --> 00:00:24,199 but it's a change-detector. 7 00:00:24,199 --> 00:00:26,681 It won't find new bugs, 8 00:00:26,681 --> 00:00:30,097 but it does let us make changes fearlessly, 9 00:00:30,097 --> 00:00:32,699 because we have that safety net. 10 00:00:32,699 --> 00:00:35,739 When we talk about automation helping testers 11 00:00:35,739 --> 00:00:37,686 be able to do new testing, 12 00:00:37,686 --> 00:00:40,491 we mean using their critical thinking skills 13 00:00:40,491 --> 00:00:43,458 to ask questions about new features and stories, 14 00:00:43,458 --> 00:00:46,461 exploratory testing to build confidence, 15 00:00:46,461 --> 00:00:49,137 and we'll talk more about that in lesson five. 16 00:00:49,137 --> 00:00:53,846 But, being able to test those quality attributes, 17 00:00:53,846 --> 00:00:57,597 being able to test the non-functionals, 18 00:00:57,597 --> 00:00:59,875 we want to be able to have time to do that 19 00:00:59,875 --> 00:01:02,392 and automation allows us. 20 00:01:02,392 --> 00:01:05,395 Coders and testers collaborate to automate. 21 00:01:05,395 --> 00:01:09,056 It promotes that shared understanding of the features 22 00:01:09,056 --> 00:01:10,415 that we're building. 23 00:01:10,415 --> 00:01:13,640 We also want to reduce cycle time with automation. 24 00:01:13,640 --> 00:01:15,619 That's one of the biggest benefits. 25 00:01:15,619 --> 00:01:18,752 That short feedback loop helps us stay on track, 26 00:01:18,752 --> 00:01:21,728 collaborating to specify executable tests, 27 00:01:21,728 --> 00:01:24,246 which will help us guide our coding. 28 00:01:24,246 --> 00:01:26,605 That means fewer defects. 29 00:01:26,605 --> 00:01:29,568 Scripts, frameworks for test data setup, 30 00:01:29,568 --> 00:01:33,200 automated deployments to test environments. 31 00:01:33,200 --> 00:01:36,299 We get to know exactly what we're testing. 32 00:01:36,299 --> 00:01:38,936 Infrastructure, spinning up test environments 33 00:01:38,936 --> 00:01:42,062 for specific stories and branching. 34 00:01:42,062 --> 00:01:45,767 David Evans coined the term living documentation 35 00:01:45,767 --> 00:01:47,617 and Goiko adds (indecipherable) 36 00:01:47,617 --> 00:01:50,052 in his book, Specification By Example. 37 00:01:50,052 --> 00:01:53,225 If business doesn't get automation, 38 00:01:53,225 --> 00:01:56,848 perhaps you can sell it to them as documentation. 39 00:01:56,848 --> 00:01:58,587 Because that's what it is. 40 00:01:58,587 --> 00:02:00,691 If our tests all pass, 41 00:02:00,691 --> 00:02:01,933 if they're running green, 42 00:02:01,933 --> 00:02:05,317 they document exactly what our system does. 43 00:02:05,317 --> 00:02:08,119 The whole team needs to be responsible 44 00:02:08,119 --> 00:02:10,552 for keeping these builds passing. 45 00:02:10,552 --> 00:02:12,492 Has to be a top priority. 46 00:02:12,492 --> 00:02:16,077 This is part of that whole team buying into quality. 47 00:02:16,077 --> 00:02:17,971 Another term we heard from David Evans is 48 00:02:17,971 --> 00:02:19,956 Respect the tests. 49 00:02:19,956 --> 00:02:21,478 I like to think of them as, 50 00:02:21,478 --> 00:02:23,458 The tests grow. 51 00:02:23,458 --> 00:02:26,102 We need to care and feed for them. 52 00:02:26,102 --> 00:02:28,302 So not only do we need to add, 53 00:02:28,302 --> 00:02:30,031 we also need to update 54 00:02:30,031 --> 00:02:32,614 so that they grow successfully.