ISTQB FOUNDATION 4.0 | Tutorial 19 | Test Types | White Box Testing | Black Box Testing | TM SQUARE

TM SQUARE
29 Dec 202308:55

Summary

TLDRThis tutorial delves into the ISTQB Foundation Level certification, focusing on Chapter 2.2.2 about test types, specifically white box and black box testing. It clarifies misconceptions, emphasizing that white box, a structure-based approach from the code level, and black box, a specification-based approach without code knowledge, are independent and can be applied at various testing levels. The video also dispels the myth of other 'colored box' testing methods, asserting that only white and black box testing are standardized, with each having its unique place in the QA community.

Takeaways

  • 📚 The tutorial is about ISTQB Foundation Level certification, focusing on Chapter 2 which discusses testing throughout the SDLC, specifically on test levels and types.
  • 🔍 The session clarifies the confusion around white box and black box testing, emphasizing that they are two independent approaches and not classifications within unit testing.
  • 💡 White box testing is a structure-based approach that derives tests from the system's implementation, such as code, architecture, and workflows, aiming to cover the underlying structure adequately.
  • 👨‍💻 White box testing is often used for unit testing and non-functional testing due to its efficiency in identifying and fixing bugs at the code level.
  • 🔑 The main objective of white box testing is to ensure the test coverage of the system's internal structure reaches an acceptable level.
  • 📦 Black box testing is a specification-based approach that derives tests from external documentation such as requirements, business models, and use cases.
  • 🎯 The goal of black box testing is to verify the system's behavior against its specifications without knowledge of the internal code or architecture.
  • 👥 Black box testing is typically conducted by testers who interact with the system's user interface, simulating user behavior and checking for expected outcomes.
  • 🛠 Both white box and black box testing approaches are important and have their own place in the testing process, with different levels of efficiency and focus.
  • 🔄 It is possible to apply both functional and non-functional test types at any test level, with different techniques used to derive test conditions and cases.
  • 🚫 The tutorial refutes the existence of other 'colored box' testing methods beyond white and black, stating that these are merely internal naming conventions and not part of the standard testing methodologies.

Q & A

  • What is the main topic of this tutorial?

    -The main topic of this tutorial is the explanation of white box and black box testing as part of the ISTQB Foundation Level certification, focusing on their definitions, differences, and applications in different testing levels.

  • Why are people often confused about white box and black box testing?

    -People are often confused about white box and black box testing because they mistakenly believe there is a classification that unit testing is a type of white box testing or vice versa, while in reality, these are two independent approaches that can be used at any level of testing.

  • What is the primary objective of white box testing?

    -The primary objective of white box testing is to cover the underlying structure of the system by the tests to an acceptable level, which involves understanding the code, architecture, workflows, and data flows.

  • How does a tester approach system testing using the white box approach?

    -A tester using the white box approach for system testing would work at the code level, executing the code to see the desired output, which allows for faster identification and fixing of bugs.

  • What is the difference between white box and black box testing in terms of tester's knowledge?

    -White box testing requires the tester to have a good understanding of the code and internal structure of the system, while black box testing is conducted without knowledge of the backend code, focusing on the system's behavior against its specifications.

  • Why is white box testing mainly used for unit testing?

    -White box testing is mainly used for unit testing because it allows for efficient testing at the code level, where the tester can quickly execute code and identify deviations, making it suitable for testing the smallest pieces of code.

  • How does non-functional testing relate to white box testing?

    -Non-functional testing is often conducted using the white box testing approach because it focuses on the system's architecture and interactions rather than the user interface, making it a suitable method for this type of testing.

  • What is the main objective of black box testing?

    -The main objective of black box testing is to check the system's behavior against its specifications, which is based on external documentation such as requirements, business models, and use cases.

  • Can black box testing be applied at any testing level?

    -Yes, black box testing can be applied at any testing level, including unit testing, integration testing, and system testing, although it is more commonly used for system and acceptance testing.

  • What is the significance of understanding both white box and black box testing approaches?

    -Understanding both white box and black box testing approaches is significant because it allows testers to choose the most appropriate method for different testing scenarios, ensuring comprehensive coverage of the system's functionality and behavior.

  • Are there any other 'colors' of testing besides white and black box testing?

    -No, according to the standard, there are no other 'colors' of testing besides white and black box testing. Other terms like gray box, red box, blue box, and yellow box are internal naming conventions of different organizations and are not recognized in the standard.

Outlines

00:00

📚 Understanding White Box and Black Box Testing

This paragraph introduces the topic of white box and black box testing within the context of ISTQB Foundation level certification, specifically focusing on Chapter 2.2.2. The speaker clarifies misconceptions about the relationship between these testing approaches and unit testing. White box testing is described as structure-based, deriving tests from the system's code or internal structure, with the goal of covering the underlying code to an acceptable level. The speaker emphasizes that white box testing is not limited to unit testing but is also used in non-functional testing. The paragraph also introduces black box testing as an alternative approach, which is based on specifications and external documentation, aiming to check the system's behavior against its requirements.

05:01

🔍 Exploring the Differences and Applications of Testing Approaches

The second paragraph delves deeper into the differences between white box and black box testing, emphasizing their independent nature and applicability at various testing levels. It discusses the efficiency of white box testing for unit testing and API testing, as well as its use in non-functional testing. The paragraph also explains black box testing as a specification-based approach, conducted without knowledge of the system's internal code, and its common use in system testing and acceptance testing. The speaker refutes the existence of other 'colored box' testing methods beyond white and black, stating that these are merely internal naming conventions without standard recognition. The paragraph concludes by highlighting the importance of both approaches and their flexibility in being applied at different testing levels, including the early involvement of performance testers in the development cycle.

Mindmap

Keywords

💡ISTQB Foundation Level Certification

The ISTQB Foundation Level Certification is a globally recognized qualification for software testers. It signifies a foundational understanding of software testing principles and practices. In the video, this certification is the context for the tutorial, which aims to educate viewers on various aspects of software testing.

💡SDLC

SDLC stands for Software Development Life Cycle, which is the process of creating software and the sequence of stages that a software product goes through from its conception to its retirement. In the script, the discussion revolves around testing within the SDLC, emphasizing the importance of testing at different stages of software development.

💡Test Level

Test Level in the context of the video refers to the different stages at which testing can occur, such as unit, integration, system, and acceptance testing. The script discusses the application of different testing approaches at various test levels.

💡White Box Testing

White Box Testing is a method where the tester has access to the internal structure of the system and tests the software based on its code. The video clarifies that it is a structural-based testing approach and is commonly used for unit testing and non-functional testing, as it allows testers to understand and verify the internal workings of the software.

💡Black Box Testing

Black Box Testing is an approach where the tester checks the functionality of the software without any knowledge of its internal workings. The script explains that this method is specification-based and focuses on the system's behavior against its requirements, often used for system testing and acceptance testing.

💡Unit Testing

Unit Testing is the process of testing individual components or units of a software to determine if they work correctly. In the video, it is mentioned that unit testing can be performed using both white box and black box approaches, although white box is more common due to its focus on the internal code structure.

💡System Testing

System Testing involves testing the complete, integrated software system to evaluate its compliance with specified requirements. The script indicates that system testing is typically conducted using black box testing to ensure the system behaves as expected from a user's perspective.

💡Non-functional Testing

Non-functional Testing assesses aspects of a system that are not related to its functionality, such as performance, usability, and security. The video emphasizes that non-functional testing is often conducted using white box testing to examine the underlying architecture and code for potential issues.

💡API Testing

API stands for Application Programming Interface, and API Testing is the process of verifying the functionality and reliability of an API. The script mentions that API testing is often performed using white box testing to understand and test the code-level interactions within the system.

💡Test Approach

A Test Approach in the script refers to the methodology or strategy used for testing, such as white box or black box testing. The video discusses the suitability of different test approaches for various testing scenarios and emphasizes that they are not restricted to specific test levels but can be applied flexibly.

💡Performance Testing

Performance Testing is a type of testing that focuses on the speed, stability, and scalability of a software application. The video script uses performance testing as an example of non-functional testing that can be conducted using a white box approach to identify issues like memory leaks or unused variables at an early stage.

Highlights

Introduction to the tutorial on ISTQB Foundation level certification, focusing on Chapter 2 about testing throughout the SDLC.

Exploration of test types, specifically white box and black box testing, addressing common confusion in the QA community.

Clarification that white box and unit testing are independent approaches, not classifications of one another.

Explanation of white box testing as a structure-based approach, deriving tests from the system's implementation.

Discussion on the efficiency of white box testing for unit testing and non-functional testing levels.

Insight that white box testing is not restricted to unit testing but can be applied at any level.

Introduction to black box testing as a specification-based approach, contrasting with white box testing.

Description of black box testing's focus on the system's behavior against its specifications without knowledge of the backend code.

Highlight of the importance of user perception in testing and its relation to black box testing.

Mention of the potential longer turnaround time for fixing defects in black box testing due to the lack of direct code interaction.

Statement that both white box and black box testing approaches are valuable and have their own place in the testing process.

Emphasis on the applicability of functional and non-functional test types at any test level, with different focuses.

Example given of performance testers joining unit testing to identify memory leaks or unused variables, illustrating the flexibility of test approaches.

Myth-busting regarding the existence of testing types beyond white and black box, clarifying that other 'colors' are not standard.

Encouragement for continuous learning and exploration in the field of testing, with an invitation for questions and comments.

Closing remarks with a reminder of the value of understanding the context in testing methodologies.

Transcripts

play00:00

Hello friends and greetings for the day

play00:02

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 the sdlc and uh still

play00:11

continuing with 2.2 that is test level

play00:14

and test types as a part of this

play00:16

particular segment today we'll be

play00:18

continuing with

play00:19

2.2.2 that is test types and we will be

play00:22

talking about white box and blackbox

play00:28

testing

play00:31

[Music]

play00:35

well today we are talking about

play00:37

something very very crucial because most

play00:39

of the world and entire QA Community

play00:42

almost most of them are pretty confused

play00:45

with this particular topic many times

play00:47

when I do sessions and ask people and

play00:49

this quick question that hey what do you

play00:51

mean by white box they say it's a type

play00:53

of unit testing or sometime people say

play00:55

that white box is type of unit testing

play00:58

or unit testing is a type of white box

play01:00

and that's how they classify and

play01:02

remember what is white box testing but

play01:05

let me tell you very clearly today that

play01:07

there are no such classifications these

play01:09

are two independent approaches and can

play01:11

be used at any particular level if you

play01:14

want you can do unit testing with white

play01:16

box or if you want you can do system

play01:18

testing with white box but it's just not

play01:20

efficient enough and that's where we

play01:22

have some best practices what we are

play01:24

following today and we use white box

play01:27

mainly for unit testing as of now and

play01:30

most of the non-functional levels yes

play01:32

you must be getting surprised to know

play01:34

that it's not that unit testing is

play01:36

restricted to white box level or being

play01:38

used as a white box testing approach but

play01:41

all the non-functional testing or most

play01:43

of the non-functional testing is used or

play01:46

conducted by using white box testing

play01:49

approach so let's Deep dive into this

play01:51

and try to understand more about that

play01:54

what is the difference between these two

play01:55

approaches and how this is applicable to

play01:57

any particular level which we conduct in

play02:00

testing so the very first thing we're

play02:01

talking about is white box testing white

play02:04

box testing is a structure-based and

play02:06

derives test from the systems

play02:08

implementation which is basically the

play02:10

code or internal structure which

play02:13

includes the code architecture workflows

play02:15

data flows Etc the main objective of

play02:18

white box testing is to cover the

play02:20

underlying structure by the test to the

play02:23

acceptable level now in simple words all

play02:26

we are trying to say that assume that

play02:28

there is a person who is working in the

play02:29

organization and trying to test the

play02:31

system if this person has a very good

play02:34

understanding of what is code what is

play02:35

the program what is the architecture and

play02:38

what is the workflow behind the screen

play02:41

and in order to test this this person

play02:43

will certainly prefer working on the

play02:45

back end that is at the code level and

play02:47

run the code to see the desired output

play02:49

because it's convenient for this person

play02:51

to go and execute a code and at the same

play02:53

time it would be very fast for him or

play02:55

her to quickly fix a bug if the

play02:58

deviations are observed so we don't

play02:59

don't really have to wait for someone to

play03:01

understand our effect or kind of like

play03:03

you know explain a third person that

play03:05

what could be wrong how to reproduce a

play03:07

effect and so on so in white box testing

play03:10

it becomes pretty much faster but again

play03:13

I can talk about simple programs like

play03:15

unit the smallest piece of code which I

play03:18

can test at a time of course these are

play03:20

not recommended at a very huge level

play03:23

like system level or acceptance level

play03:25

but it's not restricted that means it's

play03:28

not necessary that you can only use it

play03:30

at unit can't use it at integration but

play03:32

for example if I talk about API testing

play03:35

which is interfaces uh application

play03:38

programming interfaces I certainly go

play03:40

with white box right and many of

play03:43

non-functional do make use of it so it's

play03:45

just an approach if you're testing on

play03:47

the back end at the code level by

play03:49

executing the code and looking for the

play03:51

desired outputs you call it as white

play03:53

post testing approach on the other hand

play03:55

we do have another approach called as

play03:57

blackbox and when it comes to the

play03:59

blackbox test approach we talk about it

play04:03

is based on the specification based and

play04:05

derives test from documentation external

play04:08

to the test object which is more of like

play04:09

requirements business model use cases

play04:12

Etc the main objective of blackbox

play04:15

testing is to check the system's

play04:18

Behavior against its specification and

play04:21

again this is generally being conducted

play04:23

by the tester so the very important and

play04:26

most common points here is to talk about

play04:29

that black box testing is something

play04:30

which happens without the knowledge of

play04:32

the backend code so say in simple words

play04:36

if I'm a person who's trying to conduct

play04:38

testing on a system but I don't have

play04:40

zero knowledge on coding and programming

play04:42

or internal architecture of the system

play04:45

now if in case I'm supposed to test it I

play04:47

would certainly prefer a front-end

play04:49

approach which is a UI specific approach

play04:51

like a user I'll try to interact with

play04:53

the system enter the desired inputs and

play04:56

look for desired outputs by clicking

play04:58

buttons and this this Behavior certainly

play05:00

is referred to as blackbox because you

play05:02

are just limited to the external

play05:05

boundaries of the body right and in that

play05:08

case this is something which is limited

play05:10

to people who are test Engineers because

play05:13

generally we say that user perception is

play05:15

equally important however the approach

play05:17

is slightly different here here it may

play05:19

take other way around a little longer to

play05:22

fix the defects it may take little you

play05:24

know longer to explain someone that what

play05:26

did you find as a tester in terms of

play05:29

defect and then developer will work on

play05:31

it you have a longer turn around time

play05:33

and so on so forth but the most

play05:36

important thing here is the biasing that

play05:38

two people are different not the same

play05:40

person is trying to test and at the same

play05:42

time user perception is equally

play05:44

important if I don't work on the front

play05:46

end it may not fulfill the needs of the

play05:49

user interface or the expectation of the

play05:51

user needs in that context both the

play05:53

approaches are very much standing at

play05:56

their own place if you have a question

play05:58

in your mind that which one is the best

play05:59

best then answer is both of them but of

play06:02

course best applicable at some typical

play06:05

levels right so generally system testing

play06:08

and acceptance testing are conducted

play06:10

using blackb testing and that's very

play06:12

common approach to be used but when it

play06:14

comes to non-functional as I told you we

play06:17

prefer using wbox because there we don't

play06:19

worry about UI but we are more worried

play06:21

about architecture and interactions in

play06:24

that context blackbox is again not

play06:27

limited to system if you also want you

play06:29

can do it at acceptance and few other

play06:31

non-functional level like usability okay

play06:34

usability does not get into the hardcore

play06:36

coding so put together these are the two

play06:39

uh approaches what we wanted to talk but

play06:41

before we wind up we also have a quick

play06:43

note for you to remind you and summarize

play06:46

that all the four above mentioned which

play06:49

means the functional nonfunctional white

play06:51

box and black box these test types can

play06:54

be applied to all test levels although

play06:56

the focus will be different at each

play06:58

level different test techniques can be

play07:00

used to derive test conditions and test

play07:02

cases for all the mentioned test types

play07:05

so this is what I was trying to convey

play07:06

you that they are not restricted it's

play07:08

not a hard-coded classification that

play07:10

this would fall under this particular

play07:12

level and that would fall under this

play07:13

particular level no any of these

play07:16

approaches any of these functional and

play07:18

non-functional test types can be used at

play07:21

any level be unit testing integration

play07:24

how is that even possible for example a

play07:25

performance test engineer can always

play07:28

join unit testing and start reviewing

play07:30

the code in terms of identifying the

play07:32

memory leaks or wild pointers or things

play07:35

like variables which are defined but

play07:37

never used or variables which are used

play07:40

but never sorry declared but never used

play07:43

and things which are used but not

play07:45

declared so these all turn on to the

play07:48

degrading of the performance so

play07:50

performance testers do not wait for the

play07:52

system to be ready in order to get

play07:54

started of course the executions will

play07:55

happen after system testing but the

play07:58

kickoff can happen

play07:59

right at the beginning itself so that's

play08:02

how it makes a lot of sense also to add

play08:04

another important keynote here which I

play08:06

experienced in my journey so far there

play08:08

are no other colors in testing except

play08:11

white and black okay we don't have gray

play08:13

box testing we don't have red box blue

play08:16

box yellow box the internet is filled

play08:18

with a lot of information which does not

play08:20

make any sense okay these are all

play08:22

internal naming conventions of different

play08:25

organizations as for the standard we do

play08:27

not have anything beyond White white and

play08:29

black okay so that's all from this

play08:31

particular tutorial team should you have

play08:33

anything else feel free to comment below

play08:35

I'm always there to address your queries

play08:36

and answer them well till then keep

play08:38

learning keep exploring keep

play08:40

understanding the context thanks for

play08:41

watching the video team and happy

play08:47

[Music]

play08:54

learning

Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
ISTQBTestingSDLCWhite BoxBlack BoxUnit TestingSystem TestingQA CommunityCode TestingSpecification TestingTesting Tutorial
Benötigen Sie eine Zusammenfassung auf Englisch?