Types of Testing in Software Engineering | Levels of Testing

Gate Smashers
31 Dec 202008:26

Summary

TLDRThis video from Gate Smashers offers a comprehensive guide to various testing types crucial for competitive exams, college, university, and interviews. The presenter categorizes testing into four levels: unit, integration, system, and regression, aligning with the SDLC model. The explanation covers both functional and non-functional testing, including approaches like white box and black box testing, and emphasizes the importance of understanding these concepts for effective software testing and maintenance.

Takeaways

  • πŸ“š The video covers various types of testing that are relevant not just for competitive exams but also for college, university exams, and interviews.
  • πŸ” The testing types are categorized into four levels: Unit Testing (Level One), Integration Testing (Level Two), System Testing (Level Three), and Regression Testing (Level Four).
  • πŸ‘¨β€πŸ’» Unit Testing is performed during the development phase, focusing on the smallest elements of the software, such as individual modules or functions.
  • πŸ”„ Integration Testing occurs in the testing phase, combining units to ensure compatibility and proper integration.
  • πŸš€ System Testing involves testing the entire software system to ensure all components work together as intended, with categories including Alpha, Beta, and Acceptance Testing.
  • πŸ”Ž There are two main approaches to designing test cases: Black Box Testing, which focuses on inputs and outputs without considering the internal structure, and White Box Testing, which is based on the internal workings of the software.
  • πŸ› οΈ Regression Testing is conducted during the maintenance phase to ensure that upgrades do not affect the functionality of existing features.
  • πŸ”‘ Non-functional testing, also known as performance testing, evaluates aspects such as volume, load, stress, security, configuration, and compatibility, which are separate from the functional operation of the system.
  • πŸ“ It's important to take notes of the points discussed in the video, as the categorization presented is unique and not commonly found elsewhere.
  • πŸ‘ The video encourages viewers to like, subscribe, and share the content, emphasizing the importance of subscriber support for the channel.
  • πŸ” The script provides an overview of testing types and emphasizes the significance of understanding each level and category in the context of software development and quality assurance.

Q & A

  • What is the main purpose of the video 'Gate Smashers'?

    -The main purpose of the video is to explain various types of testing that are applicable not only in competitive exams but also in college, university exams, and interviews.

  • Why are the points discussed in the video important to note down?

    -The points are important to note down because the categorization presented in the video is unique and not commonly found elsewhere, which can be very helpful for understanding different testing types.

  • What are the four levels of testing categorization mentioned in the video?

    -The four levels of testing categorization are: Level One - Unit Testing, Level Two - Integration Testing, Level Three - System Testing, and Level Four - Regression Testing.

  • How does the video relate the levels of testing to the SDLC model?

    -The video relates the levels of testing to the SDLC model by explaining that each level corresponds to a phase in the SDLC, such as unit testing during the coding phase, integration and system testing during the testing phase, and regression testing during the maintenance phase.

  • What is the significance of Unit Testing in the development phase?

    -Unit Testing is significant as it involves testing the smallest elements of software, such as individual modules or functions, to ensure they work correctly during the development phase.

  • Can you explain the difference between White Box Testing and Black Box Testing as described in the video?

    -White Box Testing involves designing test cases based on the internal structure and coding of the software, whereas Black Box Testing is done without knowledge of the internal structure, focusing on inputs and outputs.

  • What is the purpose of Integration Testing and what are its four types?

    -Integration Testing is done to check the compatibility and proper integration of combined units or modules. Its four types are Bang-Bang, Top-Down, Bottom-Up, and Mixed.

  • What is System Testing and how does it differ from other testing types?

    -System Testing involves testing the entire software or system to ensure it works as intended. It differs from other testing types as it focuses on the overall functionality of the system after individual components have been tested.

  • What are the three categories of System Testing based on who is performing the test?

    -The three categories are Alpha, Beta, and Acceptance Testing. Alpha is performed by the development team, Beta by friendly customers, and Acceptance by the end-users to decide whether to accept the product.

  • How does the video describe Non-Functional Testing?

    -Non-Functional Testing, as described in the video, checks the non-functional parameters of a system, such as volume, load, stress, security, configuration, and compatibility, rather than its functionality.

  • What is the purpose of Regression Testing and how is it conducted?

    -Regression Testing is conducted during the maintenance phase to ensure that after upgrades or changes, the existing features of a product continue to work correctly. It is conducted by introducing artificial errors to check the system's response.

Outlines

00:00

πŸ“š Introduction to Testing Types

This paragraph introduces the video's focus on explaining various testing types that are crucial for competitive exams, college, university exams, and interviews. The speaker emphasizes the uniqueness of the categorization presented and encourages viewers to take notes for future reference. The testing types are categorized into four levels based on the SDLC model: unit testing at the development phase, integration testing in the testing phase, system testing, and regression testing in the maintenance phase. The paragraph also introduces the concept of White Box and Black Box Testing as approaches to designing test cases, rather than types of testing.

05:02

πŸ” Deep Dive into Testing Levels and Categories

The second paragraph delves deeper into the specifics of each testing level and category. It explains that unit testing is conducted during the coding phase and involves testing the smallest units or modules of a software. Integration testing follows, combining units to check compatibility and proper integration. The paragraph outlines four types of integration testing: Bang-Bang, Top-Down, Bottom-Up, and Mixed. System testing is described as testing the entire software system, with a distinction made between functional testing (Alpha, Beta, Acceptance) and non-functional testing (Volume, Load, Stress, Security, Configuration Compatibility). The paragraph concludes with a discussion on regression testing, which is performed during the maintenance phase to ensure that upgrades do not affect the functionality of existing features.

Mindmap

Keywords

πŸ’‘Testing Types

Testing Types refer to the various methods and stages of evaluating software to ensure it meets the required quality standards. In the video, the speaker categorizes testing into different levels based on the Software Development Life Cycle (SDLC) model, emphasizing their importance in competitive exams, college, university exams, and interviews.

πŸ’‘Unit Testing

Unit Testing is the process of testing individual components or units of a software to determine if they work correctly. It is the lowest level of testing and is conducted during the development phase, specifically in the coding phase. The script mentions that a unit could be a module, a function, or a piece of code, and it is the smallest element of the software being tested.

πŸ’‘Integration Testing

Integration Testing involves combining individual units that have been tested and verifying their interoperability. It is categorized as Level Two in the video's testing hierarchy and is conducted during the testing phase of SDLC. The script explains that this type of testing checks whether the integrated units are compatible with each other.

πŸ’‘System Testing

System Testing is the process of testing a completely integrated software system to evaluate the system's compliance with specified requirements. It is categorized as Level Three in the script and is conducted after the integration testing phase. The video uses the analogy of testing a car's performance on the road to illustrate the concept of system testing.

πŸ’‘Regression Testing

Regression Testing is performed to ensure that changes or bug fixes have not adversely affected existing features of the software. It is categorized as Level Four in the video's testing hierarchy and is conducted during the maintenance phase of SDLC. The script emphasizes that regression testing is crucial to ensure that updates do not break the existing functionality.

πŸ’‘White Box Testing

White Box Testing is an approach to designing test cases where the tester has knowledge of the internal structure of the system. It is not a type of testing but rather a method of test case design. The script clarifies that this approach is based on understanding the internal workings of the software, as opposed to Black Box Testing.

πŸ’‘Black Box Testing

Black Box Testing is another test case design approach where the tester focuses on the inputs and outputs of the system without knowledge of the internal workings. The video script uses the example of driving a car without concern for its internal mechanisms to illustrate the concept of Black Box Testing.

πŸ’‘SDLC Model

The SDLC Model, or Software Development Life Cycle Model, is a process used by developers to plan and manage the development of a software product. In the video, the speaker uses the SDLC model to categorize the different levels of testing, from unit testing during the coding phase to regression testing in the maintenance phase.

πŸ’‘Functional Testing

Functional Testing is the process of verifying that the software functions according to specified requirements. It is a part of system testing and is mentioned in the script as a way to check how the system works, ensuring that it performs its intended tasks correctly.

πŸ’‘Non-functional Testing

Non-functional Testing evaluates the software's performance, security, and other attributes that are not directly related to its functionality. The script describes this as a separate category of system testing, focusing on aspects like load, stress, security, and compatibility, rather than the functionality of the software.

πŸ’‘Maintenance Phase

The Maintenance Phase is the final stage of the SDLC model where the software is updated and refined after it has been released. In the context of the video, regression testing is conducted during this phase to ensure that updates do not negatively impact the existing features of the software.

Highlights

Introduction to various testing types relevant to competitive exams, college, university exams, and interviews.

Categorization of testing types based on four levels derived from the SDLC model.

Level one testing is unit testing, conducted during the development phase focusing on the smallest software elements.

Explanation of white box and black box testing approaches, emphasizing they are not types but methods of test case design.

Integration testing as level two, combining small units to check compatibility and proper integration.

Four types of integration testing: Bang-Bang, Top-Down, Bottom-Up, and Mixed.

System testing as level three, testing the entire software or system after individual module testing.

System testing categories based on who performs the testing: Alpha, Beta, and Acceptance.

Alpha testing by the development team, Beta by friendly customers, and Acceptance by end-users.

Introduction to non-functional testing, which checks system performance parameters rather than functionality.

Types of non-functional testing including Volume, Load, Stress, Security, Configuration, and Compatibility.

Regression testing as level four, conducted during the maintenance phase to ensure upgrades do not affect existing features.

The importance of taking notes on the presented testing types for quick reference.

The uniqueness of the video's categorization of testing types not commonly found elsewhere.

The practical application of testing types in real-world scenarios, such as the car manufacturing analogy.

The significance of subscribers and sharing the video for the channel's growth.

The call to action for viewers to like, subscribe, and share the video from multiple devices.

A reminder that the video provides a comprehensive overview of testing types for last-minute exam preparation.

Transcripts

play00:00

Dear Students, Welcome to Gate Smashers.

play00:02

In this video,

play00:03

I am going to explain various testing types

play00:05

And guys, these types,

play00:07

not only in your competitive exam,

play00:08

even in your College

play00:09

or University Exam or in interviews,

play00:11

Ask you anywhere.

play00:12

Each and every point

play00:14

will be completed in this video.

play00:15

And especially, if you are watching

play00:17

this video at the last moment,

play00:19

then the whole story of the testing

play00:21

will be clear to you from this video.

play00:23

And in this video, whatever points,

play00:25

I am telling, take note of them.

play00:27

Its reason is,

play00:28

Because this type of categorization in a video,

play00:31

you will not find it anywhere.

play00:33

So I am telling you all the small points

play00:35

that will help you.

play00:38

So guys, immediately like the video

play00:40

and subscribe to the channel,

play00:41

if you haven't done it yet.

play00:42

And even if you do it, do it even from

play00:44

the other device and also share it.

play00:46

Because subscribers are very important.

play00:48

So let's get started.

play00:49

Here, all the types that I have written here

play00:52

Let me tell you first.

play00:54

I have categorized it based on level.

play00:57

So whenever you get asked

play00:58

what is the type of testing,

play01:01

What is the category of testing, etc?

play01:03

So you have to remember simply in this way.

play01:05

That we have four levels.

play01:07

We categorize the types of

play01:10

testing based on four levels

play01:12

Now, what does this level mean?

play01:14

You can say that level one

play01:15

or the lowest level is unit testing.

play01:17

Integration in Level Two.

play01:19

System in level three.

play01:20

Regression in level four.

play01:22

Where did these levels come from now?

play01:24

These levels actually,

play01:25

the SDLC model, we have done

play01:28

In that model of SDLC

play01:30

We have the phase of coding

play01:32

and development,

play01:33

in which coding & development is taking place.

play01:35

Unit testing is being done in that phase,

play01:38

so first will be this.

play01:39

After that, in the proper phase of testing,

play01:42

in that, there will be integration testing

play01:44

as well as system testing.

play01:45

& after that the last phase is maintenance,

play01:49

In that, there will be regression.

play01:51

So these points are very important,

play01:53

note them down first.

play01:55

So first of all, let's go to unit testing.

play01:57

So when are we doing unit testing?

play01:59

When it is in the development phase,

play02:01

it is in the coding phase.

play02:02

So what is the meaning of this unit?

play02:05

That, it is a very small unit,

play02:06

very small module.

play02:08

You can call a module, a function

play02:10

or a code of the program

play02:11

as a unit.

play02:13

you say the unit is the smallest

play02:15

element of the software.

play02:16

So when you are testing each unit

play02:18

during the development phase.

play02:20

That will become the unit testing.

play02:22

Here I will tell you about another category.

play02:24

Many times, you will find it

play02:25

in many places in this way.

play02:27

Beyond this, there are two categories,

play02:29

White Box Testing and Black Box Testing.

play02:32

But guys, those are not its types.

play02:35

It's an approach to designing a test case.

play02:39

How do we design the test cases?

play02:41

One way is a black box

play02:42

and another way is a white box.

play02:44

So in the black box,

play02:45

without knowing the internal structure.

play02:47

We will just give input.

play02:49

And we'll check the output.

play02:50

Means let's say, I have a car.

play02:52

Now in that car,

play02:53

I just simply drive the car and that's it.

play02:56

I do not focus on the engine,

play02:58

tires, and internal structure.

play03:00

But in the white box,

play03:01

We design the test cases

play03:04

based on the internal structure and coding.

play03:07

Although, we will see it in detail.

play03:08

I'm just giving you an overview.

play03:10

Then comes, Integration Testing.

play03:13

The integration testing is done

play03:14

in the proper testing phase.

play03:16

Integration is known from the name itself,

play03:18

that unit was small units,

play03:20

when we combine those units,

play03:22

it becomes integration testing.

play03:24

Now it may come to your mind that sir,

play03:27

when we tested the individual units,

play03:29

then why are we testing them again

play03:32

by combining two units?

play03:33

When you test both of them separately.

play03:35

So brother, here when we compared

play03:37

both of them then we added both of them.

play03:39

This means when we integrate unit 1 & unit 2.

play03:42

After integrating,

play03:44

does it properly integrated?

play03:46

Or you can say when you integrate

play03:48

module one & module two,

play03:50

Are they compatible with each other?

play03:52

You'll also have to check this thing.

play03:54

That's in the integration testing.

play03:55

And it has four types.

play03:57

Bang-Bang, Top-Down, Bottom-Up, and Mixed

play04:00

Then we have system testing.

play04:03

This means, I tested the small units,

play04:05

then combined them and tested the modules.

play04:07

But i didn't test the entire system yet.

play04:11

when your software has been created.

play04:13

Now you are testing the entire

play04:15

software or entire system.

play04:17

I mean to say that, let's say

play04:18

if we talk about the car,

play04:19

first you have checked the engine,

play04:21

You have checked the tires,

play04:22

and you have checked the excel.

play04:23

You have checked its body parts,

play04:25

which means you have checked all these things.

play04:26

And then you are integrating them,

play04:27

you have set up the engine

play04:28

Then checked it. You put tires,

play04:29

wheel balancing, you did all this.

play04:31

Now before launching the car in the market,

play04:33

the car has been completed,

play04:35

the paint, interiors, etc. have been done

play04:36

Now you have to test it properly.

play04:39

If you bring it on the road,

play04:40

you will test it on the road.

play04:42

You will test it with different drivers

play04:44

and with different scenarios.

play04:46

That comes in the system testing.

play04:48

There are two categories in it.

play04:49

it is very important.

play04:51

The first categorization is

play04:52

Based on.

play04:53

Who is doing the testing?

play04:55

Who is doing the testing?

play04:56

There are three categories in it.

play04:58

or you can say, it has three types.

play04:59

Alpha, Beta & Acceptance

play05:01

Alpha is the development team

play05:03

that made that car or software.

play05:05

If you are taking it from the car's point of view,

play05:07

then you will easily remember it.

play05:09

So the person who made that car is

play05:10

actually testing the entire car itself.

play05:12

Beta, friendly customers will check,

play05:14

which means that like, Toyota made a car.

play05:16

So, for example, their friendly customers

play05:19

Let's say Toyota has a good

play05:21

relationship with Ford, just for example.

play05:23

So they gave it to the Ford people

play05:24

that brother, use this car once and see.

play05:26

Whatever lacking is there, tell us.

play05:28

Just for example, I am telling you.

play05:30

Then acceptance, means,

play05:32

now giving that product in the hands of users.

play05:34

Give it to the hand of the customer.

play05:36

Now the customer will check it.

play05:37

& then decide,

play05:38

whether should I accept it or not.

play05:40

So you remember this basic story.

play05:43

Then comes to the non-functional,

play05:45

All these are the functional testing.

play05:48

This means to function. Function means,

play05:49

how the system is actually working.

play05:51

Here, we are checking the part in it.

play05:54

But the performance.

play05:56

Or non-functional testing,

play05:57

that too is a different category of system testing.

play06:00

What do we have in this category?

play06:02

Volume, Load, Stress, Security,

play06:04

Configuration Compatibility.

play06:05

This means we are not checking it working.

play06:08

You can say, We are checking its

play06:11

non-functional parameters,

play06:12

such as, launched the website.

play06:14

Now after launching the website.

play06:15

Like I gave it that

play06:19

if 1,00,000 people are using it once

play06:20

Then what will happen?

play06:22

I gave extra load on it,

play06:23

I put stress on it.

play06:25

I increased the volume.

play06:26

In this way when I use functioning,

play06:29

What will be my response time?

play06:31

If my website crashes,

play06:33

at what time can I recover it?

play06:36

What is the security feature?

play06:37

It is not that your data is being hacked.

play06:39

So how are they doing the installation?

play06:41

Are there any bugs at the time of installation, etc?

play06:43

So all these non-functional points

play06:45

come under this testing.

play06:48

That is called performance testing.

play06:49

Or comes under non-functional testing.

play06:51

The rest comes under functional testing.

play06:53

Finally, we have the last level you can say.

play06:57

That's the regression testing

play06:59

which we do in the maintenance phase,

play07:00

means you made a product,

play07:02

For example, the customer accepts it.

play07:04

The customer is using that project.

play07:06

Now, after using that project,

play07:08

Will it continue working as it is for 10 years?

play07:10

No, now you need upgradation regularly.

play07:14

You feel like you want to bring

play07:15

this feature a little bit new,

play07:17

as the updation comes, right?

play07:18

On your mobile, web application,

play07:20

you regularly get some updates,

play07:23

especially in android.

play07:24

So it's telling for the upgradation,

play07:27

So you upgraded the system.

play07:29

After upgrading, It is not that

play07:32

the old features will stop working.

play07:34

So this upgradation,

play07:35

Whether it is useful or not.

play07:37

Will it work properly?

play07:38

That we check in regression testing.

play07:41

We check by seeding artificial errors.

play07:44

So whatever points I've told you,

play07:46

These are the superficial points

play07:48

which will help you. At least,

play07:50

you got to know how do we

play07:51

categorize all types of testing.

play07:54

Otherwise, it is not known.

play07:55

Some people say it's a black box & white box.

play07:57

Brother, that is the test design case.

play08:00

Here, The different cases we create to design the test,

play08:03

what way do we do?

play08:04

We use it here. So only in the unit,

play08:06

you can use it in other places too.

play08:08

It is a different thing.

play08:10

But the types of testing,

play08:12

that we do based on level.

play08:13

When are we doing it?

play08:15

Doing it in coding & testing

play08:16

This is done in the coding phases.

play08:18

These two are done in the testing phase.

play08:19

This is in the maintenance phase.

play08:20

So just remember these points.

play08:21

These points are more than sufficient.

play08:23

Thank you.

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Software TestingUnit TestingIntegration TestingSystem TestingRegression TestingSDLC ModelTest ApproachesWhite BoxBlack BoxPerformance TestingQuality Assurance