ISTQB FOUNDATION 4.0 | Tutorial 13 | 2.2.1 Test Levels & Test Types | Component Testing | CTFL
Summary
TLDRThis tutorial delves into the ISTQB Foundation Level Certification, focusing on Chapter 2.2.1, which discusses test levels and types. It clarifies the distinction between test levels, which are organized groups of test activities, and test types, which relate to specific quality characteristics. The video particularly highlights the importance of unit testing, the first level of testing, emphasizing its role in validating the smallest testable parts of an application independently. Unit testing is often conducted by developers using white box testing methods and specific frameworks, making it a foundational aspect of the software development lifecycle.
Takeaways
- 📚 The tutorial is focused on the ISTQB Foundation Level certification, specifically Chapter 2 about testing throughout the SDLC (Software Development Life Cycle).
- 🔍 The script clarifies the difference between test levels and test types, emphasizing that test levels are groups of test activities organized and managed together, while test types relate to specific quality characteristics.
- 🔑 Test levels are defined by their unique objectives, validating particular parameters or functionalities of an application, such as unit testing, integration testing, system testing, and acceptance testing.
- 🔄 There may be over 50 different test levels for a product, but not all are applicable to every application; only the most relevant ones are performed.
- 🚀 Each test level is an instance of the test process, performed at a given stage of development, from individual components to complete systems or systems of systems.
- 🔄 Test types, such as functional, non-functional, black box, white box, retesting, and regression testing, can be applied at any test level and are not confined to a specific one.
- 🛠️ Unit testing, also known as component testing, is the first level of testing discussed, focusing on testing the smallest testable parts of the application in isolation.
- 💡 The concept of a 'unit' in unit testing can vary and may include a text box, a page, or a specific functionality like login or sign-up, depending on the organization's definition.
- 🛑 Unit testing often requires specific support like test harnesses or unit test frameworks, which are language-specific and help in conducting tests for different programs.
- 👨💻 Unit testing is typically performed by developers in their development environment and is considered a white box testing approach, where the tester has access to the internal structure of the application.
- 📝 The script suggests that understanding the basis of testing, such as using detailed design documents, is crucial for preparing unit test cases and conducting effective testing.
Q & A
What is the main focus of Chapter 2 in the ISTQB Foundation Level certification tutorial?
-The main focus of Chapter 2 is on testing throughout the SDLC, with a specific focus on test levels and test types in the 2.2 segment.
What are test levels in the context of software testing?
-Test levels are groups of test activities that are organized and managed together to validate a particular parameter, functionality, or non-functional characteristics of an application.
Why is it not necessary for a test engineer to know all the test levels?
-It is not necessary for a test engineer to know all the test levels because they are not applicable to all applications; only those that are best applicable to the specific application are performed.
What is the significance of each test level having a unique objective?
-Each test level having a unique objective ensures that each level concentrates on something very specific and particular about the application, fulfilling the right needs for that level.
How do test levels relate to development activities in the SDLC?
-Test levels correspond to development activities, and in sequential SDLC models, the exit criteria of one level often become part of the entry criteria for the next level.
What is the difference between test levels and test types?
-Test levels are organized groups of test activities at different stages of development, while test types are groups of test activities related to specific quality characteristics that can be performed at any test level.
What is component testing, and why is it the first level of testing in the process?
-Component testing, often referred to as unit testing, is the first level of testing where the smallest testable parts of the application are tested independently to ensure they fulfill the desirable requirements.
Why is it important for unit testing to be performed in isolation?
-Unit testing is performed in isolation to focus on individual components and ensure that each component functions correctly on its own before moving on to integrated testing.
What is the role of a test harness in unit testing?
-A test harness provides the necessary support, such as dummy modules or mocks, to facilitate the testing of individual components in isolation without the need for the full system to be developed.
How is unit testing typically conducted, and by whom?
-Unit testing is typically conducted by developers in their development environment using a white box testing approach, which involves executing and observing the program at the code level.
What are some common synonyms for unit testing in the industry?
-Some common synonyms for unit testing include program testing, class testing, code testing, structure testing, and module testing.
Outlines
📚 Introduction to Test Levels and Types
This paragraph introduces the concept of test levels and types within the context of the ISTQB Foundation level certification. It clarifies the common confusion between test levels and test types, explaining that test levels are organized groups of test activities aimed at validating specific aspects of an application. The paragraph also discusses the various types of testing, such as unit, integration, system, acceptance, and non-functional testing, emphasizing that not all levels are applicable to every application. The importance of understanding the unique objectives of each test level and the relevance of test types, which are groups of test activities related to specific quality characteristics, is highlighted. The tutorial also touches on the relationship between test levels and SDLC models, noting how different models may influence the sequence and overlap of testing activities.
🔍 Deep Dive into Component Testing
This section focuses on the first level of testing known as component testing, commonly referred to as unit testing in the software development industry. It discusses the purpose of unit testing, which is to independently verify that the smallest testable parts of an application meet the desired requirements. The paragraph clarifies that the term 'unit' can vary depending on the organization and may include a text box, a page, or a specific functionality like login or search. The importance of using specific support such as test harnesses or unit test frameworks for conducting unit tests is emphasized, with examples of language-specific frameworks like JUnit for Java and pytest for Python. The paragraph also notes that unit testing is typically performed by developers within their development environment and is conducted as a white box testing approach, allowing for direct code interaction and bug fixing.
🛠 Unit Testing: Process and Significance
The final paragraph delves deeper into the process and significance of unit testing, explaining that it is performed by developers in their development environment using a white box testing approach. This method involves executing and observing the program at the code level without UI interaction, allowing for efficient bug detection and resolution. The paragraph also mentions that unit testing often requires the use of a test harness, which includes dummy modules or mocks to facilitate testing when the system is not fully developed. It concludes by identifying the basis for unit testing, which involves using detailed design documents to define the test cases and ensure that independent modules are thoroughly tested against requirements.
Mindmap
Keywords
💡SDLC
💡Test Levels
💡Test Types
💡Unit Testing
💡Integration Testing
💡System Testing
💡Acceptance Testing
💡Non-functional Testing
💡White Box Testing
💡Test Harness
💡Development Environment
Highlights
Introduction to test levels and test types with a focus on their definitions and differences.
Test levels are groups of test activities organized and managed together to validate specific application characteristics.
Different levels of testing include unit testing, integration testing, system testing, acceptance testing, and non-functional testing.
There may be over 50 test levels for a product, but only applicable ones are conducted based on the application's needs.
Each test level is an instance of the test process with a unique objective related to a specific stage of software development.
Test levels are interconnected in sequential SDLC models, with exit criteria from one level serving as entry criteria for the next.
In some SDLC models like Agile, development and testing activities can overlap, allowing for simultaneous test levels.
Test types are groups of test activities related to specific quality characteristics and can be applied at any test level.
Test types include functional, non-functional, Black Box, White Box, retesting, and regression testing.
Component testing, also known as unit testing, is the first level of testing focusing on the smallest testable part of the application.
Unit testing involves testing components in isolation to ensure they meet the desired requirements.
Different organizations may have varying definitions for what constitutes a 'unit' in unit testing.
Unit testing often requires specific support like test harnesses or unit test frameworks for different programming languages.
Unit testing is typically performed by developers in their development environment using a white box testing approach.
Component testing is based on detailed design and uses components as the test basis for creating test cases.
The tutorial emphasizes the importance of understanding test levels and types for effective software testing.
The video concludes with an invitation for viewers to comment with questions and a reminder to continue learning and exploring.
Transcripts
Hello friends and greetings for the day
welcome back to another tutorial on
istqb Foundation level certification we
are in Chapter 2 talking about testing
throughout the sdlc and continuing ahead
with 2.2 which is a new segment talking
about test levels and test types and as
a part of this tutorial we'll be
stepping into the first segment of this
that is
2.2.1 test levels and it will go for
some time as this topic is little longer
I would like to make it in bits and
pieces as
usual in order to get started the very
first and most important thing is a
quick introduction to what is test
levels and test types of course many
people mix and match them and certainly
does not have the right definitions or
right answers to what the test levels
are and how they're different from test
types right here on our screen SC we can
understand that the test levels are
generally defined as group of test
activities that are organized and
managed together so there are certainly
different levels of testing which are
organized and conducted in order to
validate a particular parameter or
functionality or non-functional
characteristics of an application namely
we do know them as unit testing
integration testing integration testing
system testing acceptance or maybe non-f
functionals like performance security
portability and whatnot just for your
kind information we may have 50 plus
levels of testing to be conducted for
any particular product but why would
someone not know all the levels is
because they are not applicable to all
the applications by default so whatever
is best applicable to your application
is what we go ahead and perform them
that's the reason for a particular test
engineer it is not mandatory or
compulsory enough to know all the test
levels but you may find people working
in different portfolios conducting
different levels of testing and in that
context all the levels are important
wherever they are applicable also to add
here when it comes to each test level it
is an instance of the test process
itself performed in relation to software
at given stage of development from
individual components to complete system
or even where applicable the systems of
systems that means all the levels have a
unique objective in fact if you go back
back to our previous topic we discussed
that one of the good practices of
testing says every test level must have
a unique objective specific to that
level and in that context it's not
something that all the levels are going
to fulfill the right needs or the same
set of needs rather each of these level
will concentrate on something very very
specific and particular about a
particular application further to add we
do have test levels defined as related
to other activities within the DLC from
the good practices of testing we can
certainly talk about that we have
corresponding testing activities to that
of development activities and when it
comes to different sdlc model like in
sequencial sdlc models the test levels
are often defined such that the exit
criteria of one level are part of the
entry criteria for the next level and in
some it TR models this may not apply
development activities May span through
multiple test levels or test levels May
overlap in time so I think uh this also
has been discussed in our previous
segment of the chapter 2 itself where we
told you that the testing is not exactly
the same when it comes to different sdlc
model if I talk about sequential models
like waterfall and V model the testing
activities happens one after the other
so the exit criteria of unit testing
would act as entry criteria to
integration testing similarly the exit
criteria of integration testing would
act as entry to system testing but when
it comes to other models like
incremental models like agile certainly
here everything happens in parallel so
development also can overlap throughout
testing life cycle and multiple test
levels can also overlap over a period of
time one more thing here to talk about
is test types are groups of test
activities related to specific quality
characteristics and most of these those
test activities can be performed at
every test level
now test activities are certainly not
those where we talking about in with
respect to test levels when when it
comes to test types these are those
different approaches or those certain
activities of testing which are quite
Global and can be applied to any test
level or can be applied at any point of
time during the testing so here in test
types we'll be talking about things like
what is functional nonfunctional what is
Black Box what is white box and what is
retesting and regression testing and all
of of these if you deep dive when we
come to it we will understand that these
test types are not particular to one
particular level in fact it can be
applied to any test level so let's get
started with the test levels and today
we'll be covering only one level that is
component testing and one by one we'll
cover all the levels as per the syllabus
to discuss them in more better detail so
the very first level of testing which we
start the testing process with is
component testing in general but
technically in soft development
Industries we prefer calling it as unit
testing and here units are tested
independently in terms of making sure
that the smallest part of the
application is also fulfilling the
desirable requirements now many people
get confused when it comes to the
definition of unit testing and do think
that it is just the smallest part of the
application which is testable and that's
what we call it as unit testing right
that's absolutely true if I talk about
the technical definition of unit it
certainly stands the same that is it's
the smallest testable part of the
application which can be called as unit
but what is a unit right is that a
component like a text box on the screen
is that a page of an application or is
that a particular functionality like
login sign up or something else no the
answer is all three as you go to
different organizations you will have
different naming conventions and
different definition to each of these
standard termin techologies thus it may
be different definitions to your
organizations and thus we may call it
out as a combination of all of these so
it is important for one to know that
it's none of each of them or it's just
not limited to one of them unit can be
any of a text box or a radio button or
could be a page of an application or
process or it can be a particular module
like login sign up or search a flight
select a flight or something
independently now as it is just that the
definition is again to talk about the
smallest testable part I just call that
as a unit so in simple words I cannot
test login without username and just
with password right I cannot just test
the login button alone without
fulfilling anything in username and
password so in this context my unit is
not the username field my unit is not
the password field but my unit or the
smallest test component is the entire
login page right so in that context we
can Define our own way of identifying
our units as a part of our application
also to add here we want to tell you
that unit testing may have several
synonyms within the real time so of
course as you see here unit testing or
component testing is also known as unit
testing program testing class testing
code testing structure testing module
testing Etc and mainly focuses on
testing components in isolation that
means independent it's not that we
talking about any sort of Integrations
here if things are just independent like
for example a name field can be tested
independently a phone number field can
be tested independently so we don't talk
about the transactional collection of
modules but just one item at a time and
try to see how feasible it is with that
of the requirement further to add here
we also talk about it is often required
specific support such as test hardness
or unit test Frameworks in order to
perform unit testing it's not that
simple that you can just go and run a
program and get the output you may need
a test framework like unit test
framework for example for different
languages like Java you have junit
python you have py test and similarly
you have G test nunit xunit and whatnot
so language specific unit test
Frameworks are available to perform all
sort of unit test on different programs
and different app applications so yes a
special test harness test harness here
means any kind of uh dummy modules or
supporting mocks which may not be
existing until un the system is fully
established or fully uh prepared or
developed though meanwhile we make use
of certain marks certain stops which are
dumy module and test Arness helps us to
create these kind of uh dummies for
conducting the unit testing also to talk
about component testing is normally
performed by developers in their
development environment so as we get
into the deep dive of environments we
understand that there are different
environments when testing is conducted
so for example we have a Dev environment
we have a QA environment then we'll also
have sit environment then we have uat
and different stages right and then it
goes to production so you call it as
stage or you call it as environments you
may have different dedicated
environments to conduct different levels
of testing and that's where we are
highlighting liting that unit testings
is conducted by developers generally as
a part of development environment also
to add here that it will be performed as
white box testing approach so we'll come
back to you in the next segment that
what is white box testing but on a high
level when testing is conducted at the
code level that is at the back end and
that means a program is being executed
and seen for the desired output without
interacting with a UI that is user
interface we call it as white box
testing and developers generally prefer
using this approach as this is most
convenient option for them and it helps
you to quickly fix the bugs right on the
screen that means as you're looking at
the program you find something you know
not behaving as expected you can quickly
go and fix that error yourself because
you know what is back in right so put
together this is what we call it as unit
testing some of the common bases of
course if you remember V model you have
the answers for what is test basis that
is of course we make use of components
we make use of detail design in order to
basically help us uh Define the basis
that means what do we need in order to
prepare our unit test cases and the test
what you basically conduct is to test
independent modules components programs
and so on right so that's all from this
particular tutorial team this was all
about component testing should you have
anything else feel free to comment below
I'm always there to address your queries
and answer them well till then keep
learning keep exploring keep
understanding the context thanks for
watching the video team and happy
[Music]
learning
Voir Plus de Vidéos Connexes
ISTQB FOUNDATION 4.0 | Tutorial 18 | Test Types | Functional Testing | Non-Functional Testing | CTFL
ISTQB FOUNDATION 4.0 | Tutorial 14 | Test Levels | Component Integration Testing | CTFL Tutorials
ISTQB FOUNDATION 4.0 | Tutorial 19 | Test Types | White Box Testing | Black Box Testing | TM SQUARE
ISTQB FOUNDATION 4.0 | Tutorial 57 | Tool Support for Testing | Test Tools | ISTQB Tutorials
ISTQB FOUNDATION 4.0 | Tutorial 34 | Statement Testing | Statement Coverage | Test Techniques | CTFL
ISTQB FOUNDATION 4.0 | Tutorial 29 | Test Techniques Overview | Test Design Techniques | CTFL
5.0 / 5 (0 votes)