Manual Testing :
Manual Testing is the process of manually executing test cases without the use of automated tools. In this type of testing, a tester plays the role of an end user and verifies that all features of the application are working correctly. Testers use test plans, test cases, or test scenarios to perform these tests.
Benefits of Manual Testing
Flexibility:
Testers can easily adjust test cases and approaches based on real-time results.
Allows for ad-hoc testing, which can identify defects not anticipated in the test cases.
Cost-Effective for Small Projects:
Initial setup costs are lower compared to automated testing.
Suitable for projects with a small number of test cases or short duration.
Usability Testing:
Manual testing is essential for evaluating the user-friendliness and user experience of an application.
Human testers can provide valuable feedback on the application’s look and feel.
Drawbacks of Manual Testing
Time-Consuming:
Executing tests manually can be very time-consuming, especially for large and complex applications.
Repetitive testing (regression tests) can be tedious and error-prone.
Not Suitable for Repetitive Tasks:
Manual testing is not ideal for tasks that require repeated execution, as it increases the risk of human error and oversight.
Limited Scope:
Manual testing might not cover all possible test scenarios, especially for complex applications.
Some defects may be missed due to human limitations.
Inconsistent Results:
Results may vary depending on the tester’s skill, experience, and understanding of the application.
Lack of consistency can lead to unreliable test outcomes.
Examples Supporting Manual Testing
Example : Exploratory Testing
Scenario: A tester is exploring a newly developed e-commerce website.
Process:
The tester navigates through various product categories.
Adds items to the cart.
Proceeds to checkout.
Tries to apply different discount codes.
Completes the purchase.
Outcome:
During this process, the tester might discover usability issues like unclear navigation, slow page load times, or issues with the payment gateway that were not anticipated in the initial test cases.
Example : Usability Testing
Scenario: A team is testing the user interface of a new mobile banking app.
Process:
Testers interact with the app to evaluate its ease of use.
They assess the intuitiveness of navigation, clarity of instructions, and the overall user experience.
Feedback is collected on visual design, button sizes, and the flow of tasks (e.g., transferring money, checking account balance).
Outcome:
The testers might find that the login process is too complicated or that certain features are hard to locate, which would not be as easily identified through automated testing.
Example : Ad-hoc Testing
Scenario: A tester is performing ad-hoc testing on a social media platform's new feature release.
Process:
Without a predefined plan, the tester randomly interacts with the new feature.
For example, posting a status update, tagging friends, uploading photos, and checking notifications.
Outcome:
This spontaneous testing can reveal unexpected issues such as failure to upload images under certain conditions or incorrect notifications, providing quick insights into potential defects.
Example : Regression Testing
Scenario: After fixing a reported bug in a financial software application, regression testing is performed.
Process:
The tester re-tests the specific functionality where the bug was found.
They also test related functionalities to ensure the bug fix did not introduce new issues.
For example, after fixing a bug in the tax calculation module, the tester checks other related modules like expense tracking and invoice generation.
Outcome:
The tester ensures that the original issue is resolved and verifies that no new bugs were introduced, ensuring the overall stability of the application.
Example : Compatibility Testing
Scenario: Testing a web application across different browsers and devices.
Process:
A tester manually accesses the web application on multiple browsers (Chrome, Firefox, Safari, Edge).
The tester also checks the application on various devices (desktops, tablets, smartphones) with different operating systems (Windows, macOS, Android, iOS).
Outcome:
The tester identifies compatibility issues, such as layout discrepancies, functionality problems, or performance issues, which might be missed by automated tests that simulate environments.
Top comments (0)