ISTQB FOUNDATION 4.0 | Tutorial 15 | Test Levels | System Testing | CTFL Tutorials | TM Square
Summary
TLDRThis tutorial delves into system testing, a critical phase in the software development life cycle that assesses an application as a whole. It emphasizes the importance of testing the product in a complete form to uncover environment-related defects and non-functional characteristics. The video explains that system testing is not limited to functional testing but also serves as a gateway to non-functional testing, such as portability and usability. It highlights the potential for using simulations, the possibility of different testing teams, and the necessity to address incomplete requirements and product risks within this phase.
Takeaways
- 📚 System testing is a crucial phase in the software development life cycle, focusing on testing the entire application as a single unit.
- 🔍 System testing is necessary to identify issues that cannot be caught at the component or integration levels, such as environment-related factors and system configurations.
- 🚀 System testing serves as a milestone to confirm that the system is functionally ready for further non-functional testing.
- 🔄 Non-functional testing, such as coexistence, portability, and interoperability, often follows system testing to ensure the product's compatibility and performance.
- 👥 System testing can be conducted by an independent test team, separate from those involved in other testing levels, emphasizing the importance of different perspectives.
- 🌐 System testing is not performed in a live production environment but in a simulated environment that closely resembles the target system.
- 🛠 The purpose of system testing includes addressing incomplete requirements that become clearer once the system is fully assembled.
- 🔑 System testing helps in identifying and mitigating product risks that can only be assessed when the complete system is available for examination.
- 🔄 Using simulations of subsystems is a common practice in system testing to ensure comprehensive coverage of the system's behavior.
- 📝 System testing is related to the system specification and may require revisiting and refining requirements based on a holistic view of the product.
- 🔑 System testing is an essential step before moving on to detailed risk analysis and mitigation, which will be covered in more depth in later chapters.
Q & A
What is the primary purpose of system testing?
-The primary purpose of system testing is to evaluate the entire application as a single unit, ensuring that it functions correctly as a whole and meets the specified requirements.
Why is system testing considered crucial even after component and integration testing?
-System testing is crucial because it checks the application as a whole, considering factors and constraints that cannot be tested at the component or integration levels, such as environmental configurations and system-wide defects.
What are some non-functional testing types that can be conducted after system testing?
-Non-functional testing types that can be conducted after system testing include coexistence, portability, interoperability, and installability tests, which assess the system's compatibility and performance in various environments.
Can system testing be performed by the same team that conducted component or integration testing?
-No, system testing can be conducted by an independent test team, different from the one that performed component or integration testing, to ensure a higher level of objectivity and thoroughness.
What is the significance of testing non-functional characteristics after system testing?
-Testing non-functional characteristics after system testing is significant because it helps to ensure that the system is not only functionally ready but also meets quality standards such as performance, security, and usability.
Why is it not advisable to conduct system testing in a live production environment?
-System testing should not be conducted in a live production environment because it is meant to be a controlled, pre-production phase where potential issues can be identified and resolved without affecting end-users.
What does the script suggest about the handling of incomplete requirements during system testing?
-The script suggests that system testing can help address incomplete requirements by providing a clearer view of how and where to implement them within the product once the entire system is available for review.
How does system testing help in mitigating product risks?
-System testing helps in mitigating product risks by identifying potential issues when the entire system is ready for evaluation, allowing for specialized test cases to be run and risks to be addressed before the product is released.
What is the role of simulations in system testing?
-Simulations play a role in system testing by mimicking certain products, services, or subsystems, allowing for testing scenarios that may not be possible with the actual system, thus aiding in comprehensive testing.
What is the relationship between system testing and the subsequent non-functional testing?
-System testing serves as an exit criteria for entering into non-functional testing. Once system testing is completed and the system is deemed functionally ready, non-functional tests such as performance, security, and usability tests can be conducted.
How does the script define the environment for system testing?
-The script defines the environment for system testing as a controlled, non-live setting that closely resembles the target system. This environment is used to conduct tests without impacting the actual production environment.
Outlines
📚 System Testing Overview and Importance
This paragraph introduces the concept of system testing within the context of the software development life cycle. It emphasizes the necessity of system testing to view the product as a whole, beyond the component and integration levels. The speaker explains that system testing is critical for identifying environmental factors and software-hardware configurations that can only be assessed with the complete application. Additionally, it serves as a milestone to ensure the application is functionally ready before proceeding to non-functional testing stages such as performance, security, and interoperability. The paragraph also touches on the independence of test teams and the possibility of using simulations for system testing.
🛠️ System Testing Environment and Incomplete Requirements
The second paragraph delves into the specifics of conducting system testing, highlighting the importance of using an environment that closely mimics the target system, without being a live production environment. It discusses the handling of incomplete requirements that become clearer once the system is fully available, allowing for better placement and implementation of features. The paragraph also addresses product risks that can only be identified and mitigated once the system is complete. It provides an example related to a food delivery application, illustrating how the timing of collecting customer reviews was determined after the product was built. The speaker assures that while product risks are addressed in system testing, project risks are mitigated from earlier stages and will be discussed in more detail in a future chapter.
Mindmap
Keywords
💡System Testing
💡Testing Levels
💡Non-functional Testing
💡Component Testing
💡Integration Testing
💡End-to-End Testing
💡Quality Characteristics
💡Test Environment
💡Incomplete Requirements
💡Product Risk
💡Independence in Testing
Highlights
Introduction to the tutorial on ISTQB Foundation Level certification, focusing on testing throughout the software development life cycle.
Continuation of the discussion on test levels and types, specifically on system testing as part of Chapter 2.
Explanation of the necessity of system testing to view the product as a whole, beyond component or integration levels.
Importance of system testing to identify factors and constraints that cannot be measured until the entire application is available.
System testing as a milestone to confirm the functional readiness of the system for further non-functional testing.
Correlative non-functional testing levels such as coexistence, portability, and interoperability that follow system testing.
Clarification that system testing focuses on functional testing, not non-functional testing, which is a common misconception.
The role of system testing in stabilizing the product before proceeding to non-functional tests like performance and security.
Usage of simulations of subsystems in system testing to ensure comprehensive coverage.
The possibility of system testing being performed by a different, potentially independent, test team from other levels.
Emphasis on the importance of conducting system testing in an environment that closely resembles the target system.
Discussion on addressing incomplete requirements during system testing for better visibility and placement of features.
Mitigation of product risks through specialized test cases once the system is ready, highlighting the importance of system testing in risk management.
Differentiation between product risks and project risks, and the timing for mitigating each type of risk.
Invitation for viewers to comment with questions and an offer of support from the presenter for further understanding.
Closing remarks encouraging continuous learning and exploration in the context of software testing.
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 software development life
cycle and we are continuing ahead with
our second segment that is 2.2 test
levels and test types as it is longer we
are also still in
2.2.1 talking about the test levels of
the testing and certainly today we are
talking about the next level in our
sequence which is system testing
[Music]
well when it comes to system testing
many people quite often thinks that most
of the testing is being conducted at
component level integration level or
component integration level then why
system testing is even required now of
course system testing is something very
crucial in terms of seeing a product as
a whole that means an entire application
as a single unit to be seen is being
tested as this part of testing that is
system testing as one of the level are
critical in order to check the
application as a whole product together
but sometimes it is very important to
understand that there are certain
criteria certain constraints certain
factors or parameters which cannot be
tested prior to system testing for
example if I talk about environment
related factors or configurations of the
system software and Hardware cannot be
measured until unless you have the
application as whole for example in
compon component testing you're limited
to programs in Integrations you may have
collection of modules in component
integration you are still limited to one
or two modules but just talking about
the interfaces between components but
where is the whole product so I cannot
go ahead and install or probably I
cannot talk about the factors which may
return a defect depending on the
environment and certainly those software
and Hardware combinations which might be
required as a minimum software
configuration for running the product
right and on top of it after system
testing I can do a lot of non-functional
level testing which satisfies the base
product that it is working functionally
fine and in that context it is very very
important that system testing gives us
one of the Milestones that the system is
functionally ready and can be you know
moved ahead with all other
non-functional levels in fact some of
the correlative non-functional levels
which can be conducted with respect to
system testing are coexistence
portability interoperability and many
other such levels which do satisfy
either the configuration the
compatibility of the browsers or
installability and the installability of
the product or non-conflict with any
other product which the business might
be using on the same environment so in
that context system testing do play a
vital role and that's where we want to
give you some quick outline of of what
the system testing is all about so to
talk about system testing focuses on
overall behavior and capabilities of an
entire system or product often including
functional testing of end to end task
and the non-functional testing of
quality characteristics however let me
remind you system testing is not the
level which conducts non-functional
testing it's just a functional level
again and will be used or seen as a exit
criteria to get into to all the
non-functional executions the point
being made here that it is used to
system testing focuses on non-functional
characteristics that means right from
here all the non-functional
characteristics will also kick off and
parallel but once completed it will be
more stabilize and you can go and run a
performance test security test or
interoperability test
etc for some non-functional quality
characteristics it is preferable to test
them on a complete system in a
representative test environment and
that's what I think I was just talking
about probably I was one point ahead and
certainly giving you that what we meant
so even usability is one of those
examples of non-functional testing which
does scatter the whole systems need and
user friendliness of that we'll be
talking about non-functional testing in
our upcoming tutorials so stay tuned for
that but right now just keep it limited
to terminology further to add of course
uh using simulations of subsystems is
also possible system testing may be
performed by dependent test team and is
related to specification for the system
now here we want to bring back that
concept of chapter one that hey it's not
necessary that all the test levels will
be done by the same people or same set
of team so competent testing is
generally the ownership of development
team in component integration can be
done by developers or testers or same
way integration testing can be done by a
separate testing team and within
functional levels also a different team
might be required to perform the system
testing compared to that of integration
so we may have any level of Independence
between the test levels of our own
functional testing also and that's where
we want to highlight that that this
level of testing can be conducted by an
independent test team to that of what
other levels have been conducted also
here one other point which was brought
up that it is uh using a system which is
either a simulation of certain products
or certain services or subsystem of the
real one now here if I talk about some
of the criticality that we don't talk
about production as an environment to be
used for system testing production is
live that means we don't do system
testing in a live environment so we try
to have as close as possible to Target
system in order to conduct system so it
is just like a system testing
environment but we do understand that it
is not a live environment so everything
will be still prepr and conducted in a
virtual environment also to add further
system testing might be required to
address incomplete requirements and any
other product risk related to the
product now incomplete requirement
simply means that I may have such
certain requirements which might not be
very very clear and up to the mark when
defining it during the requirement
Gathering phase sometimes we don't even
have a Clarity that how this requirement
will fit into this product and where
exactly to place it but once you have
the system available then you have a
better visibility or 360 view of your
own product and you know better where
exactly to place it or where exactly to
implement it so I'm not talking about
that will the development be on hold
till till then answer is no it will be
develop but placing the functionality or
feature at what point of time during the
product or what during the sequence of
activities can be established here for
an example if I talk about the reviews
to be collected on zomato right zomato
is a food delivery applications right
here so most of us know that and U
assume that the customer had a
requirement on the review to be
collected from customer that how was the
delivery and how was the food so the
question was the feature was implemented
but we were not sure at what point to
collect this from the customer like when
to pop up this is that on the next order
which will be too late or is that like
before you get it no that's not possible
so as we built the product
we realize that the moment you collect
the order the delivery boy will Mark the
status as delivered and the same moment
you will be also having the phone in
hand and at the same time you'll be
looking at your phone and that's where
the popup will happen that hey would you
like to rate the delivery experience was
it on time polite minimum calling and
sort of thing so that's what we are
talking about when we say incomplete
requirements okay sometime we are not
even sure where exactly to place it then
now now I see from the T 60 view that
this is the place where I can put it
best and when it comes to risk which are
related to product they can only be
addressed when the system is ready
because that's a product risk so I can
go and run some specialized test cases
in order to mitigate this risk however
given that these product risk will
return some byproducts of project risk
that means what would be the reason for
those risk and we would start mitigating
them as soon as possible right from
component level itself or maybe much
earlier like from requirement Gathering
or design phase two but again we will
Deep dive into the risk and testing in
our chapter 5 so don't worry about that
we will discuss in detail that what is
risk what is product risk what is
Project risk and so on so that's all
from this particular tutorial team I
hope you had a good understanding of
system testing should you have anything
else feel free to comment below I'm
always there to address your queries
announce them well till then keep
learning keep exploring keep
understanding the context thanks for
watching the video team and happy
learning
[Music]
me
関連動画をさらに表示
ISTQB FOUNDATION 4.0 | Tutorial 18 | Test Types | Functional Testing | Non-Functional Testing | CTFL
Software Testing Tutorial #16 - Types of Software Testing
Software Testing Tutorial #17 - What is Functional Testing
ISTQB FOUNDATION 4.0 | Tutorial 36 | Value of White Box Test Techniques | CTFL Tutorials | TM SQUARE
CH05.L01 . Black box or white box testing
Integration Testing with examples | Software Engineering
5.0 / 5 (0 votes)