Software Testing Tutorial #16 - Types of Software Testing
Summary
TLDRThis tutorial discusses the different types of software testing, distinguishing between functional and non-functional testing. Functional testing focuses on verifying specific functionalities, like registration or adding items to a cart, while non-functional testing assesses aspects such as performance and response time. The video explains various types of functional tests, including unit, integration, and regression testing, as well as non-functional tests like load and security testing. The goal is to help viewers understand the broad categories and essential types of testing used in software projects.
Takeaways
- 🧑💻 Software testing is categorized into levels and types, and the two concepts are different.
- 🔍 There are many types of software testing, which can generally be grouped into functional and non-functional categories.
- 💡 Functional testing focuses on verifying the functionality of the software according to customer requirements, such as registration, adding items to the cart, or checkout.
- ⏱️ Non-functional testing, like performance testing, assesses aspects like the response time of a system, such as how long it takes to register a user on an e-commerce website.
- 🛠️ Examples of functional testing include unit testing, integration testing, system testing, and acceptance testing.
- 🔥 Non-functional testing includes performance testing, load testing, stress testing, security testing, and more.
- 🛡️ Security testing ensures that the software is protected from hackers and data breaches.
- ⚙️ Functional tests validate the process (e.g., registering successfully), while non-functional tests evaluate how efficiently the process occurs (e.g., time taken for registration).
- 📊 Load, stress, volume, and scalability testing fall under the broader umbrella of performance testing.
- 📚 While there are many types of testing, the most common ones are typically covered in software testing projects, and it's useful to research the less common types for interview preparation.
Q & A
What are the four levels of software testing mentioned in the previous tutorial?
-The four levels of software testing mentioned in the previous tutorial are not explicitly stated in the provided script, but they typically include Unit, Integration, System, and Acceptance testing.
How does the script differentiate between levels of testing and types of testing?
-The script differentiates between levels of testing and types of testing by stating that levels of testing refer to the hierarchy or stages at which testing is performed (e.g., unit, integration, system, acceptance), whereas types of testing refer to the various methods or categories of testing performed within a project, such as functional or non-functional testing.
What is the primary focus of functional testing?
-Functional testing focuses on the testing of the functionality of a particular software. It involves verifying that the software meets the functional requirements provided by the customer, such as the registration functionality on an e-commerce website.
Can you provide an example of a functional requirement for an e-commerce website?
-An example of a functional requirement for an e-commerce website is the ability for users to register on the site, which involves providing details like first name, last name, email, and other necessary information, and then clicking on a 'register' button to complete the registration process.
What is non-functional testing, and how does it differ from functional testing?
-Non-functional testing evaluates the non-functional aspects of a software application, such as performance, security, and usability. It differs from functional testing in that it is concerned with how the software performs under various conditions rather than whether it performs the correct functions.
How is response time related to non-functional testing?
-Response time is related to non-functional testing as it measures how quickly the system responds to user actions, such as clicking a 'register' button. Non-functional testing includes evaluating the system's performance, which can involve checking response times to ensure they meet the expected standards.
What are some examples of non-functional testing types mentioned in the script?
-Some examples of non-functional testing types mentioned in the script include performance testing, load testing, stress testing, volume testing, scalability testing, recovery testing, and security testing.
Why is security testing important in software testing?
-Security testing is important in software testing to ensure that the software is secure from potential hacking attempts and unauthorized access, thereby protecting user data and maintaining the integrity of the application.
What is the purpose of regression testing, and will it be covered in a separate tutorial?
-Regression testing is the process of verifying that software modifications have not adversely affected existing features. The script indicates that regression testing will be covered in a complete separate tutorial.
What is the difference between functional and non-functional aspects of testing the registration feature on an e-commerce website?
-The functional aspect of testing the registration feature would involve ensuring that the registration process works correctly by providing the necessary details and clicking the 'register' button. The non-functional aspect would involve testing how the website performs during registration, such as measuring the response time it takes to register and redirect the user to the dashboard.
What is the significance of the script's statement that some types of testing are more interview-focused rather than commonly used in projects?
-The script suggests that while there are many types of testing that can be found through a Google search, not all of them are commonly used in actual software testing projects. Some types of testing are more likely to be encountered in interviews as a way to assess a candidate's knowledge rather than being practical tools used regularly in the industry.
Outlines
👋 Introduction to Software Testing Types
The speaker introduces the topic of software testing types, differentiating it from testing levels. While testing levels are limited to four, testing types are numerous, with hundreds of possible types that can be categorized as functional or non-functional testing. The speaker explains that functional testing is based on the functionality required by the customer, such as user registration on an e-commerce site, while non-functional testing covers aspects like performance. The speaker emphasizes the importance of distinguishing between functional and non-functional categories when discussing testing types.
⚡ Functional vs Non-functional Testing Explained
This section elaborates on the distinction between functional and non-functional testing. Functional testing focuses on verifying specific functionalities, like a successful registration process on a website. Non-functional testing, on the other hand, looks at aspects like performance and response time. The example of registration is used to illustrate the difference, highlighting how functional testing ensures the user can register, while non-functional testing checks if the process happens within an acceptable time frame, such as less than 30 seconds. This distinction helps define the scope of each testing type.
Mindmap
Keywords
💡Functional Testing
💡Non-Functional Testing
💡Performance Testing
💡Unit Testing
💡Regression Testing
💡Smoke Testing
💡Sanity Testing
💡Security Testing
💡Usability Testing
💡Load Testing
Highlights
Introduction to types of software testing
Types of testing are different from levels of testing
Broad categorization of testing into functional and non-functional
Functional testing focuses on the functionality of software
Non-functional testing assesses aspects like performance and security
Example of functional testing: registration functionality on an e-commerce website
Example of non-functional testing: response time during registration
Functional testing types include unit, integration, system, and acceptance testing
Non-functional testing types include performance, load, stress, volume, scalability, recovery, compatibility, and security testing
Regression, sanity, smoke, and usability testing are also types of testing
The importance of understanding both functional and non-functional testing
The role of customer requirements in shaping functional testing
How to approach testing for an e-commerce website
The significance of response time in non-functional testing
Security testing as a crucial type of non-functional testing
The difference between types of testing used in interviews and those commonly used in projects
The tutorial series will cover the most important and commonly used types of testing
Encouragement to research and understand a wide range of testing types
Conclusion of the tutorial on types of software testing
Transcripts
hello everyone welcome again in the
software testing tutorial
we are going to learn types of software
testing
in the previous tutorial i have
explained about the levels of testing so
there are four levels of testing
and we have also understood about those
four levels of testing in detail
now when we talk about types of testing
it is different from the level so when
somebody asks you the
question about the levels of testing
then you have four
levels of testing as we have discussed
in the previous tutorials
and when somebody said ask the question
about types of testing there are
so many types of testing right so any
type of or any testing that you do
within the software
testing project can be categorized as
type of testing and if you try to browse
around and try to search on google
you'll find hundreds
you know almost hundred you know types
of testing different type of
testing um so let us first understand
the broader category of the type of
testing so if you see on my board here
uh i have categorized so in in the
broader sense the types
of testing can be categorized either
into the functional
or non-functional category and that is
why i have categorized these
you know types of testing into
functional and non-functional category
and in the functional category there are
some
testing types that i have noted down
here
and similarly in the non-functional
category i have noted down some of the
categories
uh some of the testing types now if you
talk about
the types of testing so these are not
the only type
of testing that are available out there
if you go ahead and
search google you'll find the types of
testing
and mostly you can categorize those
testing that you will find
into either functional or non-functional
category right
so when we talk about the type of
testing it is any
any testing that you that you'll perform
okay and
when we say functional testing it is
basically the testing of the
functionality
of a particular software right so when
whenever a customer um provides you the
requirement
they will basically provide the
functional requirements so for example
again taking the e-commerce website
customer will provide the requirements
so for example i want to have the
registration functionality right so
that's a functionality that needs to be
built
into the e-commerce website so
registration functionality
will be one so if i say registration
so that's one of the functionality right
and then say for example uh you know the
other functionality is
add items right add items
to card all right so these these are
same examples that i'm taking from the
previous tutorials
then um check out
all right so another functionality or
cancel order user should be having a
functionality to cancel the order
okay so these are some of the
functionalities or functional
requirement that
might be uh available or might be
required
for an e-commerce website if a customer
wants to build an e-commerce website
now when we talk about the
non-functional requirement or the
non-functional testing
the non-functional testing tests the
non-functional aspect say for example
how
the performance is now when we talk
about registration so
in terms of registration you launch the
e-commerce portal and
you will click on the register button
right so if say for example you have the
ecommerce webpage and here you will have
a link for the login and registration
that's
how usually you see the e-commerce
website you will click on the
registration link
and it will open the registration page
right
now on the registration page you will
have the name
uh you know you can first name last name
and then other details if they are
required and then you'll click on
register button and it should register
you successfully
so this is the functional testing that
you will do right so this is the
functional testing so
opening the browser and then providing
all the details and clicking on the
register button
will register you in the e-commerce
website
okay now when we talk about
non-functional aspect of this
registration say for example i'm trying
to register
and once i provide all the details and
click on registration a register button
if the response or the registration
takes
30 seconds to to register and redirect
me to the dashboard
that's not a good response right so
because
uh when when i provide all the details
and click on register button it is
taking a lot of time
now when you are testing that aspect or
basically the time aspect or how the
website is performing when a user
registers
that testing is the non-functional
testing right when you are testing the
response time
and there are many types of
non-functional testing which will
discuss briefly in this particular
tutorial
so this is the case with the
registration so when you are actually
registering
and just verifying that registration is
successful without worrying about
how much time of the response time you
it it took
when the user clicked on register button
and
he actually got redirected to the um you
know dashboard page
so you are not worried about the
response time
in the functional testing but in the
non-functional testing
what you will do is you will execute
this script and
you will also you will just look for the
response so once the user clicks on the
register button
you will capture the response time it
takes
to redirect to the user to the dashboard
page so that is the non-functional
aspect of this particular requirement
and this is the difference between the
functional and non-functional testing
now when we say types of other types of
testing so now these are the testing
types that are the functional testing so
if
if i talk about the unit testing which
is also one of the test levels
so that is also a type of testing right
unit integration system and acceptance
testing these are all test levels along
with the testing types as well right so
you can categorize these as
testing types as well then you would
have heard a lot about the regression
testing
so i'll cover this in a complete
separate tutorial what exactly
regression testing is and how you need
to do regression testing
then sanity testing smoke testing or
usability testing
so all these testing types in the left
hand side below functional testing
column are the functional testing that
is
what does it mean that these type of
testing will verify the functional
aspect as we have understood in this
registration case
a tester will launch a particular
application he'll follow certain steps
and he'll verify that the functionality
is working fine
right so for example if i take an app
example whatsapp say for example the
functionality of the whatsapp is
if i want to change my profile picture
i should click on change select the new
profile pic
and then save it right i should be able
to
save a new profile pic successfully this
is the functionality
non-functional aspect of the same is if
i click on
if i select the new profile pic and
click on save
it should respond you know within uh
you know say for example within one
second or within two seconds so that's
the when when you are checking the time
frame that it takes
to perform certain transaction that is
the non-functional testing
now when we talk about the
non-functional testing some types of
testing in the non-functional testing
are performance testing and below
performance testing or
below this performance testing umbrella
you can say you have load testing
stress volume scalability all these are
part of the performance testing right so
these are different types of
non-functional testing in
software testing then you have the
recovery testing or compatibility
security testing right so security
testing is very very important for
the software so to to basically save
your software
from being hacked or you know stopping
the hackers to
stole the user data from the software
that you are launching or the website
that you are launching right
so these are some of the functional and
non-functional testing and types of
testing that i have
you know mentioned here if you go ahead
and
google about the the types of testing
you will get
a lot more types of testing that that
you can categorize
within the functional and mount
functional testing and
then you will have the complete list of
the testing
which will help you to understand what
all types of testing are there
and what exactly they you know
what exactly you do within those type of
testing now
the most important types of testing i'll
be covering so for example you know i've
already covered unit integration system
acceptance
i'll be covering the very commonly types
of testing that are used in the actual
projects
so don't worry about them a lot because
most of it will be covered
but there in in terms of you know like
interview aspect
you might be asked some you know type of
testing which
you might not have heard before so it's
better to
google all the type of testing and get a
list of those testing and understand
those testing details but most of the
time those
type of testing are just required for
the interview they are not very
commonly spoken or used into the
software testing projects
right so whatever is required for a
software testing project or
being very you know widely used um
in terms of testing types i'll be
covering as part of this series
so that's pretty much all about the
types of software testing
that's all for this tutorial please do
share and subscribe and thank you very
much for watching
浏览更多相关视频
ISTQB FOUNDATION 4.0 | Tutorial 18 | Test Types | Functional Testing | Non-Functional Testing | CTFL
Software Testing Tutorial #21 - What is Non Functional Testing
Manual QA: Testing for Beginners - Types of QA Testing - Part 9
CH02. L02. Test-types
Types of Testing in Software Engineering | Levels of Testing
Software Testing Tutorial #17 - What is Functional Testing
5.0 / 5 (0 votes)