Software Testing Tutorial #21 - What is Non Functional Testing

Software Testing Mentor
18 Nov 202019:02

Summary

TLDRThis tutorial explains the fundamentals of non-functional testing, essential for both interviews and practical projects. The video covers the differences between functional and non-functional testing, focusing on key aspects like responsiveness, stability, and performance under varying loads. It also introduces important testing types, including load, stress, soak, volume, and spike testing, with real-world examples such as e-commerce websites. The tutorial helps viewers understand how to evaluate an application's performance, reliability, and robustness in different scenarios, ensuring users can explain these concepts effectively in interviews.

Takeaways

  • πŸ“ Non-functional testing is essential to understand for both project work and interviews, as it helps assess an application's performance, stability, and responsiveness.
  • βš™οΈ Functional testing checks the features and functionalities based on customer requirements, such as verifying a registration form's behavior.
  • ⚑ Non-functional testing evaluates how an application performs under various conditions, such as load, speed, and reliability, focusing on performance metrics like response time and stability.
  • ⏳ Response time is a critical part of non-functional testing, ensuring that the application loads and responds within an acceptable timeframe.
  • 🚦 Stability testing measures how well an application performs under heavy traffic or load, such as during high-demand events like sales on e-commerce platforms.
  • πŸ’‘ Performance indicators include response time, processing time, and the ability to handle concurrent users, which all help in determining the application's efficiency.
  • πŸ“Š Load testing ensures that the application can handle a specified number of concurrent users without performance degradation.
  • πŸ’₯ Stress testing pushes the application beyond its limits to determine the point where it breaks or fails under excessive load.
  • πŸ”„ Soak testing examines how an application performs over an extended period with sustained load, ensuring long-term stability.
  • πŸš€ Spike testing evaluates how an application reacts to sudden and sharp increases in user traffic, testing its resilience under sudden load changes.

Q & A

  • What is the primary focus of non-functional testing?

    -Non-functional testing focuses on testing the responsiveness, stability, and performance of an application under different conditions, such as high load or extended usage.

  • How does functional testing differ from non-functional testing?

    -Functional testing verifies if the software works according to its functional requirements, such as whether the registration form works correctly. Non-functional testing, on the other hand, evaluates the system's performance, like how fast the registration page loads.

  • Why is non-functional testing important in an application?

    -Non-functional testing ensures that the application performs well under different conditions, such as handling high user loads or extended operation times, making sure the application is reliable and responsive.

  • What are the common performance indicators in non-functional testing?

    -Common performance indicators include response time, processing time, and concurrent user volume, all of which help assess how the application performs under different conditions.

  • What is load testing and why is it performed?

    -Load testing verifies how the application performs under a specific load of users, ensuring that response times are within acceptable limits as defined by the customer.

  • How is stress testing different from load testing?

    -Stress testing involves pushing the application beyond its normal load limits to find the breaking point, whereas load testing checks if the application meets performance requirements under expected user load.

  • What is soak testing, and what is its purpose?

    -Soak testing involves running the application under a continuous load for an extended period to assess how it behaves over time, ensuring it remains stable under sustained usage.

  • What aspect of an application does volume testing focus on?

    -Volume testing examines how an application handles large volumes of data, particularly its database, to ensure the system remains functional as data size increases.

  • What is spike testing, and when is it used?

    -Spike testing is used to evaluate how an application reacts to sudden increases and decreases in user load, ensuring it can handle abrupt spikes in traffic without crashing.

  • What are the key benefits of non-functional testing?

    -Non-functional testing ensures that an application is reliable, performs well under different conditions, is scalable, and can handle high user loads without compromising response time or stability.

Outlines

00:00

πŸ“˜ Introduction to Non-Functional Testing

This paragraph introduces non-functional testing, emphasizing its importance in interviews and real-world projects. It explains that understanding non-functional testing helps in distinguishing between functional and non-functional aspects of testing in software. It also highlights that this tutorial will help individuals better understand these concepts, especially if they aim to explain them in interviews. The difference between functional testing, which checks if features meet customer requirements, and non-functional testing, which assesses performance like response time and stability, is introduced.

05:02

βš™οΈ Key Concepts: Responsiveness and Stability in Non-Functional Testing

This section provides a detailed comparison between functional and non-functional testing using an e-commerce website example. It explains how non-functional testing focuses on aspects like the application's responsiveness and stability under various conditions. The example illustrates how non-functional testing evaluates response times, such as how quickly a registration page loads or how long it takes to complete a process, highlighting the difference from functional tests, which only check if a feature works as expected.

10:04

πŸ”„ Responsiveness and Stability Testing

Here, the focus shifts to the testing of an application's responsiveness and stability, particularly under high load conditions, like during a festive sale on an e-commerce site. It explains how non-functional testing is crucial to ensuring that the application performs well under such circumstances. Key performance indicators such as response time, processing time, and concurrent user volume are introduced as essential factors for verifying the application's performance.

15:05

⏳ Performance Indicators in Non-Functional Testing

This paragraph expands on key performance indicators used in non-functional testing, including response time, processing time, and concurrent user volume. It provides examples of how slow response times during peak user activity can negatively impact user experience. This section also emphasizes the importance of measuring these indicators to ensure the reliability and robustness of an application during high traffic periods.

πŸ“Š Types of Non-Functional Testing

The types of non-functional testing are introduced here, including load testing, stress testing, soak testing, volume testing, and spike testing. These are explained as key methods for assessing performance. The section sets up the structure for a deeper dive into each type of test, outlining that these methods ensure the application meets both customer expectations and handles extreme conditions.

πŸ’‘ Load Testing Explained

Load testing is explained as the process of verifying an application’s performance when it is used by a large number of concurrent users, based on customer requirements. An example is given of using tools to simulate 5000 users accessing an e-commerce website to ensure response times are under 5 seconds. This helps verify if the application can handle the expected user load efficiently.

πŸ’₯ Stress Testing: Pushing the Limits

Stress testing is described as pushing the application beyond its normal load, gradually increasing the number of users until the application breaks. The goal is to identify the point at which the system crashes, such as when it exceeds 50,000 users. This method helps determine the maximum capacity the application can handle before failing.

⏱️ Soak Testing: Long-Term Load Testing

Soak testing is a form of load testing performed over an extended period. It checks how well an application performs when subjected to a continuous load for several hours or days. The example provided involves 5000 users accessing the system for five days, ensuring that the application can handle prolonged usage without performance degradation.

πŸ—ƒοΈ Volume Testing: Database Performance Under Load

Volume testing focuses on the application's database performance when it reaches maximum capacity. It ensures the system can still function effectively as the database fills up. For instance, when an e-commerce site's database reaches its size limit, volume testing assesses how the application behaves under such conditions to prevent crashes or slowdowns.

πŸ“ˆ Spike Testing: Sudden Load Increases

Spike testing examines how an application handles sudden increases and decreases in user load. Unlike load testing's gradual ramp-up, spike testing involves sharp fluctuations in user activity to simulate real-world scenarios, such as a flash sale. This testing evaluates how the application responds to sudden changes and ensures stability despite rapid spikes in usage.

🎯 Non-Functional Testing Summary

The tutorial concludes by summarizing the importance of non-functional testing in verifying an application's reliability and robustness. It highlights that understanding performance indicators and types of testing, such as load, stress, soak, volume, and spike testing, is crucial for both interviews and real-life projects. Non-functional testing ensures that applications perform efficiently under different conditions, safeguarding user experience and system stability.

Mindmap

Keywords

πŸ’‘Non-functional testing

Non-functional testing refers to the testing of software characteristics such as performance, reliability, and stability, rather than its specific functionalities. In the video, the speaker explains that non-functional testing helps evaluate how the system responds under certain conditions, such as load, stress, and performance.

πŸ’‘Functional testing

Functional testing involves testing the software's functional requirements, such as specific features and behaviors outlined by the client. In the video, an example of functional testing is the registration process on an e-commerce site, where the functionality of the registration form and user redirection to a dashboard are tested.

πŸ’‘Response time

Response time refers to how quickly a system reacts to a specific request or operation. In the video, the response time is emphasized as a key performance metric in non-functional testing, such as how long it takes for the registration page to load after clicking a 'Register' button.

πŸ’‘Stability

Stability measures the consistency of an application's performance, particularly under stress or high user loads. The speaker discusses stability in terms of how well an application continues to perform during peak periods, such as during holiday sales when traffic spikes on e-commerce sites.

πŸ’‘Load testing

Load testing is a type of non-functional testing that evaluates how an application performs under a specified load, such as handling a large number of users simultaneously. In the video, the speaker explains load testing with an example of 5000 users accessing an e-commerce site, ensuring the response time remains acceptable.

πŸ’‘Stress testing

Stress testing involves pushing an application beyond its expected load limits to determine at what point the system will fail. In the video, stress testing is described as gradually increasing the number of users beyond the limit (e.g., 50,000 users) to find the breaking point of the application.

πŸ’‘Soak testing

Soak testing, also known as endurance testing, is performed to evaluate the performance of an application under a sustained load over a long period. The speaker explains how a website's performance is tested over several days with continuous load to see how it behaves over time.

πŸ’‘Volume testing

Volume testing assesses the system’s ability to handle large amounts of data in its database. The video explains that this type of testing ensures that even as the database grows or becomes full, the application continues to function without performance degradation.

πŸ’‘Spike testing

Spike testing focuses on how an application performs when it experiences a sudden surge in traffic or usage. In the video, spike testing is described as testing how a system reacts to rapid increases and decreases in the number of users accessing a website, which could mimic real-world scenarios like flash sales.

πŸ’‘Concurrent user volume

Concurrent user volume refers to the number of users actively using a system at the same time. In non-functional testing, this is important for determining how well the system can handle multiple users simultaneously. The speaker discusses testing scenarios where thousands of users access the site concurrently to measure system performance.

Highlights

Introduction to non-functional testing and its importance in interviews and projects.

Difference between functional and non-functional testing: functional testing tests specific features, while non-functional testing assesses responsiveness and stability.

Explanation of how non-functional testing focuses on the application's performance, such as response time, under specific conditions like load.

Responsiveness and stability are key factors in non-functional testing, especially during high traffic periods (e.g., festive sales on e-commerce websites).

Performance indicators like response time, processing time, and concurrent user volume are crucial in non-functional testing.

Definition and purpose of load testing: verifying if the application performs as expected under a specified number of concurrent users.

Stress testing explained: pushing the system beyond its normal load to determine the breaking point where the application fails.

Soak testing simulates continuous load over an extended period (e.g., days) to ensure the application handles sustained pressure.

Volume testing targets database capacity, assessing how well the application performs as the database fills up.

Spike testing involves sudden increases and decreases in user load to verify how well the system handles these fluctuations.

Non-functional testing verifies the reliability, robustness, and performance of applications under various conditions.

Understanding different non-functional testing methods helps in both interview scenarios and practical project applications.

Tools are used to simulate thousands of concurrent users during load and stress testing.

Explanation of non-functional testing types: load, stress, soak, volume, and spike testing, with examples of how each type is used in real-world scenarios.

Non-functional testing ensures the system can handle high load conditions without crashing or experiencing long response times.

Transcripts

play00:00

hello everyone welcome again in the

play00:02

software testing tutorial

play00:04

we are going to learn non-functional

play00:06

testing

play00:07

now understanding non-functional testing

play00:09

is really important in terms of

play00:11

interview or even if you are working in

play00:14

any project you need to have a better

play00:16

understanding of

play00:17

what non-functional testing is what are

play00:20

types of non-functional testing

play00:22

and why do you need to do non-functional

play00:24

testing right so because

play00:26

when you understand all the concepts

play00:28

then within your project you will be

play00:30

able to easily

play00:31

understand what all functional and

play00:33

non-functional testing is being done

play00:36

uh when somebody asks you about a

play00:38

different terms of non-functional

play00:39

testing and what exactly

play00:41

that means then you will be able to

play00:43

explain easily and understand

play00:44

easily the conversation and discussions

play00:46

right and if you are

play00:48

trying to get into the non-functional

play00:49

testing space

play00:51

then that this tutorial will help you a

play00:53

lot to understand

play00:54

those concepts so that you can explain

play00:57

those in the

play00:58

interviews okay so let's uh start the

play01:00

non-functional testing

play01:02

prior to that i'll cover briefly about

play01:04

the functional testing so in the

play01:06

functional testing in the previous

play01:07

tutorial we have understood

play01:09

that functional testing is testing the

play01:11

functional aspects of

play01:13

the application or the software so what

play01:15

are the functional aspects so functional

play01:17

aspects

play01:17

are the requirements that you get from

play01:20

the customer okay say i'll take an

play01:23

example of e-commerce website again so

play01:25

e-commerce website

play01:26

registration functionality registration

play01:28

functionality is

play01:29

the feature or the requirement given by

play01:31

the customer to build

play01:32

that registration functionality so when

play01:35

you are testing the registration

play01:36

functionality you are trying to launch

play01:38

the registration form provide the

play01:40

details and click on register link

play01:42

that testing is the functional testing

play01:45

now when

play01:45

we talk about the non-functional testing

play01:47

non-functional testing

play01:49

tests the responsiveness and stability

play01:52

of

play01:52

the application right so when you are

play01:54

testing about

play01:55

uh how the application uh is responding

play01:58

or how stable the application is

play02:01

then those aspects are the

play02:03

non-functional aspects of

play02:04

the application right so say for example

play02:08

this is the registration page for

play02:11

example of an e-commerce website and

play02:13

this is the link register link right

play02:16

when i click on register link then it

play02:19

will open

play02:19

at the register form wherein i have all

play02:22

the details of first name last name all

play02:24

the details and then

play02:25

i have to click on register button and

play02:28

once i click on register button

play02:30

my user details whatever details i have

play02:33

provided

play02:33

i should be registered and should be

play02:36

redirected to the

play02:37

dashboard page right so this is

play02:39

something which is

play02:41

functional aspect now the non-functional

play02:43

aspect of the same operation would be

play02:45

when i click on register button

play02:48

or register link how much time or what

play02:51

is the response time

play02:53

to open the registration form right so

play02:56

if

play02:56

i am looking for this particular

play02:58

response time say for example it is

play03:00

taking you know two seconds

play03:02

um then if i'm verifying this particular

play03:05

aspect

play03:06

the response time when i click on

play03:08

register link

play03:09

to open the register registration form

play03:12

then

play03:12

this is known as non-functional testing

play03:14

if i'm interested into

play03:16

the response time of particular

play03:18

operation then that is non-functional

play03:20

aspect

play03:21

of the testing similarly once i click on

play03:23

register

play03:24

button here after filling out all the

play03:26

details

play03:28

how much response time it took to

play03:31

basically redirect me to the

play03:34

dashboard page so that is the response

play03:37

time i am verifying so this type of

play03:39

testing that you do

play03:40

to verify the response to verify how

play03:43

stable

play03:43

application is that is non-functional

play03:46

testing right so i'll cover

play03:48

this non-functional testing a lot more

play03:49

data but this is brief

play03:51

um you know introduction what exactly

play03:53

non-functional aspect is

play03:55

there are many more non-functional

play03:56

aspect that you'll be verifying in the

play03:58

non-functional testing

play04:00

right so responsiveness or response time

play04:02

is one

play04:03

factor of it so that is

play04:06

um the brief now let me

play04:10

um so the first thing we check is the

play04:14

responsiveness

play04:15

so i'll write responsiveness

play04:18

of the application and then second

play04:21

is the stability right so when we say

play04:24

responsiveness

play04:25

how the application is responding

play04:29

on a particular condition or the load so

play04:32

for example

play04:33

in the festive season e-commerce website

play04:36

have

play04:36

lots and lots of load right so there

play04:39

will be lot of

play04:40

people who will be buying the items from

play04:43

amazon from ebay so during the festive

play04:46

season

play04:47

there will be thousands and thousands of

play04:49

users

play04:50

concurrent users at one particular time

play04:53

to buy the item or

play04:54

say for example there is a sale declared

play04:57

or

play04:57

there is a sale on a particular you know

play04:59

day then on that particular day there

play05:02

will be

play05:02

a huge amount of users or spike of users

play05:05

on the website and then

play05:09

in that particular condition how the

play05:11

application is responding so when you

play05:13

are verifying the responsiveness

play05:15

then that is the non-functional aspect

play05:18

and that is non-functional testing

play05:20

whether your

play05:21

application is stable in those heavy

play05:24

load condition

play05:26

if you are verifying the responsiveness

play05:28

and stability this is

play05:29

non-functional testing in the

play05:31

non-functional testing what are

play05:33

uh some of the you know performance

play05:34

indicator basically so when you do

play05:36

non-functional testing you verify

play05:39

certain things so there are many

play05:40

performance indicator

play05:42

but i'll cover the the most common one

play05:44

so the first one is basically the

play05:46

response time right

play05:47

so you verify the response time

play05:51

so based on say for example 10 000 users

play05:54

our concurrent users are accessing

play05:58

uh ebay website at one particular time

play06:02

how is the response time for the user

play06:05

that is trying to access at

play06:07

that particular peak time right so

play06:09

whether the website is loading within

play06:12

five

play06:12

seconds or it is taking you know one

play06:14

minute

play06:16

okay so if this is not acceptable if

play06:18

this is you know

play06:19

taking a lot of time there will be a lot

play06:22

of users frustrated and they'll leave

play06:23

the site and

play06:24

they won't access it right so this is

play06:27

what basically the response time is all

play06:29

about so

play06:30

when uh you know during a peak load of

play06:33

time

play06:34

peak load what is the response time and

play06:36

normally what is the response time so

play06:38

if you are verifying the response time

play06:41

so that is one of the factor in

play06:43

non-functional testing or the

play06:44

performance indicator

play06:46

the second one is the processing time

play06:48

right so processing

play06:50

time so when we say processing time how

play06:52

much time it takes to process say for

play06:54

example

play06:55

a customer came to the website and

play06:58

they added the order they added items in

play07:01

the order and

play07:02

submitted the order made the payment so

play07:04

after making the payment

play07:05

how much time it took to process that

play07:08

whole

play07:09

payment and send the response back to

play07:11

the customer

play07:12

so that is the process time or

play07:14

processing time um

play07:16

so this is one of the second indicator

play07:18

that you mostly check into the

play07:20

non-functional testing or the

play07:21

performance testing

play07:22

uh the third one is uh the concurrent

play07:25

user volume

play07:26

right so concurrent

play07:30

user volume okay so concurrent user

play07:34

volume we've already touched base on it

play07:36

so

play07:36

say for example there is a sale going on

play07:38

there will be thousands and thousands of

play07:39

content user

play07:40

trying to buy the on sale items on the

play07:43

e-commerce website

play07:44

so you verify the responsiveness and

play07:47

stability of the application

play07:50

during you know concurrent user volume

play07:52

or when there are lots and lots of user

play07:54

at one particular time so

play07:58

these are some of the performance

play07:59

indicator and in the non-functional

play08:02

testing of performance testing

play08:03

you basically verify how reliable your

play08:06

application is how robust it is

play08:08

so all these are some of the factors you

play08:10

consider in the non-functional testing

play08:12

now let me cover what our main type of

play08:15

non-function testing of performance

play08:16

testing

play08:17

that we do so performance testing is one

play08:18

type of non-function testing

play08:20

and within performance testing there are

play08:21

many subtypes right so

play08:24

uh the main subtypes

play08:27

will cover in this particular tutorial

play08:29

and then i'll also cover

play08:31

those subtypes with example in upcoming

play08:33

tutorial

play08:34

right so let me remove this

play08:38

and the first non-functional testing or

play08:42

um you know the performance testing i

play08:43

want to cover is load testing

play08:46

right so load testing this is very

play08:48

common

play08:49

um you would have heard so let me write

play08:53

all of those so load

play08:54

and then stress testing so these are the

play08:58

common types of non-functional testing

play09:00

or the performance testing that you will

play09:01

hear

play09:02

and you need to understand all these in

play09:04

detail right so that you can explain to

play09:06

the interview

play09:08

the third one is soak testing

play09:11

so soak testing

play09:14

fourth one that will explain is volume

play09:18

testing and fifth one

play09:22

is spike testing

play09:26

okay now let's start with

play09:30

load testing so say for example you have

play09:33

the e-commerce website okay and in this

play09:37

particular application

play09:38

your customer has given you the

play09:40

non-functional requirement

play09:42

say i want this particular application

play09:45

to work perfectly fine if

play09:49

up to 5000 concurrent users right so

play09:52

five

play09:52

up to five thousand concurrent users the

play09:55

response time

play09:56

for this particular website should be

play09:58

less than

play10:00

you know five seconds okay

play10:04

so in this particular case what

play10:08

you do in load testing is basically you

play10:10

verify

play10:11

that when the 5000 concurrent users are

play10:16

accessing this particular application

play10:19

the response time that you are getting

play10:21

should be less than

play10:22

five seconds so when there are five

play10:24

thousand concrete user accessing

play10:26

the particular website so uh in the

play10:29

manual scenario what you can

play10:30

think of is say for example you 5000

play10:33

people

play10:33

accessing ebay.com right or any

play10:36

application that you are trying to build

play10:38

and when you are the 5000 user

play10:42

um and you for you the response time

play10:45

should not be more than five seconds

play10:47

but in the actual scenario in the real

play10:49

testing it is not possible to have the

play10:51

5000 confident physical user trying to

play10:53

hit

play10:54

the server it is only possible in the

play10:56

production so in the testing scenarios

play10:58

what is done is

play10:59

the usage of tool is there so with the

play11:02

tool

play11:03

uh the 5000 concurrent threads are being

play11:06

you know created and this um

play11:09

you know simulates the user's 5000 users

play11:13

and the response

play11:14

time is checked whether it is less than

play11:16

5 second

play11:17

right so this is what

play11:21

your load test is all about so testing

play11:24

the performance of the application on a

play11:26

particular load that is given by the

play11:28

user

play11:29

so if your application is performing or

play11:32

the response time

play11:33

is within the accepted limit as provided

play11:35

by the customer

play11:37

then your load testing is fine so this

play11:38

is what load testing

play11:40

is now when we talk about the stress

play11:44

test

play11:44

okay so now load test is verifying that

play11:48

the response time is within the

play11:51

expected limit uh when there are 5000 so

play11:54

for example concurrent users which is

play11:55

the requirement from the customer

play11:57

in terms of stress testing what we do is

play11:59

we verify

play12:01

the we stress the system

play12:04

or we increase the number of users and

play12:07

verify

play12:08

at which particular point of time the

play12:11

application will break okay so for

play12:13

example

play12:14

uh the requirement is 5000 users and the

play12:17

response time should be less than five

play12:19

second

play12:20

now this is what you will verify in load

play12:22

test but in stress test what you will do

play12:24

is you

play12:25

increase the users to 6000 users and

play12:28

then say for example once you increase

play12:29

it to 6000 users

play12:30

the response time was say 6 seconds

play12:34

right then you will increase it to 7000

play12:37

response was eight seconds

play12:39

so you will keep doing it until the

play12:42

application

play12:42

breaks okay so you you just keep making

play12:46

note of what is the response time and

play12:49

what is the point when the application

play12:52

crashes crashes

play12:53

okay so for example here you have now

play12:55

increased to

play12:56

you know 50 000 users concrete users

play13:00

trying to access the particular website

play13:02

and the response time is one 1.5

play13:06

minute okay so this is very high

play13:09

response time but you keep

play13:10

increasing the load okay so you keep

play13:13

increasing the user

play13:14

and say for example at 5 52 000

play13:18

users you know the website crash so this

play13:21

is the point that is basically the

play13:23

crashing point

play13:25

and this is what you do in the stress

play13:27

testing

play13:28

so in the load testing you verify as per

play13:31

the customer's requirement the response

play13:33

time should be within the limit but in

play13:35

the stress testing you verify

play13:37

how much load a particular application

play13:40

is going to handle when you increase the

play13:42

load

play13:42

and up to what point the application is

play13:45

going to

play13:46

break all right so this is what you do

play13:48

in the

play13:49

stress test now coming back

play13:52

to the soap test

play13:56

right so in the soak test what you do is

play13:59

so as we have done in the load test in

play14:01

the soap test

play14:03

you run the load test up to

play14:06

in in the longer duration or up to

play14:09

extended period of time

play14:10

right so for example the requirement was

play14:12

5000 users concurrent users

play14:15

response time should be less than five

play14:17

seconds okay

play14:18

now what you do is uh soap test is

play14:21

basically

play14:22

you create five thousand concurrent

play14:25

users

play14:26

accessing that particular website and

play14:28

that test

play14:29

runs for couple of hours or a couple of

play14:32

days based on requirement

play14:33

okay so say for example uh this test

play14:36

needs to run

play14:38

for five days okay so

play14:42

first day and then second third

play14:45

fourth and fifth okay so you create

play14:48

the load here of 5000 users

play14:52

okay and then that

play14:55

load continues for

play14:58

five days and you test that the

play15:01

different

play15:01

operations with that load for

play15:04

up to five days when you do that type of

play15:07

testing it is known as soap testing so

play15:09

basically you are

play15:10

uh you know running the test for

play15:13

extended period of time on the peak load

play15:16

okay so that is what so testing is all

play15:18

about

play15:20

then if we talk about the volume testing

play15:23

now volume testing is

play15:24

mostly it's it's relevant for the

play15:27

testing of the database of the

play15:28

application

play15:29

right so here we are more concerned load

play15:32

stress and so we are concerned about the

play15:34

users

play15:35

concurrent users accessing the website

play15:37

or the portal

play15:38

but when we talk about the volume

play15:40

testing it is about the

play15:42

size of the database or when you

play15:45

input a lot of data into the database

play15:48

or you fill the data

play15:51

completely or reduce the size of the

play15:55

database

play15:56

right uh not not reducing the size

play15:58

basically say for example

play15:59

your database size is of you know 5gb

play16:02

and for that 5gb database you fill it up

play16:07

and then verify how the application

play16:09

behaves

play16:10

then that particular you know type of

play16:12

testing or the non-functional testing is

play16:14

known as volume testing so this is

play16:16

important because

play16:17

say for example you have the e-commerce

play16:20

website and when you start

play16:21

getting lots and lots of order your

play16:23

database or the

play16:24

or database will fill right so once your

play16:27

database

play16:28

is full or near full how the application

play16:32

behaves or what is the point when the

play16:34

when the application will crash so that

play16:37

sort of testing is also important

play16:39

say for example the the space is not

play16:41

left the

play16:42

database is full then how the

play16:44

application will behave

play16:45

right so that is the volume testing now

play16:48

spike testing is another

play16:50

type of testing uh non-functional

play16:52

testing what

play16:53

you do in this pipe testing is uh in the

play16:56

load testing we have

play16:58

the load of 5000 users so basically how

play17:01

we create

play17:02

the load test is so there's a ramp up

play17:05

and then as soon as so in the ramp of

play17:07

phase the number of users or the threads

play17:10

are increased and up to 5000 users

play17:13

with the tool and then you know you have

play17:16

this 5 000 users

play17:18

you do the test and then you ramp down

play17:20

right

play17:21

now in the spike test what happens is

play17:26

there are sudden spikes of users and

play17:28

then sudden

play17:29

you know reduction of the user so what

play17:31

happens is suddenly there will be

play17:33

like 5000 users and then there will be

play17:36

you know like no user

play17:37

or reduced to the half and then sudden

play17:39

increase to the user to the 10 000

play17:41

and then reduction to zero and again so

play17:44

there is a spike

play17:45

of users on the application and then

play17:48

reduction of the users

play17:49

from the application and then verify how

play17:52

the application is performing

play17:55

in that particular scenario so that is

play17:57

known as pi

play17:58

testing so these are some of the

play18:01

non-functional testing there are many

play18:02

more

play18:03

non-functional aspects in non-functional

play18:05

testing but

play18:06

in terms of interview these are the five

play18:09

key

play18:09

uh you know non-functional testing that

play18:11

should be good enough for you to explain

play18:13

what exactly non-functional testing is

play18:16

and

play18:17

why non-functional testing is required

play18:19

in any application so non-functional

play18:21

testing is required to

play18:23

you know verify the reliability how

play18:26

robust the application is right so as we

play18:28

have seen

play18:29

basically what will be the response time

play18:30

whether whether the application is

play18:32

available

play18:33

on the high load or high volume or if

play18:36

the database is

play18:37

full or near full so these are some of

play18:39

the scenarios that you can explain

play18:41

in your interview when somebody asks you

play18:44

about

play18:45

what is non-functional testing and what

play18:47

are types of non-functional testing that

play18:49

are commonly

play18:50

uh used and you will hear very commonly

play18:53

in your project

play18:54

okay so that's all for this tutorial

play18:56

hope it was helpful

play18:57

please do share and subscribe and thank

play18:59

you very much for watching

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

5.0 / 5 (0 votes)

Related Tags
Non-functional testingLoad testingStress testingPerformance testingSoftware testingTest automationConcurrent usersSystem stabilityInterview prepProject management