ISTQB FOUNDATION 4.0 | Tutorial 37 | Error Guessing | Experience-Based Techniques Techniques | CTFL

TM SQUARE
5 Feb 202411:04

Summary

TLDRThis tutorial delves into experience-based test techniques, emphasizing their reliance on the tester's intuition and past experiences. It highlights the importance of domain knowledge and understanding typical defects in product testing. The video introduces error guessing as a technique, which complements formal methods by targeting areas prone to defects based on tester's experience. Error guessing, or fault attack, is presented as a valuable approach, especially when formal techniques fall short, such as in poorly defined specifications, time pressure, or with teams lacking formal training. The tutorial encourages testers to use their expertise to uncover potential defects, thereby enhancing test coverage and confidence.

Takeaways

  • πŸ“˜ Experience-based test techniques are driven by the tester's past experience, domain knowledge, and understanding of typical defects found in similar products.
  • πŸ” These techniques are informal and rely on the tester's intuition and judgment rather than formal methods or calculations.
  • 🚫 Freshers or those without relevant domain experience should not apply experience-based techniques as they lack the necessary background.
  • πŸ›  Experience-based techniques are secondary approaches and should be used when formal techniques are not applicable.
  • πŸ’‘ They are particularly useful in scenarios where formal techniques cannot be applied, such as poorly defined specifications, time pressure, or when the testing team lacks formal training.
  • 🎯 Error guessing is an experience-based technique where testers use their intuition to identify potential defects based on past experiences and knowledge of common issues.
  • πŸš€ Error guessing can be conducted as a 'fault attack', a systematic approach where the tester actively seeks out specific types of defects they expect to find.
  • πŸ“ Writing detailed test cases for error guessing is not necessary; high-level outlines or direct interaction with the system can suffice.
  • πŸ€” Whether a defect is found or not, error guessing provides a win-win situation by either uncovering issues or increasing confidence in the system's functionality.
  • πŸ“ˆ The results of error guessing can be summarized at a high level, evaluating the value added to the overall testing process and the effectiveness of the technique.
  • 🌟 The success of experience-based techniques, including error guessing, hinges on the tester's ability to draw from past experiences and apply that knowledge to new testing scenarios.

Q & A

  • What is the main focus of chapter 4.4 in the tutorial?

    -Chapter 4.4 focuses on experience-based test techniques, specifically starting with the first technique, error guessing.

  • What are experience-based test techniques driven by?

    -Experience-based test techniques are driven by the tester's past experience in testing similar products, domain knowledge, and knowledge of typical defects.

  • Why are experience-based test techniques not suitable for a fresher or someone switching domains?

    -Experience-based techniques are not suitable for a fresher or someone switching domains because they require past experience, domain knowledge, and an understanding of typical defects within a specific industry, which they may not possess.

  • What are the scenarios where experience-based test techniques are the only options to be applied?

    -Experience-based test techniques are the only options when specifications are poorly defined, there is time pressure, or the testing team is not formally trained on testing fundamentals.

  • What is the difference between formal and experience-based test techniques in terms of justification and coverage?

    -Formal techniques are well-documented and defined, making it easier to justify coverage and determine scope. Experience-based techniques are driven by the tester and may not always be justifiable or have clear coverage measures.

  • Why should experience-based test techniques be seen as a secondary approach?

    -Experience-based techniques should be secondary because formal techniques are more structured and easier to justify. They should only be used when formal techniques are not applicable.

  • What is the concept of error guessing in testing?

    -Error guessing involves the tester using their intuition and past experience to identify potential defects in the system that may not have been caught by formal testing techniques.

  • What is the term used for the systematic approach of conducting error guessing?

    -The systematic approach of conducting error guessing is called fault attack.

  • What is the win-win situation of error guessing in testing?

    -The win-win situation of error guessing is that if a defect is found, the tester's intuition is validated. If no defect is found, the tester gains increased confidence in the system's functionality.

  • How can the results of error guessing execution be documented?

    -The results of error guessing execution can be documented in a high-level summarized way, noting what was done during the execution and how it added value to the overall testing results.

  • What is the basis for the error guessing technique?

    -The error guessing technique is based on the tester's intuitions and guesses, informed by past experience with how the application has worked, common developer mistakes, and failures in other applications.

Outlines

00:00

πŸ˜€ Introduction to Experience-Based Test Techniques

This paragraph introduces the concept of experience-based test techniques, emphasizing their reliance on the tester's past experience, domain knowledge, and understanding of typical defects. It clarifies that these techniques are not formalized and are best suited for testers with significant experience in similar applications or domains. The paragraph also discusses the limitations of these techniques, especially for those new to testing or switching domains, and highlights the importance of formal test techniques as the primary approach, with experience-based techniques serving as a secondary option when formal methods are not applicable.

05:02

πŸ•΅οΈβ€β™‚οΈ Error Guessing: An Experience-Driven Testing Approach

This paragraph delves into the specifics of error guessing, a technique within the experience-based category. It outlines scenarios where formal testing methods may not be feasible, such as poorly defined specifications, time pressure, or a lack of formal training in testing fundamentals. The paragraph explains that error guessing involves the tester's intuition to identify potential defects based on past experiences and knowledge of common issues in similar applications. It also introduces the term 'fault attack' to describe a systematic approach to error guessing, where the tester has a predefined idea of the defects they are looking for and actively seeks to uncover them.

10:04

🎯 The Value of Error Guessing in Testing

The final paragraph wraps up the tutorial by discussing the value of error guessing in a testing context. It suggests that this technique is based on the tester's intuition and past experiences with how applications have performed and the types of errors developers commonly make. The paragraph emphasizes that error guessing can be a win-win situation, as it either uncovers defects or increases confidence in the application's functionality. It concludes by encouraging continuous learning and exploration in the field of testing.

Mindmap

Keywords

πŸ’‘ISTQB

ISTQB stands for the International Software Testing Qualifications Board, which is a non-profit organization that certifies the competence of software testers. In the script, the video is a tutorial for the ISTQB Foundation Level certification, indicating the educational context of the content.

πŸ’‘Test Analysis and Design

Test Analysis and Design is a phase in the software testing process where testers evaluate the software requirements and design test cases. The script discusses this as part of Chapter 4, emphasizing its importance in the certification material.

πŸ’‘Experience-based Test Techniques

These are testing methods that rely on the tester's experience, intuition, and knowledge of similar applications and technologies. The script explains that these techniques are used when formal techniques are not applicable or to add more value to the testing process.

πŸ’‘Error Guessing

Error Guessing is an experience-based test technique where the tester uses their intuition to identify potential defects in the software. The script describes this as a method of directly targeting areas believed to be prone to errors based on past experiences.

πŸ’‘Domain Knowledge

Domain Knowledge refers to the understanding of the specific industry or area in which the software operates, such as banking, e-commerce, or healthcare. The script mentions it as a critical component of a tester's experience that influences the effectiveness of experience-based test techniques.

πŸ’‘Formal Techniques

Formal Techniques are structured and well-documented testing methods, such as black box and white box testing. The script contrasts these with experience-based techniques, noting that formal techniques are more easily justified and scoped.

πŸ’‘Fault Attack

Fault Attack is a systematic approach to error guessing, where the tester purposefully targets areas of the software they believe may contain defects. The script introduces this term to describe a strategic method of applying experience-based techniques.

πŸ’‘Freshers

In the context of the script, 'freshers' refers to individuals new to the field of software testing, who may not have the necessary experience or domain knowledge to effectively apply experience-based test techniques.

πŸ’‘Time Pressure

Time Pressure is a scenario mentioned in the script where there is limited time to complete testing activities. In such cases, experience-based test techniques may be used as a faster alternative to formal test cases.

πŸ’‘Poorly Defined Specifications

Poorly Defined Specifications are requirements that are not clearly stated or are too high-level, making it difficult to apply formal testing techniques. The script cites this as a situation where experience-based test techniques become the primary option.

πŸ’‘Testing Fundamentals

Testing Fundamentals refer to the basic principles and practices of software testing. The script discusses a scenario where a lack of formal training in these fundamentals leads to the reliance on experience-based test techniques.

Highlights

Introduction to experience-based test techniques in chapter 4.4 of the ISTQB Foundation Level certification tutorial.

Explanation of experience-based test techniques being driven by the tester's past experience, domain knowledge, and typical defect knowledge.

Distinction between experience-based and formal test techniques, emphasizing the lack of formal approaches in the former.

Discussion on the feasibility of using experience-based techniques for freshers and those without relevant domain knowledge.

Importance of formal test techniques and the conditions under which experience-based techniques should be considered as a secondary approach.

Scenarios where experience-based test techniques are the only option, such as poorly defined specifications or time pressure.

The concept of error guessing as an experience-based technique, relying on the tester's intuition and past experience to identify potential defects.

Error guessing as a win-win situation, providing increased confidence whether defects are found or not.

The systematic approach of error guessing known as 'fault attack', where the tester has a specific defect in mind.

The value of error guessing in identifying special tests that formal techniques might not capture.

The optional nature of writing test cases for experience-based techniques, allowing for high-level outlines or direct system interaction.

The role of domain experts in applying experience-based techniques despite a lack of formal testing training.

The importance of updating and evaluating the results of experience-based test executions to assess their value.

The reliance of error guessing on the application's past performance, developer tendencies, and failures in other applications.

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

Invitation for viewers to comment with questions and engage with the tutorial content.

Transcripts

play00:00

Hello friends and greetings for the day

play00:01

welcome back to another tutorial on istd

play00:04

KV Foundation level certification we are

play00:06

in chapter 4 talking about test analysis

play00:08

and design and today we will be stepping

play00:11

into the next segment that is 4.4

play00:14

experience-based test techniques and as

play00:16

a part of this tutorial today we are

play00:18

talking about the first technique in

play00:20

this category that is error

play00:28

guessing

play00:32

before we start talking about the

play00:33

technique error guessing let's have

play00:35

let's have quick discussion on this

play00:37

category once again a little Deep dive

play00:39

however we have covered this

play00:40

introduction already as a part of the

play00:42

4.1 where we were discussing on the

play00:45

categories of different uh techniques

play00:48

and uh the same thing we'll be just

play00:50

elaborating once again here to make sure

play00:52

that you have a good understanding of it

play00:54

so a quick discussion on experience

play00:56

based as I told you experience-based

play00:57

test techniques are completely driven by

play01:00

by the experience of the tester which

play01:02

includes the past experience of testing

play01:05

similar products at the same time what

play01:07

domain knowledge the tester process the

play01:09

domain knowledge here means the type of

play01:11

the product where it belongs like is it

play01:13

a banking product is it a e-commerce is

play01:15

it a healthcare product and so on like

play01:18

Automotive Etc so domain knowledge is

play01:21

equally important to add to the overall

play01:22

experience and third important thing is

play01:25

the typical knowledge of the defects

play01:27

given that a person possess the

play01:29

knowledge of of what kind of defects do

play01:31

we find in the product it would be very

play01:33

useful for that person to design the

play01:34

test cases accordingly and hit only

play01:37

those particular areas where we quite

play01:39

often find the defect so most important

play01:41

thing to highlight here that this

play01:43

category consists of techniques where it

play01:46

is completely driven by the tester and

play01:48

which is best known to the tester so no

play01:50

formal approaches no formal techniques

play01:52

are being applied here no calculations

play01:54

is completely dependent on the tester

play01:57

who is testing it so the question comes

play01:59

quite often that hey if a fresher is

play02:01

trying to perform this uh technique is

play02:04

that something feasible to say it is

play02:06

experience-based test technique answer

play02:08

is not that is a fresher does not

play02:11

possess any past experience domain

play02:13

knowledge to certain extent they know

play02:15

about what is the industry but they

play02:17

literally do not have the domain

play02:18

knowledge and they do not have any

play02:20

knowledge of typical defects another

play02:22

example could be that if you say if I

play02:24

have worked in banking industry as a

play02:26

test manager for 7 years and now I'm

play02:28

switching to Automotive is that like I

play02:30

can use experience-based test techniques

play02:32

answer is absolutely not again because

play02:35

this person is certainly experienced but

play02:37

in a different domain and different

play02:38

industry and has tested different type

play02:40

of product in past whereas what this

play02:43

person is trying to do now is completely

play02:45

irrelevant or different than what he or

play02:49

she was doing in the past so that's

play02:50

again something those scenarios where we

play02:53

cannot call it as experience-based test

play02:55

techniques or these type of people

play02:57

cannot apply these category techniques

play03:00

so let's quickly check what we have to

play03:02

say from the syllabus outline number one

play03:04

experience-based test techniques

play03:06

basically uses tester skills intuitions

play03:09

and experience of similar application

play03:11

and Technologies these techniques are

play03:13

useful in identifying the special tests

play03:17

which are not easily captured by the

play03:18

formal techniques now let me tell you

play03:20

something more important here that is

play03:22

when it comes to the formal techniques

play03:24

which is more of like black box and

play03:25

white box they are very well documented

play03:28

and well defined so it's very easy to

play03:30

justify the coverage measured or at the

play03:32

same time is easy to determine what you

play03:35

are actually testing and whether it is

play03:37

in the scope or not when it comes to

play03:39

experience-based test techniques it will

play03:41

be completely driven by the tester and

play03:43

dependent on them so we may not be able

play03:45

to sometime justify that how did you

play03:47

really cover every single thing so we

play03:51

most mostly we Define and you know

play03:54

understand that we should always make

play03:56

use of the formal test techniques as

play03:58

much as possible

play04:00

until unless the formal test techniques

play04:02

are not applicable we must not look

play04:05

forward to experience based so

play04:07

experience based test technique should

play04:08

be always seen as a secondary approach

play04:11

if formal techniques are not applicable

play04:13

however in some of the cases formal

play04:16

techniques can be conducted and on top

play04:18

of it a round of informal technique

play04:20

which is experience-based test

play04:22

techniques can always add more value

play04:25

better coverage and more confidence so

play04:27

formally executing some test

play04:30

and then a roundoff experience-based

play04:31

test technique can be a really good

play04:34

method also to add here these techniques

play04:37

are usually applied after applying

play04:39

formal techniques and there are a few

play04:41

scenarios where these are the only

play04:44

options to be applied now that's the

play04:45

most important thing to highlight at

play04:47

this point of time that is that there

play04:49

are certain cases where formal

play04:51

techniques are not at all applicable and

play04:53

you only have the hope of the

play04:55

experience-based test techniques and

play04:57

what are they number one specification

play04:59

are poorly defined now when I say

play05:01

specifications are poorly defined it

play05:04

simply means that the requirements are

play05:05

not clearly mentioned or requirements

play05:07

are very high level and given that

play05:09

requirements are very high level I

play05:10

cannot apply blackbox test techniques

play05:13

and in that context I may be a tester so

play05:15

I don't even know what is code so I

play05:17

cannot go with white box so in this case

play05:20

only experience-based test technique

play05:22

will be applicable the second scenario

play05:24

here is time pressure so of course

play05:27

sometimes in a project at the end of the

play05:30

day you may undergo a time pressure

play05:33

which means you're remaining with more

play05:35

activities more executions to be

play05:36

performed but you have limited timeline

play05:38

available or deadline is very close in

play05:41

that context running formally written

play05:43

test cases would be very timec consuming

play05:45

so you keep your written test cases

play05:47

aside and start using your experience to

play05:50

run the test in order to cover the

play05:52

remaining part of the system however

play05:54

that's not something we should be used

play05:55

as a primary approach this is only in

play05:57

the worst situations third where we say

play06:01

that the testing team is not formally

play06:02

trained on testing fundamentals and

play06:05

that's another interesting fact so there

play06:07

might be domain experts who are working

play06:09

in different Industries uh for example

play06:12

if you go to an automotive Factory that

play06:14

is Workshop you can find people working

play06:16

and assembling cars for 20 years 25

play06:18

years and so on if they if you ask them

play06:21

hey can I have a look on your test cases

play06:23

they would say we don't know what is

play06:24

test cases but the question is they have

play06:27

been testing cars for last 25 years so

play06:30

they really have good experience and

play06:32

domain knowledge and they are able to

play06:34

assemble the car in a way that it

play06:36

functions well so it does not really

play06:38

mean that they know what is equence

play06:41

partition what is boundary value

play06:42

analysis but still they are testing the

play06:44

system so yes in this case also when the

play06:47

team is not formally trained on testing

play06:49

that means they don't know what are the

play06:50

test techniques they can they will be

play06:52

certainly using experience-based test

play06:54

techniques as their primary approach so

play06:57

let's quickly look at the very first

play06:58

technique which which is error guessing

play07:00

as a part of this tutorial and try to

play07:02

understand how this technique is

play07:03

different from the formal technique so

play07:05

the concept of error guessing goes

play07:07

something like this say assume that you

play07:09

have applied some of the formal

play07:10

techniques like white equence partition

play07:12

boundary value analysis Etc and you got

play07:14

some test 10 10 test cases you executed

play07:18

them you got some output XYZ and now you

play07:21

thinking that you are some somehow

play07:23

underc confident or you think that

play07:25

probably there are more defects which

play07:27

might be underlying and we don't want to

play07:28

take a chance

play07:30

then you guess or Intuit the errors

play07:34

which you may have in the system and

play07:36

that certainly depends on your past

play07:37

experience the knowledge of the demand

play07:40

and the topics the difficult defects

play07:43

what you may have P faced as part of the

play07:45

past experience or testing so certainly

play07:48

it is completely dependent on the

play07:49

intuition of the individual that what

play07:52

they think could be probably wrong in

play07:54

the system and you directly go and hit

play07:56

them all the experience-based test

play07:58

techniques are not necessarily

play08:00

recommended to have a written test case

play08:03

so you can write not predefined test

play08:06

cases like high level onliners and that

play08:08

would be enough to execute the test

play08:11

however that's optional so if you wish

play08:12

to write uh test cases on High level you

play08:15

can do that but even if you don't write

play08:17

that's absolutely fine so you can just

play08:19

go and interact with the system directly

play08:20

without any kind of documentation and

play08:22

execute your test cases to find the

play08:24

defect let me tell you error guessing is

play08:27

what the name is of course as the

play08:29

approach what we discussed but certainly

play08:32

comes with win-win situation in both the

play08:34

scenarios whether you get a def or not

play08:36

so if you get a def you certainly were

play08:39

right in your intuition and even if you

play08:41

don't get a defect you are still happy

play08:44

that you tried it but it's working fine

play08:46

so I'm at least having a level up on the

play08:48

confidence so such techniques which is

play08:50

like experience-based techniques

play08:52

certainly add win-win situations from

play08:54

both the cases even if you get a def or

play08:56

you don't get a defect also to add here

play08:59

this systematic approach of conducting

play09:01

error guessing is called as fault attack

play09:04

purposefully there is a name for this

play09:06

approach being executed called as fault

play09:08

attack the reason is here you know what

play09:11

defect are you looking for that means

play09:13

your strategy your execution is

play09:16

dependent on the type of defect which

play09:18

you already know but in generic testing

play09:20

we say the objective is finding defects

play09:23

right we don't know what we are looking

play09:25

for we are testing the functionality and

play09:27

during that we find something which we

play09:29

don't expect but here we know what we

play09:31

are expecting what we are looking for

play09:33

all we know that is there's something

play09:35

like this which quite often happens and

play09:37

I'm just trying to uncover that so

play09:39

that's the reason the approach of

play09:41

executing error guessing is specifically

play09:43

called as fault attack so how as far as

play09:46

you remember these terminologies you

play09:48

will be able to answer a question also

play09:49

to add further the same story what I

play09:51

told you earlier that is updating the

play09:54

results of execution and evaluating

play09:56

further needs to the test of their

play09:57

executions can be done in a very very

play09:59

high level that means a very high level

play10:01

summarized way of uh result can be

play10:04

created in terms of what have you done

play10:06

during the execution and does that

play10:08

really added value or how did that add

play10:11

the value to the overall results and

play10:13

plus the situations what we make use of

play10:15

of course the error guessing is based on

play10:17

how the application has worked in the

play10:19

past what type of mistakes the

play10:21

developers tend to make and failures

play10:24

that have occurred in other applications

play10:26

so put together this technique is

play10:28

completely based on your intuitions and

play10:30

guesses based of based on your past

play10:33

experience and you try to execute the

play10:35

system as much as possible to see if you

play10:38

can find some defs so that's all from

play10:40

this particular tutorial team should you

play10:41

have anything else feel free to comment

play10:43

below I'm always there to address your

play10:45

quties and answer them well till then

play10:46

keep learning keep exploring keep

play10:48

understanding the context thanks for

play10:50

watching the video team and happy

play10:58

learning

play11:01

[Music]

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

5.0 / 5 (0 votes)

Related Tags
Test AnalysisDesign TechniquesError GuessingExperience-BasedSoftware TestingFault AttackQuality AssuranceTest ManagerDomain KnowledgeTesting Fundamentals