Manual Testing
Manual Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Agenda
In this session, we will discuss:
● Introduction to Software
● Process Overview
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Introduction to Software
● Software refers to a collection of data or computer
instructions that instruct the computer on how to work.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types to Software
Operating Systems:
● Microsoft Windows (Windows 10, Windows 11)
● macOS
● Linux distributions (Ubuntu, Fedora, CentOS)
● Android
● iOS
Office Suites:
● Microsoft Office (Word, Excel, PowerPoint, Outlook)
● LibreOffice (Writer, Calc, Impress)
● Google Workspace (Docs, Sheets, Slides)
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types to Software
Web Browsers:
● Google Chrome
● Mozilla Firefox
● Microsoft Edge
● Apple Safari
Media Players:
● VLC Media Player
● Windows Media Player
● iTunes
● Spotify
● MX Player
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types to Software
Graphics and Design:
● Adobe Photoshop
● Adobe Illustrator
● CorelDRAW
● GIMP
● Autodesk AutoCAD
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Testing Phase in SDLC
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
SDLC
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Static Testing method
Static Testing (Verification)
● Static testing involves the examination of the software's
documentation and configuration without actually
executing the code.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Activities involved in Static Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Activities involved in Static Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of Static Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Dynamic Testing (Validation)
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Dynamic Testing method
Dynamic Testing (Validation)
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Activities involved in Dynamic Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Activities involved in Dynamic Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of Dynamic Testing
• Identifies issues that may not be detectable through static testing, such
as runtime errors and concurrency issues.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Manual Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Manual Testing
● Manual testing is a process in which a tester manually
operates a software application to detect any defects or
bugs, without the assistance of automated testing tools.
● It involves the tester playing the role of an end user and
using most of the application's features to ensure
correct behavior.
● Manual testing is critical for ensuring the software is
user-friendly and for discovering usability issues that
automated tests might overlook.
● It allows for more ad-hoc (exploratory) testing where
the tester's experience, intuition, and understanding of
the application guide the testing process, rather than
pre-defined test scripts.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Need for Manual Testing
• Human Insight: Manual testing is performed by human testers who can
observe, judge, and evaluate the software in ways that automated
tests cannot.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Manual Testing of an Email Application
● Imagine that we are testing a new email service similar to Gmail. Our job is to manually test
the functionality of composing and sending an email.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Manual Testing of an Email Application
1. Test Preparation:
● Ensure user has access to the email application.
● Create two email accounts for testing: Sender
(TestAccount1) and Receiver (TestAccount2).
2. Test Execution:
Compose Email Sending
Login Test
Email Test Functionality Test
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Manual Testing of an Email Application
Login Test:
● Log into TestAccount1.
● Verify that the login works with correct credentials.
● Attempt to log in with incorrect credentials and verify
the error message.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Manual Testing of an Email Application
Error Handling Test:
● Try to send an email without a recipient and verify that an error
message is shown.
● Try to send an email with an invalid email address and verify the
appropriate error message.
UI/UX Test:
● Verify that all buttons are positioned correctly and are visible.
● Ensure that typing in the compose window is responsive and there are
no unexpected lags.
● Test the readability of the font and that all icons are intuitive and
functional.
● Check the responsiveness of the application on different screen sizes.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Manual Testing of an Email Application
3. Test Reporting:
● Document the outcome of each test.
● If a defect is found, report it with steps to reproduce,
the expected result, the actual result, and any relevant
screenshots.
4. Follow-up:
● If bugs are reported, re-test those functionalities after
they have been fixed.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Process Overview
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Process Overview
1. Planning 2. Design 3. Execution 4. Documentation
Testers prepare the Testers develop Testers execute the The results of the test
test plan which test cases and test cases manually by cases, including any
outlines the testing test scenarios following the steps software bugs or issues,
strategy, objectives, that cover all outlined in the test are documented. This
schedule, estimate, aspects of the cases and comparing documentation is then
deliverables, and software the expected result used by the development
resources required functionalities. with the actual result. team to fix the bugs.
for testing.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Process Overview
5. Defect Logging 6. Regression Testing 7. Review and Closure
When a tester finds a bug, After the defects are fixed, Once testing is complete and the
they report it in a defect testers retest the specific software is stable, the testers
tracking system with as functionality to ensure the prepare a test summary report
much detail as possible, defects are resolved. They which is reviewed by the team. If
including steps to reproduce also perform regression the software meets the
the bug, screenshots, and testing to make sure that new acceptance criteria, the testing
severity levels. changes have not affected phase is closed.
existing functionalities.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types of Manual Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types of Manual Testing
There are three main types of manual testing, each with its
unique approach and focus area:
White Black Grey
1. White Box Testing:
Box Box Box
Testing Testing Testing
● White box testing, also known as clear box or glass box
testing.
● White box testing involves looking inside the 'box' or
system – that is, the source code – to create and
execute test cases.
● Testers need a deep understanding of the internal
workings of the application, including its code structure,
logic, and design.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types of Manual Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types of Manual Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
White Box Testing
● White box testing is also known as clear, open, or
transparent box testing.
● It is a methodology in software testing where the tester
has full visibility of the internal workings of the
software, including the code, infrastructure, and
algorithms.
● In white box testing, the tester writes test cases that
check the application from the inside out.
● They require knowledge of the code, and thus, are
typically conducted by the developers who are familiar
with the codebase.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Overview of White Box Testing
• Code Coverage: Testers ensure that the testing includes all paths of
the code, often aiming for a high level of code coverage.
• Unit Testing: White box is often used at the unit testing level where
individual units or components of the software are tested.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Path Testing
● Path testing is the method used to ensure every Main()
potential errors.
● In path testing, flowcharts are created to
f(E) f(F)
illustrate the execution paths through the code,
and each independent path is systematically
tested.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Loop Testing
● Loop testing is a specific type of path testing that
focuses exclusively on the validity of loop {
constructs. while(10,000)
● It is used to test loops for their correctness and to …………..
ensure that the loop works as expected, this
includes testing for loops that are not executed,
…………..
executed a fixed number of times, and executed }
more or less indefinitely.
● The goal of loop testing is to uncover potential
defects within the loop constructs, including
infinite loops where the loop never terminates.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Generic Steps of White Box Testing
Step 1: Design and Prioritize Test Scenarios and Cases
● Begin by crafting comprehensive test scenarios and cases
that encompass all functionalities of the software.
● Prioritize these test cases based on their criticality, with high-
priority numbers assigned to those that address the most
crucial and impactful parts of the application.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Generic Steps of White Box Testing
Step 3: Test Internal Subroutines
● Perform in-depth testing of internal subroutines, which
includes private methods and interfaces.
● Verify that these components can handle all expected types
of data correctly and robustly, ensuring their reliability and
performance.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Generic Steps of White Box Testing
Step 5: Conduct Security Testing
● In the final phase, undertake security testing to scrutinize the
code for potential vulnerabilities.
● Examine how the code manages security aspects to uncover
any weaknesses that could be exploited, thus ensuring the
software's resilience against attacks.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of White Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Disadvantages of White Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Techniques used in White Box
Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Techniques in White Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Techniques in White Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Black Box Testing
● Black box testing is a software testing
approach where the internal structure,
design, and implementation of the item
being tested are not known to the tester.
● The tester focuses on the execution of
functions and examination of output
responses, without knowing how the
software's internals work.
● This method is applicable to higher levels of
testing like system, acceptance, and
sometimes integration testing.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Overview of Black Box Testing
• Functionality Focused: It is concerned with what the system does, not
how it does it.
• User's Perspective: Tests are designed from the end user's perspective
to ensure that all intended functions work as expected and that user
requirements are met.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Tests in Black Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Tests in Black Box Testing
Functional Testing:
● Functional testing is the most common type of
black box testing.
● It involves verifying that the software functions
as expected and according to the requirements.
● Testers create test cases from what the software
is supposed to do, ignoring how it does it.
Non-Functional Testing:
● This tests the non-functional aspects of the
system, such as usability, performance, and
reliability, rather than specific behaviors or
functions.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Tests in Black Box Testing
Usability Testing:
● Focuses on the user's ease of using the
application, the flexibility of the system to handle
controls, and the ability of the system to meet its
objectives.
Performance Testing:
● Involves testing the performance and scalability
of the system under a particular workload.
● It includes subtypes like load testing, stress
testing, and volume testing.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Tests in Black Box Testing
Compatibility Testing:
● Ensures that the software operates correctly in
different environments, including various
browsers, database versions, other software,
operating systems, mobile devices, or networks.
Regression Testing:
● After changes are made to a system (such as bug
fixes or feature additions), regression testing
ensures that the new changes haven't adversely
affected the existing functionality of the system.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Generic Steps of Black Box Testing
Step 1: Reviewing Requirements
● The process begins with a thorough review of software
requirements, which is essential as black box testing is heavily
dependent on what the software is expected to do.
● Testers examine requirements documents, specifications, user
stories, and use cases to understand the desired behavior of the
system.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Generic Steps of Black Box Testing
Step 5: Comparing Expected vs. Actual Results
● For each test case, the expected result (based on the requirements)
is compared to the actual result obtained during test execution.
● Any deviation from the expected result is identified as a defect.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of Black Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Disadvantages of Black Box Testing
Difficulty in Identifying
Limited Coverage
Certain Types of Defects
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Techniques used in Black Box
Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Techniques in Black Box Testing
Divides the input data Tests the boundaries Useful when dealing
of the software into between partitions. with complex
partitions of Here, errors are business logic that
equivalent data from frequently found at can be represented in
which test cases can the edges of input a tabular form.
be derived. value ranges so
testing is focused on
the boundary values.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Techniques in Black Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Grey Box Testing
● Grey box testing is a software testing method
that is a blend of both black box testing and
white box testing methodologies.
● It is aimed at testing the application with a
limited knowledge of the internal workings of
an application.
● In grey box testing, the tester has access to
detailed design documents and database
schemas, but does not have full knowledge of
the source code.
● This approach is particularly useful in
integration testing and network security testing.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Tests in Grey Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types of Tests in Grey Box Testing
Matrix Testing:
● The tester checks whether all the methods and data of an
object are used properly by examining a matrix that shows
their interactions.
Regression Testing:
● After changes have been made in the codebase, testers verify
that the modifications haven't affected existing functionalities.
Pattern Testing:
● This involves examining the code for known patterns that have
been previously identified as problematic.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types of Tests in Grey Box Testing
Security Testing:
● This involves testing the application for security flaws using
knowledge of the system's architecture and potential attack
vectors.
API Testing:
● Testing the API endpoints to ensure they handle input
correctly and return the appropriate response, taking into
account the known system architecture.
Integration Testing:
● Testers look at the interactions between integrated
components or systems, using their knowledge of the system's
architecture.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of Grey Box Testing
Efficient Integration
Comprehensive Testing Better Security Testing
Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of Grey Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Disadvantages of Grey Box Testing
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case – Structure
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure
Test Case Structure:
2. Test Description: Verify that a user can successfully log in with valid
credentials.
4. Test Steps:
● Enter a valid username in the username field.
● Enter the corresponding valid password in the password field.
● Click the login button.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure
5. Test Data:
Username: UserTest
Password: Password1237.
2. Test Description: Verify that a user can update their profile picture.
3. Preconditions:
User has logged in to the application.
User is on the Profile Update page.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure - Example 2
4. Test Steps:
● Click on the current profile picture or the 'Update Picture' link.
● Choose a valid image file from the file picker dialog.
● Click the 'Upload' button to upload the new profile picture.
● Click 'Save Changes' to apply the update to the profile.
5. Test Data:
Profile picture file: new_profile_pic.jpg (Note: The file should be of
an acceptable format and size as per the application's requirements)
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure
6. Expected Result:
● The profile picture should be updated successfully.
● A confirmation message should be displayed: "Your profile picture
has been updated."
● The new profile picture should be visible on the user's profile.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure
8. Postconditions:
User's profile should display the new profile picture.
The previous profile picture should be replaced.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure - Example
Test Case Structure: Example 3
Feature that allows users to reset their password.
2. Test Description: Verify that a user can successfully reset their password using
the 'Forgot Password' feature.
3. Preconditions:
User is on the Login page.
User has an existing account with a known email address.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure - Example 2
Test Case Structure:
4. Test Steps:
● Click on the 'Forgot Password' link.
● Enter the user's email address in the input field provided.
● Click the 'Submit' button to send a password reset request.
● Check the user's email inbox for a password reset email.
● Click on the link provided in the email.
● Enter a new password in the 'New Password' field.
● Re-enter the new password in the 'Confirm New Password' field.
● Click the 'Reset Password' button to set the new password.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure
5. Test Data:
Profile picture file: new_profile_pic.jpg (Note: The file should be of
an acceptable format and size as per the application's requirements)
6. Expected Result:
● After Step 3, the user should receive an email with a password
reset link within a few minutes.
● After Step 8, the user should see a confirmation message stating
that the password has been successfully reset and be redirected
to the login page.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure
Test Case Structure:
8. Postconditions:
User is able to log in with the new password.
The old password is invalidated and cannot be used to log in.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Best Practices for Designing Test
Cases
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Best Practices for Designing Test Cases
• Be Clear and Concise: Test cases should be understandable and not
open to interpretation.
• Be Accurate: Ensure that test cases align with user requirements and
the intended behavior of the application.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Best Practices for Designing Test Cases
• Use Test Case Management Tools: Tools can help organize, execute,
and report on test cases.
• Review and Update: Regularly review and update test cases to ensure
they remain relevant as the software evolves.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Summary
Here’s a brief recap:
● Manual testing requires a human tester to perform tests without the use of automated tools.
● It often follows a structured approach with pre-defined test cases that specify the steps, inputs, and
expected results.
● Manual testing remains a fundamental aspect of the software development lifecycle, despite the
rise and enhancements in automated testing.
● Manual testing can be categorized into several types, each addressing different aspects of software
quality assurance
● The structure of test cases is designed to ensure a systematic approach to testing software
functionality.
● When designing the structure of test cases, adhering to best practices ensures that the tests are
effective, efficient, and easily maintainable.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.