This content provides a detailed explanation of various software testing terminologies, including exploratory, smoke, regression, unit, integration, functional, system, and acceptance testing, clarifying their purpose, methodology, and application within the software development lifecycle.
Mind Map
Click to expand
Click to explore the full interactive mind map • Zoom, pan, and navigate
dear friends welcome back to automate
with Rakesh in this video we are going
to learn about software testing
terminologies you might have heard about
different terms in testing for example
smoke testing functional testing
acceptance testing exploratory testing
regression testing integration testing
system testing what are all this we will
learn in detail so let's get started now
the very first test testing that we are
going to learn is exploratory
testing what is the meaning of
exploratory if I ask you to explore a
application what do you do you go to the
application start navigating within the
application trying to check everything
that is available within the application
like explore explorating testing is
typically conducted manually you do it
manually that is the very first
point second point in explor
testing testers are given freedom to
explore the software application you are
exploring it that's why the term
exploratory testing it is a manual
testing interact with different features
of the application and design test
scenarios on the Fly that means on the
go you are designing after you looking
at the application you are thinking okay
this could be tested this function
should be tested you are identifying one
by one they may vary their testing
strategies Focus areas and test
scenarios based on the observations
insights and testing goals so this is
more like a manual testing one by one
you are checking in an application if I
order something from the application
does it go to the cart or not right if
there is no item in the cart it should
not show the payment option is it
working or not so manually you are doing
this is more like a manual testing or
exploratory testing
in exploratory testing is particularly
effective in scenarios where the
requirements are
unclear where you don't have proper
understanding of the system where you
don't know how that application should
behave so you are doing this manual
testing when you are unclear about the
requirements what to test what not to
test the software is complex or when
there is limit Li mited time available
for formal test
planning if you have limited time you
can't design a test plan how to test it
then you do a manual test and understand
okay the application at least working
what is
expected it allows testers to quickly
adapt to changing conditions identify
unexpected issues and provide rapid
feedback to the development team simply
by doing a manual testing you can easily
give some feedbacks okay this is not
working this supposed to Walk This Way
this supposed to have popup which did
not appear all kind of Rapid feedback we
can provide through manual testing so
this is about exploratory testing now
let's move on to our next testing term
called Smoke testing so what is smoke
testing first of
all smoke testing so let's understand
the name smoke
testing originates from the El electronics
electronics
Industry when electronic devices are
manufactured they undergo preliminary
test let's say any electronic device for
example a grind up right let's say there
is an electronic device called
grinder which is manufactured now how
you do a smoke
testing they go through a smoke
testing how they undergo preliminary
test to check if the produce if they
produce smoke or catch fire when powered
on for the first time so when you turn
it on does it Catching Fire that means
there is something really wrong with the
product so that is called Smoke testing
so they're waiting for some fire to
happen some smokes to come from the
motherboard from the chip that is being
used in the device so that is called
Smoke testing now how it is applicable
in software industry in software testing
let's see that if the device passes this
initial test without emitting smoke or
Catching Fire this is still talking
about the electronic device it is
considered to have passed the smoke test
if there's no no smoke is coming that
means it has passed the smoke test then
it can you can do the next set of test
to understand whether that application
fits the market requirement or not so
first thing you do is you plug in and
turn it on and see whether it is getting
some fire or not that means there is
something wrong so this is called smoke
testing and it is deemed safe to undergo
further testing usage so once it passes
the smoke testing then the product will
go for further
testing now how it is applicable in a
software let's see that the purpose of
smoke testing is to determine whether
the critical functions or
functionalities of the software are
working correctly critical function you
are only targeting the major functions
of the soft sofware is it working
properly or it is not working properly
through the smoke testing so remember
when the word smoke testing comes
remember the word major functions or
critical functions okay important ones
there are so many buttons on the
software you are just checking the
important ones how to sign up how to log
in is it working or not in the
application only the major ones you are
looking at so those you know identifying
the major functions and then simply
testing it whether it's working or not
that is called smoke testing typically
after a new build or a version is
deployed so when you are building the
software newly entirely new software so
you first test this main main areas
whether it's working or not right or
there is some kind of upgrade happened
some version upgrade has happened you
are using 1.0 now it has become 2.0 is a
new version of the application so you
are checking mainman important areas
first whether they are working or not so
that is called Smoke testing checking major
major
functions getting it all right so now we
got familiar with smoke testing and
prior to that we got familiar with
exploratory testing exploratory testing
is a manual testing smoke testing is a
checking the major parts of the software
critical functions okay this is
important all right let's move on to our
next testing to which is called regression
regression
testing now what is regression the the
meaning of regression is the AR of
returning to previous state regression
means you return to the previous state
returning so what is why you have to
return what is that returning it is
talking about it involves retesting
previously tested features let's say you
have tested the login feature sign up
feature you have tested so you are
retesting it why you have to retest to
ensure that they still perform as
expected after modifications or bug
fixes or new additions to the code base
so you have made some kind of a bug
there were certain bugs which you have
fixed it so after you applied the
solution are those features are still
working or not you have to test
regression means returning to the
previous state so here we are retesting
what was already tested you are
retesting that is called regression
testing getting it smoke testing is if
there is a new product newly launched
product or a new version of the product
you are checking the major functions
right and regression means you are
testing retesting the functions which
was already tested for the prior version
right here there is some some addition
has happened some bug fixes you have
done because there was some issue on 1.0
now you are releasing 1.1 by fixing
those bugs so there you do a regression
testing okay it is the same version but
again 1.0 to 1.1 you have gone so you're
doing a regression testing there just
checking if there are bugs have been
fixed after fixing the bugs whether
those functionalities are working or
not regession testing is a type of
software testing that verifies whether
recent changes or enhancements to a
software application have affected
existing functions any kind of
enhancement any kind of bug fixes that
you have done in the application has it
it you know stopped or affected the
existing functionalities it you are
going to check through regression
testing so regression means remember
returning doing the retesting after some
kind of a enhancements bug fixes you are
doing a retesting that is called
regression testing okay the importance
of continuously verifying the Integrity
of existing functionalities alongside
the development of new features or
updates it highlights the proactive
approach to maintaining the software
quality by systematically testing so
regression testing you will hear a lot
of time we are doing regression testing
that means there is already an
application available every month there
is some kind of a modification is
happening you are doing a regression
testing to ensure that the old
functionalities are working they are not
impacted you have created multiple
functionalities in the application they
should not be stopped because of the new
thing you are bringing in so that is
called regression testing so they do you
test each and every component here this
goes in detail in detail you are testing
each and every area Okay regression
testing all right now you must have
heard about the term called unit
testing unit testing focuses on testing
individual units or components of the
software in isolation that means
individually you're testing one one unit
for example check out when you go to a
shopping website there's a checkout then
is a payment so payment is a unit
checkout is a unit so you are testing
each individual units called unit
testing in RPA you are checking Each
jaml One jaml login jaml logout jaml
right processing Jam so you are checking
each and one jaml one by one then it
becomes a unit testing you are testing
each area at a
time unit test are typically automated
and run frequently during the
development process Often by developers
themselves so unit testing is more done
by the developers of the application
itself unit testing is not specifically
categorized as smoke testing or
regression testing you don't call unit
testing as a smoke testing in Smoke
testing the major goal is that my
product is working or not the moment I
and you know for example the hardware
product we discussed electronic product
the moment you put you are seeing
whether the entire product is working it
is targeting the major parts right major
areas whether it's working or not
regression me is is testing each and
every area is working or not so this is
a broad category broad category which
targets the product it targets the
entire product is working on entire
product is working on but what we unit
testing is talking about it talking
about individual component one small
part of the product is it working or not
right as its primary purpose is to
ensure the correctiv of individual units
rather than overall system function so
regression smoke testing this is overall
system this is only a specific part of
the system
while they can be part of both smoke
testing and degration testing so unit
testing can be part of both smoke
testing and degration testing they are
not inherently categorized under either
okay they're not part of this as such
because this is for the entire system
this is for a specific part of the
system okay now let's move on to our
next term which is called integration
testing integration testing verifies the
interactions between different units or
components so unit testing is checking
one one small small sections for example
on a shopping website the check out and
the payment section they are they have
to be integrated if you are putting five
items the payment section should be able
to calculate the value of everything and
show him the options of payment if there
is no item then the payment section
should not come it should not appear
first it should tell me tell him hey you
have no items first you add some items
right so integration testing is you are
testing whether multiple units are
working together or not integration
means working together or
not integration testing can be part of
both smoke testing and degration testing
so integration testing can be part of
both of them in Smoke testing
integration test may be included to
ensure that critical interactions
between components are functioning after
a new build or
release and in regression testing
integration test may be rerun to verify
that the recent changes have not
adversely affected the integration
points between the components so in
Smoke testing means you are checking the
major fun you know communication is
happening between the units or not in
regression testing means you are
rerunning it which has already been done
you are rerunning those testest uh
integration testing just to see whether
they are communicating properly or not
okay in summary while unit testing and
integration testing are not specifically
categorized under smoke testing
integration testing they can be
components of both depending on the
specific testing strategy and objectives
of the testing effort so testing is not
I mean you cannot say this is how you
have to do based on the system you
decide okay this is what the major areas
I have to test so there are different
terms for that let me do first unit
testing or let me you will say let us do
first a smoke testing then we will go
for unit testing then we will do
integration testing then we will do
regression testing so in the future any
any update we are doing bug fixes we are
doing we'll continue to do the
regression testing so these terms are
used it is important to understand those
terms quite well now let's see there is
something called functional testing
functional testing means it involves
testing various features and
functionalities of the software now
everywhere we are doing functional
testing only right we are checking
everything so what is what is the
difference between them and this such as
user interface interaction data
manipulation calculation let's see this
functional testing can include different
types of testing
techniques such as user interface
testing user interface your application
if I open on Windows operating system if
I open it on a Linux operating system if
I open your user interface is it working
properly the graphics are appearing
properly or not so it is looking at a
larger picture you your user interface
is working as expected or not whether
the layout is properly appearing all the
graphics elements on the page is it
properly appearing on different systems
and sizes right so you are testing a
specific functions of the system user
interface testing API testing you are
checking whether the apis are working
properly or not testing and application
programming interfaces to ensure proper
communication and data ex between the
software components are happening or not
so here you can understand it is looking
for very specific areas database testing
verifying data Integrity consistency and
accuracy in the database so it is just
not on the software side on the
interface side it is also testing other
other areas API testing database testing
like that boundary testing means testing
input values at or beyond the boundaries
of valid ranges to uncover potential
issues right the the ranges in the sense
for example if 10 users are logging into
the application it is working fine if
1,000 plus if it is going then the
application is running very slow so
you're testing what is the limit of the
application where that limit ends right
so these are called boundary testing so
overall it is looks after specific
functions of the application so the
application doesn't run just on its own
right there are so many other things
behind the scene databases are there
apis are there not just the user
interface so functional testing targets
all those
areas all right right let's move on to
the next term called system testing
system testing verifies the behavior and
performance of the entire Software
System as a whole now it is very clear
system means everything comes under it
you don't skip any part everything as a
whole everything you consider this is
called system testing it tests the
Integrated Systems to ensure that all
components work together seamlessly and
meet the overall system requirement so
this is the largest test you do
everything right entire testing you do
system testing may include testing
scenarios such as End to-end Business
processes to validate the system
functionality from start to
finish cross functional interactions
between different modules or subsystems
to verify the data flow and integration
points compatibility testing to ensure
the software operates correctly in
different environments configuration and
platforms all right so system testing is
includes everything all that you have
learned till now you know your unit
testing everything fall under that
you're testing end to end everything system
system
testing all right then next is
acceptance testing the word is very
clear acceptance acceptance testing
evaluates whether the software meets the
acceptance criteria and requirements
specified by the stakeholders or end
users so for example if I'm using a
Facebook so what is this specific
requirement here you want to add people
as friend you should be able to block
you should be able to uh you know hide
certain things you should be able to uh
talk to other people you should be able
to connect to other people so these are
the end user expectations stakeholder
expectation could be advertises should
run at certain point of time so many
advertisement should run uh if the video
is so long then after so many seconds it
should run so those kind could be a
stakeholder expectation in terms of
Revenue and other things so you are
meeting those expectation or not from
the software is called acceptance
testing it focuses on validating that
the software fulfills the business
objectives and user
needs acceptance testing typically
occurs in the final stages of the
software development life this should be
your final
testing acceptance testing may include
various techniques such as user
acceptance testing called uat this word
almost everybody should be familiar with
user acceptance testing that means you
give it to the business users or the end
users and ask them to test it whoever is
going to use the software you ask them
to test and provide fedback many
softwares in the world you might be
seeing they would be asking for feedback
did you like this what is wrong you can
share feedback anytime you like so that
is called user acceptance testing
business acceptance testing you will
give it to the stakeholders of the
business to check or test the specific
areas they are
interested testing the software with
real users or stakeholders to gather
feedback validating that the software
meets the predefined acceptance
criterias and user stories so this is
your last testing called acceptance
testing so you have learned about
multiple different testing terms I hope
that would add some value in your
learning thank you guys for watching
Click on any text or timestamp to jump to that moment in the video
Share:
Most transcripts ready in under 5 seconds
One-Click Copy125+ LanguagesSearch ContentJump to Timestamps
Paste YouTube URL
Enter any YouTube video link to get the full transcript
Transcript Extraction Form
Most transcripts ready in under 5 seconds
Get Our Chrome Extension
Get transcripts instantly without leaving YouTube. Install our Chrome extension for one-click access to any video's transcript directly on the watch page.