Manual Testing is the process of manually executing test cases without using automation tools to find defects in a software application.
Manual Testing is performed by humans without tools, while Automation Testing uses scripts and tools to automate the execution of test cases.
Key stages include: Requirement analysis, Test planning, Test case development, Test environment setup, Test execution, and Test closure.
A test case is a set of conditions or steps to validate the functionality of a specific feature or part of the software.
Exploratory Testing involves testers actively exploring the software without predefined test cases, identifying issues through exploration and experimentation.
Error: A mistake made by a developer.
Defect: A flaw found by testers.
Bug: An error or defect that causes unexpected behavior in software.
Black Box Testing focuses on testing the software's functionality without knowing the internal code or structure.
White Box Testing involves testing the internal logic and structure of the code. Testers must have knowledge of the codebase.
Regression Testing ensures that recent code changes do not affect existing functionality.
UAT is the final testing phase, where the end-users test the system to verify that it meets their needs and requirements before going live.
Functional Testing: Validates the system’s functionality against the requirements.
Non-Functional Testing: Checks performance, usability, reliability, etc.
A Test Plan is a detailed document that outlines the test strategy, objectives, resources, schedule, and scope of testing activities.
A Test Scenario is a high-level description of what should be tested, focusing on one or more functionalities of the application.
Smoke Testing is a preliminary test to ensure the basic functionality of an application is working after a build or release.
Sanity Testing is a narrow regression test that checks specific functionality after minor changes to ensure everything works as expected.
A Test Case Template typically includes test case ID, description, preconditions, test steps, expected result, actual result, and pass/fail status.
It allows testers to catch usability and user-experience-related issues, adapt easily to changes, and test scenarios that require human intuition.
Severity: Indicates the impact of a defect on the system.
Priority: Determines the urgency with which the defect should be fixed.
Ad-hoc Testing is informal, unstructured testing conducted without any formal planning or documentation, often to find unexpected issues.
End-to-End Testing validates the complete functionality of an application from start to finish, covering the entire workflow.