TASK - 4
Published: 2024-02-06 10:52:39

Q:What is Manual testing? What are the benefits and drawbacks of manual testing ? Give some examples in support of your answer ?
A: Manual testing is a software testing approach where testers execute test cases without without the use of automated tools. Testers simulate end user interactions with the software to ensure that it behaves as expected under various conditions. Manual testing is a crucial part of the testing process, often complementing automated testing.
Manual testing is done to identify issues/errors/bugs  and other flaws. As the name implies humans do the work no automated tools are being used. Interacting with the product or the service from the users prospective developers and testers look for what is working and what is not. In a way testers are comparable to hackers because they run the application through its paces and try to break it to see how it responds.

Benefits of manual testing :-
1. Flexibility and Adaptability : Manual testing allows testers to adapt quickly to changes in requirements or design, making it suitable for agile development environments
2. Exploratory testing : Testers can perform exploratory testing to uncover unexpected issues and provide valuable insights into the users experience.
3. User Focused : Manual testing is effective in evaluating the user interface, user experience and overall usability of the software.
4. Cost effective for short term projects: In some cases manual testing may be more cost effective for short term projects or projects with frequent changes.
5. Early deduction of usability issues : Testers can identify usability issues and make suggestions for improvement based on their experience during manual testing.

Drawbacks of manual testing:- 
1. Time consuming and repetitive: Manual testing can be more time consuming and monotonous, especially for repetitive test cases, leading to the potential for human errors.
2. Limited scalability : It may not practical for large scale or complex projects due to time and resource constraints.
3. subjectivity : Tester subjective judgment may introduce variability in test results, and the interpretation of results can be influenced by individual perspective.
4. Inefficiency in regression testing : For regression testing, where same tests are repeated after code changes, manual testing may be less efficient that automated testing.

Examples of Manual testing :-
1. Exploratory testing : Testers explore the application to identify the defects and gain better understanding of its behavior.
2. User Interface testing : Evaluating the visual aspects, layout and design of the software to ensure it meets usability standards.
3. Usability testing : Assessing how user-friendly and intuitive the software is from an end user perspective.
4. Ad-hoc testing : Informal testing performed without predefined test cases to uncover unexpected issues.
5. Acceptance testing : Validating that the software meets user requirements and is ready for acceptance by stakeholders.

Types of manual Testing are listed below :-

1. Black Box testing : Testers do Black Box testing, For checking the functionality of the application based on the known requirements. Here tester is not looking at code, but user behavior patterns.
2. White Box testing : Is is also called transparent box/Glass box testing, White box testing shows the tester the structure and the code of the application. Developers, Not software testers, Often white box testing, Checking each line of code before passing it on to a testing engineer. Developers use testing techniques such as branch testing, control flow testing, data flow testing decision coverage, path testing and statement coverage.
3. Gray Box testing : Black added to white results in gray. similarly, Gray box testing is a combination black and white box testing. Gray box testing identifies bugs and the effects that arise due to structural issues or improperly using the application.
4. Acceptance testing : This process determines whether the software system meets the required specifications. The test evaluates compliance with business requirements and whether the products meets the criteria needed for delivery of end users.
5. Integration Testing: Is the stage when developers test whether different application modules can work together.
6.System testing : is a sub set of black box testing. It evaluates the complete system's compliance against the specified requirements. The team tests the functionalities from an end-to-end perspective.