0% found this document useful (0 votes)
32 views17 pages

Lecture 05 Software Testing and Inspection

Uploaded by

ehsan.nick16
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)
32 views17 pages

Lecture 05 Software Testing and Inspection

Uploaded by

ehsan.nick16
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/ 17

SOFTWARE

ENGINEERING II

Lecture 05: Software Testing


Abdul Khaleq Herawi
2024
2

COURSE CONTENT
• SDLC
 Design Patterns
× Software Testing
1. Software Maintenance/Evolution
• Advance Software Engineering
1. Software Reuse
2. Component-Based Software Engineering
3. Distributed Software Engineering
• Others
1. Information Security
2. XML & Data Representation

Software Eng.II Lec01: Introduction 5/26/2024


3

OUTLINE
• Development Testing
• Program testing goals
• Verification vs validation Brainstorming
• Software inspections
• Inspection & Testing

SEii Lec5: Software Testing 5/26/2024


4

PROGRAM TESTING
• Testing is used to show that a program does what it is
intended to do and to discover program defects
before using.
• When you test software, you execute a program using
artificial data.
• You check the results of the test run for errors,
anomalies or information about the program’s non-
functional attributes.
• Can reveal the presence of errors NOT their absence.
• Testing is part of a more general verification and
validation process, which also includes static validation
techniques.

SEii Lec5: Software Testing 5/26/2024


5

PROGRAM TESTING GOALS


• To demonstrate to the developer and the customer that the
software meets its requirements.
• For custom software, this means that there should be at least
one test for every requirement in the requirements
document.
• For generic software products, it means that there should be
tests for all of the system features, plus combinations of
these features, that will be incorporated in the product
release.
• To discover situations in which the behavior of the software is
incorrect, undesirable or does not conform to its
specification.
• Defect testing is concerned with rooting out undesirable
system behavior such as system crashes, unwanted
interactions with other systems, incorrect computations and
data corruption.

SEii Lec5: Software Testing 5/26/2024


6

VERIFICATION VS VALIDATION
• Testing is part of a broader process of software
verification and validation (V & V).
• Verification and validation are not the same thing,
although they are often confused.
• Verification: "Are we building the product right”.
• The software should conform to its specification.
• Validation: "Are we building the right product”.
• The software should do what the user really requires.

SEii Lec5: Software Testing 5/26/2024


7

CONT.
• Software verification is the process of checking that the
software meets its stated functional and non-functional
requirements.
• Validation is a more general process. The aim of
software validation is to ensure that the software meets
the customer’s expectations.

SEii Lec5: Software Testing 5/26/2024


8

V & V CONFIDENCE
• Aim of V & V is to establish confidence that the system
is ‘fit for purpose’.
• Depends on system’s purpose, user expectations and
marketing environment
• Software purpose
• The level of confidence depends on how critical the
software is to an organization.
• User expectations
• Users may have low expectations of certain kinds of
software.
• Marketing environment
• Getting a product to market early may be more important
than finding defects in the program.

SEii Lec5: Software Testing 5/26/2024


9

SOFTWARE INSPECTION
• As well as software testing, the verification and
validation process may involve software inspections
and reviews.
• Inspections and reviews analyze and check the system
requirements, design models, the program source
code, and even proposed system tests.
• Inspections mostly focus on the source code of a
system, but any readable representation of the
software, such as its requirements or a design model,
can be inspected.

SEii Lec5: Software Testing 5/26/2024


10

INSPECTIONS AND TESTING


• Software inspections concerned with analysis of the
static system representation to discover problems
(static verification)
• May be supplement by tool-based document and code
analysis.
• Software testing concerned with exercising and
observing product behavior (dynamic verification)
• The system is executed with test data and its operational
behavior is observed.

SEii Lec5: Software Testing 5/26/2024


11

INSPECTIONS AND TESTING

SEii Lec5: Software Testing 5/26/2024


12

SOFTWARE INSPECTIONS
• These involve people examining the source
representation with the aim of discovering anomalies
and defects.
• Inspections not require execution of a system so may
be used before implementation.
• They may be applied to any representation of the
system (requirements, design, configuration data, test
data, etc.).
• They have been shown to be an effective technique
for discovering program errors.

SEii Lec5: Software Testing 5/26/2024


13

ADVANTAGES OF INSPECTIONS
• During testing, errors can mask (hide) other errors.
Because inspection is a static process, you don’t have
to be concerned with interactions between errors.
• Incomplete versions of a system can be inspected
without additional costs. If a program is incomplete,
then you need to develop specialized test harnesses to
test the parts that are available.
• As well as searching for program defects, an inspection
can also consider broader quality attributes of a
program, such as compliance with standards,
portability and maintainability.

SEii Lec5: Software Testing 5/26/2024


14

INSPECTIONS AND TESTING


• Inspections and testing are complementary and not
opposing verification techniques.
• Both should be used during the V & V process.
• Inspections can check conformance with a
specification but not conformance with the customer’s
real requirements.
• Inspections cannot check non-functional
characteristics such as performance, usability, etc.

SEii Lec5: Software Testing 5/26/2024


15

A MODEL OF THE SOFTWARE


TESTING PROCESS

SEii Lec5: Software Testing 5/26/2024


16

STAGES OF TESTING
• Development testing, where the system is tested during
development to discover bugs and defects.
• Release testing, where a separate testing team test a
complete version of the system before it is released to
users.
• User testing, where users or potential users of a system
test the system in their own environment.

SEii Lec5: Software Testing 5/26/2024


QUESTIONS
2 mins activity

You might also like