0% found this document useful (0 votes)
4 views

Types of Testing

The document provides an overview of manual and automation testing techniques, detailing various types of testing such as white box, black box, and gray box testing. It further categorizes testing into functional and non-functional types, explaining specific methods like unit testing, integration testing, and performance testing. The document emphasizes the importance of each testing type in ensuring software quality and functionality.

Uploaded by

sugunamithun1981
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Types of Testing

The document provides an overview of manual and automation testing techniques, detailing various types of testing such as white box, black box, and gray box testing. It further categorizes testing into functional and non-functional types, explaining specific methods like unit testing, integration testing, and performance testing. The document emphasizes the importance of each testing type in ensuring software quality and functionality.

Uploaded by

sugunamithun1981
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

1.

Manual Testing

Manual testing is a technique to test the software that is carried out using
the functions and features of an application. In manual software testing, a
tester carries out tests on the software by following a set of predefined
test cases. In this testing, testers make test cases for the codes, test the
software, and give the final report about that software. Manual testing is
time-consuming because it is done by humans, and there is a chance of
human errors.

2. Automation Testing
Automated Testing is a technique where the Tester writes scripts on
their own and uses suitable Software or Automation Tool to test the
software. It is an Automation Process of a Manual Process. It allows for
executing repetitive tasks without the intervention of a Manual Tester.

Types of Manual Testing


1. White Box Testing
2. Black Box Testing
3. Gray Box Testing

1. White Box Testing


White box testing techniques analyze the internal structures the used data
structures, internal design, code structure, and the working of the software
rather than just the functionality as in black box testing. It is also called
glass box testing clear box testing or structural testing. White Box Testing
is also known as transparent testing or open box testing.
White box testing is a software testing technique that involves testing the
internal structure and workings of a software application. The tester has
access to the source code and uses this knowledge to design test cases
that can verify the correctness of the software at the code level.

2. Black Box Testing


Black-box testing is a type of software testing in which the tester is not
concerned with the internal knowledge or implementation details of the
software but rather focuses on validating the functionality based on the
provided specifications or requirements.

3. Gray Box Testing


Gray Box Testing is a software testing technique that is a combination of
the Black Box Testing technique and the White Box Testing technique.
1. In the Black Box Testing technique, the tester is unaware of the
internal structure of the item being tested and in White Box Testing the
internal structure is known to the tester.
2. The internal structure is partially known in Gray Box Testing.
3. This includes access to internal data structures and algorithms to
design the test cases.

Types of Black Box Testing


1. Functional Testing
2. Non-Functional Testing

1. Functional Testing
Functional Testing is a type of Software Testing in which the system is
tested against the functional requirements and specifications. Functional
testing ensures that the requirements or specifications are properly
satisfied by the application. This type of testing is particularly concerned
with the result of processing. It focuses on the simulation of actual system
usage but does not develop any system structure assumptions. The
article focuses on discussing function testing.

2. Non-Functional Testing
Non-functional Testing is a type of Software Testing that is performed to
verify the non-functional requirements of the application. It verifies
whether the behavior of the system is as per the requirement or not. It
tests all the aspects that are not tested in functional testing. Non-
functional testing is a software testing technique that checks the non-
functional attributes of the system. Non-functional testing is defined as a
type of software testing to check non-functional aspects of a software
application. It is designed to test the readiness of a system as per
nonfunctional parameters which are never addressed by functional
testing. Non-functional testing is as important as functional testing.

Types of Functional Testing


1. Unit Testing
2. Integration Testing
3. System Testing
4. End-to-end Testing
5. Acceptance testing

1. Unit Testing
Unit testing is a method of testing individual units or components of a
software application. It is typically done by developers and is used to
ensure that the individual units of the software are working as intended.
Unit tests are usually automated and are designed to test specific parts of
the code, such as a particular function or method. Unit testing is done at
the lowest level of the software development process , where individual units
of code are tested in isolation.
2. Integration Testing
Integration testing is a method of testing how different units or components
of a software application interact with each other. It is used to identify and
resolve any issues that may arise when different units of the software are
combined. Integration testing is typically done after unit testing and before
functional testing and is used to verify that the different units of the
software work together as intended

3. System Testing
System testing is a type of software testing that evaluates the overall
functionality and performance of a complete and fully integrated software
solution. It tests if the system meets the specified requirements and if it is
suitable for delivery to the end-users. This type of testing is performed
after the integration testing and before the acceptance testing.

4. End-to-end Testing
End-to-end testing is the type of software testing used to test entire
software from starting to the end along with its integration with external
interfaces. The main purpose of end-to-end testing is to identify system
dependencies and to make sure that the data integrity and communication
with other systems, interfaces and databases to exercise complete
production.

5. Acceptance Testing
It is formal testing according to user needs, requirements, and business
processes conducted to determine whether a system satisfies the
acceptance criteria or not and to enable the users, customers, or other
authorized entities to determine whether to accept the system or not.

Types of Integration Testing


1. Incremental Testing
2. Non-Incremental Testing
1. Incremental Testing
Like development, testing is also a phase of SDLC (Software
Development Life Cycle) . Different tests are performed at different stages
of the development cycle. Incremental testing is one of the testing
approaches that is commonly used in the software field during the testing
phase of integration testing which is performed after unit testing. Several
stubs and drivers are used to test the modules one after one which helps
in discovering errors and defects in the specific modules.
There are 2 Types of Incremental Testing
1. Top-down Integration Testing
2. Bottom-up Integration Testing

1. Top-down Integration Testing


Top-down testing is a type of incremental integration testing approach in
which testing is done by integrating or joining two or more modules by
moving down from top to bottom through the control flow of the
architecture structure. In these, high-level modules are tested first, and
then low-level modules are tested. Then, finally, integration is done to
ensure that the system is working properly. Stubs and drivers are used to
carry out this project. This technique is used to increase or stimulate the
behavior of Modules that are not integrated into a lower level.

2. Bottom-up Integration Testing


Bottom-up Testing is a type of incremental integration testing approach in
which testing is done by integrating or joining two or more modules by
moving upward from bottom to top through the control flow of the
architecture structure. In these, low-level modules are tested first, and
then high-level modules are tested. This type of testing or approach is
also known as inductive reasoning and is used as a synthesis synonym in
many cases. Bottom-up testing is user-friendly testing and results in an
increase in overall software development. This testing results in high
success rates with long-lasting results.

Types of Non-functional Testing


1. Performance Testing
2. Usability Testing
3. Compatibility Testing
1. Performance Testing
Performance Testing is a type of software testing that ensures software
applications perform properly under their expected workload. It is a testing
technique carried out to determine system performance in terms of
sensitivity, reactivity, and stability under a particular workload.

2. Usability Testing
You design a product (say a refrigerator) and when it becomes completely
ready, you need a potential customer to test it to check it working. To
understand whether the machine is ready to come on the market,
potential customers test the machines. Likewise, the best example of
usability testing is when the software also undergoes various testing
processes which is performed by potential users before launching into the
market. It is a part of the software development lifecycle (SDLC).
3. Compatibility Testing
Compatibility testing is software testing that comes under the non functional
testing category, and it is performed on an application to check its
compatibility (running capability) on different platforms/environments. This
testing is done only when the application becomes stable. This means
simply this compatibility test aims to check the developed software
application functionality on various software, hardware platforms,
networks browser etc. This compatibility testing is very important in
product production and implementation point of view as it is performed to
avoid future issues regarding compatibility.

You might also like