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

SE UNIT 4 Notes - Updated

The document discusses software testing concepts including validation testing, black box testing, white box testing, unit testing, integration testing, system testing, control structure testing, qualitative analysis, and quantitative analysis. It also discusses test planning and the role of test plans.

Uploaded by

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

SE UNIT 4 Notes - Updated

The document discusses software testing concepts including validation testing, black box testing, white box testing, unit testing, integration testing, system testing, control structure testing, qualitative analysis, and quantitative analysis. It also discusses test planning and the role of test plans.

Uploaded by

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

Software Engineering

UNIT 4 Notes
Validation Testing

• Validation: Are we building the right product?


• Validation is the process of checking whether
the software product is up to the mark.
• It is the process of checking the validation of
the product i.e. it checks what we are
developing is the right product.
• Validation is simply known as Dynamic
Testing.
• Validation Testing is known as Dynamic Testing
in which we examine whether we have
developed the product right or not and also
about the business needs of the client. Here
are some of the activities that are involved in
Validation.
• Black Box Testing
• White Box Testing
• Unit Testing
• Integration Testing
System Testing
• System testing is a type of software testing that
evaluates the overall functionality and performance
of a complete and fully integrated software
solution.
• It tests if the system meets the specified
requirements and if it is suitable for delivery to the
end-users.
• This type of testing is performed after the
integration testing and before the acceptance
testing.
• System testing detects defects within both the
integrated units and the whole system.
• The result of system testing is the observed
behavior of a component or a system when it
is tested.
• It is also called as clear box testing.
• It is most time consuming.
• It is suitable for algorithm testing.
• Example: By input to check and verify loops
• Path Testing
• Loop Testing
• Condition testing
What is Software Testing?
Software Testing Fundamentals

• Software Testing is an activity in software


development.
• It is an investigation performed against a
software to provide information about the
quality of the software to stakeholders.
SOFTWARE 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:-
Different people have come up with various
definitions for Software Testing, but generally, the
aim is:
• To ensure that the software meets the agreed
requirements and design
• The application works as expected
• The application doesn’t contain serious bugs
• Meets its intended use as per user expectations •
Software testing is often used in association with the
terms verification and validation.
a)Operability:- If a system is designed and
implemented with quality in mind, relatively few
bugs will block the execution of tests.
b) Observability:- “What you see is what you test.”
Inputs provided as part of testing produce distinct
outputs.
c) 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.
d) Decomposability:- By controlling the scope of testing, we
can more quickly isolate problems and perform smarter
retesting.
e) 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.
f) Stability:- “The fewer the changes, the fewer the
disruptions to testing.”
g) Understandability:- “The more information we have, the
smarter we will test.”
Block box Testing
• is a software testing method in which the
internal structure/design/implementation of
the item being tested is not known to the
tester. Only the external design and structure
are tested.
• Black box testing is mainly focused on testing
the functionality of the software, ensuring
that it meets the requirements and
specifications.
• It is mostly done by software testers.
• No knowledge of implementation is needed.
• It can be referred to as outer or external software
testing.
• No knowledge of programming is required.
• It is also called closed testing.
• It is least time consuming.
• Example: Search something on google by using
keywords
White Box Testing
• is a software testing method in which the
internal structure/design/implementation of
the item being tested is known to the
tester. Implementation and impact of the code
are tested.
• White box testing is mainly focused on
ensuring that the internal code of the
software is correct and efficient.
• It is a way of testing the software in which the
tester has knowledge about the internal
structure or the code or the program of the
software.
• It is mostly done by software developers.
• Knowledge of implementation is required.
• It is the inner or the internal software testing.
• It is mandatory to have knowledge of
programming.
Control Structure Testing
• Control structure testing is used to increase the
coverage area by testing
• various control structures present in the
program.
• ●Different types of testing performed in control
structure
• 1. Condition Testing
• 2. Data Flow Testing
• 3. Loop Testing
Conditional Testing
Condition Testing : Condition testing is a test
case design method, which ensures that the
logical condition and decision statements are
free from errors.
• The errors present in logical conditions can be
incorrect boolean operators, missing
parentheses in a booleans expression, error in
relational operators, arithmetic expressions.
Data Flow Testing
●The data flow test method chooses the test path of a program based
on the locations of the definitions and uses all the variables in the
program.
Loop Testing
●Loop testing is actually a white box testing technique. It specifically
• focuses on the validity of loop construction.
●There are four types of loops.
• 1. Simple Loop
• 2. Nested Loops
• 3. Concatenated Loops
• 4. Unstructured loops
Simple Loop

• Following steps can be applied in simple loop


• 1. Skip the entire loop.
• 2. Traverse the loop only once.
• 3. Traverse the loop two times.
• 4. Make p passes through the loop where p<n.
• 5. Traverse the loop n-1, n, n+1 times
while(condition)
{
statement(s);
}
Nested Loop

Nested Loop • while(condition 1)


• A loop within a loop is called
nested loop • {
• Number of testing increases while • while(condition 2)
the level of nesting increases
• Following steps can be applied in • {
nested loop • statement(s);
• 1. Start with an inner loop. set all
other loops to minimum values. • }
• 2. Conduct simple loop testing on • }
inner loop.
• 3. Work outwards.
• 4. Continue until all loops are
tested
Concatenated Loops

• If loops are not dependent on each


other then then steps mentioned in
• the simple loop can be followed
• If the loop is interdependent then
steps in nested loop is followed
• while(condition 1)
• {
• statement(s);
• }
• while(condition 2)
• {
• statement(s);
• }
Unstructured loop

• Unstructured loop is the


combination of nested and
concatenated loops.
• It is basically a group of loops
that are in no order.
while()
{
for()
{ }
while()
{ }
}
Qualitative analysis
• Qualitative data: The data collected on grounds of
categorical variables are qualitative data. Qualitative
data are more descriptive and conceptual in nature.
It measures the data on basis of the type of data,
collection, or category. The data collection is based
on what type of quality is given. Qualitative data is
categorized into different groups based on
characteristics. The data obtained from these kinds
of analysis or research is used in theorization,
perceptions, and developing hypothetical theories.
These data are collected from texts, documents,
transcripts, audio and video recordings, etc.
Quantitative Analysis
• Quantitative data: The data collected on the
grounds of the numerical variables are quantitative
data. Quantitative data are more objective and
conclusive in nature. It measures the values and is
expressed in numbers. The data collection is based
on “how much” is the quantity. The data in
quantitative analysis is expressed in numbers so it
can be counted or measured. The data is extracted
from experiments, surveys, market reports,
matrices, etc.
Testing Tools – Test Planning
• A test plan is a document that consists of all future testing-
related activities.
• It is prepared at the project level and in general, it defines
work products to be tested, how they will be tested, and test
type distribution among the testers.
• Before starting testing there will be a test manager who will
be preparing a test plan. In any company whenever a new
project is taken up before the tester is involved in the testing,
the test manager of the team would prepare a test Plan.
• The test plan serves as the blueprint that changes according
to the progressions in the project and stays current at all
times.
• It serves as a base for conducting testing activities and
coordinating activities among a QA team.
• It is shared with Business Analysts, Project Managers, and
anyone associated with the project.

You might also like