0% found this document useful (0 votes)
29 views32 pages

Software Testing

Uploaded by

alamat888
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views32 pages

Software Testing

Uploaded by

alamat888
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

SOFTWARE

TESTING

PLT JERALYNE R CAROLINO


● Software testing is a systematic
process of evaluating and verifying if
a software application functions
according to its requirements.

● It involves identifying bugs, errors, or


any missing functionalities to ensure
the software delivers a high-quality
user experience.
Importance of Software Testing in ICT
Management

1 2 3

Protects PNP from Saves resources by Ensures software


deploying unreliable preventing bugs meets user needs
software that could from reaching later and expectations,
compromise security stages of leading to better
or critical operations. development, which user adoption and
are costlier to fix. satisfaction.
Objectives of Software Testing

Find and report defects Verify if the software


in the software. meets its functional and
non-functional
requirements.

Improve the software's Enhance user


usability, performance, experience and
and security. satisfaction.
Software
Development Life
Cycle (SDLC) and
Testing
Role of Testing in SDLC

● Planning & Requirement Gathering: Testers identify


potential areas of difficulty in meeting requirements.
● Design & Architecture: Testers review designs to ensure
testability of the software.
● Development & Coding: Testers collaborate with
developers for unit testing.
● Testing & Quality Assurance: This is the dedicated
testing phase to identify and report defects.
● Deployment & Maintenance: Regression testing is
performed to ensure no new bugs are introduced with
updates.
Different Testing
Methodologies in SDLC
01 02 03
Waterfall Agile DevOps
Testing happens in a Testing is integrated Testing is
sequential manner, throughout the automated and
following the SDLC development integrated into the
phases. process in short continuous
iterations. development and
deployment
pipeline.
Types of Software Testing

Functional Non-Functional
Testing Testing

This type of testing This type of testing


verifies if the software focuses on how the
functionalities work as software performs
intended according to aspects beyond core
the requirements. functionalities.
FUNCTIONAL
TESTING
Unit Testing
Individual software units
(modules) are tested in
isolation.
Integration Testing
Modules are
integrated and tested
for proper interaction.
System Testing
The entire software
system is tested as a
whole.
Acceptance
Testing
Users or stakeholders
formally test the
software for final
approval.
NON-FUNCTIONAL
TESTING
Performance
Testing
Measures the software's
speed, stability, and
scalability under load.
Security Testing
Evaluates the
software's vulnerability
to security threats.
Usability Testing
Assesses how easy and
user-friendly the software
is to navigate.
Compatibility
Testing
Ensures the software
functions correctly on
different hardware,
operating systems,
and browsers.
OTHER TESTING TYPES

1. Regression Testing: Re-running previously passed tests


after modifications to ensure no new issues are introduced.
2. Smoke Testing: Basic high-level testing to ensure critical
functionalities work before proceeding with further testing.
3. Exploratory Testing: Unstructured, creative testing to
identify unexpected issues.
4. User Acceptance Testing (UAT): Formal testing by end-
users to confirm the software meets their needs.
TESTING TECHNIQUES

● Black Box Testing ● Boundary Value Analysis


● White Box Testing ● Decision Table Testing
● Grey Box Testing ● State Transition Testing
● Equivalence Partitioning ● Pairwise Testing
TEST PLANNING AND
DOCUMENTATION
Proper documentation is essential for
effective testing

Test Plan Test Cases Test Scripts


A high-level document Detailed descriptions of Step-by-step instructions
outlining the testing specific test scenarios with on how to execute test
strategy, scope, resources, expected results. cases.
and schedule.

Traceability
Matrix Test Reports
Links requirements to Document the testing
corresponding test cases process, its findings, and
to track coverage, identify results.
gaps, and demonstrate
traceability.
DEFECT
MANAGEMENT
DEFECT LIFE CYCLE

● Discovered: A defect is identified during testing or


development activities.
● Reported: The defect is documented in a defect tracking
system with details such as description, steps to
reproduce, and severity.
● Assigned: The defect is assigned to a developer for
investigation and resolution.
● Fixed: The developer fixes the defect and updates the
defect tracking system.
● Verified: A tester verifies the fix and confirms the defect is
resolved.
BEST PRACTICES
Early Testing
● Initiate testing activities as
early as possible in the software
development process.
● Identify defects and issues
early to minimize rework and
costs.
● Helps in improving the overall
quality of the software product.
Testing
throughout SDLC ● Integrate testing activities into
every phase of the Software
Development Life Cycle (SDLC).
● Ensures that quality is
maintained at each stage of
development.
● Reduces the likelihood of
defects slipping into
production.
Continuous
Integration and ● Implement CI/CD pipelines to
automate the integration and
Continuous testing processes.
Testing ● Allows for frequent code
integration and testing, leading
to faster feedback loops.
● Facilitates early detection of
integration issues and defects.
Collaborative
Testing ● Foster collaboration among
developers, testers, and other
stakeholders.
● Encourage open
communication and sharing of
knowledge and insights.
● Results in better
understanding of requirements
and more effective testing
strategies.
Metrics and
Measurements in ● Define relevant metrics to
measure the effectiveness and
Testing efficiency of testing activities.
● Examples include defect
density, test coverage, and
mean time to detect defects.
● Use metrics to track progress,
identify areas for improvement,
and make data-driven
decisions.
QUESTIONS?

You might also like