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