ISTQB FOUNDATION 4.0 | Tutorial 15 | Test Levels | System Testing | CTFL Tutorials | TM Square

TM SQUARE
15 Dec 202309:11

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

00:00

📚 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.

05:02

🛠️ 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

System testing is a type of testing that focuses on evaluating the entire application as a single unit. It is crucial for ensuring that the product functions correctly as a whole, beyond the individual components or modules. In the video, system testing is described as a critical phase where the application's interfaces and overall behavior are tested for completeness and proper functionality. An example given is the testing of environmental factors and software-hardware configurations that can only be assessed once the whole system is in place.

💡Testing Levels

Testing levels refer to the different stages of testing during the software development life cycle. The script discusses system testing as part of these levels, which includes component testing, integration testing, and others. Each level serves a specific purpose and has its own set of tests and criteria. The video emphasizes the importance of system testing as the next level after component and integration testing, highlighting its role in seeing the product as a whole.

💡Non-functional Testing

Non-functional testing assesses aspects of a system that are not directly related to its functionality, such as performance, security, and usability. The script mentions that system testing is not the level for non-functional testing but serves as an entry point to initiate these tests. It is vital for ensuring that the system meets the required quality characteristics and is ready for further non-functional assessments like portability and interoperability.

💡Component Testing

Component testing is a testing level that focuses on individual components or modules of a software application. It is limited to testing within the scope of these components and does not consider the application as a whole. In the script, component testing is contrasted with system testing, which looks at the entire application, including how components interact within the broader system.

💡Integration Testing

Integration testing is the process of testing combined parts of an application to ensure they work together correctly. It is mentioned in the script as a testing level that precedes system testing. Integration testing checks for defects in the interfaces between modules and is essential before moving on to test the system as a whole.

💡End-to-End Testing

End-to-end testing is a testing approach that assesses the complete workflow of a system from start to finish. The script describes system testing as including functional testing of end-to-end tasks, ensuring that the entire process works as intended from the user's perspective.

💡Quality Characteristics

Quality characteristics are the attributes that determine the overall quality of a product or system. In the context of system testing, the script refers to non-functional characteristics such as usability, performance, and security, which are tested to ensure the system meets the expected quality standards.

💡Test Environment

A test environment is a setup that simulates the actual environment where the system will operate. The script discusses the importance of having a test environment that closely resembles the target system for conducting system testing. It emphasizes that system testing should not be conducted in a live production environment but in a controlled, simulated setting.

💡Incomplete Requirements

Incomplete requirements refer to specifications that are unclear or not fully defined during the requirement gathering phase. The script explains that system testing can help address these by providing a better view of where and how to implement these requirements once the complete system is available for review.

💡Product Risk

Product risk involves potential issues that could affect the product's functionality or quality. The script mentions that system testing is a stage where product risks can be identified and mitigated through specialized test cases, ensuring that the product is robust and reliable before release.

💡Independence in Testing

Independence in testing refers to the level of separation between the testing team and the development team. The script highlights that system testing can be performed by an independent test team, different from those involved in other testing levels, which can help ensure unbiased and comprehensive 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

play00:00

Hello friends and greetings for the day

play00:01

welcome back to another tutorial on

play00:03

istqb Foundation level certification we

play00:06

are in Chapter 2 talking about testing

play00:08

throughout software development life

play00:10

cycle and we are continuing ahead with

play00:12

our second segment that is 2.2 test

play00:14

levels and test types as it is longer we

play00:17

are also still in

play00:18

2.2.1 talking about the test levels of

play00:22

the testing and certainly today we are

play00:24

talking about the next level in our

play00:26

sequence which is system testing

play00:35

[Music]

play00:38

well when it comes to system testing

play00:40

many people quite often thinks that most

play00:42

of the testing is being conducted at

play00:44

component level integration level or

play00:46

component integration level then why

play00:49

system testing is even required now of

play00:51

course system testing is something very

play00:54

crucial in terms of seeing a product as

play00:56

a whole that means an entire application

play00:59

as a single unit to be seen is being

play01:02

tested as this part of testing that is

play01:04

system testing as one of the level are

play01:07

critical in order to check the

play01:08

application as a whole product together

play01:11

but sometimes it is very important to

play01:13

understand that there are certain

play01:14

criteria certain constraints certain

play01:17

factors or parameters which cannot be

play01:19

tested prior to system testing for

play01:22

example if I talk about environment

play01:23

related factors or configurations of the

play01:26

system software and Hardware cannot be

play01:29

measured until unless you have the

play01:30

application as whole for example in

play01:33

compon component testing you're limited

play01:35

to programs in Integrations you may have

play01:37

collection of modules in component

play01:39

integration you are still limited to one

play01:42

or two modules but just talking about

play01:44

the interfaces between components but

play01:46

where is the whole product so I cannot

play01:48

go ahead and install or probably I

play01:50

cannot talk about the factors which may

play01:53

return a defect depending on the

play01:55

environment and certainly those software

play01:57

and Hardware combinations which might be

play01:59

required as a minimum software

play02:01

configuration for running the product

play02:04

right and on top of it after system

play02:06

testing I can do a lot of non-functional

play02:08

level testing which satisfies the base

play02:11

product that it is working functionally

play02:14

fine and in that context it is very very

play02:16

important that system testing gives us

play02:19

one of the Milestones that the system is

play02:22

functionally ready and can be you know

play02:25

moved ahead with all other

play02:26

non-functional levels in fact some of

play02:28

the correlative non-functional levels

play02:30

which can be conducted with respect to

play02:33

system testing are coexistence

play02:35

portability interoperability and many

play02:38

other such levels which do satisfy

play02:40

either the configuration the

play02:42

compatibility of the browsers or

play02:45

installability and the installability of

play02:46

the product or non-conflict with any

play02:50

other product which the business might

play02:51

be using on the same environment so in

play02:54

that context system testing do play a

play02:56

vital role and that's where we want to

play02:58

give you some quick outline of of what

play03:00

the system testing is all about so to

play03:03

talk about system testing focuses on

play03:05

overall behavior and capabilities of an

play03:08

entire system or product often including

play03:11

functional testing of end to end task

play03:13

and the non-functional testing of

play03:15

quality characteristics however let me

play03:17

remind you system testing is not the

play03:19

level which conducts non-functional

play03:22

testing it's just a functional level

play03:24

again and will be used or seen as a exit

play03:28

criteria to get into to all the

play03:30

non-functional executions the point

play03:32

being made here that it is used to

play03:34

system testing focuses on non-functional

play03:36

characteristics that means right from

play03:38

here all the non-functional

play03:40

characteristics will also kick off and

play03:42

parallel but once completed it will be

play03:45

more stabilize and you can go and run a

play03:47

performance test security test or

play03:49

interoperability test

play03:51

etc for some non-functional quality

play03:53

characteristics it is preferable to test

play03:56

them on a complete system in a

play03:58

representative test environment and

play04:00

that's what I think I was just talking

play04:01

about probably I was one point ahead and

play04:04

certainly giving you that what we meant

play04:05

so even usability is one of those

play04:07

examples of non-functional testing which

play04:09

does scatter the whole systems need and

play04:12

user friendliness of that we'll be

play04:14

talking about non-functional testing in

play04:16

our upcoming tutorials so stay tuned for

play04:18

that but right now just keep it limited

play04:20

to terminology further to add of course

play04:23

uh using simulations of subsystems is

play04:26

also possible system testing may be

play04:28

performed by dependent test team and is

play04:31

related to specification for the system

play04:33

now here we want to bring back that

play04:35

concept of chapter one that hey it's not

play04:37

necessary that all the test levels will

play04:39

be done by the same people or same set

play04:41

of team so competent testing is

play04:43

generally the ownership of development

play04:45

team in component integration can be

play04:47

done by developers or testers or same

play04:50

way integration testing can be done by a

play04:52

separate testing team and within

play04:55

functional levels also a different team

play04:57

might be required to perform the system

play04:59

testing compared to that of integration

play05:02

so we may have any level of Independence

play05:04

between the test levels of our own

play05:07

functional testing also and that's where

play05:09

we want to highlight that that this

play05:11

level of testing can be conducted by an

play05:14

independent test team to that of what

play05:16

other levels have been conducted also

play05:18

here one other point which was brought

play05:20

up that it is uh using a system which is

play05:24

either a simulation of certain products

play05:27

or certain services or subsystem of the

play05:29

real one now here if I talk about some

play05:32

of the criticality that we don't talk

play05:35

about production as an environment to be

play05:38

used for system testing production is

play05:40

live that means we don't do system

play05:42

testing in a live environment so we try

play05:44

to have as close as possible to Target

play05:48

system in order to conduct system so it

play05:50

is just like a system testing

play05:52

environment but we do understand that it

play05:54

is not a live environment so everything

play05:57

will be still prepr and conducted in a

play06:00

virtual environment also to add further

play06:03

system testing might be required to

play06:05

address incomplete requirements and any

play06:08

other product risk related to the

play06:09

product now incomplete requirement

play06:12

simply means that I may have such

play06:14

certain requirements which might not be

play06:16

very very clear and up to the mark when

play06:19

defining it during the requirement

play06:21

Gathering phase sometimes we don't even

play06:23

have a Clarity that how this requirement

play06:24

will fit into this product and where

play06:27

exactly to place it but once you have

play06:29

the system available then you have a

play06:31

better visibility or 360 view of your

play06:34

own product and you know better where

play06:36

exactly to place it or where exactly to

play06:38

implement it so I'm not talking about

play06:40

that will the development be on hold

play06:42

till till then answer is no it will be

play06:45

develop but placing the functionality or

play06:47

feature at what point of time during the

play06:50

product or what during the sequence of

play06:53

activities can be established here for

play06:55

an example if I talk about the reviews

play06:58

to be collected on zomato right zomato

play07:01

is a food delivery applications right

play07:03

here so most of us know that and U

play07:06

assume that the customer had a

play07:07

requirement on the review to be

play07:09

collected from customer that how was the

play07:12

delivery and how was the food so the

play07:14

question was the feature was implemented

play07:16

but we were not sure at what point to

play07:18

collect this from the customer like when

play07:20

to pop up this is that on the next order

play07:23

which will be too late or is that like

play07:25

before you get it no that's not possible

play07:28

so as we built the product

play07:29

we realize that the moment you collect

play07:31

the order the delivery boy will Mark the

play07:34

status as delivered and the same moment

play07:36

you will be also having the phone in

play07:38

hand and at the same time you'll be

play07:40

looking at your phone and that's where

play07:42

the popup will happen that hey would you

play07:44

like to rate the delivery experience was

play07:46

it on time polite minimum calling and

play07:49

sort of thing so that's what we are

play07:51

talking about when we say incomplete

play07:53

requirements okay sometime we are not

play07:55

even sure where exactly to place it then

play07:57

now now I see from the T 60 view that

play08:00

this is the place where I can put it

play08:02

best and when it comes to risk which are

play08:04

related to product they can only be

play08:07

addressed when the system is ready

play08:09

because that's a product risk so I can

play08:11

go and run some specialized test cases

play08:13

in order to mitigate this risk however

play08:16

given that these product risk will

play08:18

return some byproducts of project risk

play08:21

that means what would be the reason for

play08:23

those risk and we would start mitigating

play08:25

them as soon as possible right from

play08:27

component level itself or maybe much

play08:29

earlier like from requirement Gathering

play08:31

or design phase two but again we will

play08:33

Deep dive into the risk and testing in

play08:36

our chapter 5 so don't worry about that

play08:38

we will discuss in detail that what is

play08:40

risk what is product risk what is

play08:42

Project risk and so on so that's all

play08:45

from this particular tutorial team I

play08:46

hope you had a good understanding of

play08:47

system testing should you have anything

play08:49

else feel free to comment below I'm

play08:51

always there to address your queries

play08:52

announce them well till then keep

play08:54

learning keep exploring keep

play08:56

understanding the context thanks for

play08:57

watching the video team and happy

play08:58

learning

play09:03

[Music]

play09:10

me

Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
System TestingSoftware LifecycleISTQBFunctional TestingNon-functional TestingQuality AssuranceTest EnvironmentProduct RiskRequirement ClarityTesting LevelsDevelopment Team
Benötigen Sie eine Zusammenfassung auf Englisch?