SOFTWARE
TESTING
CO3015 / CO5252
CH1. INTRODUCTION
Content
u The role and the importance of software testing
u Testing levels
u Testcases
u Basic principles of software testing
u Testing process and plan
u Test automation
Software Testing - Introduction Aug 2025 2
Why do we test software?
https://softwaretestingtimes.com/2010/04/fault-error-failure.html
u Software is with us!
u Is it safe?
u Fault vs. Failure vs. Error
u Fault : It is a condition that causes the software to fail to perform its
required function.
u Error : Refers to difference between Actual Output and Expected output.
u Failure : It is the inability of a system or component to perform required
function according to its specification.
Software Testing - Introduction Aug 2025 3
What is software testing?
https://www.guru99.com/software-testing-introduction-importance.html
u Software Testing is a method to check whether the actual
software product matches expected requirements and to
ensure that software product is defect free. It involves
execution of software/system components using manual or
automated tools to evaluate one or more properties of interest.
The purpose of software testing is to identify errors, gaps or
missing requirements in contrast to actual
u [1] Testing is the process of executing a program with the intent of
finding errors.
Software Testing - Introduction Aug 2025 4
The role and the importance of software
testing
u The role of testing in software development begins with
improved reliability, quality and performance of the software. It
assists a developer to check out whether the software is
performing the right way and to assure that software is not
performing what it is not supposed to do.
https://www.testbytes.net/blog/role-of-software-testing-in-software-development/
Software Testing - Introduction Aug 2025 5
Testcases
https://en.wikipedia.org/wiki/Test_case
u A test case is a specification of the inputs, execution
conditions, testing procedure, and expected results that
define a single test to be executed to achieve a particular
software testing objective, such as to exercise a particular
program path or to verify compliance with a specific
requirement
Software Testing - Introduction Aug 2025 6
Testcases vs. test scenario
https://www.guru99.com/test-case-vs-test-scenario.html
u A Test case is a set of actions executed to verify a particular feature or
functionality of your software application. A Test Case contains test steps, test
data, precondition, postcondition developed for specific test scenario to
verify any requirement. The test case includes specific variables or conditions,
using which a testing engineer can compare expected and actual results to
determine whether a software product is functioning as per the requirements
of the customer.
u A Test Scenario is defined as any functionality that can be tested. It is a
collective set of test cases which helps the testing team to determine the
positive and negative characteristics of the project.
Software Testing - Introduction Aug 2025 7
Basic principles of software testing [2]
u Principle 1: Testing shows the presence of defects, not their
absence.
u Principle 2: Exhaustive testing is impossible.
u Principle 3: Testing activities should start as early as possible.
u Principle 4: Defect clustering.
u Principle 5: The pesticide paradox.
u Principle 6: Testing is context dependent.
u Principle 7: No failures means the system is useful is a fallacy.
Software Testing - Introduction Aug 2025 8
Testing process – The general V-model [2]
Software Testing - Introduction Aug 2025 9
A MODEL OF THE SOFTWARE TESTING PROCESS
Test Test Test Test
cases data results reports
Design test Prepare test Run program Compare results
cases data with test data to test cases
Sep 2019 CHAPTER 8. SOFTWARE TESTING 8
Software Testing - Introduction Aug 2025 10
Testing levels
https://www.seguetech.com/the-four-levels-of-software-testing/
Software Testing - Introduction Aug 2025 11
Test plan
https://www.guru99.com/what-everybody-ought-to-know-about-test-planing.html
u A Test Plan is a detailed document that describes the test
strategy, objectives, schedule, estimation, deliverables, and
resources required to perform testing for a software product.
Test Plan helps us determine the effort needed to validate the
quality of the application under test. The test plan serves as a
blueprint to conduct software testing activities as a defined
process, which is minutely monitored and controlled by the test
manager.
u As per ISTQB definition: “Test Plan is A document describing the
scope, approach, resources, and schedule of intended test
activities.”
Software Testing - Introduction Aug 2025 12
Test plan
https://www.guru99.com/what-everybody-ought-to-know-about-test-planing.html
u A Test Plan is a detailed document that describes the test
strategy, objectives, schedule, estimation, deliverables, and
resources required to perform testing for a software product.
Test Plan helps us determine the effort needed to validate the
quality of the application under test. The test plan serves as a
blueprint to conduct software testing activities as a defined
process, which is minutely monitored and controlled by the test
manager.
u As per ISTQB definition: “Test Plan is A document describing the
scope, approach, resources, and schedule of intended test
activities.”
Software Testing - Introduction Aug 2025 13
Test automation
u The use of software to control the execution of tests, the
comparison of actual outcomes to predicted outcomes, the
setting up of test preconditions, and other test control and test
reporting functions
Software Testing - Introduction Aug 2025 14
Summary
u Software testing is important
u What is software testing vs. testing purposes/goals
u Satisfy the requirements vs. finding defects
u Testing levels
u Unit/Component -> Integration -> System -> Acceptance
u Testcases
u Basic principles of software testing
u 7 principles
u Testing process and plan
u The V-model
u The plan
u Test automation
Software Testing - Introduction Aug 2025 15