1 00:00:00,000 --> 00:00:03,480 Hey everyone, welcome y'all. 2 00:00:03,480 --> 00:00:08,000 So from today, I'm going to start a new series on manual software testing on YouTube live 3 00:00:08,000 --> 00:00:13,960 sessions and especially beginners, they have requested to upload a new series on manual 4 00:00:13,960 --> 00:00:19,960 software testing, especially manual testing concepts and manual testing process and Jira 5 00:00:19,960 --> 00:00:23,520 and as well as agile process along with some project. 6 00:00:23,520 --> 00:00:25,520 So I'm just plan for that. 7 00:00:25,520 --> 00:00:27,780 And from today, we are going to see. 8 00:00:27,780 --> 00:00:32,020 So especially for today, we are going to start some basic concept from manual testing. 9 00:00:32,020 --> 00:00:36,180 Okay, now let's get start. 10 00:00:36,180 --> 00:00:41,420 So manual testing, we are going to learn in three different phases, or we can say modules. 11 00:00:41,420 --> 00:00:48,140 The first module, the first module testing concepts, your first module, we are going 12 00:00:48,140 --> 00:00:50,180 to learn testing concepts. 13 00:00:50,180 --> 00:00:51,620 So what is testing concept mean? 14 00:00:51,620 --> 00:00:56,300 Basically, this is all completely theoretical concept is okay, but I don't want to get you 15 00:00:56,300 --> 00:00:57,300 bored. 16 00:00:57,300 --> 00:01:01,860 So I'll interact more and I'll give practical experiences and some scenarios also, don't 17 00:01:01,860 --> 00:01:02,860 worry. 18 00:01:02,860 --> 00:01:04,940 So testing concept, this is module one. 19 00:01:04,940 --> 00:01:09,540 In this particular module, we are going to learn some very basics of testing, like what 20 00:01:09,540 --> 00:01:10,900 is software testing? 21 00:01:10,900 --> 00:01:12,660 What are the different levels of testing? 22 00:01:12,660 --> 00:01:16,300 What are the different types of testing we have to conduct on your application? 23 00:01:16,300 --> 00:01:17,380 Like what is software? 24 00:01:17,380 --> 00:01:19,780 What are the different types of software are available? 25 00:01:19,780 --> 00:01:23,180 And SDLC, SDLC, like a lot of things are there. 26 00:01:23,180 --> 00:01:27,620 So we are going to learn some basic concept from testing, because before going to conduct 27 00:01:27,620 --> 00:01:31,900 testing, we have to know what kind of testings are there and how we have to conduct those 28 00:01:31,900 --> 00:01:33,100 testings. 29 00:01:33,100 --> 00:01:34,620 So that is a theoretical part. 30 00:01:34,620 --> 00:01:36,700 Okay, so testing concept. 31 00:01:36,700 --> 00:01:39,900 And if I just look at the curriculum, so the basic concept will be there, like what is 32 00:01:39,900 --> 00:01:46,780 software testing, types of softwares, and software quality, what is project and product, 33 00:01:47,540 --> 00:01:53,820 testing, and SDLC, SDLC, a lot of things are there, and test design techniques. 34 00:01:53,820 --> 00:01:56,940 These are very, very important topics which we are going to discuss. 35 00:01:56,940 --> 00:01:59,900 And white box testing, black box testing, what is there? 36 00:01:59,900 --> 00:02:01,580 And functional and non-functional testing. 37 00:02:01,580 --> 00:02:04,540 So all these things we are going to discuss as part of module one. 38 00:02:04,540 --> 00:02:07,580 So this is mostly theoretical part, okay? 39 00:02:07,580 --> 00:02:11,620 Because before jumping into the practical part, we have to know some basic concepts 40 00:02:11,620 --> 00:02:13,140 theoretically. 41 00:02:13,180 --> 00:02:17,860 So almost four to five sessions we are going to spend on this particular module, software 42 00:02:17,860 --> 00:02:19,420 testing concepts. 43 00:02:19,420 --> 00:02:23,260 So this is the first module, theoretical part, okay? 44 00:02:23,260 --> 00:02:29,100 Then basically this module says like what, like what to test, okay? 45 00:02:29,100 --> 00:02:33,660 And the second module is a practical part, okay? 46 00:02:33,660 --> 00:02:37,860 Second module is a practical part, software testing project. 47 00:02:37,860 --> 00:02:43,660 So here we are going to start a project along with some concepts, like how to write, how 48 00:02:43,660 --> 00:02:48,220 to analyze the requirements, how to write the test plan, how to write the test cases, 49 00:02:48,220 --> 00:02:53,980 how to execute our test cases, and we are going to learn about bugs, bug or defect lifecycle, 50 00:02:53,980 --> 00:02:55,580 how to report the bugs. 51 00:02:55,580 --> 00:02:58,280 So these concepts are purely practical part. 52 00:02:58,280 --> 00:03:06,460 So in this module, we are going to learn project, and this is purely practical orientation. 53 00:03:06,500 --> 00:03:09,660 And here we are going to learn how to test, okay? 54 00:03:09,660 --> 00:03:14,540 In the first module, we are mainly focusing on what to test, because the theoretical part. 55 00:03:14,540 --> 00:03:18,420 In the second module, we are going to test, like we are going to test the application 56 00:03:18,420 --> 00:03:20,900 directly, like how to test. 57 00:03:20,900 --> 00:03:23,300 So what are the different techniques are available, right? 58 00:03:23,300 --> 00:03:26,860 How to write the test cases, how to review the test cases. 59 00:03:26,860 --> 00:03:30,660 So these things will be part of module number two, testing project. 60 00:03:30,660 --> 00:03:36,300 I'm going to introduce one e-commerce application, and I'll also show you the FRS document and 61 00:03:36,300 --> 00:03:40,860 the requirement document, how we'll get the requirement from the customers, and then how 62 00:03:40,860 --> 00:03:45,420 to write the test cases, how to review them, how to execute bug life cycles. 63 00:03:45,420 --> 00:03:47,700 Everything will be part of this model testing project. 64 00:03:47,700 --> 00:03:51,760 So here you will get the practical experience, okay? 65 00:03:51,760 --> 00:03:55,900 So this is a model number two, because we cannot directly jump into project because 66 00:03:55,900 --> 00:03:57,940 before that, we need to know some basic concepts. 67 00:03:57,940 --> 00:04:01,460 If you know the what part, then we can jump into how part. 68 00:04:01,460 --> 00:04:03,220 So what to test and how to test. 69 00:04:03,220 --> 00:04:06,680 So second module mainly focus on how to test. 70 00:04:06,680 --> 00:04:13,420 And once these two modules are completed, then the module three is for agile process. 71 00:04:13,420 --> 00:04:17,980 This is purely process oriented, because in the nowadays, all the companies are using 72 00:04:17,980 --> 00:04:20,520 agile process, okay? 73 00:04:20,520 --> 00:04:24,660 And you have to know this process until unless you know this process, it is very difficult 74 00:04:24,660 --> 00:04:26,900 to survive in the company. 75 00:04:26,900 --> 00:04:31,460 So previously waterfall model, spiral model, there are traditional models are available 76 00:04:31,700 --> 00:04:35,140 because these are process model, because if there is any company, there should be some 77 00:04:35,140 --> 00:04:37,360 process followed by people, right? 78 00:04:37,360 --> 00:04:42,860 So here agile process, which is very, very important, and most of the companies are following 79 00:04:42,860 --> 00:04:44,280 agile process. 80 00:04:44,280 --> 00:04:49,900 So here in module three, we are going to discuss agile process, like how we will get the requirements, 81 00:04:49,900 --> 00:04:54,980 how to write the stories and epics, how we can do the backlog plan or sprint plan, how 82 00:04:54,980 --> 00:04:56,280 the cycles will go on. 83 00:04:56,320 --> 00:05:01,500 So how we can interact in the project, interact within the project team, scrum, all these 84 00:05:01,500 --> 00:05:04,440 things we are going to discuss as part of agile process. 85 00:05:04,440 --> 00:05:09,720 And here itself, I'm going to discuss about one important tool called Jira. 86 00:05:09,720 --> 00:05:15,760 So Jira is basically agile test management tool, or we can say agile tool. 87 00:05:15,760 --> 00:05:20,360 And in this particular application, we can track everything in the software development 88 00:05:20,360 --> 00:05:25,600 from the beginning from the requirement to till we deliver the software to the customer, 89 00:05:25,600 --> 00:05:29,720 everything we can track into this particular tool, even testers and developer, each and 90 00:05:29,720 --> 00:05:35,560 every activity, like test cases, test plans, execution status, reports, everything we can 91 00:05:35,560 --> 00:05:37,980 manage in this tool, okay? 92 00:05:37,980 --> 00:05:41,600 And previously, before these tools are available in the market, people are using like Excel 93 00:05:41,600 --> 00:05:46,680 sheets and Word documents, instead of that, we can track everything in the tools, okay? 94 00:05:46,680 --> 00:05:51,320 So this is agile process, we are going to discuss, which is Jira tool, there are a lot 95 00:05:51,320 --> 00:05:55,560 of concepts are there guys, so I'm not writing in detail because I already have the curriculum 96 00:05:55,560 --> 00:05:56,560 here. 97 00:05:56,560 --> 00:06:00,480 So I share this curriculum later, you guys can go through the topics, okay? 98 00:06:00,480 --> 00:06:06,080 So these are the three different modules which we are going to cover as part of manual testing. 99 00:06:06,080 --> 00:06:10,160 So with this Jira tool, we will able to complete manual testing, okay? 100 00:06:10,160 --> 00:06:16,920 And apart from that, in addition, I'm also going to share you the SQL videos, because 101 00:06:16,920 --> 00:06:22,160 SQL is not part of our code, because SQL itself will take 10 to 15 sessions. 102 00:06:22,160 --> 00:06:27,320 So I'm going to provide the video sessions or recorded video sessions, apart from this 103 00:06:27,320 --> 00:06:32,200 manual testing course, okay, you guys can go through the SQL videos, and that is also 104 00:06:32,200 --> 00:06:34,840 very important for testing prospectivity, okay? 105 00:06:34,840 --> 00:06:39,200 So if you go for an interview, people will ask you some questions from SQL also, along 106 00:06:39,200 --> 00:06:40,800 with the manual testing. 107 00:06:40,800 --> 00:06:43,440 So that is also very, very important, right? 108 00:06:43,440 --> 00:06:47,880 So that will be going to share after completion of manual testing, right? 109 00:06:47,880 --> 00:06:50,960 So this is a part of manual testing curriculum. 110 00:06:50,960 --> 00:06:55,080 And once you completed manual testing, then I'll share automation testing and everything, 111 00:06:55,080 --> 00:06:56,080 okay? 112 00:06:56,080 --> 00:06:58,980 That is a different curriculum we are going to learn, all right? 113 00:06:58,980 --> 00:07:02,320 So for today's session, I'm going to start with the module one. 114 00:07:02,320 --> 00:07:05,720 So are you guys clear so far, everyone, about this curriculum? 115 00:07:05,720 --> 00:07:08,080 Can you please come from in the chat window? 116 00:07:08,080 --> 00:07:12,880 So if you ask any questions, guys, so please interact in the chat window immediately. 117 00:07:12,880 --> 00:07:15,720 And every time I'll ask the confirmation from you guys. 118 00:07:15,720 --> 00:07:20,880 So please put in the chat window, okay, all right. 119 00:07:20,880 --> 00:07:25,080 So let us start with a few, some basic concepts from manual testing, okay? 120 00:07:25,080 --> 00:07:26,800 So today's introduction session. 121 00:07:26,800 --> 00:07:31,940 So I'm just going to cover some basics, basics, like what is software, what is software testing, 122 00:07:31,940 --> 00:07:34,920 and why do we need to software testing, all these things, okay? 123 00:07:34,920 --> 00:07:39,800 So first, let us start with what is software and what are the different types of software? 124 00:07:39,800 --> 00:07:44,600 So people who are completely beginners, okay, and they don't have any ID background, I'm 125 00:07:44,680 --> 00:07:48,520 going to start from very, very basic, guys, from the scratch. 126 00:07:48,520 --> 00:07:50,080 And you don't need to worry about anything. 127 00:07:50,080 --> 00:07:54,400 If you just know how to use MS Word document, Excel sheet, that is that knowledge is enough 128 00:07:54,400 --> 00:07:59,040 and basic internet knowledge is enough to start learning this concept, okay? 129 00:07:59,040 --> 00:08:01,600 So you don't need to worry and afraid of anything. 130 00:08:01,600 --> 00:08:03,280 I'll go from very basic. 131 00:08:03,280 --> 00:08:08,320 If you have not understood anything, please use chat window to post your questions, okay? 132 00:08:08,320 --> 00:08:11,700 All right, so this is a small presentation I have. 133 00:08:11,700 --> 00:08:13,400 So later I'll share this presentation. 134 00:08:13,960 --> 00:08:16,520 Okay, first, let us see the concepts. 135 00:08:16,520 --> 00:08:20,680 And one more thing is for every concept, guys, after explanation at the end of the session, 136 00:08:20,680 --> 00:08:25,320 I will also share the presentation as well as notes and materials, and don't worry. 137 00:08:25,320 --> 00:08:27,960 So you guys can go to them, all right? 138 00:08:27,960 --> 00:08:32,580 So first, let us start with what is software, like what is the types of software? 139 00:08:32,580 --> 00:08:35,920 So everywhere we hear, we heard this term software. 140 00:08:35,920 --> 00:08:41,920 What is software, software, simple definition, everyone know about software, but if you come, 141 00:08:41,920 --> 00:08:45,840 if I ask the definition, most of the people cannot answer this question. 142 00:08:45,840 --> 00:08:48,240 Software, everybody knows the software, we are daily, 143 00:08:48,240 --> 00:08:50,880 entirely every day we are using software, 144 00:08:50,880 --> 00:08:53,920 mobiles or computers, everywhere we are using software. 145 00:08:53,920 --> 00:08:56,080 But what exactly software means? 146 00:08:56,080 --> 00:08:58,800 So if you say definition of the software, 147 00:08:58,800 --> 00:09:03,580 the software is a collection of computer programs, 148 00:09:03,580 --> 00:09:07,760 a collection of computer programs that helps us to perform a task. 149 00:09:07,760 --> 00:09:10,880 Suppose if you want to perform some task, guys, 150 00:09:10,880 --> 00:09:14,560 suppose if you want to do some manual task, right? 151 00:09:14,560 --> 00:09:17,000 So through the mission, I want to do the task. 152 00:09:17,000 --> 00:09:20,200 So that mission needs some software, okay? 153 00:09:20,200 --> 00:09:23,240 So for example, if I take a mobile app, mobiles, right? 154 00:09:23,240 --> 00:09:24,720 So if you have only mobile, right? 155 00:09:24,720 --> 00:09:26,160 We cannot do anything with mobile. 156 00:09:26,160 --> 00:09:29,560 In that mobile, there should be some apps or some software should run. 157 00:09:29,560 --> 00:09:32,560 And with that software, we are doing all the things, right? 158 00:09:32,560 --> 00:09:34,480 Suppose if I take some WhatsApp or LinkedIn, 159 00:09:34,480 --> 00:09:36,480 whatever apps you have in the mobile, 160 00:09:36,480 --> 00:09:39,280 if I don't have those apps, can you use your mobile? 161 00:09:39,280 --> 00:09:40,200 No, right? 162 00:09:40,200 --> 00:09:42,800 So you need to have some software in that. 163 00:09:42,800 --> 00:09:45,320 And then only we can use a mobile. 164 00:09:45,320 --> 00:09:48,160 Similarly, software is a collection of computer program. 165 00:09:48,160 --> 00:09:51,640 How the software will be developed, 166 00:09:51,640 --> 00:09:54,040 which is basically a collection of programs. 167 00:09:54,040 --> 00:09:57,000 And the developers will write a number of programs 168 00:09:57,000 --> 00:09:59,680 and collectively we can call it as a software. 169 00:09:59,680 --> 00:10:01,160 So what is a program? 170 00:10:01,160 --> 00:10:03,600 Program is something called as a coding, 171 00:10:03,600 --> 00:10:06,400 like they will write some instructions to the computer. 172 00:10:06,400 --> 00:10:10,000 So the instructions can be understandable by the computer. 173 00:10:10,000 --> 00:10:13,040 And collectively we can call it as a software. 174 00:10:13,040 --> 00:10:16,080 Software is a collection of computer programs 175 00:10:16,080 --> 00:10:17,840 that help us to perform a task. 176 00:10:17,840 --> 00:10:21,400 If you want to perform some task, we can use a software. 177 00:10:21,400 --> 00:10:23,120 Okay, simple definition. 178 00:10:23,120 --> 00:10:24,360 But in the market, 179 00:10:24,360 --> 00:10:27,120 there are different type of softwares are available. 180 00:10:27,120 --> 00:10:29,600 There are different types of softwares are available. 181 00:10:29,600 --> 00:10:32,480 So mainly there are three categories. 182 00:10:32,480 --> 00:10:35,040 One is system software. 183 00:10:35,040 --> 00:10:37,040 Okay, let me just write some notes here. 184 00:10:37,960 --> 00:10:39,440 Okay, so types of softwares. 185 00:10:39,440 --> 00:10:43,400 System software, and programming software, 186 00:10:43,400 --> 00:10:44,800 and application software. 187 00:10:44,800 --> 00:10:46,880 So these are the three different 188 00:10:46,880 --> 00:10:48,500 types of softwares are available. 189 00:10:49,380 --> 00:10:51,520 Three different types of softwares are available. 190 00:10:51,520 --> 00:10:53,840 One is system software. 191 00:10:53,840 --> 00:10:55,880 I'll tell you what is system software. 192 00:10:55,880 --> 00:10:58,200 Second one is the programming software. 193 00:10:58,200 --> 00:11:00,600 And third one is the application software. 194 00:11:00,600 --> 00:11:02,640 System software, programming software, 195 00:11:02,640 --> 00:11:04,920 then application software. 196 00:11:04,920 --> 00:11:07,240 So what is system software means? 197 00:11:07,240 --> 00:11:09,840 Normally device drivers, operating systems, 198 00:11:09,840 --> 00:11:11,940 servers, utilities, these are all 199 00:11:11,940 --> 00:11:14,680 comes under system software. 200 00:11:14,680 --> 00:11:16,000 What does it mean? 201 00:11:16,000 --> 00:11:19,800 Suppose you have your desktop or laptop, okay? 202 00:11:19,800 --> 00:11:22,960 And you are connecting all the accessories to your computer. 203 00:11:22,960 --> 00:11:26,120 You are connecting keyboard, you are connecting mouse, right? 204 00:11:26,120 --> 00:11:28,200 You are connecting some other screens, 205 00:11:28,200 --> 00:11:31,460 or you're connecting printer to your computer, right? 206 00:11:31,460 --> 00:11:34,000 So these are different accessories or devices 207 00:11:34,000 --> 00:11:36,300 are connecting to your computer. 208 00:11:36,300 --> 00:11:39,060 But if you want to use those devices, 209 00:11:39,060 --> 00:11:42,300 we need to install some additional drivers. 210 00:11:42,300 --> 00:11:44,580 Or sometimes your computer also will come 211 00:11:44,580 --> 00:11:46,260 along with the drivers. 212 00:11:46,260 --> 00:11:49,660 And those drivers also comes under the system software. 213 00:11:49,660 --> 00:11:54,240 And basically these softwares are used to run the systems. 214 00:11:54,240 --> 00:11:56,460 Okay, suppose if you connect, 215 00:11:56,460 --> 00:11:59,720 suppose if you have connected your keyboard to the computer, 216 00:11:59,720 --> 00:12:02,800 how your computer will able to identify your keyboard, 217 00:12:02,800 --> 00:12:04,380 the instructions are coming from keyboard. 218 00:12:04,380 --> 00:12:06,040 It doesn't know basically, right? 219 00:12:06,040 --> 00:12:08,120 So there should be some software. 220 00:12:08,120 --> 00:12:09,840 The computer should have some intelligence 221 00:12:09,840 --> 00:12:12,280 to identify your keyboard, to identify your mouse, 222 00:12:12,280 --> 00:12:14,640 you identify your monitor and everything. 223 00:12:14,640 --> 00:12:17,920 So that is basically comes under the system software. 224 00:12:17,920 --> 00:12:21,000 So device drivers and operating system. 225 00:12:21,000 --> 00:12:23,480 Operating system is what Windows, Linux, Mac. 226 00:12:23,480 --> 00:12:25,560 So these are all operating systems. 227 00:12:25,560 --> 00:12:26,760 So you have a computer, 228 00:12:26,760 --> 00:12:29,080 but if you don't have any operating systems, 229 00:12:29,080 --> 00:12:31,840 how can we use or how can you install other softwares 230 00:12:31,840 --> 00:12:33,840 without using operating system? 231 00:12:33,840 --> 00:12:37,080 Because first, as soon as you start your computer, 232 00:12:37,080 --> 00:12:39,080 operating system must be there. 233 00:12:39,080 --> 00:12:41,000 So on top of operating system, 234 00:12:41,000 --> 00:12:44,080 we are going to install other softwares, right? 235 00:12:44,080 --> 00:12:45,300 That is the base. 236 00:12:45,300 --> 00:12:46,280 Once you have computer, 237 00:12:46,280 --> 00:12:47,840 you need to install some operating system. 238 00:12:47,840 --> 00:12:49,340 It can be anything. 239 00:12:49,340 --> 00:12:51,520 So that is also comes under the system software, 240 00:12:51,520 --> 00:12:55,080 because if you want to run or start system, 241 00:12:55,080 --> 00:12:56,880 we need some operating system. 242 00:12:56,880 --> 00:12:59,840 So there's a reason which is comes under system software 243 00:12:59,840 --> 00:13:03,480 and server some utilities files or some utilities means, 244 00:13:03,480 --> 00:13:05,800 suppose if you write something, right? 245 00:13:05,800 --> 00:13:08,400 If you write some text or if I write some document, 246 00:13:08,400 --> 00:13:13,240 internally, the computer software is able to recognize it. 247 00:13:13,240 --> 00:13:15,120 So to run special software, 248 00:13:15,120 --> 00:13:17,400 we need to also have some utilities. 249 00:13:17,400 --> 00:13:19,560 So these are all comes under system software, 250 00:13:19,560 --> 00:13:23,120 device drivers, operating systems, servers, utilities, 251 00:13:23,120 --> 00:13:24,880 all these things are comes under system. 252 00:13:24,880 --> 00:13:26,800 So basically the system software 253 00:13:26,800 --> 00:13:31,040 will be used to run the systems, okay? 254 00:13:31,040 --> 00:13:33,040 That is a one category of softwares. 255 00:13:33,080 --> 00:13:35,800 And the second category is a programming software. 256 00:13:35,800 --> 00:13:38,000 So what is programming software means? 257 00:13:38,000 --> 00:13:41,000 Compilers, debuggers, interpreters. 258 00:13:41,000 --> 00:13:44,100 So these are all examples of programming software. 259 00:13:44,100 --> 00:13:47,360 That means, suppose developers are writing the code 260 00:13:47,360 --> 00:13:50,820 or some program, how program will be executed? 261 00:13:50,820 --> 00:13:53,820 How the program will be produced some output? 262 00:13:53,820 --> 00:13:55,520 Suppose when I use a computer, 263 00:13:55,520 --> 00:13:57,360 we are giving some input to the computer, 264 00:13:57,360 --> 00:13:59,320 we are getting some output. 265 00:13:59,320 --> 00:14:01,720 So who is processing internally? 266 00:14:01,720 --> 00:14:03,400 When I give some input to the computer, 267 00:14:03,400 --> 00:14:05,800 someone should be there to process that input 268 00:14:05,800 --> 00:14:07,480 and produce the output. 269 00:14:07,480 --> 00:14:08,880 And that thing will be done 270 00:14:08,880 --> 00:14:11,840 by the compilers, debuggers, interpreters. 271 00:14:11,840 --> 00:14:16,040 So these are the softwares which will do some processes 272 00:14:16,040 --> 00:14:18,080 when you run your program. 273 00:14:18,080 --> 00:14:21,200 Normally developers work with these programming software. 274 00:14:21,200 --> 00:14:23,440 So whatever the programs they have run 275 00:14:23,440 --> 00:14:26,240 to execute the programs and providing the output, 276 00:14:26,240 --> 00:14:28,480 the compilers, debuggers, interpreters 277 00:14:28,480 --> 00:14:29,800 will be used internally. 278 00:14:29,800 --> 00:14:32,080 So that comes under the programming software. 279 00:14:33,000 --> 00:14:35,280 And the last one is application software. 280 00:14:35,280 --> 00:14:37,680 So this is a very, very important area 281 00:14:37,680 --> 00:14:39,720 where we have to focus on. 282 00:14:39,720 --> 00:14:40,840 Application software. 283 00:14:40,840 --> 00:14:42,320 So application software is nothing 284 00:14:42,320 --> 00:14:44,880 but the users will use that applications 285 00:14:44,880 --> 00:14:46,940 or users will use that software. 286 00:14:46,940 --> 00:14:49,680 For example, web applications. 287 00:14:49,680 --> 00:14:52,280 So every day we are using web applications 288 00:14:52,280 --> 00:14:56,400 in case of Facebook or LinkedIn or Amazon or online portals. 289 00:14:56,400 --> 00:14:59,140 Everything comes under web applications. 290 00:14:59,140 --> 00:15:00,540 And mobile apps. 291 00:15:00,540 --> 00:15:02,060 Suppose you are using mobile 292 00:15:02,060 --> 00:15:04,260 and you have N number of apps in your mobile. 293 00:15:04,260 --> 00:15:07,740 All those things are comes under application software. 294 00:15:07,740 --> 00:15:09,140 And desktop applications. 295 00:15:09,140 --> 00:15:10,860 So desktop application means what? 296 00:15:11,700 --> 00:15:13,220 You can install those applications 297 00:15:13,220 --> 00:15:15,300 in your laptop or your computer 298 00:15:15,300 --> 00:15:19,060 like MS Word document, Excel, Outlook, Notepad, calculator. 299 00:15:19,060 --> 00:15:22,260 So these are all comes under desktop applications. 300 00:15:22,260 --> 00:15:25,100 So basically there are three kinds of applications, 301 00:15:25,100 --> 00:15:26,780 application softwares. 302 00:15:26,780 --> 00:15:28,780 One is web applications, 303 00:15:28,780 --> 00:15:31,820 mobile applications, desktop applications. 304 00:15:31,820 --> 00:15:33,420 These are the three categories. 305 00:15:33,420 --> 00:15:34,420 So web applications, 306 00:15:34,420 --> 00:15:35,780 if you want to work web applications, 307 00:15:35,780 --> 00:15:37,700 we need to have an internet, okay? 308 00:15:37,700 --> 00:15:40,780 Because through internet we can access those applications. 309 00:15:40,780 --> 00:15:42,860 And actual applications will be installed 310 00:15:42,860 --> 00:15:45,460 somewhere in the remote servers. 311 00:15:45,460 --> 00:15:46,300 And mobile apps. 312 00:15:46,300 --> 00:15:48,140 So everybody will know about this. 313 00:15:48,140 --> 00:15:49,440 So from the Play Store, 314 00:15:49,440 --> 00:15:52,100 we can download and install mobile apps and we can use it. 315 00:15:52,100 --> 00:15:54,540 They are all comes under application software. 316 00:15:54,540 --> 00:15:56,260 And desktop applications means 317 00:15:56,260 --> 00:15:59,580 the application which we can install on your local machine. 318 00:15:59,580 --> 00:16:00,580 Even without internet, 319 00:16:00,580 --> 00:16:03,180 also we can use desktop applications. 320 00:16:03,180 --> 00:16:05,780 So like I'm using Notepad to typing something. 321 00:16:05,780 --> 00:16:07,700 This is a desktop application. 322 00:16:07,700 --> 00:16:09,700 So calculator is a desktop application. 323 00:16:09,700 --> 00:16:12,420 Your paint is a desktop application. 324 00:16:12,420 --> 00:16:14,940 So all these comes under desktop applications. 325 00:16:14,940 --> 00:16:18,180 So these are all comes under application software 326 00:16:18,180 --> 00:16:21,140 because as a user, I can use these applications. 327 00:16:21,140 --> 00:16:23,140 I can use this software, 328 00:16:23,140 --> 00:16:25,820 but I cannot directly use programming software 329 00:16:26,420 --> 00:16:27,260 and system software 330 00:16:27,260 --> 00:16:29,140 because these are the internal softwares 331 00:16:29,140 --> 00:16:31,100 which we cannot see them. 332 00:16:31,100 --> 00:16:34,780 But these softwares are used to run your systems. 333 00:16:34,780 --> 00:16:39,780 But application software, we have to use on daily usage. 334 00:16:39,780 --> 00:16:41,140 And we can do some tasks 335 00:16:41,140 --> 00:16:43,700 by using these application softwares. 336 00:16:43,700 --> 00:16:46,180 Okay, suppose if you go for amazon.com. 337 00:16:46,180 --> 00:16:47,540 So that is an online application. 338 00:16:47,540 --> 00:16:48,740 That is a software. 339 00:16:48,740 --> 00:16:51,460 What we can do, we can search for the product. 340 00:16:51,460 --> 00:16:53,640 We can add to cart and we can do the payment. 341 00:16:53,640 --> 00:16:55,740 So these are activities we can do. 342 00:16:56,580 --> 00:16:59,740 Similarly, banking applications, financial applications. 343 00:16:59,740 --> 00:17:01,900 So educational institution applications. 344 00:17:01,900 --> 00:17:03,740 So all these comes under web applications, 345 00:17:03,740 --> 00:17:05,180 mobile apps, desktop applications. 346 00:17:05,180 --> 00:17:07,460 So every day on day-to-day basis, 347 00:17:07,460 --> 00:17:09,460 we are working with these applications. 348 00:17:09,460 --> 00:17:12,860 So these are all comes under application software. 349 00:17:12,860 --> 00:17:16,820 Our testing is also mainly focused on application software. 350 00:17:16,820 --> 00:17:19,940 We are going to test the application softwares. 351 00:17:19,940 --> 00:17:22,700 Okay, so this is basically understanding 352 00:17:22,700 --> 00:17:25,420 the basic understanding of what is software, 353 00:17:25,460 --> 00:17:27,420 the types of software. 354 00:17:27,420 --> 00:17:31,740 Okay, so the next thing is, what is software testing? 355 00:17:31,740 --> 00:17:34,060 So we understood what is software testing, 356 00:17:34,060 --> 00:17:36,020 software types of software testing. 357 00:17:36,020 --> 00:17:39,500 Now we need to understand what is software testing. 358 00:17:40,280 --> 00:17:41,980 Okay, so next one, what is software testing. 359 00:17:41,980 --> 00:17:43,660 We already know what is software. 360 00:17:43,660 --> 00:17:46,300 Now we need to understand what is software testing. 361 00:17:46,300 --> 00:17:49,000 And then why the software testing is required. 362 00:17:49,960 --> 00:17:52,900 So this is one of the important, interest question also. 363 00:17:52,900 --> 00:17:54,500 Like what is a software testing. 364 00:17:55,780 --> 00:18:00,700 So normally, when you purchase any product, right? 365 00:18:00,700 --> 00:18:02,420 So what you will do, 366 00:18:02,420 --> 00:18:04,940 you will do some basic functionalities working or not. 367 00:18:04,940 --> 00:18:07,860 So let me just give you one example. 368 00:18:07,860 --> 00:18:11,380 Suppose you want to buy a mobile. 369 00:18:11,380 --> 00:18:13,740 Okay, so before buying a mobile, 370 00:18:13,740 --> 00:18:16,820 you will have some budget, okay? 371 00:18:16,820 --> 00:18:19,140 And with that budget, within that budget, 372 00:18:19,140 --> 00:18:22,380 you are expecting some features to be there in your mobile. 373 00:18:22,380 --> 00:18:23,660 Okay, you have some budget 374 00:18:23,660 --> 00:18:25,620 and you are expecting some features. 375 00:18:25,620 --> 00:18:28,220 Some functionality should be there in your mobile. 376 00:18:28,220 --> 00:18:29,580 And with that input, 377 00:18:29,580 --> 00:18:33,340 you are searching for different brands in a market. 378 00:18:33,340 --> 00:18:36,460 And finally, you search some brand and some model 379 00:18:36,460 --> 00:18:39,520 and you bought it, okay? 380 00:18:39,520 --> 00:18:41,100 And you spend some budget 381 00:18:41,100 --> 00:18:42,660 and also you're expecting something 382 00:18:42,660 --> 00:18:45,060 should be there in your mobile. 383 00:18:45,060 --> 00:18:47,140 And once you bought your phone, 384 00:18:47,140 --> 00:18:49,260 you started using your mobile 385 00:18:49,260 --> 00:18:52,780 and then you started finding some bugs 386 00:18:52,780 --> 00:18:53,820 or issues in your mobile. 387 00:18:53,820 --> 00:18:55,420 So something is not working 388 00:18:55,420 --> 00:18:58,140 or on or off is not properly working, right? 389 00:18:58,140 --> 00:18:59,860 Our screen is not properly appearing. 390 00:18:59,860 --> 00:19:02,320 Some apps are striking. 391 00:19:02,320 --> 00:19:05,140 So if you find these kinds of issues in your mobile, 392 00:19:05,140 --> 00:19:06,760 how you will feel, 393 00:19:06,760 --> 00:19:09,360 definitely you will start frustrating with that product, 394 00:19:09,360 --> 00:19:10,200 right? 395 00:19:10,200 --> 00:19:12,180 So why these things, this thing is happened 396 00:19:12,180 --> 00:19:15,920 because of lacking of testing. 397 00:19:15,920 --> 00:19:18,860 Because you bought a mobile, you bought a product, 398 00:19:18,860 --> 00:19:20,560 but this is buggy product. 399 00:19:20,560 --> 00:19:22,540 So you have some issues with that product. 400 00:19:22,540 --> 00:19:24,020 Why these issues are there in the product? 401 00:19:24,020 --> 00:19:27,620 Because testing is not properly conducted, right? 402 00:19:27,620 --> 00:19:29,220 Each and every function, 403 00:19:29,220 --> 00:19:32,260 each and every feature is properly working or not. 404 00:19:32,260 --> 00:19:34,140 It is not properly tested. 405 00:19:34,140 --> 00:19:36,860 So that is the reason you start frustrating 406 00:19:36,860 --> 00:19:38,620 with that product, right? 407 00:19:38,620 --> 00:19:41,500 Same thing will happen with the software also. 408 00:19:41,500 --> 00:19:44,180 Same thing will happen with the software also. 409 00:19:44,180 --> 00:19:45,580 But who is using software? 410 00:19:45,580 --> 00:19:49,220 So for example, let us say some bank, okay? 411 00:19:49,220 --> 00:19:52,440 So let's say I have something called xBank. 412 00:19:52,440 --> 00:19:55,000 So this bank is doing some transaction 413 00:19:55,000 --> 00:19:57,620 on day-to-day basis manually. 414 00:19:57,620 --> 00:19:59,360 And after a few days, 415 00:19:59,360 --> 00:20:04,200 this particular bank wanted to automate the process. 416 00:20:04,200 --> 00:20:05,560 The bank automate, 417 00:20:05,560 --> 00:20:08,760 the bank, this particular bank wanted to automate the process. 418 00:20:08,760 --> 00:20:09,920 Means what? 419 00:20:09,920 --> 00:20:12,560 Whatever the transactions they are doing manually, 420 00:20:12,560 --> 00:20:16,320 they want a software and using that software, 421 00:20:16,320 --> 00:20:19,520 they wanted to do those tasks, okay? 422 00:20:19,520 --> 00:20:21,000 Through the software. 423 00:20:21,000 --> 00:20:22,160 And what this bank? 424 00:20:22,800 --> 00:20:23,640 So bank is nothing but what? 425 00:20:23,640 --> 00:20:26,840 This is a small company, okay? 426 00:20:26,840 --> 00:20:28,840 And this particular company or bank 427 00:20:28,840 --> 00:20:32,520 will approach an IT company, okay? 428 00:20:32,520 --> 00:20:34,260 Will approach an IT company. 429 00:20:35,340 --> 00:20:38,200 And once they approach this IT company, 430 00:20:38,200 --> 00:20:40,520 they will explain their requirement. 431 00:20:40,520 --> 00:20:43,400 So what exactly they do in their organization. 432 00:20:43,400 --> 00:20:46,600 So what kind of operations or actions or tasks they do 433 00:20:46,600 --> 00:20:49,020 on day-to-day basis in their organization. 434 00:20:49,020 --> 00:20:50,880 So they will explain the entire, 435 00:20:50,880 --> 00:20:52,560 the process, the requirement, 436 00:20:52,560 --> 00:20:54,540 everything into this IT company. 437 00:20:55,440 --> 00:20:57,840 Along with that, the budget, 438 00:20:57,840 --> 00:21:00,040 what is the budget they have 439 00:21:00,040 --> 00:21:03,240 and within what time they need the software. 440 00:21:03,240 --> 00:21:06,340 So all these things will be explained to this IT company. 441 00:21:07,220 --> 00:21:09,280 Now, what IT company will do is, 442 00:21:09,280 --> 00:21:14,000 IT company will review and understand their requirement 443 00:21:14,000 --> 00:21:16,000 and their budget and time. 444 00:21:16,000 --> 00:21:18,000 So by considering them, 445 00:21:18,000 --> 00:21:21,000 they will agree to develop the software 446 00:21:21,000 --> 00:21:24,040 which will fulfill their tasks, okay? 447 00:21:24,040 --> 00:21:25,760 Instead of doing manual transaction, 448 00:21:25,760 --> 00:21:29,220 they can do automate using particular software. 449 00:21:29,220 --> 00:21:32,920 And so after reviewing those requirements by IT company, 450 00:21:32,920 --> 00:21:36,640 they agree to develop a software, okay? 451 00:21:36,640 --> 00:21:38,240 And what IT company will do now, 452 00:21:38,240 --> 00:21:41,920 IT company will develop the software, 453 00:21:41,920 --> 00:21:46,920 will develop the software and it also to be tested, okay? 454 00:21:47,080 --> 00:21:49,920 Test the software and after testing, 455 00:21:49,920 --> 00:21:54,920 then deliver the software to the company called xBank. 456 00:21:55,440 --> 00:21:57,380 So this is actual process. 457 00:21:57,380 --> 00:22:01,480 So some company will approach the IT company 458 00:22:01,480 --> 00:22:05,160 by saying all their requirement, budget and time. 459 00:22:05,160 --> 00:22:09,520 And based on that, IT company will agree the requirement, 460 00:22:09,520 --> 00:22:10,440 agrees the proposal 461 00:22:10,440 --> 00:22:13,160 and then they start developing the software 462 00:22:13,160 --> 00:22:14,800 and they will recruit some number of people, 463 00:22:14,800 --> 00:22:17,920 developers, testers, designers, program managers, 464 00:22:17,920 --> 00:22:19,240 all these people. 465 00:22:19,240 --> 00:22:22,040 And they take some time to develop the software. 466 00:22:22,040 --> 00:22:26,600 And then finally, before delivering the software to the bank, 467 00:22:26,600 --> 00:22:29,400 we have to conduct the testing here. 468 00:22:29,400 --> 00:22:32,520 So after development, testing comes into picture. 469 00:22:32,520 --> 00:22:34,060 So why we need to do the testing? 470 00:22:34,060 --> 00:22:35,520 What is testing here? 471 00:22:35,520 --> 00:22:37,080 Why we are conducting testing here? 472 00:22:37,080 --> 00:22:41,100 Because we have to release the quality product 473 00:22:41,100 --> 00:22:42,120 to the customer. 474 00:22:42,120 --> 00:22:44,880 We have to deliver the quality product to the customer. 475 00:22:44,880 --> 00:22:49,620 So that is the main intention of doing software testing, okay? 476 00:22:49,620 --> 00:22:53,460 So software testing will play very, very important role 477 00:22:53,460 --> 00:22:56,200 because if you deliver the buggy product to the customer, 478 00:22:56,200 --> 00:22:57,280 it'll start frustrating it 479 00:22:57,280 --> 00:23:01,280 because he spent a lot of budget, a lot of time, right? 480 00:23:01,280 --> 00:23:05,840 So this is our responsibility, the company responsibility 481 00:23:05,840 --> 00:23:09,200 to provide the quality product to the customer. 482 00:23:09,200 --> 00:23:11,440 It should not have any bugs. 483 00:23:11,440 --> 00:23:14,920 It should work according to customer requirement. 484 00:23:14,920 --> 00:23:17,560 So all these things we have to take care 485 00:23:17,560 --> 00:23:21,520 while performing the testing, the software, okay? 486 00:23:21,520 --> 00:23:23,060 So what is software testing? 487 00:23:23,060 --> 00:23:25,440 So software testing is very, very important 488 00:23:25,440 --> 00:23:29,120 before delivering the software to the customer, okay? 489 00:23:29,120 --> 00:23:30,820 Now, what is software testing? 490 00:23:30,820 --> 00:23:35,000 The software testing is a part of software development. 491 00:23:35,000 --> 00:23:36,600 Here, development means what? 492 00:23:36,600 --> 00:23:38,680 Not only writing the code, okay? 493 00:23:38,680 --> 00:23:40,640 We have to test the software, 494 00:23:40,640 --> 00:23:42,040 whether it is working according 495 00:23:42,040 --> 00:23:43,780 to customer requirement or not. 496 00:23:43,780 --> 00:23:46,440 If you're not conducting testing, what happens? 497 00:23:46,440 --> 00:23:48,920 Definitely the product is having some bugs 498 00:23:48,920 --> 00:23:51,200 because there is no guarantee 499 00:23:51,200 --> 00:23:54,040 like developers will do everything perfectly fine, right? 500 00:23:54,040 --> 00:23:55,080 There should be some bugs. 501 00:23:55,080 --> 00:23:57,060 There will be some gaps. 502 00:23:57,060 --> 00:23:59,320 So we have to test the software. 503 00:23:59,320 --> 00:24:01,320 We need to identify the bugs 504 00:24:01,320 --> 00:24:03,600 and the developers again will fix those bugs. 505 00:24:03,600 --> 00:24:06,300 And finally, we will deliver the quality product 506 00:24:06,300 --> 00:24:09,000 to the customer, okay? 507 00:24:09,000 --> 00:24:13,080 So the testing is a part of the development process. 508 00:24:13,080 --> 00:24:15,000 We'll understand the customer requirement. 509 00:24:15,000 --> 00:24:18,080 We will design it, then coding, then testing, 510 00:24:18,080 --> 00:24:20,720 and finally delivering the software to the customer. 511 00:24:20,720 --> 00:24:22,860 So these things will come into picture. 512 00:24:22,860 --> 00:24:27,160 So now, if I just look at what is software testing, 513 00:24:27,160 --> 00:24:28,820 let me write some notes here. 514 00:24:31,520 --> 00:24:36,040 So what is software? 515 00:24:36,040 --> 00:24:37,780 We understood what is software. 516 00:24:37,780 --> 00:24:40,980 Now we are understanding what is software testing. 517 00:24:40,980 --> 00:24:43,440 So software testing is a part 518 00:24:43,440 --> 00:24:45,620 of software development process. 519 00:24:46,820 --> 00:24:50,500 Software testing is an activity to detect 520 00:24:50,500 --> 00:24:52,620 and identify the defects in the software. 521 00:24:52,620 --> 00:24:55,040 So this is the main intention of the tester. 522 00:24:55,040 --> 00:24:56,940 What is the job of tester means? 523 00:24:56,940 --> 00:24:59,300 He has to identify the defects 524 00:24:59,300 --> 00:25:02,220 and he has to make sure our application 525 00:25:02,220 --> 00:25:04,060 or software is working according 526 00:25:04,060 --> 00:25:06,020 to customer requirement or not. 527 00:25:06,020 --> 00:25:07,780 Because initially customer will provide you 528 00:25:07,780 --> 00:25:10,500 some requirement, the functionality. 529 00:25:10,500 --> 00:25:13,260 And our software also should perform the same thing, 530 00:25:13,260 --> 00:25:14,980 whatever the customer is expecting. 531 00:25:15,940 --> 00:25:17,980 Suppose the customer is said something 532 00:25:17,980 --> 00:25:20,580 and we develop the software for something else. 533 00:25:20,580 --> 00:25:22,020 It doesn't work, right? 534 00:25:22,020 --> 00:25:25,660 So the main intention of software testing is 535 00:25:25,660 --> 00:25:29,220 it is a activity to detect and identify the defects. 536 00:25:29,220 --> 00:25:31,860 We have to execute some test cases. 537 00:25:31,860 --> 00:25:33,060 I'll tell you what is the test case 538 00:25:33,060 --> 00:25:34,340 and how to execute all these things. 539 00:25:34,340 --> 00:25:36,300 So the main intention of software testing is 540 00:25:36,300 --> 00:25:40,920 we have to find the defects in the software, okay? 541 00:25:40,920 --> 00:25:43,900 And the main objective is to release the quality product 542 00:25:43,900 --> 00:25:46,340 to the client or customer. 543 00:25:46,340 --> 00:25:49,160 So this is basically what is software testing. 544 00:25:49,160 --> 00:25:52,020 So testing is a part of software development. 545 00:25:52,020 --> 00:25:55,760 Testing is an activity to find the defects in the software. 546 00:25:55,760 --> 00:25:57,780 The main objective of testing is 547 00:25:57,780 --> 00:26:01,780 to release a quality product to the customer or client. 548 00:26:01,780 --> 00:26:06,740 So this is all about what is software testing. 549 00:26:06,740 --> 00:26:08,780 The next one is what is quality. 550 00:26:08,780 --> 00:26:11,700 So here we are talking about the quality. 551 00:26:11,700 --> 00:26:12,620 What is quality? 552 00:26:13,660 --> 00:26:15,100 Every day we are talking about quality. 553 00:26:15,100 --> 00:26:16,100 If I buy something, 554 00:26:16,100 --> 00:26:18,460 we are always expecting the quality, right? 555 00:26:18,460 --> 00:26:20,420 But what exactly quality means? 556 00:26:20,420 --> 00:26:21,940 The main objective of testing is 557 00:26:21,940 --> 00:26:23,620 to release quality product to the client. 558 00:26:23,620 --> 00:26:24,780 But what is quality? 559 00:26:26,180 --> 00:26:27,100 So what is quality? 560 00:26:27,100 --> 00:26:31,100 So quality is something called customer justification. 561 00:26:31,100 --> 00:26:34,300 So how well our product or software is working, 562 00:26:35,220 --> 00:26:37,820 the customer will decide, okay? 563 00:26:37,820 --> 00:26:41,700 So here there are some parameter based on that we can say 564 00:26:41,700 --> 00:26:44,340 whether our software is quality or not, 565 00:26:44,340 --> 00:26:45,600 quality software or not. 566 00:26:45,600 --> 00:26:47,660 So what are those parameters? 567 00:26:47,660 --> 00:26:48,920 Let me just tell you. 568 00:26:48,920 --> 00:26:50,340 So software quality. 569 00:26:51,860 --> 00:26:53,740 So these are all very important guys, 570 00:26:53,740 --> 00:26:54,980 so beginner as a beginner. 571 00:26:54,980 --> 00:26:57,420 So please try to understand this. 572 00:26:57,420 --> 00:27:01,300 Very simple terms, software quality. 573 00:27:01,300 --> 00:27:03,140 So why we are discussing software quality 574 00:27:03,140 --> 00:27:05,900 because our ultimate goal of testing is 575 00:27:05,900 --> 00:27:10,380 to deliver the quality product to the customer or client. 576 00:27:10,380 --> 00:27:12,180 But what is software quality? 577 00:27:12,180 --> 00:27:13,460 So software quality, 578 00:27:13,460 --> 00:27:17,140 if I say a product or software is very quality product, 579 00:27:17,140 --> 00:27:21,340 I can say based on certain parameters, okay? 580 00:27:21,340 --> 00:27:23,580 So what are those parameters? 581 00:27:23,580 --> 00:27:27,500 So the first parameter is bug free. 582 00:27:27,500 --> 00:27:29,020 So based on these parameters, 583 00:27:29,020 --> 00:27:33,100 we can say our software is quality software or not. 584 00:27:33,100 --> 00:27:36,280 The first parameter is bug free. 585 00:27:36,280 --> 00:27:38,220 What is meant by bug free? 586 00:27:38,220 --> 00:27:41,780 So our software should not have any bugs, 587 00:27:41,780 --> 00:27:46,780 but 900% software, 100% software will not be bug free guys, 588 00:27:48,040 --> 00:27:50,220 but at least one or 2%, there will be bugs, 589 00:27:50,220 --> 00:27:52,140 but they are very, very minor bugs. 590 00:27:52,180 --> 00:27:53,860 The customer process or task 591 00:27:53,860 --> 00:27:55,900 will not be impacted by those bugs. 592 00:27:55,900 --> 00:27:58,400 But 100% quality product 593 00:27:58,400 --> 00:28:03,400 cannot be always possible to release to the customer, okay? 594 00:28:04,500 --> 00:28:06,380 It is not at all possible. 595 00:28:06,380 --> 00:28:08,420 At least one or 2% bugs will be there, 596 00:28:08,420 --> 00:28:10,720 but they are very minor bugs. 597 00:28:10,720 --> 00:28:12,820 We can ignore those bugs, okay? 598 00:28:12,820 --> 00:28:15,100 And the final thing, 599 00:28:15,100 --> 00:28:16,380 the objective of testing is 600 00:28:16,380 --> 00:28:18,540 to release the quality product to the client. 601 00:28:18,540 --> 00:28:21,160 But what is the software quality? 602 00:28:21,160 --> 00:28:23,960 So software quality can be measured. 603 00:28:23,960 --> 00:28:26,960 So later I'll tell you what are the metrics we have to use, 604 00:28:26,960 --> 00:28:30,480 but mainly we can say software is a quality 605 00:28:30,480 --> 00:28:32,800 based on certain parameters. 606 00:28:32,800 --> 00:28:35,840 So the first parameter will be the bug free. 607 00:28:35,840 --> 00:28:38,900 The software should not contain any bugs. 608 00:28:38,900 --> 00:28:40,200 That's the first thing. 609 00:28:40,200 --> 00:28:43,000 Second thing, delivered on time. 610 00:28:43,000 --> 00:28:45,000 So I said before, 611 00:28:45,000 --> 00:28:48,660 when an IT company is approaching the IT company, 612 00:28:48,660 --> 00:28:51,940 so some X company is approaching the IT company, 613 00:28:51,940 --> 00:28:55,900 they have some budget and they have some time also. 614 00:28:55,900 --> 00:28:58,700 Within that time, we have to develop and test the software 615 00:28:58,700 --> 00:29:02,240 and we have to deliver the software to the company, right? 616 00:29:02,240 --> 00:29:06,140 And they spend some budget and also time. 617 00:29:06,140 --> 00:29:08,260 Suppose what happens, 618 00:29:08,260 --> 00:29:10,380 suppose development and testing is taken 619 00:29:10,380 --> 00:29:14,120 more than the committed time, then what happens? 620 00:29:14,120 --> 00:29:16,820 We have to pay to the staff also, right? 621 00:29:16,820 --> 00:29:19,660 We have to spend a lot of time, right? 622 00:29:19,660 --> 00:29:23,740 So what happens if you're not able to deliver the software 623 00:29:23,740 --> 00:29:28,140 within the time or on time, that is also considerable 624 00:29:28,140 --> 00:29:31,220 because the customer has to spend more budget 625 00:29:31,220 --> 00:29:33,020 because automatically the time is increased, 626 00:29:33,020 --> 00:29:35,420 increase like duration is increased automatically. 627 00:29:35,420 --> 00:29:37,940 You have to spend money on the staff also, right? 628 00:29:37,940 --> 00:29:39,780 Employees like developers, testers, 629 00:29:39,780 --> 00:29:41,440 who is working on that project, 630 00:29:41,440 --> 00:29:43,320 we have to pay to them, right? 631 00:29:43,320 --> 00:29:46,020 If suppose time is increased. 632 00:29:46,020 --> 00:29:48,040 So deliver on time. 633 00:29:48,040 --> 00:29:49,460 So not only back free, 634 00:29:49,460 --> 00:29:52,500 we should also deliver the software on time. 635 00:29:52,500 --> 00:29:54,180 That is one parameter. 636 00:29:54,180 --> 00:29:56,420 The third parameter is within the budget. 637 00:29:56,420 --> 00:30:00,620 Sometimes some organization will have some budget 638 00:30:00,620 --> 00:30:03,440 and once you start developing and testing, 639 00:30:03,440 --> 00:30:05,580 the budget will be increased. 640 00:30:05,580 --> 00:30:07,380 That should not be happen. 641 00:30:07,380 --> 00:30:12,380 So whatever the time and budget they have mentioned initially, 642 00:30:12,500 --> 00:30:15,940 we have to deliver the software within that particular time 643 00:30:16,860 --> 00:30:18,660 and within that particular budget. 644 00:30:18,660 --> 00:30:22,060 And then only the customer will say our product 645 00:30:22,060 --> 00:30:25,860 or our software is quality and not only back free 646 00:30:25,860 --> 00:30:29,180 and it is also depends on other factors. 647 00:30:29,180 --> 00:30:31,060 And it should be delivered on time 648 00:30:31,060 --> 00:30:33,140 and it should be within the budget. 649 00:30:33,140 --> 00:30:36,260 And finally, it should meet the requirements 650 00:30:36,260 --> 00:30:39,140 or expectations from the customer, okay? 651 00:30:39,140 --> 00:30:41,020 So whatever software we develop, 652 00:30:41,020 --> 00:30:43,860 that should fulfill the requirement of customers. 653 00:30:43,860 --> 00:30:46,620 So that's the first and most important task. 654 00:30:46,620 --> 00:30:48,340 Customers set some requirement 655 00:30:48,340 --> 00:30:50,140 and we have developed and tested software. 656 00:30:50,140 --> 00:30:53,180 It should work according to their requirement. 657 00:30:53,180 --> 00:30:54,660 So this is very, very important. 658 00:30:54,660 --> 00:30:57,060 It should meet the requirements 659 00:30:57,060 --> 00:31:00,020 or expectations from the customer. 660 00:31:00,020 --> 00:31:02,740 And finally, it should be maintainable. 661 00:31:02,740 --> 00:31:04,340 Maintainable means what? 662 00:31:04,340 --> 00:31:07,540 After installing our software in the customer environment, 663 00:31:07,540 --> 00:31:09,780 they should be able to work with that. 664 00:31:09,780 --> 00:31:11,860 And if there is any small issues, 665 00:31:11,860 --> 00:31:14,220 they should be able to resolve themself 666 00:31:14,220 --> 00:31:17,100 and should be user friendly, okay? 667 00:31:17,100 --> 00:31:20,020 In that case, we can say it is a maintainable. 668 00:31:20,020 --> 00:31:23,180 So when I deliver a software to the customer, 669 00:31:23,180 --> 00:31:27,340 if our software is fulfilling all these parameters, 670 00:31:27,340 --> 00:31:29,980 we can say which is a quality product 671 00:31:29,980 --> 00:31:33,420 or which is a quality software. 672 00:31:33,420 --> 00:31:36,460 And to make sure all these things should be there, 673 00:31:36,460 --> 00:31:38,980 we have to conduct our testing. 674 00:31:38,980 --> 00:31:40,580 So the main intention of testing 675 00:31:40,860 --> 00:31:43,740 is to deliver the quality product to the customer. 676 00:31:43,740 --> 00:31:46,940 And when we say our product or software is a quality, 677 00:31:46,940 --> 00:31:48,300 having some quality means 678 00:31:48,300 --> 00:31:50,980 which we have to follow these parameters. 679 00:31:50,980 --> 00:31:54,460 It should be, it doesn't have any bugs. 680 00:31:54,460 --> 00:31:58,100 You can say bug free and it should be delivered on time. 681 00:31:58,100 --> 00:32:00,940 It should be delivered within the budget 682 00:32:00,940 --> 00:32:03,780 and it should also meet customer requirements 683 00:32:03,780 --> 00:32:06,140 or it should work according to the customer requirements 684 00:32:06,140 --> 00:32:07,380 or expectation. 685 00:32:07,380 --> 00:32:09,580 And finally, it should be maintainable 686 00:32:09,580 --> 00:32:11,780 in their environment, okay? 687 00:32:11,780 --> 00:32:14,620 So these are the main quality standards. 688 00:32:14,620 --> 00:32:16,780 So if I say software is a quality software, 689 00:32:16,780 --> 00:32:20,540 then we have to follow these parameters, okay? 690 00:32:20,540 --> 00:32:24,540 Now here, I'm just using some terms continuous 691 00:32:24,540 --> 00:32:26,900 like project and product. 692 00:32:26,900 --> 00:32:28,820 And these terms are very, very important. 693 00:32:28,820 --> 00:32:31,180 We need to understand as a beginner. 694 00:32:31,180 --> 00:32:33,100 So what is project and product? 695 00:32:34,260 --> 00:32:35,380 Project and product. 696 00:32:35,380 --> 00:32:37,380 So people are sometimes using project. 697 00:32:37,380 --> 00:32:38,740 Sometimes they say product. 698 00:32:38,740 --> 00:32:40,780 What is project and product? 699 00:32:40,780 --> 00:32:42,140 And even in the companies also, 700 00:32:42,140 --> 00:32:43,420 there are two kinds of companies 701 00:32:43,420 --> 00:32:47,060 like service-based companies, product-based companies. 702 00:32:47,060 --> 00:32:49,540 Similarly, we have a project and products. 703 00:32:49,540 --> 00:32:51,260 So what exactly project means? 704 00:32:51,260 --> 00:32:53,260 What exactly product means? 705 00:32:53,260 --> 00:32:56,500 There is a small difference between project and product. 706 00:32:56,500 --> 00:32:58,260 So you have to understand these terminology 707 00:32:58,260 --> 00:33:02,300 which is very important before going to testing part. 708 00:33:03,300 --> 00:33:04,140 Okay. 709 00:33:05,140 --> 00:33:09,660 Let me tell you what is project and product. 710 00:33:09,660 --> 00:33:10,780 Project and product. 711 00:33:11,900 --> 00:33:14,180 Okay, so let me write some notes here. 712 00:33:15,300 --> 00:33:17,100 Very small difference, guys. 713 00:33:17,100 --> 00:33:20,700 The first one is if software application. 714 00:33:20,700 --> 00:33:23,900 So whatever software we developed and tested, 715 00:33:23,900 --> 00:33:28,060 which is for specific customer based on the requirement, 716 00:33:28,060 --> 00:33:29,860 then it is called as a project. 717 00:33:29,940 --> 00:33:31,140 Means what? 718 00:33:31,140 --> 00:33:32,860 We approach a customer. 719 00:33:32,860 --> 00:33:35,460 Customer will give you specific customer 720 00:33:35,460 --> 00:33:38,060 and customer will give you the requirement. 721 00:33:38,060 --> 00:33:40,140 Customer will spend some budget. 722 00:33:40,140 --> 00:33:41,420 They will give the requirement 723 00:33:41,420 --> 00:33:42,940 and we will develop the software 724 00:33:42,940 --> 00:33:45,820 according to that particular customer. 725 00:33:45,820 --> 00:33:49,140 So whatever software we developed and tested 726 00:33:49,140 --> 00:33:52,500 according to the specific customer requirement, 727 00:33:52,500 --> 00:33:54,780 we can simply say that is a project. 728 00:33:55,780 --> 00:33:57,100 Project means what? 729 00:33:57,140 --> 00:33:59,420 The application or a software 730 00:33:59,420 --> 00:34:03,180 which is developed for specific customer requirement. 731 00:34:03,180 --> 00:34:07,380 And that software will be used by the customer himself. 732 00:34:07,380 --> 00:34:09,220 Others cannot be used. 733 00:34:09,220 --> 00:34:13,940 Okay, suppose I develop a software for an organization 734 00:34:13,940 --> 00:34:17,580 and only that organization can be used in that software 735 00:34:17,580 --> 00:34:20,180 and other organizations cannot be used. 736 00:34:20,180 --> 00:34:22,620 And those things called as a project. 737 00:34:22,620 --> 00:34:25,100 A project is a software application 738 00:34:25,100 --> 00:34:28,020 which is developed for specific customer 739 00:34:28,020 --> 00:34:32,260 based on the requirement, then it is called project. 740 00:34:32,260 --> 00:34:34,220 Okay, if the software application is developed 741 00:34:34,220 --> 00:34:38,220 for specific customer based on the requirement, 742 00:34:38,220 --> 00:34:40,020 based on the customer requirement, 743 00:34:40,020 --> 00:34:42,100 then it is called as a project. 744 00:34:42,100 --> 00:34:45,300 And only the specific customer can use this. 745 00:34:45,300 --> 00:34:47,700 But what is a product means? 746 00:34:47,700 --> 00:34:50,140 If the software application is developed 747 00:34:50,140 --> 00:34:53,620 for multiple customers based on market requirement, 748 00:34:53,620 --> 00:34:55,740 then it is called as a product. 749 00:34:55,740 --> 00:34:57,060 That means what? 750 00:34:57,060 --> 00:34:59,900 We will collect the requirements from the market, 751 00:34:59,900 --> 00:35:02,140 not from the specific customer. 752 00:35:02,140 --> 00:35:04,700 Okay, what is exactly market requirements? 753 00:35:04,700 --> 00:35:08,420 We will analyze them and we will develop a software. 754 00:35:08,420 --> 00:35:09,900 Then we'll deliver it to the market. 755 00:35:09,900 --> 00:35:10,860 And number of people, 756 00:35:10,860 --> 00:35:13,460 number of customers are using that software. 757 00:35:13,460 --> 00:35:16,380 In that case, which is called as a product. 758 00:35:16,380 --> 00:35:17,780 A product is a software 759 00:35:17,780 --> 00:35:20,940 which can be used by multiple customers. 760 00:35:20,940 --> 00:35:22,260 Project is a software 761 00:35:22,260 --> 00:35:25,180 which can be used by specific customer. 762 00:35:25,180 --> 00:35:27,340 Okay, project is a software 763 00:35:27,340 --> 00:35:29,260 which can be used by specific customer. 764 00:35:29,260 --> 00:35:32,500 We are developing it for specific customer requirement. 765 00:35:32,500 --> 00:35:34,380 Whereas product is a software 766 00:35:34,380 --> 00:35:36,860 which we can develop for market 767 00:35:36,860 --> 00:35:39,060 or based on market requirements. 768 00:35:39,060 --> 00:35:40,740 So what are the examples? 769 00:35:40,740 --> 00:35:43,260 For example, there is a bank. 770 00:35:43,260 --> 00:35:46,420 Okay, and I have developed a software 771 00:35:46,420 --> 00:35:48,940 which can do all the transactions automated 772 00:35:49,900 --> 00:35:50,940 in that particular bank. 773 00:35:50,940 --> 00:35:52,620 So that is project 774 00:35:52,620 --> 00:35:55,460 because that application or software can be used 775 00:35:55,460 --> 00:35:58,180 only within that bank, within that particular organization. 776 00:35:58,180 --> 00:35:59,820 Others cannot be used. 777 00:35:59,820 --> 00:36:02,220 So they are called projects. 778 00:36:02,220 --> 00:36:03,700 And what is a product means? 779 00:36:03,700 --> 00:36:05,620 Everyone should able to do that. 780 00:36:05,620 --> 00:36:07,780 So for example, in our mobile, 781 00:36:07,780 --> 00:36:09,780 there are so many apps will be there. 782 00:36:09,780 --> 00:36:10,940 Let's say WhatsApp. 783 00:36:10,940 --> 00:36:14,140 So WhatsApp is an application, a software application 784 00:36:14,140 --> 00:36:16,020 and everybody using it. 785 00:36:16,020 --> 00:36:18,340 So that is an example of product. 786 00:36:18,340 --> 00:36:22,100 And suppose our Microsoft products, Word, Excel, PowerPoint. 787 00:36:22,100 --> 00:36:25,620 So these are all the softwares and everybody using them 788 00:36:25,620 --> 00:36:27,940 and how they develop those softwares 789 00:36:27,940 --> 00:36:30,100 based on the customer requirement. 790 00:36:30,100 --> 00:36:32,020 And they'll analyze the requirement from the market, 791 00:36:32,020 --> 00:36:33,500 from the people, 792 00:36:33,500 --> 00:36:35,340 and they'll consolidate all the requirements. 793 00:36:35,340 --> 00:36:37,700 Accordingly, they develop the software 794 00:36:37,700 --> 00:36:40,100 and that comes under the product. 795 00:36:40,100 --> 00:36:42,700 So understand this difference, very, very important, 796 00:36:42,700 --> 00:36:44,420 the project and the product. 797 00:36:44,420 --> 00:36:46,900 So project is something which is developed 798 00:36:47,900 --> 00:36:51,540 for specific customer based on their requirement. 799 00:36:51,540 --> 00:36:54,220 And the product is a software which is developed 800 00:36:54,220 --> 00:36:56,220 based on the market requirements 801 00:36:56,220 --> 00:36:57,660 and everybody can use it. 802 00:36:58,540 --> 00:37:00,660 Okay, that is a product. 803 00:37:00,660 --> 00:37:02,460 Now, similarly, the companies also, 804 00:37:02,460 --> 00:37:04,100 two types of companies will be there. 805 00:37:04,100 --> 00:37:07,220 Like service-based companies and product-based companies. 806 00:37:07,220 --> 00:37:09,380 Service-based companies are what? 807 00:37:09,380 --> 00:37:11,980 Most of the times they will deal with the projects. 808 00:37:11,980 --> 00:37:14,060 So they will work for specific customers. 809 00:37:14,060 --> 00:37:16,500 They will work for specific clients. 810 00:37:16,500 --> 00:37:18,140 And those companies are comes under 811 00:37:18,140 --> 00:37:23,140 service-based companies like TCS, Accenture. 812 00:37:23,180 --> 00:37:25,460 Okay, so these companies are comes under 813 00:37:25,460 --> 00:37:28,100 the service-based companies or Infosys. 814 00:37:28,100 --> 00:37:30,020 These are all service-based companies 815 00:37:30,020 --> 00:37:32,740 and they will work for any number of customers 816 00:37:32,740 --> 00:37:36,180 throughout the world and product-based companies. 817 00:37:36,180 --> 00:37:38,180 The other type of companies are we have product. 818 00:37:38,180 --> 00:37:39,660 Product means what? 819 00:37:39,660 --> 00:37:41,380 A software which is developed 820 00:37:41,380 --> 00:37:43,300 based on the market requirements. 821 00:37:43,300 --> 00:37:44,980 So for example, Google. 822 00:37:44,980 --> 00:37:46,740 So Google is a product-based companies. 823 00:37:46,740 --> 00:37:48,900 There are so many Google products out there. 824 00:37:48,900 --> 00:37:51,860 Like Google Max, Google Drive, Gmail. 825 00:37:51,860 --> 00:37:53,940 These are all Google products. 826 00:37:53,940 --> 00:37:55,020 And Microsoft. 827 00:37:55,020 --> 00:37:56,980 Microsoft is also product-based company. 828 00:37:56,980 --> 00:37:59,220 So they will develop the multiple products 829 00:37:59,220 --> 00:38:02,820 on Microsoft products like MS Word, MS Office. 830 00:38:02,820 --> 00:38:05,660 These are all examples of Microsoft products. 831 00:38:05,660 --> 00:38:06,500 And Oracle. 832 00:38:06,500 --> 00:38:09,100 Oracle is also product-based company. 833 00:38:09,100 --> 00:38:11,780 Okay, so there are different type of companies 834 00:38:11,780 --> 00:38:14,580 like service-based companies and product-based companies. 835 00:38:15,580 --> 00:38:20,100 Okay, so that is all about project and product. 836 00:38:24,420 --> 00:38:28,420 Okay, and finally, why we need testing. 837 00:38:28,420 --> 00:38:30,620 We understood what is project and product 838 00:38:30,620 --> 00:38:31,860 and why we need to testing. 839 00:38:31,860 --> 00:38:32,980 So this we already covered. 840 00:38:32,980 --> 00:38:34,860 Why do we need testing? 841 00:38:34,860 --> 00:38:37,300 The ultimate goal is to release 842 00:38:37,300 --> 00:38:38,940 a quality product to the customer. 843 00:38:38,940 --> 00:38:41,940 So that's the reason we have to conduct our testing. 844 00:38:41,940 --> 00:38:44,060 And we have to ensure the software 845 00:38:45,020 --> 00:38:46,580 should be bug-free 846 00:38:46,580 --> 00:38:50,420 and it should meet the customer requirements, right? 847 00:38:50,420 --> 00:38:52,940 And also it should work according 848 00:38:52,940 --> 00:38:55,100 to the customer expectation. 849 00:38:55,100 --> 00:38:59,060 So these are the main things which you have to ensure 850 00:38:59,060 --> 00:39:00,420 while conducting the testing. 851 00:39:00,420 --> 00:39:01,900 So without testing, what will happen 852 00:39:01,900 --> 00:39:03,460 if I don't conduct any testing? 853 00:39:03,460 --> 00:39:04,660 Then what happens? 854 00:39:04,660 --> 00:39:06,980 Definitely the software contains the bugs. 855 00:39:06,980 --> 00:39:09,420 And once the customer has started using the software, 856 00:39:09,420 --> 00:39:12,940 definitely they'll first aid it with that. 857 00:39:12,980 --> 00:39:15,700 Okay, so that's the reason we have to conduct our testing. 858 00:39:15,700 --> 00:39:19,460 So we have to ensure the software doesn't have any bugs 859 00:39:19,460 --> 00:39:21,660 and we have to ensure our software is working 860 00:39:21,660 --> 00:39:23,860 according to customer requirement or not. 861 00:39:23,860 --> 00:39:26,780 So these are the two main things which we need to focus 862 00:39:26,780 --> 00:39:28,460 while conducting the software testing. 863 00:39:28,460 --> 00:39:29,500 So why do we need testing? 864 00:39:29,500 --> 00:39:32,340 Means we have to deliver the quality product 865 00:39:32,340 --> 00:39:33,180 to the customer. 866 00:39:33,180 --> 00:39:34,740 So that's the main intention. 867 00:39:36,220 --> 00:39:40,020 Okay, so finally, I'll just explain 868 00:39:40,020 --> 00:39:43,220 about these terms, error, bug and failure. 869 00:39:43,220 --> 00:39:45,460 So a lot of people exactly don't know the difference 870 00:39:45,460 --> 00:39:48,260 between these three and which is very important 871 00:39:48,260 --> 00:39:49,460 to know that. 872 00:39:49,460 --> 00:39:51,180 Error, bug and failure. 873 00:39:51,180 --> 00:39:53,100 Most of the people will think bug is nothing 874 00:39:53,100 --> 00:39:55,300 but some error or some failure. 875 00:39:55,300 --> 00:39:58,420 But there is a small technical differences there. 876 00:39:58,420 --> 00:40:01,220 Error, bug and failure. 877 00:40:01,220 --> 00:40:03,780 Now let me tell you what exactly error means, 878 00:40:03,780 --> 00:40:06,860 what exactly bug means and failure means. 879 00:40:06,860 --> 00:40:09,420 Error is nothing but a human mistake. 880 00:40:09,420 --> 00:40:11,580 If you do some task, right? 881 00:40:11,580 --> 00:40:13,340 If you do some mistake somewhere, 882 00:40:13,340 --> 00:40:16,220 that is basically called as an error, okay? 883 00:40:16,220 --> 00:40:18,260 It is an incorrect human action. 884 00:40:18,260 --> 00:40:20,700 We can simply say an incorrect human action 885 00:40:20,700 --> 00:40:22,580 is called an error. 886 00:40:22,580 --> 00:40:26,620 So suppose as a developer, he's writing some program 887 00:40:26,620 --> 00:40:29,580 and he has committed some, by mistake, 888 00:40:29,580 --> 00:40:33,860 he has typed something else and that is causing the error. 889 00:40:33,860 --> 00:40:38,260 So error is basically human mistake, okay? 890 00:40:38,260 --> 00:40:40,820 And bug, what is the bug? 891 00:40:40,820 --> 00:40:43,620 Bug is nothing but it is a deviation 892 00:40:43,620 --> 00:40:45,900 of expecting actual results. 893 00:40:45,900 --> 00:40:49,620 So for example, there is a simple, 894 00:40:49,620 --> 00:40:53,060 let's say login screen in your application, right? 895 00:40:53,060 --> 00:40:56,500 So when I provide a valid username and valid password, 896 00:40:56,500 --> 00:40:58,620 I should able to log into my application. 897 00:40:58,620 --> 00:41:00,420 Let's say Gmail application. 898 00:41:01,300 --> 00:41:02,940 So how to log into Gmail? 899 00:41:02,940 --> 00:41:05,620 I have to provide the valid username and valid password. 900 00:41:05,620 --> 00:41:08,020 So when I provide valid username and valid password, 901 00:41:08,020 --> 00:41:10,260 then I should able to successfully log in. 902 00:41:11,300 --> 00:41:13,140 But, and similarly, if I want to pass, 903 00:41:13,140 --> 00:41:16,340 let's say if I pass invalid username and invalid password, 904 00:41:16,340 --> 00:41:18,580 I should not able to log in. 905 00:41:18,580 --> 00:41:20,740 But what happening, even though if I providing 906 00:41:20,740 --> 00:41:22,660 invalid username and password, 907 00:41:22,660 --> 00:41:25,540 an application is allowing me to log in. 908 00:41:25,540 --> 00:41:28,060 Then that is a mismatch, right? 909 00:41:28,060 --> 00:41:31,420 What you are expecting by pass a validator, 910 00:41:31,420 --> 00:41:32,740 the login should be successful. 911 00:41:32,740 --> 00:41:35,700 When I pass invalidator, login should not be successful. 912 00:41:35,700 --> 00:41:37,300 That is your expectation. 913 00:41:37,300 --> 00:41:39,660 But how actually application is working? 914 00:41:39,660 --> 00:41:43,460 If I pass validator, okay, it is successfully login. 915 00:41:43,460 --> 00:41:45,660 But even if you pass invalidator, 916 00:41:45,660 --> 00:41:47,540 still it is accepting the login. 917 00:41:47,540 --> 00:41:49,380 So that is a mismatch. 918 00:41:49,380 --> 00:41:53,500 What is our expectation and how the application is working? 919 00:41:53,500 --> 00:41:55,740 So the deviation from expected behavior 920 00:41:55,740 --> 00:41:58,540 and actual behavior is basically called as a bug, 921 00:41:59,420 --> 00:42:01,940 and which is also called as a defect. 922 00:42:01,940 --> 00:42:03,580 The terminologies are different guys. 923 00:42:03,580 --> 00:42:06,260 The concept is same, okay? 924 00:42:06,260 --> 00:42:09,340 So error is a human mistake. 925 00:42:09,340 --> 00:42:11,540 Bug and defect is something different. 926 00:42:11,540 --> 00:42:13,460 So this is related to application. 927 00:42:13,460 --> 00:42:16,100 Something is not working in our application 928 00:42:16,100 --> 00:42:19,820 according to your expectation or your requirement 929 00:42:19,820 --> 00:42:21,420 or customer requirement, 930 00:42:21,420 --> 00:42:26,220 which is basically called as a bug or defect, okay? 931 00:42:26,220 --> 00:42:28,100 And the third thing is a failure. 932 00:42:28,100 --> 00:42:29,620 What is failure? 933 00:42:29,620 --> 00:42:31,620 Suppose we develop some software, 934 00:42:31,620 --> 00:42:34,620 we have tested and everything is working fine. 935 00:42:34,620 --> 00:42:35,740 And finally, what you will do? 936 00:42:35,740 --> 00:42:38,220 We will deliver the software to the customer. 937 00:42:38,220 --> 00:42:39,580 And we have installed the software 938 00:42:39,580 --> 00:42:41,260 in the customer environment, 939 00:42:41,260 --> 00:42:43,740 and they started using the software. 940 00:42:43,740 --> 00:42:46,740 And after a few days, then what happens? 941 00:42:46,740 --> 00:42:51,740 There is something which is not working in the software, okay? 942 00:42:51,940 --> 00:42:54,740 And something basically got failed, okay? 943 00:42:54,740 --> 00:42:56,820 So whatever the customer wanted to do, 944 00:42:56,820 --> 00:42:58,820 some transaction that is got failed. 945 00:42:59,780 --> 00:43:03,620 So this is basically end user action, okay? 946 00:43:03,620 --> 00:43:06,860 So the deviation identified by end user 947 00:43:06,860 --> 00:43:08,900 while using the software, 948 00:43:08,900 --> 00:43:11,540 the deviation identified by the end user 949 00:43:12,780 --> 00:43:16,260 while working with the software is called as a failure. 950 00:43:16,260 --> 00:43:21,060 Again, I'm repeating, error is a human mistake, okay? 951 00:43:21,060 --> 00:43:22,540 While writing the program, 952 00:43:22,540 --> 00:43:25,620 developer will do a lot of mistakes. 953 00:43:25,620 --> 00:43:27,460 All these comes under the errors. 954 00:43:28,500 --> 00:43:30,900 And while testing the software, 955 00:43:30,900 --> 00:43:33,380 we are checking the functionality of our application, 956 00:43:34,140 --> 00:43:34,980 whether it is working according 957 00:43:34,980 --> 00:43:36,860 to customer requirement or not. 958 00:43:36,860 --> 00:43:38,300 If something is not working 959 00:43:38,300 --> 00:43:39,860 according to customer requirement, 960 00:43:39,860 --> 00:43:42,220 which is comes under the bug or defect. 961 00:43:43,300 --> 00:43:45,660 And after releasing the product to the customer 962 00:43:45,660 --> 00:43:47,300 and the customer is using the software, 963 00:43:47,300 --> 00:43:50,380 or as a user, I'm working with the software 964 00:43:50,380 --> 00:43:51,980 in the real environment, 965 00:43:51,980 --> 00:43:53,420 where I found some bugs, 966 00:43:53,420 --> 00:43:54,700 where I found some mismatch, 967 00:43:54,700 --> 00:43:57,100 where I found something is not working, 968 00:43:57,100 --> 00:43:59,340 that is comes under the failure. 969 00:43:59,340 --> 00:44:02,660 And the error normally committed by the developers, 970 00:44:02,660 --> 00:44:05,940 bugs and defects will be identified by the testers 971 00:44:05,940 --> 00:44:08,300 at the time of testing phase. 972 00:44:08,300 --> 00:44:11,460 And failures will be there in the production environment. 973 00:44:11,460 --> 00:44:14,820 Production means in the sense, customer environment. 974 00:44:14,820 --> 00:44:17,380 And where if the customer is identified something 975 00:44:17,380 --> 00:44:18,780 or which is not working properly, 976 00:44:18,780 --> 00:44:21,700 that we can call it as a failure, okay? 977 00:44:21,700 --> 00:44:24,060 So the basic difference between error, 978 00:44:24,060 --> 00:44:27,620 bug or defect or failure. 979 00:44:27,620 --> 00:44:29,740 Okay, just understand these technologies, 980 00:44:29,740 --> 00:44:32,380 which is very, very important, okay? 981 00:44:32,380 --> 00:44:34,100 So most frequently I use these terms, 982 00:44:34,100 --> 00:44:36,940 a bug or defect, both are same, 983 00:44:36,940 --> 00:44:41,940 but error is a different, failure is a different, okay? 984 00:44:42,060 --> 00:44:43,780 So these are some basics guys. 985 00:44:43,780 --> 00:44:46,540 So why the software has bugs? 986 00:44:46,540 --> 00:44:48,500 Let me discuss one more point. 987 00:44:48,500 --> 00:44:49,900 So why the software has bugs? 988 00:44:49,900 --> 00:44:53,220 So far we are discussing like why, what is software? 989 00:44:53,220 --> 00:44:54,700 What is software testing? 990 00:44:54,700 --> 00:44:57,740 And why we need to conduct the testing, right? 991 00:44:57,740 --> 00:44:59,700 But why the software has bugs? 992 00:44:59,700 --> 00:45:01,540 So when I develop some software, 993 00:45:01,940 --> 00:45:04,980 it contains some bugs, but why we should have bugs? 994 00:45:04,980 --> 00:45:07,020 There are a lot of reasons out there. 995 00:45:07,020 --> 00:45:08,620 Why the software is having bugs? 996 00:45:08,620 --> 00:45:10,260 There are a lot of reasons. 997 00:45:10,260 --> 00:45:12,540 The mainly five reasons guys. 998 00:45:12,540 --> 00:45:14,620 The mainly three, five reasons we can say. 999 00:45:16,260 --> 00:45:21,140 Why the software has bugs? 1000 00:45:22,460 --> 00:45:23,700 So why the software has bugs? 1001 00:45:23,700 --> 00:45:25,460 So mainly five reasons. 1002 00:45:25,460 --> 00:45:30,460 The first reason is miscommunication or no communication. 1003 00:45:31,580 --> 00:45:33,140 Means what? 1004 00:45:33,140 --> 00:45:35,100 There is no proper communication 1005 00:45:35,100 --> 00:45:38,100 between the developers and testers. 1006 00:45:38,100 --> 00:45:39,020 Means what? 1007 00:45:39,020 --> 00:45:41,180 Developer will develop something 1008 00:45:41,180 --> 00:45:44,180 and tester will expecting something else. 1009 00:45:44,180 --> 00:45:46,940 Or requirement is having some functionality 1010 00:45:46,940 --> 00:45:49,780 and developer is implemented or develop some other things, 1011 00:45:49,780 --> 00:45:53,300 some other functionality and tester is expecting something. 1012 00:45:53,300 --> 00:45:57,180 So there will be gap between the documentation, 1013 00:45:57,180 --> 00:45:59,140 development and testing. 1014 00:45:59,140 --> 00:46:02,020 So that is basically comes on the miscommunication 1015 00:46:02,020 --> 00:46:03,700 or no communication. 1016 00:46:03,700 --> 00:46:06,500 So that is causing the software bugs. 1017 00:46:06,500 --> 00:46:09,380 So the requirement should be very, very clear. 1018 00:46:09,380 --> 00:46:12,340 And according to the developer should develop the software. 1019 00:46:12,340 --> 00:46:15,060 And according to the tester also should test the software. 1020 00:46:15,060 --> 00:46:17,660 Everybody should be in the proper sync. 1021 00:46:17,660 --> 00:46:20,700 And then only we can deliver the quality product 1022 00:46:20,700 --> 00:46:21,860 to the customer. 1023 00:46:21,860 --> 00:46:23,380 If there is any miscommunication, 1024 00:46:23,380 --> 00:46:25,980 suppose developer is develop something 1025 00:46:26,020 --> 00:46:29,380 and which is not communicated with the testing team. 1026 00:46:29,380 --> 00:46:30,220 Then what happens? 1027 00:46:30,220 --> 00:46:32,140 Tester will think in different way 1028 00:46:32,140 --> 00:46:34,420 and they do their testing their own way. 1029 00:46:34,420 --> 00:46:37,540 And tester also needs some developer's input. 1030 00:46:37,540 --> 00:46:40,540 Even developer also needs some input from the testing. 1031 00:46:42,100 --> 00:46:45,820 So everybody in the team should communicate properly 1032 00:46:45,820 --> 00:46:50,420 and that can avoid the bugs in our software. 1033 00:46:50,420 --> 00:46:52,860 That is one major reason. 1034 00:46:52,860 --> 00:46:55,860 And the second reason is the complexity of the software. 1035 00:46:55,860 --> 00:46:58,300 Suppose the software is very complex. 1036 00:46:58,300 --> 00:47:00,820 It is almost three, four, five years project. 1037 00:47:00,820 --> 00:47:03,980 And so many people are working like N number of developers, 1038 00:47:03,980 --> 00:47:06,740 N number of testers, automation people, 1039 00:47:06,740 --> 00:47:08,180 so much complexities. 1040 00:47:08,180 --> 00:47:11,780 And N number of modules are there, sub-modules are there. 1041 00:47:11,780 --> 00:47:14,860 In that case also we can miss some bugs, okay? 1042 00:47:14,860 --> 00:47:16,700 Like integration testing, unit testing. 1043 00:47:16,700 --> 00:47:18,780 There are lot of testings we will conduct. 1044 00:47:18,780 --> 00:47:21,740 And somewhere we may miss something else. 1045 00:47:21,740 --> 00:47:25,300 So that is again causing the bugs in later stages. 1046 00:47:25,300 --> 00:47:27,660 So suppose in some cases in sometimes 1047 00:47:27,660 --> 00:47:30,100 even if the software is very complex, 1048 00:47:30,100 --> 00:47:34,540 there are some chances we have some bugs in our software. 1049 00:47:34,540 --> 00:47:37,580 And the third reason is programming errors. 1050 00:47:37,580 --> 00:47:39,740 And most of the times programming errors 1051 00:47:39,740 --> 00:47:42,700 in the sense it is a responsibility of the developers. 1052 00:47:42,700 --> 00:47:45,260 So developers will write the program, 1053 00:47:45,260 --> 00:47:47,420 but the program is working fine. 1054 00:47:47,420 --> 00:47:50,020 But whatever output is producing is not correct. 1055 00:47:50,940 --> 00:47:52,820 That comes out of the programming error. 1056 00:47:52,820 --> 00:47:55,460 So for example, developer has written a program 1057 00:47:55,460 --> 00:47:56,460 to add two numbers. 1058 00:47:56,460 --> 00:47:59,220 Let us say some example, what is programming error? 1059 00:47:59,220 --> 00:48:02,780 So developer is written some programming, some program. 1060 00:48:02,780 --> 00:48:04,260 And when I pass two inputs, 1061 00:48:04,260 --> 00:48:05,740 let's say I have passed the two numbers, 1062 00:48:05,740 --> 00:48:07,940 let's say two comma three. 1063 00:48:07,940 --> 00:48:09,780 And what is the output I'm expecting? 1064 00:48:09,780 --> 00:48:12,780 Two plus three, five I'm expecting, okay? 1065 00:48:12,780 --> 00:48:15,820 And this way the program is written the code. 1066 00:48:15,820 --> 00:48:18,860 But when I run the program, what happens? 1067 00:48:18,860 --> 00:48:22,100 When I pass this input, which is giving the output, 1068 00:48:22,100 --> 00:48:23,380 but something else, 1069 00:48:23,380 --> 00:48:25,820 let us say it is giving something called 10, 1070 00:48:25,820 --> 00:48:28,060 the program is running perfectly fine. 1071 00:48:28,060 --> 00:48:29,820 But whatever the output I'm getting 1072 00:48:29,820 --> 00:48:32,020 from the program is incorrect. 1073 00:48:32,020 --> 00:48:33,860 So why this is gone? 1074 00:48:33,860 --> 00:48:35,500 Why we are getting this incorrect error 1075 00:48:35,500 --> 00:48:37,820 because of programming error. 1076 00:48:37,820 --> 00:48:42,500 So the developers will take care of this programming errors. 1077 00:48:42,500 --> 00:48:44,540 Okay, so that is one thing. 1078 00:48:44,540 --> 00:48:48,020 And the next one is a frequently changing requirements. 1079 00:48:48,020 --> 00:48:50,660 This is a major cause. 1080 00:48:50,660 --> 00:48:52,700 So sometimes what happens is, 1081 00:48:52,700 --> 00:48:54,620 like initially the customer will give you 1082 00:48:54,620 --> 00:48:57,180 a few number of requirements, okay? 1083 00:48:57,180 --> 00:48:58,900 And okay, we have started, 1084 00:48:58,900 --> 00:49:00,380 we have understood all the requirement, 1085 00:49:00,380 --> 00:49:02,580 we have started development. 1086 00:49:02,580 --> 00:49:04,660 And in the middle of the development, 1087 00:49:04,660 --> 00:49:09,660 sometime again customer come back and change their requirement. 1088 00:49:09,820 --> 00:49:12,420 But initially they said something after some time 1089 00:49:12,420 --> 00:49:14,900 after developing or during the testing phase, 1090 00:49:14,900 --> 00:49:18,540 they'll come back and ask us to change some requirement. 1091 00:49:18,540 --> 00:49:21,100 And that is also causing the bugs. 1092 00:49:21,100 --> 00:49:22,620 And sometimes it may possible 1093 00:49:22,620 --> 00:49:25,740 or it may not be possible to change the application 1094 00:49:25,740 --> 00:49:27,380 according to their requirement. 1095 00:49:27,380 --> 00:49:30,820 So even if a customer requirements are frequently changing, 1096 00:49:30,820 --> 00:49:34,660 that is also sometimes causing the bugs. 1097 00:49:34,660 --> 00:49:37,740 And the last reason, lack of skilled testers. 1098 00:49:37,740 --> 00:49:40,900 If the tester doesn't have proper skill set, 1099 00:49:40,900 --> 00:49:43,980 definitely he will miss the bugs. 1100 00:49:43,980 --> 00:49:46,740 So if the tester is not identified the bugs, 1101 00:49:46,740 --> 00:49:48,000 then what happens? 1102 00:49:48,000 --> 00:49:50,200 That will go to the next level 1103 00:49:50,200 --> 00:49:52,420 and that will come again in the production. 1104 00:49:52,420 --> 00:49:55,740 The customer will face that bug, okay? 1105 00:49:55,740 --> 00:49:57,060 So that is a problem. 1106 00:49:57,060 --> 00:50:00,460 So the tester should have proper skill set. 1107 00:50:00,460 --> 00:50:02,600 That is very, very important. 1108 00:50:02,600 --> 00:50:05,540 And a tester should have a different mindset guys. 1109 00:50:05,540 --> 00:50:06,700 So especially for tester, 1110 00:50:06,700 --> 00:50:09,560 we need to always think about in the negative way. 1111 00:50:09,560 --> 00:50:11,620 So normally people are saying positive way, 1112 00:50:11,620 --> 00:50:14,220 we need to think, but here in the testing point of view, 1113 00:50:14,220 --> 00:50:16,220 always we have to think like, 1114 00:50:16,220 --> 00:50:17,580 we have to break the application. 1115 00:50:17,580 --> 00:50:19,420 Somewhere we need to find the application. 1116 00:50:19,420 --> 00:50:20,860 If you want to find the application, 1117 00:50:20,860 --> 00:50:22,740 if you want to find some bug, 1118 00:50:22,740 --> 00:50:23,580 then what you have to do, 1119 00:50:23,580 --> 00:50:26,060 we have to provide some invalid data. 1120 00:50:26,060 --> 00:50:28,420 Okay, we have to do some unwanted stuff in our application. 1121 00:50:28,420 --> 00:50:32,540 So then whether we are providing some data to the application, 1122 00:50:32,540 --> 00:50:33,900 how it is behaving, 1123 00:50:33,900 --> 00:50:35,420 whether it is behaving according 1124 00:50:35,420 --> 00:50:37,500 to customer requirement or not. 1125 00:50:37,500 --> 00:50:38,700 So that we need to test. 1126 00:50:38,700 --> 00:50:41,680 Always our focus should be on breaking the application. 1127 00:50:42,660 --> 00:50:44,520 Okay, so if everything is working fine, 1128 00:50:44,520 --> 00:50:46,400 there is no job for tester. 1129 00:50:46,400 --> 00:50:50,360 We have to break our application with our skill set. 1130 00:50:50,360 --> 00:50:53,120 So that is exactly software tester job. 1131 00:50:53,120 --> 00:50:57,120 Okay, so for that, we need to have proper skill set. 1132 00:50:57,120 --> 00:50:58,160 Very, very important. 1133 00:50:59,100 --> 00:51:01,560 Okay, so why is the software having bugs? 1134 00:51:01,560 --> 00:51:04,460 Mixed communication or new communication? 1135 00:51:04,460 --> 00:51:07,040 And because of software complexity 1136 00:51:07,040 --> 00:51:10,140 and sometimes programming errors also causing the bugs. 1137 00:51:10,140 --> 00:51:13,380 And if the requirements also keep on changing very frequently, 1138 00:51:13,380 --> 00:51:15,260 that is also causing the bugs. 1139 00:51:15,260 --> 00:51:18,500 And finally, lack of skilled testers. 1140 00:51:18,500 --> 00:51:21,340 If the testers doesn't have proper skills, 1141 00:51:21,340 --> 00:51:24,020 then definitely he will miss the bugs. 1142 00:51:24,020 --> 00:51:26,980 And those bugs will be faced by the customers. 1143 00:51:26,980 --> 00:51:30,020 And he will start frustrating by seeing those bugs 1144 00:51:30,020 --> 00:51:32,100 in the production environment. 1145 00:51:32,100 --> 00:51:35,980 Okay, so these are all very, very important things 1146 00:51:35,980 --> 00:51:37,640 before starting the testing. 1147 00:51:38,520 --> 00:51:43,440 And then we have something called SDLC, SDLC and so on. 1148 00:51:43,440 --> 00:51:46,360 So we will discuss these things in the next session. 1149 00:51:46,360 --> 00:51:48,240 Okay, so these are the basics guys. 1150 00:51:48,240 --> 00:51:50,360 Like we have understood what is software, 1151 00:51:50,360 --> 00:51:53,280 types of softwares and what is software testing, 1152 00:51:53,280 --> 00:51:55,160 what is software quality, 1153 00:51:55,160 --> 00:51:58,200 and what are the parameters of software quality 1154 00:51:58,200 --> 00:52:00,040 and project and product. 1155 00:52:00,040 --> 00:52:02,420 And why do we need software testing? 1156 00:52:02,420 --> 00:52:03,880 And we also understood the difference 1157 00:52:03,880 --> 00:52:06,920 between error, bug and failure. 1158 00:52:06,920 --> 00:52:11,360 And finally, we have understood why the software has bugs. 1159 00:52:11,360 --> 00:52:13,360 Okay, so in the next session, 1160 00:52:13,360 --> 00:52:16,120 we are going to discuss the rest of the topics. 1161 00:52:16,120 --> 00:52:18,640 And I'm just stopping here for today, guys. 1162 00:52:18,640 --> 00:52:20,380 Now, if you have any queries, 1163 00:52:20,380 --> 00:52:22,920 you guys can post in your chat window 1164 00:52:22,920 --> 00:52:24,960 or you guys can ask me. 1165 00:52:24,960 --> 00:52:26,800 Okay, and the rest of the things 1166 00:52:26,800 --> 00:52:28,720 will continue on tomorrow's session. 1167 00:52:30,240 --> 00:52:31,320 Just a moment.