1 00:00:06,705 --> 00:00:10,898 - More agile teams are finding value in exploratory testing, 2 00:00:10,898 --> 00:00:12,606 but for many teams, 3 00:00:12,606 --> 00:00:16,478 it's still a new or even an unknown idea. 4 00:00:16,478 --> 00:00:18,348 We're gonna start by explaining the purpose of 5 00:00:18,348 --> 00:00:20,864 exploratory testing and what's involved. 6 00:00:20,864 --> 00:00:22,831 We like Elizabeth Hendrickson's definition 7 00:00:22,831 --> 00:00:24,214 of exploratory testing. 8 00:00:24,214 --> 00:00:26,683 Simultaneously designing and executing tests 9 00:00:26,683 --> 00:00:28,030 to learn about the system, 10 00:00:28,030 --> 00:00:30,357 using your insights from the last experiment 11 00:00:30,357 --> 00:00:32,156 to inform the next. 12 00:00:32,156 --> 00:00:36,161 Exploratory testing helps us find surprises. 13 00:00:36,161 --> 00:00:38,834 Implications of interactions that nobody considered 14 00:00:38,834 --> 00:00:41,059 when we were planning our feature, 15 00:00:41,059 --> 00:00:43,501 and misunderstandings about what the software 16 00:00:43,501 --> 00:00:45,001 is supposed to do. 17 00:00:45,908 --> 00:00:48,431 Our goal is to learn information of interest and value 18 00:00:48,431 --> 00:00:50,998 to the delivery team, to the business 19 00:00:50,998 --> 00:00:53,552 and to the customers. 20 00:00:53,552 --> 00:00:57,200 We wanted to mitigate risk and gain confidence 21 00:00:57,200 --> 00:00:59,636 in our new features and our product. 22 00:00:59,636 --> 00:01:02,844 With exploratory testing, there's no script. 23 00:01:02,844 --> 00:01:06,094 There are no lists of expected outputs, 24 00:01:07,116 --> 00:01:09,503 but instead, we think about our goal. 25 00:01:09,503 --> 00:01:10,652 What do we want to learn? 26 00:01:10,652 --> 00:01:13,525 What resources can we use? 27 00:01:13,525 --> 00:01:15,486 When you do exploratory testing, 28 00:01:15,486 --> 00:01:19,095 be open to observing, to learning. 29 00:01:19,095 --> 00:01:21,183 Use your critical thinking skills. 30 00:01:21,183 --> 00:01:23,988 Challenge your expectations. 31 00:01:23,988 --> 00:01:27,317 New thoughts will take you to new places. 32 00:01:27,317 --> 00:01:30,896 If you have ever joined a project that had no documentation 33 00:01:30,896 --> 00:01:32,844 about their product and you just had to learn 34 00:01:32,844 --> 00:01:34,390 what the system does by using it, 35 00:01:34,390 --> 00:01:37,315 you've actually done exploratory testing, 36 00:01:37,315 --> 00:01:38,789 but in this lesson, 37 00:01:38,789 --> 00:01:40,827 we're focusing on exploratory testing 38 00:01:40,827 --> 00:01:42,328 in the agile world and we're assuming 39 00:01:42,328 --> 00:01:45,440 that you know your system under test. 40 00:01:45,440 --> 00:01:47,711 People often confuse exploratory testing 41 00:01:47,711 --> 00:01:50,406 with ad hoc testing or monkey testing. 42 00:01:50,406 --> 00:01:52,375 Ad hoc testing is testing without 43 00:01:52,375 --> 00:01:54,569 any planning or any documentation, 44 00:01:54,569 --> 00:01:55,948 and there's a place for that. 45 00:01:55,948 --> 00:01:57,649 Just trying things. 46 00:01:57,649 --> 00:01:58,747 Following your nose. 47 00:01:58,747 --> 00:02:00,860 Not the same as exploratory testing though. 48 00:02:00,860 --> 00:02:03,278 Monkey testing is just entering random inputs 49 00:02:03,278 --> 00:02:05,761 and random actions and see what breaks, 50 00:02:05,761 --> 00:02:08,859 and both of these types of testing have their place. 51 00:02:08,859 --> 00:02:10,936 But exploratory testing 52 00:02:10,936 --> 00:02:13,430 is much more focused and disciplined. 53 00:02:13,430 --> 00:02:14,809 It's the difference between 54 00:02:14,809 --> 00:02:18,083 wandering at random because you're lost 55 00:02:18,083 --> 00:02:21,809 and exploring thoughtfully to gain insights. 56 00:02:21,809 --> 00:02:25,366 We can explore other things besides the software itself. 57 00:02:25,366 --> 00:02:27,148 We can explore ideas. 58 00:02:27,148 --> 00:02:28,831 In lesson three, we talked about 59 00:02:28,831 --> 00:02:32,064 exploring business roles by using examples. 60 00:02:32,064 --> 00:02:34,740 There are lots of techniques for exploratory testing, 61 00:02:34,740 --> 00:02:38,070 and we'll cover some of these later in this lesson. 62 00:02:38,070 --> 00:02:40,444 Lets look at a few of the many different approaches 63 00:02:40,444 --> 00:02:42,294 of exploratory testing. 64 00:02:42,294 --> 00:02:43,646 Personas. 65 00:02:43,646 --> 00:02:45,291 Think about who uses your system. 66 00:02:45,291 --> 00:02:46,383 How do they use it? 67 00:02:46,383 --> 00:02:47,341 What's their job? 68 00:02:47,341 --> 00:02:48,559 What's their role? 69 00:02:48,559 --> 00:02:49,829 We want to look at risks, 70 00:02:49,829 --> 00:02:52,136 both technical and business risks. 71 00:02:52,136 --> 00:02:54,662 The most common exploratory testing approach 72 00:02:54,662 --> 00:02:57,218 is using workflows or journeys, 73 00:02:57,218 --> 00:02:59,228 and we can also use tours. 74 00:02:59,228 --> 00:03:03,122 Identifying landmarks, if you will, to explore the system. 75 00:03:03,122 --> 00:03:05,823 This comes in very handy during the in game. 76 00:03:05,823 --> 00:03:08,319 It can be combined with workflows and journeys 77 00:03:08,319 --> 00:03:10,640 to look at your system and navigate through 78 00:03:10,640 --> 00:03:12,098 in different ways. 79 00:03:12,098 --> 00:03:15,900 We'll be looking at each of these techniques in more detail.