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

Lecture 3.2.3 Testing Fundamentals

The document discusses fundamentals of software testing, noting that testing aims to verify software meets requirements and find bugs by testing in different conditions, and that a good test has a high probability of finding errors. It also outlines characteristics of testable software like being operable, observable, controllable, decomposable, simple, stable, and understandable.

Uploaded by

Sahil Goyal
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Lecture 3.2.3 Testing Fundamentals

The document discusses fundamentals of software testing, noting that testing aims to verify software meets requirements and find bugs by testing in different conditions, and that a good test has a high probability of finding errors. It also outlines characteristics of testable software like being operable, observable, controllable, decomposable, simple, stable, and understandable.

Uploaded by

Sahil Goyal
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

UNIVERSITY INSTITUTE OF COMPUTING

UNIT-3
Bachelor of Computer Applications
Software Engineering
(21CAT-312/21SCT-312/22CAT-213/22SCT-213)

DISCOVER . LEARN . EMPOWER


Topics to be covered
• Software Testing Fundamentals
Software Testing
• Introduction : Software testing can be stated as the process of verifying and
validating whether a software or application is bug-free, meets the technical
requirements as guided by its design and development, and meets the user
requirements effectively and efficiently by handling all the exceptional and
boundary cases.
• The process of software testing aims not only at finding faults in the existing
software but also at finding measures to improve the software in terms of
efficiency, accuracy, and usability. It mainly aims at measuring the specification,
functionality, and performance of a software program or application.
Software Testing
• Software testing can be divided into two steps:
1. Verification: it refers to the set of tasks that ensure that the software correctly
implements a specific function.
• 2. Validation: it refers to a different set of tasks that ensure that the software that
has been built is traceable to customer requirements.
Testing Fundamentals
• The goal of testing is to find errors, and a good test is one that has a high
probability of finding an error. The product should be testable. “Software
testability is simply how easily a computer program can be tested.” Testability
exhibits following characteristics:-

1. Operability:- If a system is designed and implemented with quality in mind,


relatively few bugs will block the execution of tests.
2. Observability:- “What you see is what you test.” Inputs provided as part of
testing produce distinct outputs.
Testing Fundamentals
3. Controllability:- “The better we can control the software, the more the testing
can be automated and optimized.” All possible outputs can be generated through
some combination of input.
4. Decomposability:- By controlling the scope of testing, we can more quickly
isolate problems and perform smarter retesting.
5. Simplicity:- “The less there is to test, the more quickly we can test it.” The
program should exhibit functional simplicity; structural simplicity, and code
simplicity.
Testing Fundamentals
6. Stability:- “The fewer the changes, the fewer the disruptions to testing.”

7. Understandability:- “The more information we have, the smarter we will


test.”

You might also like