-
Hey everyone, welcome y'all.
-
So from today, I'm going to start a new series on manual software testing on YouTube live
-
sessions and especially beginners, they have requested to upload a new series on manual
-
software testing, especially manual testing concepts and manual testing process and Jira
-
and as well as agile process along with some project.
-
So I'm just plan for that.
-
And from today, we are going to see.
-
So especially for today, we are going to start some basic concept from manual testing.
-
Okay, now let's get start.
-
So manual testing, we are going to learn in three different phases, or we can say modules.
-
The first module, the first module testing concepts, your first module, we are going
-
to learn testing concepts.
-
So what is testing concept mean?
-
Basically, this is all completely theoretical concept is okay, but I don't want to get you
-
bored.
-
So I'll interact more and I'll give practical experiences and some scenarios also, don't
-
worry.
-
So testing concept, this is module one.
-
In this particular module, we are going to learn some very basics of testing, like what
-
is software testing?
-
What are the different levels of testing?
-
What are the different types of testing we have to conduct on your application?
-
Like what is software?
-
What are the different types of software are available?
-
And SDLC, SDLC, like a lot of things are there.
-
So we are going to learn some basic concept from testing, because before going to conduct
-
testing, we have to know what kind of testings are there and how we have to conduct those
-
testings.
-
So that is a theoretical part.
-
Okay, so testing concept.
-
And if I just look at the curriculum, so the basic concept will be there, like what is
-
software testing, types of softwares, and software quality, what is project and product,
-
testing, and SDLC, SDLC, a lot of things are there, and test design techniques.
-
These are very, very important topics which we are going to discuss.
-
And white box testing, black box testing, what is there?
-
And functional and non-functional testing.
-
So all these things we are going to discuss as part of module one.
-
So this is mostly theoretical part, okay?
-
Because before jumping into the practical part, we have to know some basic concepts
-
theoretically.
-
So almost four to five sessions we are going to spend on this particular module, software
-
testing concepts.
-
So this is the first module, theoretical part, okay?
-
Then basically this module says like what, like what to test, okay?
-
And the second module is a practical part, okay?
-
Second module is a practical part, software testing project.
-
So here we are going to start a project along with some concepts, like how to write, how
-
to analyze the requirements, how to write the test plan, how to write the test cases,
-
how to execute our test cases, and we are going to learn about bugs, bug or defect lifecycle,
-
how to report the bugs.
-
So these concepts are purely practical part.
-
So in this module, we are going to learn project, and this is purely practical orientation.
-
And here we are going to learn how to test, okay?
-
In the first module, we are mainly focusing on what to test, because the theoretical part.
-
In the second module, we are going to test, like we are going to test the application
-
directly, like how to test.
-
So what are the different techniques are available, right?
-
How to write the test cases, how to review the test cases.
-
So these things will be part of module number two, testing project.
-
I'm going to introduce one e-commerce application, and I'll also show you the FRS document and
-
the requirement document, how we'll get the requirement from the customers, and then how
-
to write the test cases, how to review them, how to execute bug life cycles.
-
Everything will be part of this model testing project.
-
So here you will get the practical experience, okay?
-
So this is a model number two, because we cannot directly jump into project because
-
before that, we need to know some basic concepts.
-
If you know the what part, then we can jump into how part.
-
So what to test and how to test.
-
So second module mainly focus on how to test.
-
And once these two modules are completed, then the module three is for agile process.
-
This is purely process oriented, because in the nowadays, all the companies are using
-
agile process, okay?
-
And you have to know this process until unless you know this process, it is very difficult
-
to survive in the company.
-
So previously waterfall model, spiral model, there are traditional models are available
-
because these are process model, because if there is any company, there should be some
-
process followed by people, right?
-
So here agile process, which is very, very important, and most of the companies are following
-
agile process.
-
So here in module three, we are going to discuss agile process, like how we will get the requirements,
-
how to write the stories and epics, how we can do the backlog plan or sprint plan, how
-
the cycles will go on.
-
So how we can interact in the project, interact within the project team, scrum, all these
-
things we are going to discuss as part of agile process.
-
And here itself, I'm going to discuss about one important tool called Jira.
-
So Jira is basically agile test management tool, or we can say agile tool.
-
And in this particular application, we can track everything in the software development
-
from the beginning from the requirement to till we deliver the software to the customer,
-
everything we can track into this particular tool, even testers and developer, each and
-
every activity, like test cases, test plans, execution status, reports, everything we can
-
manage in this tool, okay?
-
And previously, before these tools are available in the market, people are using like Excel
-
sheets and Word documents, instead of that, we can track everything in the tools, okay?
-
So this is agile process, we are going to discuss, which is Jira tool, there are a lot
-
of concepts are there guys, so I'm not writing in detail because I already have the curriculum
-
here.
-
So I share this curriculum later, you guys can go through the topics, okay?
-
So these are the three different modules which we are going to cover as part of manual testing.
-
So with this Jira tool, we will able to complete manual testing, okay?
-
And apart from that, in addition, I'm also going to share you the SQL videos, because
-
SQL is not part of our code, because SQL itself will take 10 to 15 sessions.
-
So I'm going to provide the video sessions or recorded video sessions, apart from this
-
manual testing course, okay, you guys can go through the SQL videos, and that is also
-
very important for testing prospectivity, okay?
-
So if you go for an interview, people will ask you some questions from SQL also, along
-
with the manual testing.
-
So that is also very, very important, right?
-
So that will be going to share after completion of manual testing, right?
-
So this is a part of manual testing curriculum.
-
And once you completed manual testing, then I'll share automation testing and everything,
-
okay?
-
That is a different curriculum we are going to learn, all right?
-
So for today's session, I'm going to start with the module one.
-
So are you guys clear so far, everyone, about this curriculum?
-
Can you please come from in the chat window?
-
So if you ask any questions, guys, so please interact in the chat window immediately.
-
And every time I'll ask the confirmation from you guys.
-
So please put in the chat window, okay, all right.
-
So let us start with a few, some basic concepts from manual testing, okay?
-
So today's introduction session.
-
So I'm just going to cover some basics, basics, like what is software, what is software testing,
-
and why do we need to software testing, all these things, okay?
-
So first, let us start with what is software and what are the different types of software?
-
So people who are completely beginners, okay, and they don't have any ID background, I'm
-
going to start from very, very basic, guys, from the scratch.
-
And you don't need to worry about anything.
-
If you just know how to use MS Word document, Excel sheet, that is that knowledge is enough
-
and basic internet knowledge is enough to start learning this concept, okay?
-
So you don't need to worry and afraid of anything.
-
I'll go from very basic.
-
If you have not understood anything, please use chat window to post your questions, okay?
-
All right, so this is a small presentation I have.
-
So later I'll share this presentation.
-
Okay, first, let us see the concepts.
-
And one more thing is for every concept, guys, after explanation at the end of the session,
-
I will also share the presentation as well as notes and materials, and don't worry.
-
So you guys can go to them, all right?
-
So first, let us start with what is software, like what is the types of software?
-
So everywhere we hear, we heard this term software.
-
What is software, software, simple definition, everyone know about software, but if you come,
-
if I ask the definition, most of the people cannot answer this question.
-
Software, everybody knows the software, we are daily,
-
entirely every day we are using software,
-
mobiles or computers, everywhere we are using software.
-
But what exactly software means?
-
So if you say definition of the software,
-
the software is a collection of computer programs,
-
a collection of computer programs that helps us to perform a task.
-
Suppose if you want to perform some task, guys,
-
suppose if you want to do some manual task, right?
-
So through the mission, I want to do the task.
-
So that mission needs some software, okay?
-
So for example, if I take a mobile app, mobiles, right?
-
So if you have only mobile, right?
-
We cannot do anything with mobile.
-
In that mobile, there should be some apps or some software should run.
-
And with that software, we are doing all the things, right?
-
Suppose if I take some WhatsApp or LinkedIn,
-
whatever apps you have in the mobile,
-
if I don't have those apps, can you use your mobile?
-
No, right?
-
So you need to have some software in that.
-
And then only we can use a mobile.
-
Similarly, software is a collection of computer program.
-
How the software will be developed,
-
which is basically a collection of programs.
-
And the developers will write a number of programs
-
and collectively we can call it as a software.
-
So what is a program?
-
Program is something called as a coding,
-
like they will write some instructions to the computer.
-
So the instructions can be understandable by the computer.
-
And collectively we can call it as a software.
-
Software is a collection of computer programs
-
that help us to perform a task.
-
If you want to perform some task, we can use a software.
-
Okay, simple definition.
-
But in the market,
-
there are different type of softwares are available.
-
There are different types of softwares are available.
-
So mainly there are three categories.
-
One is system software.
-
Okay, let me just write some notes here.
-
Okay, so types of softwares.
-
System software, and programming software,
-
and application software.
-
So these are the three different
-
types of softwares are available.
-
Three different types of softwares are available.
-
One is system software.
-
I'll tell you what is system software.
-
Second one is the programming software.
-
And third one is the application software.
-
System software, programming software,
-
then application software.
-
So what is system software means?
-
Normally device drivers, operating systems,
-
servers, utilities, these are all
-
comes under system software.
-
What does it mean?
-
Suppose you have your desktop or laptop, okay?
-
And you are connecting all the accessories to your computer.
-
You are connecting keyboard, you are connecting mouse, right?
-
You are connecting some other screens,
-
or you're connecting printer to your computer, right?
-
So these are different accessories or devices
-
are connecting to your computer.
-
But if you want to use those devices,
-
we need to install some additional drivers.
-
Or sometimes your computer also will come
-
along with the drivers.
-
And those drivers also comes under the system software.
-
And basically these softwares are used to run the systems.
-
Okay, suppose if you connect,
-
suppose if you have connected your keyboard to the computer,
-
how your computer will able to identify your keyboard,
-
the instructions are coming from keyboard.
-
It doesn't know basically, right?
-
So there should be some software.
-
The computer should have some intelligence
-
to identify your keyboard, to identify your mouse,
-
you identify your monitor and everything.
-
So that is basically comes under the system software.
-
So device drivers and operating system.
-
Operating system is what Windows, Linux, Mac.
-
So these are all operating systems.
-
So you have a computer,
-
but if you don't have any operating systems,
-
how can we use or how can you install other softwares
-
without using operating system?
-
Because first, as soon as you start your computer,
-
operating system must be there.
-
So on top of operating system,
-
we are going to install other softwares, right?
-
That is the base.
-
Once you have computer,
-
you need to install some operating system.
-
It can be anything.
-
So that is also comes under the system software,
-
because if you want to run or start system,
-
we need some operating system.
-
So there's a reason which is comes under system software
-
and server some utilities files or some utilities means,
-
suppose if you write something, right?
-
If you write some text or if I write some document,
-
internally, the computer software is able to recognize it.
-
So to run special software,
-
we need to also have some utilities.
-
So these are all comes under system software,
-
device drivers, operating systems, servers, utilities,
-
all these things are comes under system.
-
So basically the system software
-
will be used to run the systems, okay?
-
That is a one category of softwares.
-
And the second category is a programming software.
-
So what is programming software means?
-
Compilers, debuggers, interpreters.
-
So these are all examples of programming software.
-
That means, suppose developers are writing the code
-
or some program, how program will be executed?
-
How the program will be produced some output?
-
Suppose when I use a computer,
-
we are giving some input to the computer,
-
we are getting some output.
-
So who is processing internally?
-
When I give some input to the computer,
-
someone should be there to process that input
-
and produce the output.
-
And that thing will be done
-
by the compilers, debuggers, interpreters.
-
So these are the softwares which will do some processes
-
when you run your program.
-
Normally developers work with these programming software.
-
So whatever the programs they have run
-
to execute the programs and providing the output,
-
the compilers, debuggers, interpreters
-
will be used internally.
-
So that comes under the programming software.
-
And the last one is application software.
-
So this is a very, very important area
-
where we have to focus on.
-
Application software.
-
So application software is nothing
-
but the users will use that applications
-
or users will use that software.
-
For example, web applications.
-
So every day we are using web applications
-
in case of Facebook or LinkedIn or Amazon or online portals.
-
Everything comes under web applications.
-
And mobile apps.
-
Suppose you are using mobile
-
and you have N number of apps in your mobile.
-
All those things are comes under application software.
-
And desktop applications.
-
So desktop application means what?
-
You can install those applications
-
in your laptop or your computer
-
like MS Word document, Excel, Outlook, Notepad, calculator.
-
So these are all comes under desktop applications.
-
So basically there are three kinds of applications,
-
application softwares.
-
One is web applications,
-
mobile applications, desktop applications.
-
These are the three categories.
-
So web applications,
-
if you want to work web applications,
-
we need to have an internet, okay?
-
Because through internet we can access those applications.
-
And actual applications will be installed
-
somewhere in the remote servers.
-
And mobile apps.
-
So everybody will know about this.
-
So from the Play Store,
-
we can download and install mobile apps and we can use it.
-
They are all comes under application software.
-
And desktop applications means
-
the application which we can install on your local machine.
-
Even without internet,
-
also we can use desktop applications.
-
So like I'm using Notepad to typing something.
-
This is a desktop application.
-
So calculator is a desktop application.
-
Your paint is a desktop application.
-
So all these comes under desktop applications.
-
So these are all comes under application software
-
because as a user, I can use these applications.
-
I can use this software,
-
but I cannot directly use programming software
-
and system software
-
because these are the internal softwares
-
which we cannot see them.
-
But these softwares are used to run your systems.
-
But application software, we have to use on daily usage.
-
And we can do some tasks
-
by using these application softwares.
-
Okay, suppose if you go for amazon.com.
-
So that is an online application.
-
That is a software.
-
What we can do, we can search for the product.
-
We can add to cart and we can do the payment.
-
So these are activities we can do.
-
Similarly, banking applications, financial applications.
-
So educational institution applications.
-
So all these comes under web applications,
-
mobile apps, desktop applications.
-
So every day on day-to-day basis,
-
we are working with these applications.
-
So these are all comes under application software.
-
Our testing is also mainly focused on application software.
-
We are going to test the application softwares.
-
Okay, so this is basically understanding
-
the basic understanding of what is software,
-
the types of software.
-
Okay, so the next thing is, what is software testing?
-
So we understood what is software testing,
-
software types of software testing.
-
Now we need to understand what is software testing.
-
Okay, so next one, what is software testing.
-
We already know what is software.
-
Now we need to understand what is software testing.
-
And then why the software testing is required.
-
So this is one of the important, interest question also.
-
Like what is a software testing.
-
So normally, when you purchase any product, right?
-
So what you will do,
-
you will do some basic functionalities working or not.
-
So let me just give you one example.
-
Suppose you want to buy a mobile.
-
Okay, so before buying a mobile,
-
you will have some budget, okay?
-
And with that budget, within that budget,
-
you are expecting some features to be there in your mobile.
-
Okay, you have some budget
-
and you are expecting some features.
-
Some functionality should be there in your mobile.
-
And with that input,
-
you are searching for different brands in a market.
-
And finally, you search some brand and some model
-
and you bought it, okay?
-
And you spend some budget
-
and also you're expecting something
-
should be there in your mobile.
-
And once you bought your phone,
-
you started using your mobile
-
and then you started finding some bugs
-
or issues in your mobile.
-
So something is not working
-
or on or off is not properly working, right?
-
Our screen is not properly appearing.
-
Some apps are striking.
-
So if you find these kinds of issues in your mobile,
-
how you will feel,
-
definitely you will start frustrating with that product,
-
right?
-
So why these things, this thing is happened
-
because of lacking of testing.
-
Because you bought a mobile, you bought a product,
-
but this is buggy product.
-
So you have some issues with that product.
-
Why these issues are there in the product?
-
Because testing is not properly conducted, right?
-
Each and every function,
-
each and every feature is properly working or not.
-
It is not properly tested.
-
So that is the reason you start frustrating
-
with that product, right?
-
Same thing will happen with the software also.
-
Same thing will happen with the software also.
-
But who is using software?
-
So for example, let us say some bank, okay?
-
So let's say I have something called xBank.
-
So this bank is doing some transaction
-
on day-to-day basis manually.
-
And after a few days,
-
this particular bank wanted to automate the process.
-
The bank automate,
-
the bank, this particular bank wanted to automate the process.
-
Means what?
-
Whatever the transactions they are doing manually,
-
they want a software and using that software,
-
they wanted to do those tasks, okay?
-
Through the software.
-
And what this bank?
-
So bank is nothing but what?
-
This is a small company, okay?
-
And this particular company or bank
-
will approach an IT company, okay?
-
Will approach an IT company.
-
And once they approach this IT company,
-
they will explain their requirement.
-
So what exactly they do in their organization.
-
So what kind of operations or actions or tasks they do
-
on day-to-day basis in their organization.
-
So they will explain the entire,
-
the process, the requirement,
-
everything into this IT company.
-
Along with that, the budget,
-
what is the budget they have
-
and within what time they need the software.
-
So all these things will be explained to this IT company.
-
Now, what IT company will do is,
-
IT company will review and understand their requirement
-
and their budget and time.
-
So by considering them,
-
they will agree to develop the software
-
which will fulfill their tasks, okay?
-
Instead of doing manual transaction,
-
they can do automate using particular software.
-
And so after reviewing those requirements by IT company,
-
they agree to develop a software, okay?
-
And what IT company will do now,
-
IT company will develop the software,
-
will develop the software and it also to be tested, okay?
-
Test the software and after testing,
-
then deliver the software to the company called xBank.
-
So this is actual process.
-
So some company will approach the IT company
-
by saying all their requirement, budget and time.
-
And based on that, IT company will agree the requirement,
-
agrees the proposal
-
and then they start developing the software
-
and they will recruit some number of people,
-
developers, testers, designers, program managers,
-
all these people.
-
And they take some time to develop the software.
-
And then finally, before delivering the software to the bank,
-
we have to conduct the testing here.
-
So after development, testing comes into picture.
-
So why we need to do the testing?
-
What is testing here?
-
Why we are conducting testing here?
-
Because we have to release the quality product
-
to the customer.
-
We have to deliver the quality product to the customer.
-
So that is the main intention of doing software testing, okay?
-
So software testing will play very, very important role
-
because if you deliver the buggy product to the customer,
-
it'll start frustrating it
-
because he spent a lot of budget, a lot of time, right?
-
So this is our responsibility, the company responsibility
-
to provide the quality product to the customer.
-
It should not have any bugs.
-
It should work according to customer requirement.
-
So all these things we have to take care
-
while performing the testing, the software, okay?
-
So what is software testing?
-
So software testing is very, very important
-
before delivering the software to the customer, okay?
-
Now, what is software testing?
-
The software testing is a part of software development.
-
Here, development means what?
-
Not only writing the code, okay?
-
We have to test the software,
-
whether it is working according
-
to customer requirement or not.
-
If you're not conducting testing, what happens?
-
Definitely the product is having some bugs
-
because there is no guarantee
-
like developers will do everything perfectly fine, right?
-
There should be some bugs.
-
There will be some gaps.
-
So we have to test the software.
-
We need to identify the bugs
-
and the developers again will fix those bugs.
-
And finally, we will deliver the quality product
-
to the customer, okay?
-
So the testing is a part of the development process.
-
We'll understand the customer requirement.
-
We will design it, then coding, then testing,
-
and finally delivering the software to the customer.
-
So these things will come into picture.
-
So now, if I just look at what is software testing,
-
let me write some notes here.
-
So what is software?
-
We understood what is software.
-
Now we are understanding what is software testing.
-
So software testing is a part
-
of software development process.
-
Software testing is an activity to detect
-
and identify the defects in the software.
-
So this is the main intention of the tester.
-
What is the job of tester means?
-
He has to identify the defects
-
and he has to make sure our application
-
or software is working according
-
to customer requirement or not.
-
Because initially customer will provide you
-
some requirement, the functionality.
-
And our software also should perform the same thing,
-
whatever the customer is expecting.
-
Suppose the customer is said something
-
and we develop the software for something else.
-
It doesn't work, right?
-
So the main intention of software testing is
-
it is a activity to detect and identify the defects.
-
We have to execute some test cases.
-
I'll tell you what is the test case
-
and how to execute all these things.
-
So the main intention of software testing is
-
we have to find the defects in the software, okay?
-
And the main objective is to release the quality product
-
to the client or customer.
-
So this is basically what is software testing.
-
So testing is a part of software development.
-
Testing is an activity to find the defects in the software.
-
The main objective of testing is
-
to release a quality product to the customer or client.
-
So this is all about what is software testing.
-
The next one is what is quality.
-
So here we are talking about the quality.
-
What is quality?
-
Every day we are talking about quality.
-
If I buy something,
-
we are always expecting the quality, right?
-
But what exactly quality means?
-
The main objective of testing is
-
to release quality product to the client.
-
But what is quality?
-
So what is quality?
-
So quality is something called customer justification.
-
So how well our product or software is working,
-
the customer will decide, okay?
-
So here there are some parameter based on that we can say
-
whether our software is quality or not,
-
quality software or not.
-
So what are those parameters?
-
Let me just tell you.
-
So software quality.
-
So these are all very important guys,
-
so beginner as a beginner.
-
So please try to understand this.
-
Very simple terms, software quality.
-
So why we are discussing software quality
-
because our ultimate goal of testing is
-
to deliver the quality product to the customer or client.
-
But what is software quality?
-
So software quality,
-
if I say a product or software is very quality product,
-
I can say based on certain parameters, okay?
-
So what are those parameters?
-
So the first parameter is bug free.
-
So based on these parameters,
-
we can say our software is quality software or not.
-
The first parameter is bug free.
-
What is meant by bug free?
-
So our software should not have any bugs,
-
but 900% software, 100% software will not be bug free guys,
-
but at least one or 2%, there will be bugs,
-
but they are very, very minor bugs.
-
The customer process or task
-
will not be impacted by those bugs.
-
But 100% quality product
-
cannot be always possible to release to the customer, okay?
-
It is not at all possible.
-
At least one or 2% bugs will be there,
-
but they are very minor bugs.
-
We can ignore those bugs, okay?
-
And the final thing,
-
the objective of testing is
-
to release the quality product to the client.
-
But what is the software quality?
-
So software quality can be measured.
-
So later I'll tell you what are the metrics we have to use,
-
but mainly we can say software is a quality
-
based on certain parameters.
-
So the first parameter will be the bug free.
-
The software should not contain any bugs.
-
That's the first thing.
-
Second thing, delivered on time.
-
So I said before,
-
when an IT company is approaching the IT company,
-
so some X company is approaching the IT company,
-
they have some budget and they have some time also.
-
Within that time, we have to develop and test the software
-
and we have to deliver the software to the company, right?
-
And they spend some budget and also time.
-
Suppose what happens,
-
suppose development and testing is taken
-
more than the committed time, then what happens?
-
We have to pay to the staff also, right?
-
We have to spend a lot of time, right?
-
So what happens if you're not able to deliver the software
-
within the time or on time, that is also considerable
-
because the customer has to spend more budget
-
because automatically the time is increased,
-
increase like duration is increased automatically.
-
You have to spend money on the staff also, right?
-
Employees like developers, testers,
-
who is working on that project,
-
we have to pay to them, right?
-
If suppose time is increased.
-
So deliver on time.
-
So not only back free,
-
we should also deliver the software on time.
-
That is one parameter.
-
The third parameter is within the budget.
-
Sometimes some organization will have some budget
-
and once you start developing and testing,
-
the budget will be increased.
-
That should not be happen.
-
So whatever the time and budget they have mentioned initially,
-
we have to deliver the software within that particular time
-
and within that particular budget.
-
And then only the customer will say our product
-
or our software is quality and not only back free
-
and it is also depends on other factors.
-
And it should be delivered on time
-
and it should be within the budget.
-
And finally, it should meet the requirements
-
or expectations from the customer, okay?
-
So whatever software we develop,
-
that should fulfill the requirement of customers.
-
So that's the first and most important task.
-
Customers set some requirement
-
and we have developed and tested software.
-
It should work according to their requirement.
-
So this is very, very important.
-
It should meet the requirements
-
or expectations from the customer.
-
And finally, it should be maintainable.
-
Maintainable means what?
-
After installing our software in the customer environment,
-
they should be able to work with that.
-
And if there is any small issues,
-
they should be able to resolve themself
-
and should be user friendly, okay?
-
In that case, we can say it is a maintainable.
-
So when I deliver a software to the customer,
-
if our software is fulfilling all these parameters,
-
we can say which is a quality product
-
or which is a quality software.
-
And to make sure all these things should be there,
-
we have to conduct our testing.
-
So the main intention of testing
-
is to deliver the quality product to the customer.
-
And when we say our product or software is a quality,
-
having some quality means
-
which we have to follow these parameters.
-
It should be, it doesn't have any bugs.
-
You can say bug free and it should be delivered on time.
-
It should be delivered within the budget
-
and it should also meet customer requirements
-
or it should work according to the customer requirements
-
or expectation.
-
And finally, it should be maintainable
-
in their environment, okay?
-
So these are the main quality standards.
-
So if I say software is a quality software,
-
then we have to follow these parameters, okay?
-
Now here, I'm just using some terms continuous
-
like project and product.
-
And these terms are very, very important.
-
We need to understand as a beginner.
-
So what is project and product?
-
Project and product.
-
So people are sometimes using project.
-
Sometimes they say product.
-
What is project and product?
-
And even in the companies also,
-
there are two kinds of companies
-
like service-based companies, product-based companies.
-
Similarly, we have a project and products.
-
So what exactly project means?
-
What exactly product means?
-
There is a small difference between project and product.
-
So you have to understand these terminology
-
which is very important before going to testing part.
-
Okay.
-
Let me tell you what is project and product.
-
Project and product.
-
Okay, so let me write some notes here.
-
Very small difference, guys.
-
The first one is if software application.
-
So whatever software we developed and tested,
-
which is for specific customer based on the requirement,
-
then it is called as a project.
-
Means what?
-
We approach a customer.
-
Customer will give you specific customer
-
and customer will give you the requirement.
-
Customer will spend some budget.
-
They will give the requirement
-
and we will develop the software
-
according to that particular customer.
-
So whatever software we developed and tested
-
according to the specific customer requirement,
-
we can simply say that is a project.
-
Project means what?
-
The application or a software
-
which is developed for specific customer requirement.
-
And that software will be used by the customer himself.
-
Others cannot be used.
-
Okay, suppose I develop a software for an organization
-
and only that organization can be used in that software
-
and other organizations cannot be used.
-
And those things called as a project.
-
A project is a software application
-
which is developed for specific customer
-
based on the requirement, then it is called project.
-
Okay, if the software application is developed
-
for specific customer based on the requirement,
-
based on the customer requirement,
-
then it is called as a project.
-
And only the specific customer can use this.
-
But what is a product means?
-
If the software application is developed
-
for multiple customers based on market requirement,
-
then it is called as a product.
-
That means what?
-
We will collect the requirements from the market,
-
not from the specific customer.
-
Okay, what is exactly market requirements?
-
We will analyze them and we will develop a software.
-
Then we'll deliver it to the market.
-
And number of people,
-
number of customers are using that software.
-
In that case, which is called as a product.
-
A product is a software
-
which can be used by multiple customers.
-
Project is a software
-
which can be used by specific customer.
-
Okay, project is a software
-
which can be used by specific customer.
-
We are developing it for specific customer requirement.
-
Whereas product is a software
-
which we can develop for market
-
or based on market requirements.
-
So what are the examples?
-
For example, there is a bank.
-
Okay, and I have developed a software
-
which can do all the transactions automated
-
in that particular bank.
-
So that is project
-
because that application or software can be used
-
only within that bank, within that particular organization.
-
Others cannot be used.
-
So they are called projects.
-
And what is a product means?
-
Everyone should able to do that.
-
So for example, in our mobile,
-
there are so many apps will be there.
-
Let's say WhatsApp.
-
So WhatsApp is an application, a software application
-
and everybody using it.
-
So that is an example of product.
-
And suppose our Microsoft products, Word, Excel, PowerPoint.
-
So these are all the softwares and everybody using them
-
and how they develop those softwares
-
based on the customer requirement.
-
And they'll analyze the requirement from the market,
-
from the people,
-
and they'll consolidate all the requirements.
-
Accordingly, they develop the software
-
and that comes under the product.
-
So understand this difference, very, very important,
-
the project and the product.
-
So project is something which is developed
-
for specific customer based on their requirement.
-
And the product is a software which is developed
-
based on the market requirements
-
and everybody can use it.
-
Okay, that is a product.
-
Now, similarly, the companies also,
-
two types of companies will be there.
-
Like service-based companies and product-based companies.
-
Service-based companies are what?
-
Most of the times they will deal with the projects.
-
So they will work for specific customers.
-
They will work for specific clients.
-
And those companies are comes under
-
service-based companies like TCS, Accenture.
-
Okay, so these companies are comes under
-
the service-based companies or Infosys.
-
These are all service-based companies
-
and they will work for any number of customers
-
throughout the world and product-based companies.
-
The other type of companies are we have product.
-
Product means what?
-
A software which is developed
-
based on the market requirements.
-
So for example, Google.
-
So Google is a product-based companies.
-
There are so many Google products out there.
-
Like Google Max, Google Drive, Gmail.
-
These are all Google products.
-
And Microsoft.
-
Microsoft is also product-based company.
-
So they will develop the multiple products
-
on Microsoft products like MS Word, MS Office.
-
These are all examples of Microsoft products.
-
And Oracle.
-
Oracle is also product-based company.
-
Okay, so there are different type of companies
-
like service-based companies and product-based companies.
-
Okay, so that is all about project and product.
-
Okay, and finally, why we need testing.
-
We understood what is project and product
-
and why we need to testing.
-
So this we already covered.
-
Why do we need testing?
-
The ultimate goal is to release
-
a quality product to the customer.
-
So that's the reason we have to conduct our testing.
-
And we have to ensure the software
-
should be bug-free
-
and it should meet the customer requirements, right?
-
And also it should work according
-
to the customer expectation.
-
So these are the main things which you have to ensure
-
while conducting the testing.
-
So without testing, what will happen
-
if I don't conduct any testing?
-
Then what happens?
-
Definitely the software contains the bugs.
-
And once the customer has started using the software,
-
definitely they'll first aid it with that.
-
Okay, so that's the reason we have to conduct our testing.
-
So we have to ensure the software doesn't have any bugs
-
and we have to ensure our software is working
-
according to customer requirement or not.
-
So these are the two main things which we need to focus
-
while conducting the software testing.
-
So why do we need testing?
-
Means we have to deliver the quality product
-
to the customer.
-
So that's the main intention.
-
Okay, so finally, I'll just explain
-
about these terms, error, bug and failure.
-
So a lot of people exactly don't know the difference
-
between these three and which is very important
-
to know that.
-
Error, bug and failure.
-
Most of the people will think bug is nothing
-
but some error or some failure.
-
But there is a small technical differences there.
-
Error, bug and failure.
-
Now let me tell you what exactly error means,
-
what exactly bug means and failure means.
-
Error is nothing but a human mistake.
-
If you do some task, right?
-
If you do some mistake somewhere,
-
that is basically called as an error, okay?
-
It is an incorrect human action.
-
We can simply say an incorrect human action
-
is called an error.
-
So suppose as a developer, he's writing some program
-
and he has committed some, by mistake,
-
he has typed something else and that is causing the error.
-
So error is basically human mistake, okay?
-
And bug, what is the bug?
-
Bug is nothing but it is a deviation
-
of expecting actual results.
-
So for example, there is a simple,
-
let's say login screen in your application, right?
-
So when I provide a valid username and valid password,
-
I should able to log into my application.
-
Let's say Gmail application.
-
So how to log into Gmail?
-
I have to provide the valid username and valid password.
-
So when I provide valid username and valid password,
-
then I should able to successfully log in.
-
But, and similarly, if I want to pass,
-
let's say if I pass invalid username and invalid password,
-
I should not able to log in.
-
But what happening, even though if I providing
-
invalid username and password,
-
an application is allowing me to log in.
-
Then that is a mismatch, right?
-
What you are expecting by pass a validator,
-
the login should be successful.
-
When I pass invalidator, login should not be successful.
-
That is your expectation.
-
But how actually application is working?
-
If I pass validator, okay, it is successfully login.
-
But even if you pass invalidator,
-
still it is accepting the login.
-
So that is a mismatch.
-
What is our expectation and how the application is working?
-
So the deviation from expected behavior
-
and actual behavior is basically called as a bug,
-
and which is also called as a defect.
-
The terminologies are different guys.
-
The concept is same, okay?
-
So error is a human mistake.
-
Bug and defect is something different.
-
So this is related to application.
-
Something is not working in our application
-
according to your expectation or your requirement
-
or customer requirement,
-
which is basically called as a bug or defect, okay?
-
And the third thing is a failure.
-
What is failure?
-
Suppose we develop some software,
-
we have tested and everything is working fine.
-
And finally, what you will do?
-
We will deliver the software to the customer.
-
And we have installed the software
-
in the customer environment,
-
and they started using the software.
-
And after a few days, then what happens?
-
There is something which is not working in the software, okay?
-
And something basically got failed, okay?
-
So whatever the customer wanted to do,
-
some transaction that is got failed.
-
So this is basically end user action, okay?
-
So the deviation identified by end user
-
while using the software,
-
the deviation identified by the end user
-
while working with the software is called as a failure.
-
Again, I'm repeating, error is a human mistake, okay?
-
While writing the program,
-
developer will do a lot of mistakes.
-
All these comes under the errors.
-
And while testing the software,
-
we are checking the functionality of our application,
-
whether it is working according
-
to customer requirement or not.
-
If something is not working
-
according to customer requirement,
-
which is comes under the bug or defect.
-
And after releasing the product to the customer
-
and the customer is using the software,
-
or as a user, I'm working with the software
-
in the real environment,
-
where I found some bugs,
-
where I found some mismatch,
-
where I found something is not working,
-
that is comes under the failure.
-
And the error normally committed by the developers,
-
bugs and defects will be identified by the testers
-
at the time of testing phase.
-
And failures will be there in the production environment.
-
Production means in the sense, customer environment.
-
And where if the customer is identified something
-
or which is not working properly,
-
that we can call it as a failure, okay?
-
So the basic difference between error,
-
bug or defect or failure.
-
Okay, just understand these technologies,
-
which is very, very important, okay?
-
So most frequently I use these terms,
-
a bug or defect, both are same,
-
but error is a different, failure is a different, okay?
-
So these are some basics guys.
-
So why the software has bugs?
-
Let me discuss one more point.
-
So why the software has bugs?
-
So far we are discussing like why, what is software?
-
What is software testing?
-
And why we need to conduct the testing, right?
-
But why the software has bugs?
-
So when I develop some software,
-
it contains some bugs, but why we should have bugs?
-
There are a lot of reasons out there.
-
Why the software is having bugs?
-
There are a lot of reasons.
-
The mainly five reasons guys.
-
The mainly three, five reasons we can say.
-
Why the software has bugs?
-
So why the software has bugs?
-
So mainly five reasons.
-
The first reason is miscommunication or no communication.
-
Means what?
-
There is no proper communication
-
between the developers and testers.
-
Means what?
-
Developer will develop something
-
and tester will expecting something else.
-
Or requirement is having some functionality
-
and developer is implemented or develop some other things,
-
some other functionality and tester is expecting something.
-
So there will be gap between the documentation,
-
development and testing.
-
So that is basically comes on the miscommunication
-
or no communication.
-
So that is causing the software bugs.
-
So the requirement should be very, very clear.
-
And according to the developer should develop the software.
-
And according to the tester also should test the software.
-
Everybody should be in the proper sync.
-
And then only we can deliver the quality product
-
to the customer.
-
If there is any miscommunication,
-
suppose developer is develop something
-
and which is not communicated with the testing team.
-
Then what happens?
-
Tester will think in different way
-
and they do their testing their own way.
-
And tester also needs some developer's input.
-
Even developer also needs some input from the testing.
-
So everybody in the team should communicate properly
-
and that can avoid the bugs in our software.
-
That is one major reason.
-
And the second reason is the complexity of the software.
-
Suppose the software is very complex.
-
It is almost three, four, five years project.
-
And so many people are working like N number of developers,
-
N number of testers, automation people,
-
so much complexities.
-
And N number of modules are there, sub-modules are there.
-
In that case also we can miss some bugs, okay?
-
Like integration testing, unit testing.
-
There are lot of testings we will conduct.
-
And somewhere we may miss something else.
-
So that is again causing the bugs in later stages.
-
So suppose in some cases in sometimes
-
even if the software is very complex,
-
there are some chances we have some bugs in our software.
-
And the third reason is programming errors.
-
And most of the times programming errors
-
in the sense it is a responsibility of the developers.
-
So developers will write the program,
-
but the program is working fine.
-
But whatever output is producing is not correct.
-
That comes out of the programming error.
-
So for example, developer has written a program
-
to add two numbers.
-
Let us say some example, what is programming error?
-
So developer is written some programming, some program.
-
And when I pass two inputs,
-
let's say I have passed the two numbers,
-
let's say two comma three.
-
And what is the output I'm expecting?
-
Two plus three, five I'm expecting, okay?
-
And this way the program is written the code.
-
But when I run the program, what happens?
-
When I pass this input, which is giving the output,
-
but something else,
-
let us say it is giving something called 10,
-
the program is running perfectly fine.
-
But whatever the output I'm getting
-
from the program is incorrect.
-
So why this is gone?
-
Why we are getting this incorrect error
-
because of programming error.
-
So the developers will take care of this programming errors.
-
Okay, so that is one thing.
-
And the next one is a frequently changing requirements.
-
This is a major cause.
-
So sometimes what happens is,
-
like initially the customer will give you
-
a few number of requirements, okay?
-
And okay, we have started,
-
we have understood all the requirement,
-
we have started development.
-
And in the middle of the development,
-
sometime again customer come back and change their requirement.
-
But initially they said something after some time
-
after developing or during the testing phase,
-
they'll come back and ask us to change some requirement.
-
And that is also causing the bugs.
-
And sometimes it may possible
-
or it may not be possible to change the application
-
according to their requirement.
-
So even if a customer requirements are frequently changing,
-
that is also sometimes causing the bugs.
-
And the last reason, lack of skilled testers.
-
If the tester doesn't have proper skill set,
-
definitely he will miss the bugs.
-
So if the tester is not identified the bugs,
-
then what happens?
-
That will go to the next level
-
and that will come again in the production.
-
The customer will face that bug, okay?
-
So that is a problem.
-
So the tester should have proper skill set.
-
That is very, very important.
-
And a tester should have a different mindset guys.
-
So especially for tester,
-
we need to always think about in the negative way.
-
So normally people are saying positive way,
-
we need to think, but here in the testing point of view,
-
always we have to think like,
-
we have to break the application.
-
Somewhere we need to find the application.
-
If you want to find the application,
-
if you want to find some bug,
-
then what you have to do,
-
we have to provide some invalid data.
-
Okay, we have to do some unwanted stuff in our application.
-
So then whether we are providing some data to the application,
-
how it is behaving,
-
whether it is behaving according
-
to customer requirement or not.
-
So that we need to test.
-
Always our focus should be on breaking the application.
-
Okay, so if everything is working fine,
-
there is no job for tester.
-
We have to break our application with our skill set.
-
So that is exactly software tester job.
-
Okay, so for that, we need to have proper skill set.
-
Very, very important.
-
Okay, so why is the software having bugs?
-
Mixed communication or new communication?
-
And because of software complexity
-
and sometimes programming errors also causing the bugs.
-
And if the requirements also keep on changing very frequently,
-
that is also causing the bugs.
-
And finally, lack of skilled testers.
-
If the testers doesn't have proper skills,
-
then definitely he will miss the bugs.
-
And those bugs will be faced by the customers.
-
And he will start frustrating by seeing those bugs
-
in the production environment.
-
Okay, so these are all very, very important things
-
before starting the testing.
-
And then we have something called SDLC, SDLC and so on.
-
So we will discuss these things in the next session.
-
Okay, so these are the basics guys.
-
Like we have understood what is software,
-
types of softwares and what is software testing,
-
what is software quality,
-
and what are the parameters of software quality
-
and project and product.
-
And why do we need software testing?
-
And we also understood the difference
-
between error, bug and failure.
-
And finally, we have understood why the software has bugs.
-
Okay, so in the next session,
-
we are going to discuss the rest of the topics.
-
And I'm just stopping here for today, guys.
-
Now, if you have any queries,
-
you guys can post in your chat window
-
or you guys can ask me.
-
Okay, and the rest of the things
-
will continue on tomorrow's session.
-
Just a moment.