You are on page 1of 38

SOFTWARE TESTING

NUSRAT MEHNAZ CHOWDHURY


SQA Engineer, Vivasoft Ltd.
Adjunct Faculty, Daffodil International University
Contact: nmehnaz27@gmail.com
A method to check whether

Software Testing
the actual software
product matches expected
requirements and to ensure
What is it? that software product is
Defect free

https://www.guru99.com/software-testing-introduction-importance.html
● Enhance product quality
● Improve security
● Detect compatibility

Software Testing
with different devices
and platforms
● Make sure that the end
Why this is important? result meets the
business and user
requirements and
specifications

https://www.guru99.com/software-testing-introduction-importance.html
Software Quality A procedure to ensure the

Assurance
quality of software
products or services
provided to the customers
What is it? by an organization

https://www.guru99.com/all-about-quality-assurance.html
Software Quality
● To monitor and improve
the software

Assurance
development process
● Make sure that the
standards and
Why this is important? procedures are followed
● Preventing the quality
problems from occurring

https://www.guru99.com/all-about-quality-assurance.html
Software Quality Assurance VS Software Testing

1. To monitor the quality of the 1. To ensure the functionality of


process used to produce the final product meets the user's
software requirement
2. Aims to prevent the defect 2. Aims to identify and fix
3. Involves in full Software defects
Development Life Cycle 3. Involves in full Software
4. Process oriented Testing Life Cycle
4. Product oriented

https://www.quora.com/What-is-the-difference-between-QA-and-software-testing
https://www.guru99.com/quality-assurance-vs-quality-control.html
https://www.tutorialspoint.com/software_testing/software_testing_qa_qc_testing.htm
Software Development Life

SDLC
Cycle
Defines all the standard phases
which are involved during the
What is it? software development process

https://www.guru99.com/sdlc-vs-stlc.html
SDLC Phases
1

Requirement
Gathering
6 2

Maintenance Design

5 3

Deployment Build
4

Test

https://www.guru99.com/sdlc-vs-stlc.html
Software Testing Life

STLC
Cycle
A sequence of specific
activities conducted during the
What is it? testing process to ensure
software quality goals are met

https://www.guru99.com/software-testing-life-cycle.html
STLC Phases
1

Requirement
Analysis
6 2

Test Cycle Test Planning


Closure

5 3

Test Execution Test Case


Development
4

Environment
Setup
https://www.guru99.com/software-testing-life-cycle.html
Test Case Writing
1. Testing shows presence
of defects
2. Exhaustive testing is

7 Principles of
not possible
3. Early testing

Software Testing
4. Defect clustering
5. Pesticide paradox
6. Testing is context
dependent
7. Absence of error
fallacy

https://www.guru99.com/software-testing-seven-principles.html
1. Functional Testing

Software Testing 2. Non-Functional Testing


3. Maintenance
a. Regression testing
Types? b. Maintenance

https://www.guru99.com/software-testing-introduction-importance.html
Functional Testing
It validates the software
system against the
functional requirements or
What is it? specifications

https://www.guru99.com/functional-testing.html
● Unit testing
● Smoke testing

Functional Testing
● Sanity testing
● User Acceptance testing
● Integration testing
Types? ● Black Box testing
● White Box testing
● And so on…

https://www.guru99.com/functional-testing.html
Non - Functional Checks the non functional

Testing
aspects such as
performance, usability,
reliability etc. of a
What is it? software application

https://www.guru99.com/non-functional-testing.html
https://www.guru99.com/reliability-testing.html
Non - Functional ●

Performance testing
Volume testing

Testing
● Usability testing
● Load testing
● Stress testing
Types? ● Scalability testing
● And so on…

https://www.guru99.com/non-functional-testing.html
Functional testing VS Non - Functional Testing

1. Based on customer requirements 1. Based on customer expectation


2. To validate the behavior of the 2. To validate the performance of
application the application
3. Performed before Non Functional 3. Performed after Functional
testing testing
4. Easy to define functional 4. Difficult to define non
requirements functional requirements

https://www.guru99.com/functional-testing-vs-non-functional-testing.html
https://www.guru99.com/functional-testing.html
Manual Testing
Test cases are executed by
a tester without using any
automation tools
What is it?

https://www.guru99.com/manual-testing.html
Automation
Testing
Test cases are performed
using special automated
testing software tools
What is it?

https://www.guru99.com/automation-testing.html
Manual testing VS Automation Testing

1. Time-consuming 1. Faster
2. Not much accurate because of 2. Reliable method because of the
the possibility of the human tools and scripts
errors 3. Performance Tests have to test
3. Performance Testing is not by an automation tool
feasible manually 4. Its accurate and never gets
4. Repetitive manual test bored
execution can be boring and
error-prone

https://www.guru99.com/difference-automated-vs-manual-testing.html
● Focuses on input and
output and it is entirely
based on software
requirements and
specifications
Functionalities are tested

Black Box Testing



without having knowledge
of
○ Internal code
structure
○ Implementation details
What is it? ○ Internal paths
● Also known as Behavioral
Testing

https://www.guru99.com/black-box-testing.html
● Internal structure, design
and coding of software are
tested to verify flow of
input-output

White Box Testing


● Also known as
○ Clear box testing
○ Open box testing
○ Transparent box
testing
What is it? ○ Code-based testing
○ Glass box testing

https://www.guru99.com/white-box-testing.html
● Test a software product
or application with
partial knowledge of

Gray Box Testing internal structure of


the application
● Combination of Black
What is it? and White Box testing

https://www.guru99.com/grey-box-testing.html
Black Box VS White Box Testing

1. Internal structure is not known 1. Internal structure is known to


to the tester the tester
2. Validate the functional 2. Validate the internal structure
requirements and working of software code
3. Programming knowledge is not 3. Programming knowledge is
needed required
4. Less exhaustive and less 4. Exhaustive and time-consuming
time-consuming

https://www.guru99.com/back-box-vs-white-box-testing.html
Only individual units or
components of a software

Unit Testing are tested


It is done before integration
testing and it is a white box
What is it? testing technique performed by
developer

https://www.guru99.com/unit-testing-guide.html
Integration
Software modules are
integrated logically and
tested as a group

Testing The purpose of this level of


testing is to expose defects in
the interaction between these
What is it? software modules when they are
integrated and performed by the
testers

https://www.guru99.com/integration-testing.html
Performed on a complete
integrated system to

System Testing evaluate the compliance of


the system with the
corresponding requirements
What is it?
Performed by the testers

https://www.guru99.com/system-testing.html
https://www.geeksforgeeks.org/system-testing
To verify/accept the
software system before
User Acceptance moving the software
application to the
Testing production environment
Performed by the end user or the
What is it? client and it is done in the
final phase of testing after
functional, integration and
system testing is done

https://www.guru99.com/user-acceptance-testing.html
Regression To confirm that a recent
program or code change has

Testing
not affected the existing
features
It ensures that the old code
What is it? still works once the latest code
changes are done.

https://www.guru99.com/regression-testing.html
To check specific test
cases that are found with
bug/s in the final
execution

Retesting Testers find the bugs while


testing the software application
and assign it to the developers
What is it? to fix it. Then the developers
fix the bug/s and assign it back
to the testers for verification.
This continuous process is
called Retesting.

https://www.guru99.com/re-testing-vs-regression-testing.html
Performed after receiving
a software build with

Sanity Testing
minor changes in code or
functionality, to check
that the bugs have been
What is it? fixed and no further
issues are introduced due
to these changes

https://www.guru99.com/smoke-sanity-testing.html
To verify that the
critical functionalities

Smoke Testing
of software are working
fine
It is executed before any
What is it? detailed functional or
regression tests are executed

https://www.guru99.com/smoke-sanity-testing.html
Sanity Testing VS Smoke Testing

1. To check the new 1. To check the critical


functionality/bugs have been functionalities of the program
fixed is working fine
2. Subset of Regression Testing 2. Subset of Acceptance testing
3. Exercises only the particular 3. Exercises the entire system
component of the entire system from end to end

https://www.guru99.com/smoke-sanity-testing.html
Boundary Value
Testing
Testing between extreme
ends or boundaries between
partitions of the input
What is it? values

https://www.guru99.com/equivalence-partitioning-boundary-value-analysis.html
Select input variable

Boundary Value
values at their,

1. Minimum

Testing 2. Just above the


minimum
3. Nominal
How to test?
4. Just below the
maximum
5. Maximum

https://www.guru99.com/equivalence-partitioning-boundary-value-analysis.html
Severity and
Severity is a degree of
impact a bug or a Defect

Priority
has on the software

Priority is defined as the


What is it?
order in which a defect
should be fixed

https://www.guru99.com/defect-severity-in-software-testing.html
Severity,

Severity and
1. Critical
2. Major

Priority
3. Medium
4. Low

Priority,
Types?
1. High
2. Medium
3. Low

https://www.guru99.com/defect-severity-in-software-testing.html

You might also like