Saturday 14 April 2018

What is Manual Testing and what are the types of Testing?

Testing the functionality of the application repeatedly or again and again
manually in order to find the defect in the software according to the customer
requirement is called as Manual Testing.

Why do we do manual testing/what is the importance of doing manual
testing?

(i).In order to give quality software to the customer, we perform manual
testing
(ii).Automation testing we should perform only if the software is stable
i.e automation testing can be performed only when all the basics functionality
of the application/software is working fine from customer business point of
view and stability of the application can be checked only from manual testing.
 (iii).By using automation testing it is not possible to cover all the random/
negative scenarios of the application

What are the disadvantages of manual testing?

 (i).It takes time to test the application/Software manually i.e it is time-
consuming
 (ii).It is a tedious job since we test the software again and again
 (iii).Manual testing requires the presence of the tester but automation
testing doesn't require a person to be present

What are the different types of testing?



*Made by me using Paint


Verifying the functionalities of an application against the requirement is
called as Black box Testing.

Black box testing is performed by test engineers.

Testing each and every component of an application or software thoroughly
and rigorously against the requirement specification is called as Component
testing.
It is also called as functional testing and module testing.
Eg:
Text Field        
 Text Area Field
 Radio button
 Links
 Scrolling
 Major tab
 Minor tab
 Hover over
 Breadcrumb
 Buttons
 Drop down
 Widget
 Checkbox
 Placeholder
Note: Adding photos for better understanding





Thoroughly meaning as testing each and every field by entering all possible
inputs against requirement specification.

Rules to follow while doing functional testing:-
1. Always we should do positive functional testing first
2. If the application is working fine for positive/valid data than only do for
invalid data, suppose if the application is not working for positive data than
don't do for invalid data.
3. If the application is not working for one invalid data then don't stop testing
try to find more no of defects
4. We should always do optimized testing i.e for both valid and invalid data
5. As a test engineer, we are not allowed to assume or propose any requirement,
whenever we have doubt we have to get the doubts clarify from the person who
is having good product knowledge.

Types of Components testing:-
1.Over Testing
Testing the functionalities of an application by entering the same scenarios in
different ways is called as Over Testing.
The other name for over testing is Exhaustive testing
Eg: There is one text field in which you just need to find whether it is accepting
decimal value or not
so you started testing it for the input9.6 and it is accepting
then to make yourself sure you are performing it for multiple values like
9.6,9.66,9.666,9.06,0.22,0.00075
So basically you are testing the same scenario in different ways is called as over
testing.

2.Under Testing
Testing the functionalities if an application by entering an insufficient set of
values is called as Under Testing.
Eg: There is one text field which accepts only alphabets
so you started testing it for the input
LAKHAN ->accepting
then you tried for alphanumeric
LAKHAN1710->not accepting
and later you said testing is done for that component.
but in reality, you missed checking what will happen if you give black value
and do submit, what will happen if you give alphanumeric with special
characters,only special characters, only numeric digit because of which it
is called as Under Testing.
3. Optimized Testing
Testing the functionalities of an application by entering data or scenarios which
make sense is called as Optimize testing.
Here we will do both positive testing and negative testing, we will not miss any
scenarios or data, we will not do the repetitive work and time wastage will not
be there.
There are two types of Optimized testing:-
 a) Positive Testing
 Testing the functionalities of an application by entering expected data or valid
data according to the requirements is called as Positive testing
 b) Negative Testing
 Testing the functionalities of an application by entering unexpected data or
invalid data which is not according to the requirement is called as positive
testing.

Testing the data flow or interface between two or more modules is called as
Integration testing.

Eg:

Before doing Integration testing we should know the following things:-
 a) Complete knowledge of the project
 b) Knowledge about how different modules are related to each other

Types of Integration Testing:-
(i). Incremental Integration Testing
(ii). Non-Incremental Integration Testing

Incrementally adding the modules and testing the data flow between the
modules is called as Incremental Integration Testing.
These are of two types-
(i). Top-down incremental integration testing
(ii). Bottom-up incremental integration testing
Incrementally adding the modules and testing the data flow between the
modules and ensure that the module which we are adding is the child of the
previous module is called as top-down incremental integration testing.

Incrementally adding the modules and testing the data flow between the
modules and ensure that the module which we are adding is the parent of the
previous module is called as bottom-up incremental integration testing.

Combination of Top-down incremental integration testing and bottom-up
incremental integration testing is called as sandwich testing.
Combining all the modules in one shot and testing the data flow between
the modules are called as Non-Incremental Integration Testing.It is also
called as Big Bang method.
When we don't know which is the parent module and which is the child
module and when the data flow between the modules is difficult to find that
time we go for Non-Incremental Integration Testing.
Drawbacks of Non-Incremental Integration Testing:-
1. We might miss testing the data flow between few modules.
2. We might test the same module, again and again, result in time wastage.
3. If we are getting some defect we will not get to know the root cause of the
defect.

It is an end to end testing wherein a testing server is similar to a production
server is called as System Testing.
End to end testing: Navigating through all the modules/features and check
whether end feature or last feature is working expected or not.


Acceptance Testing is an end to end testing done by end user or customer
where in they use the software for real-time business for a particular period of time
and they check whether the software is able to handle real time business
scenarios and situtaion.
It is also called as User acceptance testing(UAT) and also final acceptance
testing(FAT).
Since it is also the final stage of testing, it is also called as Red box testing.


Testing the basics and critical features of an application before doing through
or rigorous testing is called as Smoke Testing.
Other names of Smoke testing are Sanity testing,Skim testing,Positive testing,
Build verification testing,Dry run testing,Confident testing and Health check
of the product.


Testing the functionalities of an application without looking into the
requirement is called as Adhoc Testing.
Other names for Adhoc testing is monkey testing, gorilla testing and
random testing.
Types of Adhoc Testing:-
a). Test Engineers will test the application without applying any logic
like a monkey or gorilla
b). Test Engineers will come up with creative scenarios and test the application.


Testing the unchanged features of an application to make sure that changes
like adding the features,removing the features,modifying the feature and
fixing defect is not affecting the existing features of an application is called
as Regression Testing.


Regression testing is of three types-
a) Unit Regression: Testing only the modified or changes done by the
developer is called as Unit Testing.
b) Regional Regression: Testing only the changes and the impacted
areas is called as Region Regression Testing.

c) Full Regression Testing: Testing the changes and all the features
of an application is called as Full regression testing.

Understanding the application,Identifying all possible scenarios and
documenting the identified scenarios then testing the application by referring
the document is called as Exploratory Testing.


Alpha testing is performed by test engineers before releasing the software in
the market, It mainly consist of three types:-
a) Pre alpha- In this test engineers test all the features of the application at
the high level and they just test whether product is eligible for next level of
testing.
b) Alpha- In this test engineers do thorough and rigorous testing i.e
Component testing,integration testing and system testing.
c) Post alpha-In post alpha testing requirements will be freeze and
developer will be fixing the defect and tester will be testing the defects.


Beta Testing is a type of testing done by the end user or customer after
releasing he software in the market.
Here customers can download the free version of the software  and if they
find any problem they can report it to the company, Company will fix that
defect and release the new software,this time again a customer will use the
software and if the customer is confident about the software they can buy the
licensed version of the software.


Gamma Testing is a type of testing while is done after beta testing before the
commercial release of the software.


The terms alpha, beta and gamma testing is mainly used by the product based
companies.


Testing the stability and response time of an application by applying load
is called as Performance Testing.
Ability to withstand the designed number of users is called as stability.
Time taken to send the request to the server, run the request in the server
and receive the response back from the server is called as Response
Time.
No of users using the application at the same time is called as Load.


Performance testing are of five types-
a) Load Testing
b) Stress Testing
c) Scalability Testing
d) Volume Testing
e) Soak Testing


Load Testing: Testing the stability and response time of an application by
applying load which is equal to or less than designed no of users is called as
Load Testing.
Stress Testing:Testing the stability and response time of an application by
applying load which is more than designed no of users is called as Stress
Testing.
Scalability Testing:Testing the stability and response time of an application
by applying load which is more than designed no of users and here we try to
find out the break point or where the software crashes is called as Scalability
Testing.
Volume Testing: Testing the stability and response time of an application by
transferring huge amount of data is called as Volume Testing.
Soak Testing: Testing the stability and response time of an application by
applying load continuously for a particular period of time is called as Soak
Testing.
Soak testing is also called as Endurance testing.


Testing the user-friendliness of an application is called as Usability Testing.
Based on the below criteria we can decide the friendliness of an application-
a). Should be easy to Access
b). Easy to understand
c). Easy Language
d). Proper help text message should be present eg: placeholder
e). Proper error message whenever a user enters wrong values/Data

f). Navigation and look and feel of an application should be simple

Testing the functionalities of an application in different software and hardware
environment is called as Compatability Testing.

Developing the software for multiple languages is called as Globalization and
testing the software which is developed for multiple languages is called as
Globalization Testing.
Globalization testing is of two types:-
a) Internationalization Testing(L18N)
b) Localization Testing(L10N)
Testing the software for different languages or multiple languages is called
as L18N Testing.


Testing the software according to the country standard or country culture is
called as L10N Testing.
Other names of L10N Testing is format testing.
Types of L10N testing:-
(i). Currency format testing: Here we should do the testing according to the
 country's currency.
eg: $
(ii). Image format testing: Here we check whether an image is displayed
according to the country standrad.
eg:national flag
(iii). Time format testing: Here we check the time format of the country.
eg:DD/MM/YY,YY/MM/DD etc
(iv). Pincode format testing: Here we check whether pincode is diplayed
 according to the country standard or not.
eg: some country will have five digit pincode, some will have six digit pin
code.

Testing the functionalities of an application continuously for a particular
period of time is called as Reliability Testing.
Eg: If you are using a cellphone for more than 2 hours continously and
if starts to hang that means company has not done proper realibility testing.


Testing the application to check how well the application recover from
disastor or crashes is called as Recovery Testing.
Eg: You are using a browser,in which you are using ten different multiples
tab, each tab consisting of different websites and then suddenly battery
became zero and mobile turned off. After chraging the mobile when you
open the same browser if all the ten tabs are displayed that means company
has done proper recovery testing else no company has not done proper
recovery testing.

In comparison testing we will compare the new product with the old product or
competitive product which is already present in the market and we check the
strength,weakness,advantages and disadvantages of the new product with the
old product and we ensure that all the features are incorporate and this is
called as Comparison Testing.
Eg:Uber-Ola,Flipkart-Amazon etc


Testing the warning messages of an application is called as Yellow Box Testing.
Eg:battery low


When the software or application is migrated from one technology to other
technology and one database to another database then we perform Migration
Testing,here we will test the new build is working fine  with old customer
data and also we need to make sure it is working fine for end to end
customer workflow for new customer data.As a part of the migration
testing we will perform component testing,integration testing and system
testing.
Eg:Let's think earlier some company was providing an application to its user
to book hotel,the application was used only by windows devices but now
company want that software to be available only in Android devices. In that
case company need to perform migration testing since technology has
changed.


Formal Testing: Testing the application by following the standard procedure
or guidelines or documents is called as Formal Testing.
Here we will be having test plan document, test case document, test scenarios
a document which will be reviewed by team lead or manager or stack holder or
customers.
Informal Testing: Testing the application without following any standard
procedure or guidelines procedure or document is called as Informal Testing.

Here there will be no test plan document, test case document, test scenarios
document and there will be no reviews of any document is called as Informal
Testing