ISTQB FOUNDATION 4.0 | Tutorial 29 | Test Techniques Overview | Test Design Techniques | CTFL

TM SQUARE
18 Jan 202411:23

Summary

TLDRThis tutorial delves into the ISTQB Foundation Level Certification, focusing on Chapter 4: Test Analysis and Design Techniques. It introduces test techniques as solutions to the impracticality of exhaustive testing, emphasizing their role in reducing test cases while maintaining coverage. The script outlines three main categories: Black Box, White Box, and Experience-Based techniques, each with specific methods like Equivalence Partitioning, Boundary Value Analysis, and Error Guessing. The tutorial aims to equip testers with the knowledge to apply these techniques effectively, highlighting their importance in identifying defects that formal testing might miss.

Takeaways

  • πŸ“š The tutorial introduces Chapter 4 of the ISTQB Foundation Level certification, focusing on Test Analysis and Design Techniques.
  • πŸ” Test techniques are methods to reduce the number of test cases needed while maintaining coverage, addressing the impracticality of exhaustive testing.
  • πŸ› οΈ Test techniques aid in test analysis (what to test) and test design (how to test), not just in creating test cases but also in analyzing requirements.
  • πŸ“‰ Techniques help in developing a small but sufficient set of test cases systematically, aiming for optimum coverage rather than exhaustiveness.
  • πŸ”‘ Test techniques assist in defining test conditions, identifying coverage items, and determining test data during the test analysis and design phase.
  • πŸ“¦ Black-box test techniques, also known as specification-based techniques, rely on the specified behavior of the test object without considering its internal structure.
  • πŸ“ Detailed requirements are essential for applying black-box test techniques, as they are derived from the product's expected behavior or specifications.
  • πŸ”„ If the implementation changes but the required behavior remains the same, black-box test cases remain valid, as they are based on requirements, not code.
  • πŸ’‘ White-box test techniques, or structure-based techniques, depend on the internal structure of the software, including code and design, and are applicable to those with coding knowledge.
  • πŸ”‘ Statement testing and branch testing are part of white-box techniques, with coverage measures like statement coverage and branch coverage.
  • 🧐 Experience-based test techniques leverage the tester's past experience, domain knowledge, and understanding of typical defects, making them complementary to black-box and white-box techniques.
  • πŸ”Ž Techniques such as error guessing, exploratory testing, and checklist-based testing are categorized under experience-based, emphasizing the tester's skills and insights.

Q & A

  • What is the main focus of Chapter 4 in the ISTQB Foundation Level certification tutorial?

    -Chapter 4 focuses on 'Test Analysis and Design', specifically starting with an overview of test techniques in section 4.1.

  • Why is exhaustive testing considered impossible according to the principles discussed in the tutorial?

    -Exhaustive testing is deemed impossible because it is not practical to create and execute all possible test cases due to time constraints, deadlines, and the impracticality of covering every possible combination of test data.

  • What is the purpose of test techniques in the context of software testing?

    -Test techniques help to reduce the number of test cases needed, minimize effort, and ensure adequate coverage without compromising the quality, thus gaining confidence in the software product within a given timeline.

  • How do test techniques assist in the test analysis and design process?

    -Test techniques support testers in analyzing what to test and in designing how to test, helping to derive test cases from requirements, identify coverage items, and define test conditions and data.

  • What are the three main categories of test techniques covered in the tutorial?

    -The three main categories are black-box test techniques, white-box test techniques, and experience-based test techniques.

  • Why are black-box test techniques also known as specification-based techniques?

    -Black-box test techniques are called specification-based techniques because they rely on the analysis of the specified behavior of the test object without reference to its internal structure, focusing on requirements or specifications.

  • What is a prerequisite for applying black-box test techniques effectively?

    -A detailed and comprehensive set of requirements is a prerequisite for applying black-box test techniques, as they are based on the behavior specified in these requirements.

  • How do white-box test techniques differ from black-box test techniques?

    -White-box test techniques are based on the analysis of the test object's internal structure and processing, including code and design, and are typically used by developers with a deep understanding of the software's implementation.

  • At what knowledge level are the white-box test techniques and experience-based test techniques expected to be understood for the ISTQB Foundation Level certification?

    -White-box test techniques and experience-based test techniques are at K2 level, meaning candidates are expected to understand them theoretically and be able to answer theoretical questions about them.

  • Why are experience-based test techniques considered complementary to black-box and white-box techniques?

    -Experience-based techniques use the knowledge and experience of the testers to identify defects that might be missed by more formal black-box and white-box techniques, making them a valuable addition to the testing process.

  • What are the specific techniques covered under each of the three main categories of test techniques in the tutorial?

    -Under black-box techniques, equivalence partitioning, boundary value analysis, state transition testing, and decision table testing are covered. For white-box techniques, statement testing and branch testing are included. Experience-based techniques encompass error guessing, exploratory testing, and checklist-based testing.

Outlines

00:00

πŸ“š Introduction to Test Techniques

This paragraph introduces the concept of test techniques as solutions to the impracticality of exhaustive testing. It emphasizes the importance of these techniques in reducing the number of test cases needed while maintaining adequate coverage of the software. The speaker explains that test techniques support testers in both test analysis (deciding what to test) and test design (figuring out how to test). The paragraph also highlights that these techniques help in developing a systematic and sufficient set of test cases, identifying test conditions, coverage items, and test data during the analysis and design phase. The introduction to blackbox test techniques is given, explaining that they are specification-based and do not require knowledge of the internal structure of the software being tested.

05:01

πŸ” Detailed Explanation of Blackbox and Whitebox Test Techniques

The second paragraph delves deeper into blackbox test techniques, emphasizing the necessity of detailed requirements for their application. It outlines that blackbox test cases are independent of the software's internal implementation, meaning they remain valid even if the implementation changes, as long as the required behavior stays the same. The paragraph lists four specific blackbox techniques: equivalence partitioning, boundary value analysis, state transition testing, and decision table testing, all categorized at the K3 level of understanding. It then contrasts these with whitebox test techniques, which are dependent on the internal structure of the software and require a good understanding of the code. Whitebox techniques include statement testing, statement coverage, branch testing, and branch coverage, and are considered at the K2 level for the certification exam.

10:02

πŸ€– Experience-Based Test Techniques and Their Complementarity

The final paragraph introduces experience-based test techniques, which rely heavily on the tester's knowledge and experience rather than formal requirements or code. It explains that these techniques can uncover defects that may be missed by blackbox and whitebox testing methods, making them a valuable complementary approach. The effectiveness of experience-based techniques is directly related to the tester's skills and familiarity with similar applications or domains. The paragraph lists three experience-based techniques: error guessing, exploratory testing, and checklist-based testing, all of which are at the K2 level of understanding. The speaker concludes by encouraging viewers to keep learning and exploring the subject matter, offering assistance for any further queries.

Mindmap

Keywords

πŸ’‘ISTQB Foundation Level Certification

The ISTQB Foundation Level Certification is an international qualification for software testers. It signifies that the individual has a foundational understanding of software testing principles and practices. In the video, this certification serves as the context for the entire tutorial, with the script focusing on a specific chapter related to test techniques, which is a key part of the certification curriculum.

πŸ’‘Test Techniques

Test techniques are methods used by testers to determine what to test and how to test it. They are essential for reducing the number of test cases needed while ensuring comprehensive coverage. In the script, test techniques are introduced as solutions to the impracticality of exhaustive testing, emphasizing their role in minimizing effort without compromising test coverage.

πŸ’‘Exhaustive Testing

Exhaustive testing refers to the theoretical concept of testing every possible scenario in a system. The script mentions it as being impossible due to practical limitations such as time and resources, thus necessitating the use of test techniques to achieve efficient and effective testing.

πŸ’‘Blackbox Test Techniques

Blackbox test techniques, also known as specification-based techniques, are methods that rely solely on the functionality specified for the software without considering its internal structure. The script explains that these techniques are used when detailed requirements are available, and they help in deriving test cases based on the expected behavior of the application.

πŸ’‘Whitebox Test Techniques

Whitebox test techniques, or structure-based techniques, are those that depend on the internal structure and code of the software. The script mentions that these techniques require a good understanding and access to the code, making them more suitable for developers or testers with coding knowledge.

πŸ’‘Experience-Based Test Techniques

Experience-based test techniques leverage the tester's past experience, domain knowledge, and understanding of typical defects in similar applications. The script highlights that these techniques are complementary to blackbox and whitebox techniques and can detect defects that might be missed by formal testing methods.

πŸ’‘Equivalence Partitioning

Equivalence partitioning is a blackbox test technique that involves dividing the input data of a software system into partitions of equivalent data from which test cases can be derived. The script mentions it as one of the K3 level techniques that candidates are expected to apply during the examination.

πŸ’‘Boundary Value Analysis

Boundary value analysis is another blackbox technique that focuses on testing the boundaries of input ranges, rather than the interior values. The script includes it as one of the techniques that help in reducing the number of test cases needed for effective testing.

πŸ’‘Statement Coverage

Statement coverage is a measure in whitebox testing that indicates the percentage of statements in the code that have been executed during testing. The script explains that while statement testing is a technique, statement coverage is a metric used to evaluate the thoroughness of testing.

πŸ’‘Branch Testing

Branch testing is a whitebox technique that focuses on ensuring that all possible paths or branches in the code are tested. The script mentions it as a K2 level concept, requiring understanding but not application during the examination.

πŸ’‘Error Guessing

Error guessing is an experience-based technique where the tester uses their intuition and experience to predict where errors might occur and design tests accordingly. The script positions it as a K2 level technique, emphasizing its role in identifying defects that standard techniques might overlook.

Highlights

Introduction to the ISTQB Foundation Level Certification Chapter 4 on Test Analysis and Design Techniques.

Explanation of why exhaustive testing is impossible and impractical due to time and resource constraints.

The role of test techniques in reducing the number of test cases while maintaining coverage without compromising quality.

Test techniques support test analysis and design by helping to determine what to test and how to test it.

Test techniques help develop a systematic and small set of test cases to achieve optimum coverage.

The importance of detailed requirements for applying blackbox test techniques effectively.

Blackbox test techniques are based on the specified behavior of the test object without reference to its internal structure.

If project requirements are high-level or brief, applying blackbox techniques may be complicated or impossible.

Test cases derived from blackbox techniques remain valid even if the implementation changes, as long as the required behavior stays the same.

Overview of the four blackbox test techniques: Equivalence Partitioning, Boundary Value Analysis, State Transition Testing, and Decision Table Testing.

White box test techniques are based on the internal structure and processing of the test object, requiring access to and knowledge of the code.

White box techniques are more suitable for developers and those with a good understanding of the code.

Techniques covered under white box testing include Statement Testing, Branch Testing, and their respective coverage measures.

Experience-based test techniques rely on the tester's past experience, domain knowledge, and knowledge of typical defects in similar applications.

Experience-based techniques can detect defects that may be missed by blackbox and white box techniques.

Techniques under experience-based testing include Error Guessing, Exploratory Testing, and Checklist Based Testing.

Encouragement for continuous learning and exploration in the field of software testing.

Transcripts

play00:00

Hello friends and greetings for the day

play00:02

welcome back to another tutorial on

play00:04

istqb Foundation level certification we

play00:06

are getting started with a brand new

play00:08

chapter that is chapter four test

play00:10

analysis and design and as a part of

play00:12

this particular tutorial we'll be

play00:14

covering the first segment of it which

play00:15

is 4.1 the test techniques overview and

play00:18

here you'll get to know what are the

play00:20

different categories we have in the

play00:22

syllabus and what are the different

play00:23

techniques under each of these category

play00:26

what we will be covering as a part of

play00:28

the syllabus

play00:34

[Music]

play00:39

to begin with of course the very first

play00:40

thing we talking about is what are test

play00:43

techniques indeed test techniques are

play00:45

those solutions to the principle number

play00:48

two which said that exhaustive testing

play00:51

is impossible if you quickly recall back

play00:53

from the chapter one The principle

play00:54

number two it says exhaustive testing is

play00:57

impossible and we told you that it's not

play00:59

really possible and practical enough to

play01:01

conduct as many test as possible that

play01:03

means you just can't come up with all

play01:05

certain combinations of test data and

play01:07

then try to test the system which could

play01:09

be sometime very very impractical in

play01:11

terms of the time the deadlines and time

play01:13

to Market Etc now the question was how

play01:16

can we gain confidence and be confident

play01:19

about the work products which we are

play01:21

making within that timeline without

play01:24

creating exhaustive test cases because

play01:26

one way you're not letting the people or

play01:28

test Engineers create all the test cases

play01:30

what they want to and at the same time

play01:32

you are claiming that we must find

play01:34

defects and gain confidence about it and

play01:36

so on so how is that even possible and

play01:39

that's what this chapter is going to

play01:40

answer that is test technique test

play01:42

techniques are techniques which helps

play01:44

you reduce the number of test cases in

play01:47

order to minimize your effort but not

play01:49

compromising on the coverage so instead

play01:51

of creating say for example 40 test

play01:54

cases maybe only four test cases would

play01:56

be enough to gain the similar amount of

play01:59

coverage on the code now in that context

play02:03

we will be learning different techniques

play02:04

from different categories but a quick

play02:06

short introduction about this let's

play02:08

quickly have a look about it so test

play02:11

techniques at a context and here the

play02:12

test techniques support the tester in

play02:15

test analysis that is what to test and

play02:18

in test design that is how to test that

play02:20

means the techniques are just not

play02:21

limited to uh write the test cases but

play02:24

also helps you analyze what exactly to

play02:27

test because techniques can certainly be

play02:29

helpful in do driving test cases from

play02:30

the requirements and for that you can

play02:32

certainly analyze those requirements too

play02:35

also to add here the test techniques

play02:37

helps to develop a relatively small but

play02:41

sufficient set of test cases in a very

play02:43

systematic way certainly we don't look

play02:46

forward to have exhaustive test cases to

play02:48

be a part of it but reduce the number of

play02:50

test cases and G gain Optimum coverage

play02:53

what we need for that particular

play02:55

functionality also to add here when it

play02:58

comes to test technique it also helps

play02:59

helps the tester to Define test

play03:01

conditions identify the coverage items

play03:03

and identify the test data during the

play03:05

test analysis and design that means

play03:07

techniques are just not to give you the

play03:09

number of test cases parallely it helps

play03:11

you identify the different test cases

play03:14

what you need the test data to support

play03:15

it the various conditions and certainly

play03:18

the you know the way it should be

play03:20

conducted like positive and negative can

play03:23

also be derived from here that means the

play03:25

valid test cases and invalid test cases

play03:26

can be easily derived using all these

play03:29

techniques so further we will be talking

play03:31

about what are the three categories we

play03:33

are covering here and one by one we'll

play03:35

be also discussing what are the

play03:36

techniques under them so let's go with

play03:38

the very first one here and that is

play03:41

blackbox test techniques so when we talk

play03:43

about the blackbox test techniques

play03:45

indeed this was covered as an

play03:47

introductory Concept in Chapter 2 where

play03:49

we differentiated between white box and

play03:51

blackbox and certainly if a blackbox

play03:53

tester has to reduce their number of

play03:55

test cases they would prefer using

play03:57

blackbox test techniques now blackbox

play03:59

test techniques is also called as

play04:01

specification based techniques which are

play04:03

basically based on the analysis of the

play04:05

specified behavior of the test object

play04:08

without reference to its internal

play04:11

structure that means I'm not worried

play04:12

about what is the design of the product

play04:14

I'm not worried about what is the code

play04:16

underneath that particular product but

play04:19

my major intention is what is the

play04:20

expectation of the product what is the

play04:22

ask of the application and that is what

play04:25

you refer to as requirements or

play04:27

specification and you refer these

play04:29

information in order to derive your test

play04:31

cases another important point to add

play04:33

here is that if in case your project

play04:35

follows a very little detailed or very

play04:38

brief requirement which is high level

play04:41

requirements then applying these

play04:42

techniques may be a little complicated

play04:45

or some time may not be even possible so

play04:47

it's very very important to understand

play04:49

that in order to apply blackbox test

play04:51

techniques the basis is detailed

play04:54

requirement if you don't have any

play04:55

detailed requirement in your project

play04:57

then blackbox test techniques is not

play04:59

applicable the reason I told you this

play05:01

point very clearly is sometime they just

play05:04

frame a question from here stating that

play05:06

hey which one of this is one of the

play05:07

characteristics of blackbox test

play05:09

techniques then you must be clear about

play05:11

that that requirements are mandatory to

play05:13

be there in detailed format in order to

play05:15

apply blackbox test techniques further

play05:18

to add here of course uh the test cases

play05:20

are independent of how the software is

play05:22

implemented because of the internal

play05:24

structure is not dependent here

play05:26

consequently if the implementation

play05:28

changes but but the required Behavior

play05:30

stays the same then the test cases are

play05:33

still useful and can be applied back

play05:36

once again so point being made is as far

play05:38

as the requirement Remains the Same no

play05:40

matter the code changes it still is

play05:44

valid for us the test cases what we

play05:45

might have written already is still

play05:47

valid because our test cases were

play05:48

derived right from the requirements not

play05:51

depending on the code the techniques

play05:53

what will be covering here are four

play05:55

equivalence partition boundary value

play05:57

analysis Street transition testing and

play06:00

de decision table testing so these four

play06:02

techniques are at K3 again if you don't

play06:05

remember what is K3 K3 is apply that

play06:07

means you'll be given with a scenario

play06:09

like a typical sample specification and

play06:12

asked to apply any of these technique to

play06:13

get the number of test cases so you will

play06:15

have to apply this technique during the

play06:18

examination to get to the right answer

play06:20

so all the four techniques are at K3

play06:22

level in order to apply them during the

play06:25

examination the next category we talking

play06:27

about is white box test techniques and

play06:29

if you're remember again from chapter 2

play06:31

white box techniques are used by white

play06:33

box testers which is more of like

play06:35

developer and we use it at the back end

play06:38

that means this is completely dependent

play06:39

on the code and someone who has good

play06:42

understanding and knowledge of the code

play06:43

should be able to apply these techniques

play06:45

now here in simple words the basis is

play06:48

access to code and knowledge of code if

play06:51

you are someone who doesn't know what is

play06:52

coding if you are someone who doesn't

play06:54

have access to code then white Bost

play06:56

techniques are not for you okay so let's

play06:59

quickly see what the pointers and

play07:01

characteristics are trying to say about

play07:02

this category and what techniques we'll

play07:04

be covering here so when it comes to

play07:05

white box test techniques also known as

play07:08

structure-based test technique which is

play07:09

another synonym for that are based on

play07:12

the analysis of the test objects

play07:14

internal structure and processing which

play07:16

includes the code and design both as the

play07:19

test cases are dependent on how the

play07:20

software is designed they can only be

play07:23

created after the design or

play07:24

implementation of the test objects now

play07:27

technique what we'll be covering here

play07:29

are statement testing and statement

play07:31

coverage however not both the things are

play07:34

techniques for us statement testing is

play07:36

technique and statement coverage is a

play07:38

measure measure means a matrix similarly

play07:41

we do have Branch Testing and Branch

play07:44

coverage which we will be covering as a

play07:46

part of the syllabus another important

play07:48

thing to talk about when it comes to

play07:49

white box testing it is both at K2 level

play07:52

because this certification is mainly for

play07:54

the test engineers and we do not expect

play07:57

a test engineer to be very well worsed

play07:59

with coding standards so we don't want

play08:01

you to evaluate at that level right so

play08:03

the questions will be at K2 level that

play08:05

means you just need to understand what

play08:07

is statement testing and what is

play08:08

statement coverage similarly Branch

play08:11

Testing and Branch coverage and that's

play08:13

it all that you have to answer is a

play08:14

theoretical question but you will not be

play08:16

asked to solve what this technique is

play08:19

all about and finally the third category

play08:21

that we are covering here is called as

play08:23

experience-based test techniques as the

play08:25

name suggests it's all dependent or

play08:27

based on the experience of the test

play08:29

engineer here we don't talk about

play08:31

requirements here we don't talk about

play08:33

code but certainly talk about the

play08:35

experience of the test engineer who is

play08:38

performing these techniques or

play08:39

executions now what do you think about

play08:41

the word experience here it certainly

play08:44

consists of the past experience of

play08:46

testing similar applications same way if

play08:49

I'm talking about domain knowledge where

play08:51

the product belongs so you must be good

play08:52

at that and third if you have any

play08:54

knowledge about typical defects what you

play08:56

get in such applications in that context

play08:59

experienced person is someone who is

play09:01

really working in this industry with

play09:03

similar type of products for quite some

play09:06

time so in that context if I say can I

play09:08

ask a new be or fresher to be to apply

play09:12

this particular technique answer is

play09:13

absolutely not okay say for example I've

play09:16

been working with banking domain for

play09:18

last seven years and I switched to

play09:19

automotive industry is that like I have

play09:21

experience and I can apply experience

play09:23

based techniques absolutely not because

play09:25

your experience or past experience and

play09:27

your domain knowledge comes from Bank

play09:29

and we are talking about testing an

play09:31

automotive product so two things are

play09:33

totally different so experience

play09:35

certainly means when we talk about

play09:37

experience it means the past experience

play09:40

domain knowledge and knowledge of

play09:41

typical defects so let's quickly have a

play09:43

look what exactly we are talking about

play09:45

from the syllabus so experience-based

play09:47

test techniques effectively use the

play09:50

knowledge and experience of the testers

play09:52

for the design and implementation of

play09:54

test cases the effectiveness of these

play09:56

techniques depends heavily on the tester

play09:58

skills

play09:59

experience-based test techniques can

play10:02

detect defects that may be missed by the

play10:05

blackbox and white box techniques now

play10:07

that's really interesting point we will

play10:09

tell you when we come to this category

play10:11

and techniques that how exactly this is

play10:13

even possible but yes experience based

play10:15

techniques can be very helpful in

play10:17

identifying those defects which your

play10:19

formal testing techniques cannot find

play10:22

also to add here the techniques uh hence

play10:24

the experience-based test techniques are

play10:27

complimentary to the blackbox and white

play10:29

box test techniques and the techniques

play10:32

what we'll be covering here includes

play10:34

error guessing exploratory testing and

play10:37

checklist based testing all three

play10:39

techniques will be at K2 level which

play10:40

means you just have to understand them

play10:42

and answer a theoretically based

play10:44

question so put together these are all

play10:46

the techniques what you'll be covering

play10:48

in our syllabus and should have good

play10:51

understanding of them and for the Black

play10:52

Box you must know how to apply them as

play10:54

well so we'll be covering them

play10:55

accordingly with more details and

play10:57

examples so that's all from this

play10:59

particular tutorial team should you have

play11:01

anything else feel free to comment below

play11:02

I'm always there to address your queries

play11:04

and answer them well till then keep

play11:06

learning keep exploring keep

play11:07

understanding the context thanks for

play11:09

watching the video team and happy

play11:15

[Music]

play11:21

learning

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
ISTQBCertificationTesting TechniquesTest AnalysisTest DesignBlackboxWhiteboxExperience-BasedTutorialSoftware TestingEducational