Types of Testing in Software Engineering | Levels of Testing

Dear Students, Welcome to Gate Smashers. In this video, I am going to explain various testing types And guys, these types, not only in your competitive exam, even in your College or University Exam or in interviews, Ask you anywhere. Each and every point will be completed in this video. And especially, if you are watching this video at the last moment, then the whole story of the testing will be clear to you from this video. And in this video, whatever points, I am telling, take note of them. Its reason is, Because this type of categorization in a video, you will not find it anywhere.

So I am telling you all the small points that will help you. So guys, immediately like the video and subscribe to the channel, if you haven't done it yet. And even if you do it, do it even from the other device and also share it. Because subscribers are very important. So let's get started. Here, all the types that I have written here Let me tell you first. I have categorized it based on level. So whenever you get asked what is the type of testing, What is the category of testing, etc? So you have to remember simply in this way. That we have four levels. We categorize the types of testing based on four levels Now, what does this level mean? You can say that level one or the lowest level is unit testing.

Integration in Level Two. System in level three. Regression in level four. Where did these levels come from now? These levels actually, the SDLC model, we have done In that model of SDLC We have the phase of coding and development, in which coding &
development is taking place. Unit testing is being done in that phase, so first will be this. After that, in the proper phase of testing, in that, there will be integration testing as well as system testing.

& after that the last phase is maintenance, In that, there will be regression. So these points are very important, note them down first. So first of all, let's go to unit testing. So when are we doing unit testing? When it is in the development phase, it is in the coding phase. So what is the meaning of this unit? That, it is a very small unit, very small module. You can call a module, a function or a code of the program as a unit. you say the unit is the smallest element of the software. So when you are testing each unit during the development phase. That will become the unit testing. Here I will tell you about another category. Many times, you will find it in many places in this way. Beyond this, there are two categories, White Box Testing and Black Box Testing.

But guys, those are not its types. It's an approach to designing a test case. How do we design the test cases? One way is a black box and another way is a white box. So in the black box, without knowing the internal structure. We will just give input. And we'll check the output. Means let's say, I have a car. Now in that car, I just simply drive the car and that's it. I do not focus on the engine, tires, and internal structure. But in the white box, We design the test cases based on the internal structure and coding.

Although, we will see it in detail. I'm just giving you an overview. Then comes, Integration Testing. The integration testing is done in the proper testing phase. Integration is known from the name itself, that unit was small units, when we combine those units, it becomes integration testing. Now it may come to your mind that sir, when we tested the individual units, then why are we testing them again by combining two units? When you test both of them separately. So brother, here when we compared both of them then we added both of them. This means when we integrate unit 1 & unit 2.

After integrating, does it properly integrated? Or you can say when you integrate module one & module two, Are they compatible with each other? You'll also have to check this thing. That's in the integration testing. And it has four types. Bang-Bang, Top-Down, Bottom-Up, and Mixed Then we have system testing. This means, I tested the small units, then combined them and tested the modules. But i didn't test the entire system yet. when your software has been created. Now you are testing the entire software or entire system. I mean to say that, let's say if we talk about the car, first you have checked the engine, You have checked the tires, and you have checked the excel.

You have checked its body parts, which means you have
checked all these things. And then you are integrating them, you have set up the engine Then checked it. You put tires, wheel balancing, you did all this. Now before launching the car in the market, the car has been completed, the paint, interiors, etc. have been done Now you have to test it properly. If you bring it on the road, you will test it on the road. You will test it with different drivers and with different scenarios. That comes in the system testing. There are two categories in it. it is very important. The first categorization is Based on. Who is doing the testing? Who is doing the testing? There are three categories in it. or you can say, it has three types. Alpha, Beta & Acceptance Alpha is the development team that made that car or software. If you are taking it from
the car's point of view, then you will easily remember it. So the person who made that car is actually testing the entire car itself.

Beta, friendly customers will check, which means that like, Toyota made a car. So, for example, their friendly customers Let's say Toyota has a good relationship with Ford, just for example. So they gave it to the Ford people that brother, use this car once and see. Whatever lacking is there, tell us. Just for example, I am telling you. Then acceptance, means, now giving that product in the hands of users. Give it to the hand of the customer. Now the customer will check it. & then decide, whether should I accept it or not.

So you remember this basic story. Then comes to the non-functional, All these are the functional testing. This means to function. Function means, how the system is actually working. Here, we are checking the part in it. But the performance. Or non-functional testing, that too is a different
category of system testing. What do we have in this category? Volume, Load, Stress, Security, Configuration Compatibility. This means we are not checking it working. You can say, We are checking its non-functional parameters, such as, launched the website. Now after launching the website. Like I gave it that if 1,00,000 people are using it once Then what will happen? I gave extra load on it, I put stress on it. I increased the volume. In this way when I use functioning, What will be my response time? If my website crashes, at what time can I recover it? What is the security feature? It is not that your data is being hacked.

So how are they doing the installation? Are there any bugs at
the time of installation, etc? So all these non-functional points come under this testing. That is called performance testing. Or comes under non-functional testing. The rest comes under functional testing. Finally, we have the last level you can say. That's the regression testing which we do in the maintenance phase, means you made a product, For example, the customer accepts it. The customer is using that project. Now, after using that project, Will it continue working as it is for 10 years? No, now you need upgradation regularly. You feel like you want to bring this feature a little bit new, as the updation comes, right? On your mobile, web application, you regularly get some updates, especially in android. So it's telling for the upgradation, So you upgraded the system. After upgrading, It is not that the old features will stop working. So this upgradation, Whether it is useful or not. Will it work properly? That we check in regression testing. We check by seeding artificial errors. So whatever points I've told you, These are the superficial points which will help you.

At least, you got to know how do we categorize all types of testing. Otherwise, it is not known. Some people say it's a black box & white box. Brother, that is the test design case. Here, The different cases
we create to design the test, what way do we do? We use it here. So only in the unit, you can use it in other places too. It is a different thing. But the types of testing, that we do based on level.

When are we doing it? Doing it in coding & testing This is done in the coding phases. These two are done in the testing phase. This is in the maintenance phase. So just remember these points. These points are more than sufficient. Thank you..