0% found this document useful (0 votes)
16 views

Manual Testing

This is the study materials slide for the beginners to the students of Quality Assurance. Ghis pdf covers the manual testing study materials .
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Manual Testing

This is the study materials slide for the beginners to the students of Quality Assurance. Ghis pdf covers the manual testing study materials .
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 93

Introduction to Manual Testing

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Agenda
In this session, we will discuss:
● Introduction to Software

● Testing Phase in SDLC

● Basic types of Testing Methods

● Introduction to Manual Testing

● Real Time Application Example

● Need for Manual Testing

● Process Overview

● Types of Manual Testing

● Test Case Structure

● Best Practices for Designing Test Case Structure


Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Introduction to Software

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.

● It is the non-tangible component of a computer system


that provides functionality, as opposed to hardware,
which refers to the physical components of a computer
system.

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

Antivirus and Security:


● McAfee Antivirus
● Norton Antivirus
● Avast Antivirus
● Windows Defender
● Bitdefender

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

● Requirement Analysis: In this phase, the project goals are determined,


the feasibility study is conducted, and the requirements of the software
are gathered through consultations with stakeholders, including
customers, end-users, and project sponsors.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
SDLC

● Planning: This involves defining project scope, resources, timelines, and


cost estimates. It also includes planning the overall project
management approach and identifying project risks.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
SDLC

● Design: The software's architecture is created. This involves defining


the overall system architecture and creating detailed design
specifications for the features and components of the software.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
SDLC

● Setup Environment: This phase typically refers to the preparation of


the environments necessary to support the development, testing,
deployment, and maintenance of the software being created.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
SDLC

● Implementation (or Execution): The actual source code is written in


this phase. The software design is translated into a machine-readable
form, and developers work to build the software based on the design
documentation. Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
SDLC

● Testing: The software is tested to ensure that it is bug-free and meets


the quality standards expected. This includes a range of testing
methods, such as unit testing, integration testing, system testing, and
acceptance testing. Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Static Testing (Verification)

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.

● It's referred to as verification because it's about


ensuring that the software is being developed correctly
according to the specified requirements and standards.

● This form of testing can identify errors early in the


development cycle.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Activities involved in Static Testing

Reviews Inspections Walkthroughs

Formal or informal These are more A walkthrough is a


assessments of formal than reviews form of peer review
documents by one or and usually involve a where the author of a
more individuals. step-by-step, document guides
Reviews can be peer systematic participants through
reviews, where examination by a the document
developers look at designated inspector according to a
each other's work, or who follows a predefined process
they can be defined process to and collects feedback.
conducted by a uncover defects.
separate team.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Activities involved in Static Testing

Desk Checking Audits

This is a manual inspection Formal type of static


of code or algorithms by testing conducted by an
the developer before it independent body to
goes into formal testing. check whether the
project follows the
standards, policies, and
procedures.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of Static Testing

• Identifies defects early, which reduces the cost of fixing them.

• Improves the quality of the software product by encouraging a


disciplined approach to code and document creation.

• It's a preventative method that often leads to a cleaner design and


better compliance with specifications.

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)

● Dynamic testing, in contrast, involves executing the


code and validating the output against the expected
behavior.

● This testing confirms that the software product


functions correctly in a dynamic environment and
interacts with other components, databases, networks,
etc.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Activities involved in Dynamic Testing

Unit Testing Integration Testing System Testing

Testing individual Ensuring that Verifying that the


components or pieces integrated entire application
of code for components or meets the specified
functionality. systems work requirements.
together.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Activities involved in Dynamic Testing

Acceptance Testing Performance Testing

Validating the end-to-end Checking the software


business flow. This is behavior under various
usually done by the client conditions like load,
to ensure the system stress, and scalability
meets the agreed-upon scenarios.
requirements.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of Dynamic Testing

• Validates the functionality of the software in real-world scenarios.

• Ensures the product meets the user requirements and expectations.

• 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.

• Exploratory Testing: Exploratory testing is about discovery, learning,


and investigation. It is an approach where testers explore the
application without predefined test cases or scripts.

• Complex User Scenarios: Manual testing allows testers to simulate the


user behavior more closely and provide feedback on the actual user
experience.

• First-time Setup: When a feature is developed and needs to be tested


for the first time, manual testing can be used to perform initial checks
before investing time and effort in automation.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Need for Manual Testing
• Cost-Effectiveness for Small Projects: Manual testing can be more
efficient in these scenarios, especially when the frequency of code
changes requires constant updates to test scripts.

• Non-Functional Aspects: Manual testing is also essential for testing


non-functional aspects such as aesthetics, usability, and accessibility.

• Adaptability: Human testers can quickly adapt to new findings during a


testing session and alter their approach based on real-time insights.

• Visual Verification: Certain aspects such as layout, font sizes, colors,


and other visual elements of the UI need a human eye to verify that
they look and feel correct.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Real – Time Example

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

Reply to Error Handling


Email Test Test UI/UX 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.

Compose Email Test:


● Click on the "Compose" button to start a new email.
● Verify that the compose window opens.
● Type in the recipient's email address (TestAccount2).
● Add a subject and message body.
● Attach a small file (to test the attachment feature).
● Click "Send" to send the email.
● Verify that you get a notification that the email was
sent. Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Manual Testing of an Email Application
Email Sending Functionality Test:
● Log into TestAccount2 to check if the email was received.
● Verify that the email appears in the inbox.
● Check that the subject and body are the same as what was sent.
● Ensure that the attached file is the same as the one sent and can be
downloaded/opened.

Reply to Email Test:


● Reply to the email from TestAccount2.
● Verify that the "Reply" function populates the "To" field with
TestAccount1's address.
● Send the reply and then log back into TestAccount1 to ensure the reply
was received.

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

Test Planning Test Design Test Execution 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

Retesting and Regression


Defect Logging Testing 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

2. Black Box Testing:


● Black box testing focuses on the external or end-user White Black Grey
experience of the software.
Box Box Box
Testing Testing Testing
● Testers do not need to have knowledge of the internal
code structure; instead, they test the software's
functionality by inputting data and examining the
output.
● This type of testing can be applied to virtually any level
of software testing: unit, integration, system, and
acceptance.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Types of Manual Testing

3. Grey Box Testing:


● Grey box testing is a hybrid approach that combines White Black Grey
elements of both black box and white box testing
Box Box Box
Testing Testing Testing
methodologies.
● Testers have practical knowledge of the internal
structures, which they use to design test cases.
● Grey box testing is particularly useful in areas such as
integration testing, security, and penetration 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.

• Optimization: White box testing can identify unnecessary code paths


and optimize the performance and efficiency of the code.

• Security and Integration Testing: It helps in identifying vulnerabilities in


the code and also to test the integrations between components of the
software.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Tests in White Box Testing

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Path Testing
● Path testing is the method used to ensure every Main()

possible route through a given part of the code is


executed at least once. f(A) f(B)
● This type of testing is very thorough, as it looks at
all the possible paths including loop paths and
f(G)
conditional paths in the code to identify any f(C) f(D)

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.

Step 2: Analyze Runtime Code and Resource Utilization


● Conduct a detailed analysis of the code during execution to
monitor resource usage, such as memory and CPU.
● Identify sections of the code that remain unassessed and
evaluate the time efficiency of various methods and
operations.

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.

Step 4: Evaluate Control Structures


● Focus on rigorously testing control statements, such as loops
and conditional statements.
● Assess the effectiveness and precision of these structures
across a range of data inputs, ensuring they operate
efficiently and correctly.

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

Error Identification Code and Structures Improved Design

Identification of Thoroughness in Helps in optimizing


hidden errors not testing the code code and improving
visible through black paths and structures design and usability.
box or functional within the
testing. application.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Disadvantages of White Box Testing

Time Consuming Improper Analysis

It can be time-consuming It may not detect missing


and expensive due to the functional requirements
detailed knowledge of because it focuses on the
the code required. software's current
implementation.

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

Data Flow Testing Control Flow Testing Branch Testing

Ensures that the data Analyzes the Specifically targets


flows correctly execution paths every possible branch
throughout the code within the of control structures
and that no incorrect application using such as decision
or unintended data is control flow graphs. points (if-else
being passed through It also verifies that all statements) to ensure
the application’s the paths can be all branches are
variables. traversed and that reachable and work
each function as intended.
operates as expected

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Techniques in White Box Testing

Statement Testing Decision Testing

It is used to achieve a basic Examines the decision


level of code coverage and points in the code, such as
to ensure that there are no logical conditions and
obvious errors in the code. loops, to ensure that all
possible outcomes of
decisions have been
executed.

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.

• Applicability: It can be applied to all levels of software testing: unit,


integration, system, and acceptance testing.

• Test Coverage: Testers often use techniques such as equivalence


partitioning, decision table testing, and state transition testing to
ensure a wide coverage of the software's functionality.

• 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.

Step 2: Designing Test Scenarios


● Testers create test scenarios that include both positive and negative
test cases.
● Positive test cases are those where the system is expected to
process the input correctly, while negative test cases are designed to
ensure the system handles errors or unexpected inputs gracefully.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Generic Steps of Black Box Testing
Step 3: Developing Test Cases
● Based on the designed test scenarios, detailed test cases are
created.
● These test cases may employ various black box testing techniques
such as decision tables, equivalence partitioning, error guessing and
cause-effect graphs.

Step 4: Test Execution


● Testers create test scenarios that include both positive and negative
test cases.
● Positive test cases are those where the system is expected to
process the input correctly, while negative test cases are designed to
ensure the system handles errors or unexpected inputs gracefully.

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.

Step 6: Defect Logging and Retesting


● If discrepancies or defects are found, they are reported to the
development team for rectification.
● Once the developers address these issues, the testers retest the
specific cases to ensure that the defects have been resolved and that
no new issues have been introduced.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of Black Box Testing

No Need for Code Parallel Development


Specialization
Knowledge and Testing

Testers do not need to It allows for Testing can be done in


know programming specialized testers to parallel with
languages or how the focus on specific development since
software has been areas of testing like the focus is on testing
implemented, which user interfaces, APIs, the user interface and
allows even non- or database systems, inputs/outputs rather
technical testers to often resulting in than the code itself.
verify the more thorough
functionality. testing in these areas.

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

It is possible to miss Defects that are hidden


certain test scenarios deep within the complex
since testers are not logic of the code may not
looking at the actual be exposed through
code. This means that black box testing.
some paths through the
code may not be tested
at all.

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

Equivalence Boundary Value Decision Table Testing


Partitioning Analysis

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

Exploratory Testing Use Case Testing

The tester actively controls Involves creating test


the design of the tests as cases from use cases or
those tests are performed user stories that describe
and uses information the system's interaction
gained while testing to with the end-user or
design new and better another system.
tests.

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

Grey box testing Knowledge of system Access to architectural


allows testers to architecture makes it documents can help
design test cases easier to devise test testers identify
based on both high- cases for integration potential security
level design and testing. vulnerabilities that
lower-level technical black box testers may
details, leading to overlook.
more thorough
coverage.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Advantages of Grey Box Testing

Intelligent Test Reduces Test


Non-Intrusive
Scenarios Redundancy

Since grey box testing With some Avoids the


does not require understanding of the redundancies of both
access to the source internal structure, white box and black
code, it is less testers can create box testing by
intrusive and can be intelligent test enabling testers to
performed without scenarios that are focus on the most
the need for detailed more likely to find important aspects of
programming hidden bugs than both.
knowledge. black box testing.

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Disadvantages of Grey Box Testing

Tools Limitation Communication Gap Dependency on


Documentation

There may be There could be a Grey box testing is


limitations in terms of communication gap heavily dependent on
the availability of between testers and the quality and
testing tools that can developers since completeness of
accommodate the testers do not fully existing
mid-level access engage with the documentation.
provided by grey box codebase.
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:

1. Test Case ID: Each test case should have a unique


identifier.

2. Test Description: A brief description of what is being


tested.

3. Preconditions: Any requirements that must be met


before the test can be performed.

4. Test Steps: Detailed steps for the tester to follow.

5. Test Data: The specific data to be used in testing.


Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure
6. Expected Result: The anticipated outcome if the system
functions correctly.

7. Actual Result: The outcome that is actually observed


when the test is executed (filled out during testing).

8. Postconditions: The state in which the application


should be after executing the test.

9. Status: This is marked as Pass, Fail, Blocked, etc., after


the test execution.

10. Comments: Any additional information, observations,


or issues encountered during the test.
Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure - Example
Test Case Structure: Example 1
Feature where user can successfully log in with valid credentials.

1. Test Case ID: TC_LOGIN_001

2. Test Description: Verify that a user can successfully log in with valid
credentials.

3. Preconditions: User is at the login page.

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.

6. Expected Result: User is redirected to the homepage/dashboard


after clicking the login button.

7. Actual Result: (To be filled after test execution)

8. Postconditions: User is logged in and can see their dashboard.

9. Status: (To be filled after test execution)

10. Comments: (Any observations or issues)


Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Test Case Structure - Example
Test Case Structure: Example 2
Feature where a user updates their profile information in an application.

1. Test Case ID: TC_UPDATE_PROFILE_002

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.

7. Actual Result: (To be filled after test execution)

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.

9. Status: (To be filled after test execution)

10. Comments: (Any additional information, notes, or issues


encountered)

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.

1. Test Case ID: TC_RESET_PW_003

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.

7. Actual Result: (To be filled after test execution)

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.

9. Status: (To be filled after test execution)

10. Comments: (Any observations or discrepancies noted during


testing)

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.

• Cover Positive and Negative Scenarios: Test both successful operations


(positive tests) and expected failures (negative tests).

Proprietary content ©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited.
Best Practices for Designing Test Cases

• Prioritize: Focus on test cases for critical functionalities first.

• 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.

You might also like