Task-4
Published: 2024-02-27 16:18:26

**Manual Testing**
Software Testing is part of the Software Development Life Cycle. Manual Testing is a part of the Software Testing. A Tester tests software for defects without using any automated test tools. 
Manual Testing is a process in which test cases are executed manually without any automation tools. It helps in detection of defect, verification, and testing user scenarios from user perspective.
Manual Testing identifies defects and ensure software applications is free from defects and bugs.
Manual Tester creates and executes test cases, identifying and documenting defects and working closely with the development team to resolve issues.
**Water Fall Model** is best suited when there are defined requirements.
**Agile Methodology** is best suited when the requirements keeps changing or not standard.
1)	Plan
2)	Design
3)	Develop
4)	Test
5)	Release

**Software Testing Life Cycle**

1)	**Requirement Analysis**
a.	In requirement analysis tester checks and analyse the requirements of the document 
b.	The entry criteria , environment setup and deliverables are analysed
c.	Automation Feasibility report and requirement traceability is analysed
2)	**Test Planning**
a.	Based on the requirement specification test strategy and effort estimation will be planned
b.	Test plan document
3)	**Test Design**
a.	Defining the test technique, test scenario, test cases, test data and expected test results
4)	**Test Environment**
a.	Setting up the testing environment will be carried by the senior developers
5)	**Test Execution**
a.	Detailed test case execution and  the required test data
6)	**Defect Tracking**
a.	All the identified defects are recorded, reproduced and tracked
b.	After the defects is being fixed retesting will be done
c.	Test cycle closure
7)	**Test Reporting**
a.	This test cycle closure report includes all the documentation related to software design, development, testing results and defect reports


**Types of Manual Testing**


1)	**Black Box Testing**
     a.	Checking the functionality of the product
     b.	Checks only the front end of the product
2)	**White Box Testing**
     a.	Checking the codes of the product
     b.	Checks only the back end of the product
**Unit Testing**
       1.	Use to evaluate the performance of individual units of an application to confirm the functions work as expected
       2.	Performed by developers or QA Professionals
3) **Grey Box Testing**
        a.	It is a technique of combining white box and black box testing
        b.	It will be performed by developer and the specialized tester
**Integration Testing**
       a.	To evaluate an application with two or more components to check how it interacts with one another and how the process flow is completed.
	System Testing
a.	Used to evaluate the software performance from start to end of all unit and integration tests of how it performs.
**Usability Testing**
a.	Performed by non-technical or without prior knowledge of the software based on the usage and feedback.
**User Acceptance Testing**
a.	Performed by the end user to confirm that the software meets the required output and the user can perform all the required operations as per the specification

**Manual Testing Process**
1)	Understanding the software requirement
2)	Test Plan Creation
3)	Write Test cases which covers all the requirement of the document 
4)	Execute Test Cases
5)	Defect Logging
6)	Defect Fixing and Re verification
**Benefits**
Human Intelligence
Adaptability
Cost-Effective
Early Detection
Simplicity
Best suited for small projects
Testers can perform live testing even at customer site
Execute the test cases
While user acceptance testing is performed tester or the customer can perform the tests.
Any irrelevant happenings can be observed and noted and communicated
**Drawback**
Manual testing is time consuming
Manual Testing is expensive
Human errors can happen
Load Testing and Stress testing cannot be performed in single instance for long hours or continuous testing is not possible from a single tester at a stretch
If customer request to perform test at their site, it takes time and cost to perform it.

<u>**Examples**</u>
We want to check the working Function of the Login Button of a page 

**Requirement Analysis**
To Perform the Login Button function of the given Home page using Valid and Invalid username and password.
**<u>Test Scenario-1</u>**
1)	Checking Login Button on google chrome browser
2)	Checking Login Button on safari browser
**Test Case-1**
1)	Open google chrome and safari browser separately
2)	Input valid username in the user name field
3)	Input valid password in the password field
4)	Click the Login button
**Test Case-1 Input**
1)	User name = john and Password = I@john
**Test Case-2 Input**
1)	User name = genita and Password = I@john
**Test Case-1 Output**
1)	Login page should allow the user to login
**Test Case-2 Output** 
1)	Login Page should allow the user to login
**Test Case-1 Result**
1)	If the Login button accepts user Test Case Pass
2)	If the Login button does not accept, Test Case Fail
**Test Case-2 Result**
1)	If the Login button accepts user  Test Case Pass
2)	If the Login button does not accept, Test Case Fail


**<u>Test Scenario-2</u>**
1)	Checking Login Button on google chrome browser
2)	Checking Login Button on safari browser
**Test Case-1**
1)	Open google chrome and safari browser separately
2)	Input Invalid username in the user name field
3)	Input valid password in the password field
4)	Click the Login button
**Test Case-1 Input**
1)	User name = Jesintha and Password = I@john
**Test Case-2 Input**
1)	User name = Alex and Password = I@john
**Test Case-1 Output**
1)	Login page should disallow the user
**Test Case-2 Output** 
1)	Login Page should  disallow the user 
**Test Case-1 Result**
1)	If the Login button accepts user Test Case Fail
2)	If the Login button does not accept, Test Case Pass
**Test Case-2 Result**
1)	If the Login button accepts user  Test Case Fail
2)	If the Login button does not accept, Test Case Pass