What Is Manual Testing 3
What Is Manual Testing 3
This process ensures that the application can handle all exceptional and boundary
cases, providing a robust and reliable user experience. By systematically
identifying and fixing issues, software testing helps deliver high-quality software
that performs as expected in various scenarios.
MANUAL TESTING
Manual testing is a type of testing in which we do not use any tools (automation) to
perform the testing. 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 testing because humans do it and there is a chance of human errors.
• The tester executes test cases and generates test reports without any help from the
automation tools.
Easy hiring: In manual testing, anyone can test so it helps in easy hiring.
Fast feedback: Manual testing helps to provide fast and accurate feedback.
Versatile: Manual test cases can be applied to many test cases.
Flexible: Manual testing is flexible as it can adapt easily to changes in the
user interface.
Less expensive: Manual testing is less expensive as one does not need to
spend a budget on automation tools and processes.
Not all defects detected: In manual cases, there is no assurance that there
will be 100% test coverage as a result some of the defects may not be
detected.
High expertise: Although manual testing can be done by anyone, in some
complex cases high expertise is required.
Lots of time: Manual testing times extensive activity. It requires a lot of time
to manually develop test cases so that all the functionalities are covered and
tested.
Cannot be recorded: Manual testing process cannot be recorded so it is not
possible to reuse the manual test cases.
Less reliable: Manual testing is less reliable as it is conducted by humans
and all test cases are designed by humans so there are chances for human
error.
TYPES OF MANUAL TESTING
1. Functional Testing: Verifies that the software functions as specified.
2. Non-Functional Testing: Evaluates performance, usability, compatibility,
and security.
3. Black Box Testing: Tests without knowledge of internal code or
architecture.
4. White Box Testing: Tests with knowledge of internal code or architecture.
5. Gray Box Testing: Combination of black box and white box testing.
FUNCTIONAL TESTING
It is a type of software testing which is used to verify the functionality of the
software application, whether the function is working according to the requirement
specification. In functional testing, each function tested by giving the value,
determining the output, and verifying the actual output with the expected value.
Functional testing performed as black-box testing which is presented to confirm
that the functionality of an application or system behaves as we are expecting. It is
done to verify the functionality of the application.
For example, non-functional testing would be to test how many people can work
simultaneously on any software.
In this method, tester selects a function and gives input value to examine its
functionality, and checks whether the function is giving expected output or not. If
the function produces correct output, then it is passed in testing, otherwise failed.
The test team reports the result to the development team and then tests the next
function. After completing testing of all functions if there are severe problems,
then it is given back to the development team for correction.
1. Independent testing.
2. Focus on user perspective.
3. No bias towards internal implementation.
4. Cost-effective.
DISADVANTAGES
The box testing approach of software testing consists of black box testing and
white box testing. We are discussing here white box testing which also known as
glass box is testing, structural testing, clear box testing, open box testing and
transparent box testing. It tests internal coding and infrastructure of a software
focus on checking of predefined inputs against expected and desired outputs. It is
based on inner workings of an application and revolves around internal structure
testing. In this type of testing programming skills are required to design test cases.
The primary goal of white box testing is to focus on the flow of inputs and outputs
through the software and strengthening the security of the software.
The term 'white box' is used because of the internal perspective of the system. The
clear box or white box or transparent box name denote the ability to see through
the software's outer shell into its inner workings.
Developers do white box testing. In this, the developer will test every line of the
code of the program. The developers perform the White-box testing and then send
the application or the software to the testing team, where they will perform
the black box testing and verify the application along with the requirements and
identify the bugs and sends it to the developer.
The developer fixes the bugs and does one round of white box testing and sends it
to the testing team. Here, fixing the bugs implies that the bug is deleted, and the
particular feature is working fine on the application.
White Box Testing Techniques:
Advantages
Disadvantages
Greybox testing is a software testing method to test the software application with
partial knowledge of the internal working structure. It is a combination of black
box and white box testing because it involves access to internal coding to design
test cases as white box testing and testing practices are done at functionality level
as black box testing.
Disadvantages
Manually when testers write the test cases and execute them repeatedly, known as
manual testing, which is time-consuming and the test results are not sure. So to
recover these drawbacks, automation testing came into existence. With automation
testing, developers or testers keep everything in their hands, boosting the product's
productivity.
Unit testing involves the testing of each unit or an individual component of the
software application. It is the first level of functional testing. The aim behind unit
testing is to validate unit components with its performance.
A unit is a single testable part of a software system and tested during the
development phase of the application software.
The purpose of unit testing is to test the correctness of isolated code. A unit
component is an individual function or code of the application. White box testing
approach used for unit testing and usually done by the developers.
Whenever the application is ready and given to the Test engineer, he/she will start
checking every component of the module or module of the application
independently or one by one, and this process is known as Unit
testing or components testing.
Advantages
1. Early Defect Detection: Unit testing helps detect defects early in the
development cycle.
2. Improved Code Quality: Unit testing ensures code is testable, maintainable,
and follows best practices.
3. Reduced Debugging Time: Unit tests identify issues quickly, reducing
debugging time.
4. Faster Development: Unit testing enables faster development by reducing
time spent on debugging.
5. Confidence in Code: Unit tests provide confidence in code's functionality.
6. Easier Maintenance: Unit tests make it easier to maintain and refactor code.
7. Reduced Fear of Change: Unit tests reduce fear of changing code.
8. Improved Design: Unit testing promotes good design principles.
Disadvantages:
1. Initial Investment: Creating unit tests requires initial investment of time and
resources.
2. Test Maintenance: Unit tests require maintenance as code changes.
3. Complexity: Unit testing complex systems can be challenging.
4. Mocking Dependencies: Mocking dependencies can be difficult.
INTEGRATION TESTING
Regression testing is a black box testing techniques. It is used to authenticate a
code change in the software does not impact the existing functionality of the
product. Regression testing is making sure that the product works fine with new
functionality, bug fixes, or any change in the existing feature.
Regression testing is a type of software testing. Test cases are re-executed to check
the previous functionality of the application is working fine, and the new changes
have not produced any bugs.
Regression tests are also known as the Verification Method. Test cases are often
automated. Test cases are required to execute many times and running the same
test case again and again manually, is time-consuming and tedious too.
Advantages:
Disadvantages:
As with the other activities in the software lifecycle, testing has its own unique
challenges. As software systems become more and more complex, the importance
of effective, well planned testing efforts will only increase.
REFERENCE
www.https:\\javatpoint.com
www.https:\\geeksforgeeks.com
www.https:\\okepy.com