ISTQB FOUNDATION 4.0 | Tutorial 4 | 1.3 Testing Principles | ISTQB Foundation Tutorials | TM SQUARE

TM SQUARE
22 Nov 202314:35

Summary

TLDRThis tutorial delves into the ISTQB Foundation Level certification's fundamental principles of software testing. It explains seven key principles, emphasizing that testing reveals defects but cannot guarantee their absence, exhaustive testing is impractical, and early testing is cost-effective. The script discusses the clustering of defects, the 'pesticide paradox' highlighting the need for evolving test cases, the context-dependency of testing, and the fallacy of assuming no defects mean success. The tutorial aims to guide testers in understanding and applying these principles throughout the testing lifecycle.

Takeaways

  • πŸ” Testing is a process that can reveal the presence of defects but not their absence, indicating that a product cannot be guaranteed to be defect-free just because defects have been found during testing.
  • 🌐 Exhaustive testing, which would involve testing all possible input combinations, is impossible due to the infinite possibilities and the impracticality of covering every scenario.
  • πŸ“… Early testing, including static testing, can save time and money by identifying defects early in the software development life cycle, reducing the cost and effort needed for fixing them later.
  • πŸ‘₯ Defects tend to cluster together, meaning they are not evenly distributed across all modules of a system, which highlights the importance of thorough testing even in seemingly simple areas.
  • πŸ”„ Tests can wear out, also known as the pesticide paradox, where the same test cases repeatedly executed may not reveal new defects, suggesting the need to periodically revise and update test cases.
  • πŸ› οΈ Testing is context-dependent, meaning that different types of applications require different testing approaches and strategies based on their unique characteristics and requirements.
  • πŸ”„ The absence of detected defects can be a fallacy, as it does not necessarily mean the product meets all user requirements or is without defects; testers must also ensure the product's functionality aligns with user expectations.
  • πŸ”‘ Testers play a crucial role not only in finding and fixing defects but also in validating that the final product meets the specified requirements and is useful to the end-user.
  • πŸ“š The tutorial emphasizes the importance of understanding and applying the seven standard principles of software testing to improve the testing process and product quality.
  • πŸ›‘ The principle of 'early testing saves time and money' underscores the value of static testing in identifying defects before they propagate through the development stages, thus reducing rework.
  • πŸ”„ The tutorial also discusses the need for test case evolution, especially in regression testing, to ensure that the test suite remains effective as the product evolves over time.

Q & A

  • What are the seven standard principles of software testing mentioned in the tutorial?

    -The seven standard principles of software testing are: 1) Testing shows the presence of defects but not their absence. 2) Exhaustive testing is impossible. 3) Early testing saves time and money. 4) Defects can cluster together. 5) Tests wear out, also known as the pesticide paradox. 6) Testing is context dependent. 7) Absence of defects is a fallacy.

  • Why does testing show the presence of defects but not their absence?

    -Testing is a process that helps in finding defects, but it cannot assure that all possible defects in the system have been found. It is an endless journey, and various factors like missing data, environmental constraints, and different testing approaches can limit the ability to find every defect.

  • What does it mean by 'exhaustive testing is impossible'?

    -It means that it is impractical to test a simple application with all possible combinations of inputs and their respective outputs due to the vast number of permutations and combinations that can exist, especially when considering invalid inputs.

  • How does early testing save time and money?

    -Early testing, including static testing, allows defects to be found in the earlier stages of the software development life cycle, such as in requirements or design. Fixing defects early on is less costly and time-consuming than fixing them later in the development process.

  • What is meant by the term 'defects cluster together'?

    -It refers to the principle that defects are not evenly distributed across all modules of a system. They can accumulate in certain areas, potentially leading to an illusion that simpler modules without defects are error-free.

  • Can you explain the 'pesticide paradox' or 'tests wear out' principle?

    -The pesticide paradox suggests that the same set of test cases, if repeatedly executed without changes, may not be effective in finding new defects over time. Test cases may need to be revised and updated as the product evolves to maintain their effectiveness.

  • What does it mean for testing to be 'context dependent'?

    -Testing is context dependent means that there is no single approach or strategy that can be universally applied to test all types of applications. The testing approach should be tailored to the specific context and requirements of the product being tested.

  • Why is the absence of defects considered a fallacy?

    -The absence of defects being a fallacy implies that even if no defects are found, it does not necessarily mean that the product meets all user requirements and expectations. Testers must ensure that the product is not only defect-free but also useful and satisfactory to the end-user.

  • What is the significance of the principle 'testing shows presence of defects but not their absence' in the context of software testing?

    -This principle emphasizes that testing is not a guarantee of a defect-free product. It is a risk reduction process aimed at finding as many defects as possible within the given constraints, but it cannot assure the complete absence of defects.

  • How can the principle of 'early testing saves time and money' be practically applied in a software development project?

    -It can be applied by involving testers early in the software development life cycle to review requirements, design documents, and code. Identifying and fixing issues at this stage can prevent the propagation of defects and reduce the overall cost and effort required for defect resolution.

  • What are some strategies to address the principle that 'defects can cluster together'?

    -Strategies include thorough testing of all modules, regardless of their perceived complexity, and avoiding biases based on previous test outcomes. It also involves risk-based testing and continuous reassessment of testing approaches to ensure all areas are adequately covered.

  • How can testers ensure that their test cases do not 'wear out' over time?

    -Testers can ensure their test cases remain effective by regularly reviewing and updating them to reflect changes in the product, adding new test cases to cover new features, and removing obsolete test cases. This helps maintain the relevance and effectiveness of the test suite.

  • Can you provide an example of how 'testing is context dependent' might play out in different types of software projects?

    -For instance, testing a safety-critical system like an automotive control system would involve rigorous testing for reliability and safety, while testing an e-commerce website might focus more on user experience, performance, and security.

  • What steps can be taken to ensure that the principle of 'absence of defects is a fallacy' is not overlooked?

    -Testers should validate that the product not only meets the technical requirements but also the user needs and expectations. This involves user acceptance testing, usability testing, and ensuring that the product provides value to the end-user.

Outlines

00:00

πŸ” Introduction to ISTQB Foundation Level Certification

This paragraph introduces the ISTQB Foundation Level Certification tutorial, focusing on the fundamentals of testing. It sets the stage for discussing the seven principles of testing, emphasizing their importance in the testing life cycle. The paragraph outlines the principles, including the presence of defects, the impossibility of exhaustive testing, early testing benefits, defect clustering, test wear-out (pesticide paradox), context-dependent testing, and the fallacy of defect absence.

05:00

πŸ› οΈ Principle 1: Testing Shows Presence of Defects

This section delves into the first principle, explaining that testing can show the presence of defects but not their absence. It highlights that no testing process can guarantee a defect-free product, as it's impossible to find every defect. The principle underscores the limitations of testing, emphasizing that various constraints and incomplete data prevent exhaustive defect detection. The key message is that testing helps find defects but does not ensure the absence of all possible defects.

10:03

πŸ”¬ Principle 2: Exhaustive Testing is Impossible

This paragraph discusses the second principle, which states that exhaustive testing is impossible. It uses the example of testing a login system to illustrate that even simple applications have countless input combinations. The principle highlights the impracticality of testing all possible scenarios and the need for efficient test case reduction techniques. It emphasizes that testers must focus on creating effective test cases without compromising coverage, a concept to be further explored in chapter 4.

⏰ Principle 3: Early Testing Saves Time and Money

Here, the focus is on the third principle, advocating for early testing to save time and money. The principle explains the importance of finding defects early in the life cycle, such as in requirements or design phases, to prevent costly fixes later. It differentiates between static testing (reviewing documentation) and dynamic testing (executing test cases). The paragraph underscores the cost implications of late defect detection and the value of early testing in preventing defects from propagating through the development process.

πŸ”— Principle 4: Defects Cluster Together

This section elaborates on the fourth principle, which states that defects often cluster together rather than being evenly distributed. It explains that critical and complex modules tend to receive more attention, reducing defects, while simpler modules might be neglected, accumulating more defects. The principle advises testers to remain unbiased and test all modules thoroughly, regardless of their perceived simplicity, to avoid missing clustered defects.

♻️ Principle 5: Tests Wear Out (Pesticide Paradox)

The fifth principle, also known as the pesticide paradox, is discussed here. It emphasizes that test cases can become ineffective over time, especially in regression testing. The principle suggests revising and updating test cases regularly to ensure they remain effective in detecting defects. It compares sticking to an old study plan that yielded poor results to reiterating outdated test cases, advocating for continuous improvement and adaptation of test strategies.

🎯 Principle 6: Testing is Context Dependent

This paragraph covers the sixth principle, asserting that testing approaches vary based on the context of the application. It contrasts the testing strategies for safety-critical systems and e-commerce websites, illustrating that different applications require tailored testing methods. The principle emphasizes that there is no one-size-fits-all approach to testing, and testers must adapt their strategies to the specific context of the product being tested.

🚫 Principle 7: Absence of Defects Fallacy

The final principle, the absence of defects fallacy, is explained here. It argues that even if no defects are found, it doesn't guarantee that the product meets the requirements. Testers are responsible for ensuring that the product fulfills user needs and expectations, not just finding and fixing defects. The principle highlights the importance of validating the product against requirements to ensure it is useful and meets customer expectations.

Mindmap

Keywords

πŸ’‘ISTQB Foundation Level Certification

The ISTQB Foundation Level Certification is an internationally recognized qualification for software testers. It signifies a fundamental understanding of software testing principles and practices. In the video, the tutorial is focused on this certification, specifically discussing the principles of software testing that are essential for individuals pursuing this qualification.

πŸ’‘Testing Principles

Testing principles are the fundamental guidelines that govern the software testing process. They provide a framework for testers to ensure that their testing is thorough and effective. The video script delves into seven standard testing principles, emphasizing their importance in the testing lifecycle and how they should be applied in practice.

πŸ’‘Defects

In the context of software testing, defects refer to faults or errors in a program that cause it to behave incorrectly or not at all. The script mentions that testing is aimed at identifying these defects, but it does not guarantee the absence of all possible defects, highlighting the limitations of testing in ensuring a defect-free product.

πŸ’‘Exhaustive Testing

Exhaustive testing refers to the process of testing a system with all possible combinations of inputs to ensure complete coverage. The script explains that exhaustive testing is impossible due to the vast number of potential combinations, thus emphasizing the need for efficient testing strategies that can provide confidence in the system's behavior without trying every possible scenario.

πŸ’‘Early Testing

Early testing is the concept of involving testing activities as early as possible in the software development lifecycle. The video script suggests that testing at early stages, such as during requirement and design phases, can prevent defects from propagating further into the development process, thereby saving time and money.

πŸ’‘Static Testing

Static testing involves the examination of the software's work products, such as requirements documents and design specifications, without executing the software. The script points out that static testing can identify defects early on, which is more cost-effective than finding them later during dynamic testing.

πŸ’‘Defect Clustering

Defect clustering is the phenomenon where defects are not evenly distributed across a software system but tend to cluster in certain areas. The video script uses this concept to caution testers against becoming complacent with modules that have previously shown no defects, as they may still harbor undiscovered issues.

πŸ’‘Pesticide Paradox

The Pesticide Paradox, also known as 'tests wear out,' refers to the idea that the same set of test cases, when run repeatedly, may not be effective in finding new defects over time. The script mentions this to emphasize the need for testers to periodically review and update their test cases to maintain their effectiveness.

πŸ’‘Testing Context

Testing context refers to the specific conditions, environment, and requirements that influence how testing should be conducted for a particular software product. The video script explains that testing is context-dependent, meaning that different types of applications require different testing strategies and approaches.

πŸ’‘Requirement Validation

Requirement validation is the process of ensuring that the software product meets the specified requirements of the users and customers. The script highlights the tester's responsibility not only to find and fix defects but also to validate that the product fulfills the intended requirements, which is crucial for the product's usefulness and success.

πŸ’‘Regression Testing

Regression testing is a type of testing that verifies that changes made in the software have not adversely affected existing functionality. The script discusses the importance of evolving the regression test suite over time to adapt to changes in the product, as running the same test cases repeatedly may not be sufficient to detect new defects.

Highlights

Introduction to ISTQB Foundation Level Certification tutorial.

Exploring the fundamental principles of software testing.

Seven standard principles governing the testing process.

Testing shows the presence of defects but not their absence.

Exhaustive testing is impossible due to infinite possible combinations.

Early testing saves time and money by preventing defects.

Defects can cluster together and are not evenly distributed.

Tests wear out, emphasizing the need for evolving test cases.

Testing is context-dependent and requires different approaches for different applications.

Absence of defects is a fallacy and does not guarantee product usefulness.

Importance of understanding the testing life cycle and its principles.

The role of testers in ensuring requirements are met and not just defects are found.

The illusion of defect-free modules due to clustered defects.

The concept of static testing to find defects in requirements and design.

The cost of fixing defects increases the later they are found.

The necessity to revise and update test cases, especially for regression testing.

Different testing strategies for safety-critical systems versus e-commerce websites.

The tester's responsibility to validate the product against user needs and expectations.

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:07

are in chapter one talking about the

play00:08

fundamental soft testing and moving on

play00:11

to the next segment of this chapter that

play00:13

is 1.3 principal soft testing so let's

play00:16

quickly understand what are these

play00:18

principles and how does that get applied

play00:20

to our testing process Al

play00:28

together

play00:32

as a part of this tutorial all we are

play00:34

trying to understand that what are those

play00:36

governing principles of testing which

play00:38

one should follow at most at any point

play00:40

of time during the testing life cycle so

play00:43

we have seven standard principles what

play00:45

we are talking about the principles what

play00:47

we are referring to is called as of

play00:50

course the very first one is the testing

play00:52

shows presence of defects exhaustive

play00:55

testing is

play00:56

impossible and uh then we have the third

play00:58

one which is early test testing saves

play01:00

time and money the defects can cluster

play01:03

together tests wear out which was

play01:06

earlier called as pesticide Paradox

play01:09

testing is context dependent and absence

play01:11

of defects is a fallacy so let's go deep

play01:15

dive into each one of these principles

play01:17

and try understanding that what these

play01:19

principles are trying to convey and how

play01:21

does that even apply to testing the very

play01:24

first principle we are talking about is

play01:25

testing shows presence of defect but not

play01:27

their absence which simply means that

play01:30

testing is a process which does not

play01:31

assure you that you can find all

play01:34

possible defects in the system at any

play01:36

point of time no matter you have found

play01:37

any defects or not testing is not an

play01:40

assurance that you have a defect free

play01:42

product because testing can help you

play01:45

find defects the one of the objective of

play01:47

testing is to find defects but at any

play01:49

point of time whether you found any

play01:51

defects or not it does not guarantee

play01:53

that you have found all possible defects

play01:55

which you had because testing is an

play01:57

endless Journey right and people people

play02:00

should not be overestimating from the OV

play02:03

expecting from the testing as a process

play02:05

by interacting with a application by you

play02:08

know conducting testing on an

play02:10

application while you're trying to find

play02:12

as many defects as possible but at any

play02:14

point of time given that your approaches

play02:16

could be different you may not have all

play02:17

the information what you may need

play02:19

sometime the data is missing sometime

play02:21

the environment may have a constraint

play02:23

and not every single thing can be

play02:24

actually tested as a part of the testing

play02:26

process thus testing at any point of

play02:29

time can not assure you that you have

play02:31

found all possible defects in the system

play02:34

however at some point of time if you say

play02:35

that we have found 500 defects and tried

play02:38

all possible test cases which is

play02:40

something which is very hypothetical to

play02:42

talk about you may not come up with all

play02:45

combination of data you may not just

play02:47

test everything which you might think

play02:49

about and just because of that I cannot

play02:51

make a statement that testing can assure

play02:54

you 100% defect free product so in that

play02:57

context the very first principle is

play02:59

dedic dedicated to the meaning of

play03:01

testing that testing is only helpful in

play03:04

finding defects it helps you to detect

play03:06

the presence of defect but does not

play03:08

prove the absence of it moving on to

play03:10

principle number two when we talk about

play03:13

exhaustive testing is impossible all we

play03:15

are talking about is testing a simple

play03:17

application with all possible

play03:19

combinations of inputs with their

play03:21

respective outputs of course in order to

play03:23

test a s simple application let's take

play03:25

an example here if I'm talking about

play03:27

testing login then login has two fields

play03:29

that is username and password now if I

play03:32

just talk about the four combinations

play03:34

which I can test that is valid username

play03:36

valid password invalid username valid

play03:39

password valid username invalid password

play03:42

and invalid username invalid password

play03:44

quite often we think that the four test

play03:46

cases would be enough to test the system

play03:48

but if you deep dip you realize that

play03:50

invalid may have multiple possibilities

play03:52

thus you may have permutation and

play03:54

combination of these with the valid set

play03:56

of data like 1 is to 1 1 is to 2 1 is to

play03:59

3 2 is to 1 2 is to2 2 is to 3 and

play04:01

there's no end to it so even 40 test

play04:03

cases may be not enough so in that

play04:07

context we say that hey coming up with

play04:09

all possible combination of these test

play04:11

data and trying out the basic you know

play04:13

set of all the inputs combination is

play04:16

something considered as exhaustive you

play04:18

may not just come up with everything

play04:20

what comes to your mind you rather have

play04:22

to reduce your test cases write only the

play04:24

efficient number of test cases which are

play04:26

enough at that point of time to validate

play04:29

and gain the required confidence but the

play04:31

question is how would you do that answer

play04:34

is you do have test techniques to reduce

play04:37

the number of test cases but at the same

play04:39

time not compromising on the coverage so

play04:41

that is what the chapter 4 will be and

play04:43

we'll be talking more about that in

play04:44

detail moving on to the principle number

play04:46

three we are talking about static

play04:48

testing or in other words we are saying

play04:50

early testing saves time and money so

play04:52

early testing saves time and money is

play04:55

all about preventing defects or at least

play04:58

talking about static test testing in

play05:00

this context all a tester is requested

play05:02

to understand is that a defect can be

play05:05

found even in the requirement can be

play05:07

found in the design can be found in the

play05:09

code and that should be done much

play05:11

earlier than the tester case executions

play05:13

so testing is certainly done in two

play05:16

parts like in previous tutorial we

play05:18

understood that it is static and dynamic

play05:20

static helps you to find defects related

play05:22

to work products and dynamic helps you

play05:24

to find defs related to the product so

play05:27

of course a tester is someone who's

play05:28

responsible to get involved as early as

play05:30

possible in reviewing the documentation

play05:33

what is being written for the project

play05:35

and identify the anomalies written

play05:37

related to that for example if the

play05:39

requirements are published much earlier

play05:41

in the life cycle as a document then a

play05:44

tester is supposed to review the

play05:45

requirements and raise any sort of

play05:47

anomaly related to that by doing so you

play05:50

are identifying the mistakes done by the

play05:52

business analyst or missing information

play05:54

in the requirements at that phe itself

play05:57

which is preventing the bugs or defects

play05:59

to to be propagated to design

play06:01

development and so on so that's where

play06:04

the objective of this principle is to

play06:06

identify defects as soon as possible and

play06:08

one way the reason why we are saying

play06:10

early testing saves time and money is

play06:12

because it helps you to reduce the cost

play06:14

of fixing it if I find a defect in

play06:17

requirement all I have to do is rectify

play06:19

the requirement but if this missing

play06:20

requirement goes to code and then I'm

play06:23

doing a dynamic level of testing that is

play06:25

integration then I would need more time

play06:27

to get to the root cause and and then

play06:29

fixing the root cause will be again

play06:31

fixing the requirement itself but it

play06:33

will invite a lot of rework like

play06:35

redesign recode retest so as you see the

play06:38

number of activities increases as I

play06:40

found it later the cost of fixing a

play06:43

defect goes higher when the defect is

play06:45

identified at a later point of time so

play06:47

the earlier you find it it is cheaper to

play06:49

fix the later you find it it is

play06:52

expensive to fix so preventing bugs or

play06:54

defects is more valued today compared to

play06:57

that of finding defects so early testing

play06:59

saves time and money principle number

play07:02

four is talking about defects clustered

play07:04

together that means defects can be

play07:07

clustered together now can be in the

play07:09

sense like we are not doing it

play07:10

purposefully it may be possible so what

play07:13

do what is that we are talking about

play07:15

here in simple words defects are not

play07:18

evenly distributed it's not necessary

play07:21

that your defects will be evenly

play07:22

distributed between or among

play07:24

modules so it is even possible that

play07:28

defects can get accumulated to one of

play07:31

the module rather than being distributed

play07:32

in all the modules so assume that you

play07:34

have 10 modules to be tested first few

play07:37

modules like 1 2 3 4 are critical and

play07:39

complex modules indeed everyone

play07:42

including the business analyst the

play07:44

designer the developer will put their

play07:45

100% effort to make sure that these

play07:48

critical and complex modules do not go

play07:50

wrong so they did all the effort and

play07:52

when it came to testing of course when

play07:54

you tested you did not find any defects

play07:56

which simply means that you may create

play07:58

an illusion

play07:59

that the other modules which are simpler

play08:01

may not have any defect but through this

play08:03

principle all we want to tell you that

play08:06

that maybe a developer or designer would

play08:08

be overconfident on the simpler modules

play08:11

and make 50 mistakes there what about

play08:13

that so tester does not you know get

play08:16

influenced by the outcome of previous

play08:19

test executions or previous modules

play08:21

execution outcomes a tester is always

play08:24

supposed to be as independent as biased

play08:27

as possible so that they test every

play08:29

dependent thing separately okay and

play08:32

that's where it is very important for a

play08:34

tester to not to be influenced by the

play08:36

execution because defects can cluster

play08:40

together so it's not necessary that

play08:41

defects will be distributed evenly

play08:44

between the modules sometime first nine

play08:46

modules may not have any defects and the

play08:48

10th module may have 50 defects so

play08:50

principle number five we are talking

play08:52

about tests wear out which was earlier

play08:55

very popularly known as pesticide

play08:57

Paradox this principle really wanted to

play09:00

convey one of the most important part of

play09:02

testing that it's not necessary that

play09:05

what you have written is going to work

play09:06

forever especially targeting the

play09:08

regression area so say for example I got

play09:11

a module to test and I've written test

play09:13

10 test cases right when I executed that

play09:17

I did not find any defect being a very

play09:19

confident tester and experienced tester

play09:21

I felt that this is not possible so I

play09:24

thought of repeating the same execution

play09:26

once again and when I repeated indeed

play09:28

the module was same the test case was

play09:29

same so I will just get the same result

play09:32

that is everything passed if I just go

play09:34

and keep running it several times it

play09:36

does not help me heeld the defect what

play09:38

I'm looking for because I have a strong

play09:40

intuition that generally there are

play09:42

defects here so it may be possible that

play09:44

your test cases are not strong enough or

play09:47

good enough to the to find that defect

play09:49

what you're looking for in simple words

play09:52

there is no point reiterating a plan

play09:54

which you created in semester 1 to get

play09:57

90% if after following the plan very

play10:00

strictly you got only 60% it's not

play10:03

necessary that your hard work is not

play10:05

enough sometime your plan the way you

play10:08

created it was only for 60% not for 90%

play10:12

so there is no point following the same

play10:14

plan once again in semester 2 to Target

play10:16

90% rather tweak the plan make some

play10:19

changes in your plan reduce the number

play10:20

of hours you have Leisure reduce the

play10:22

number of hours when you play and

play10:24

increase the number of hours to study or

play10:26

change the timings of studies and see

play10:28

that whether the that works and exactly

play10:30

the same thing what you're talking about

play10:32

here if you think that test cases are

play10:34

just passing it does not mean that it's

play10:36

a proof of correctness so in that

play10:39

context you may look forward to revise

play10:41

your test cases especially the

play10:42

regression because regression test suets

play10:44

are just blindly iterated every time we

play10:48

make any changes thus the regression

play10:50

test Suite Remains the Same which we

play10:52

created long back so over a period of

play10:54

time when the product evolves the

play10:55

regression test Suite should also evolve

play10:58

moving to the the next principle that is

play11:00

testing is context dependent all we are

play11:02

trying to say here is that like a

play11:04

testing does not have a universally

play11:07

accepted approach or strategy that means

play11:10

there's no single approach to test all

play11:12

types of applications as the products

play11:14

are different from each other the

play11:16

strategy or approach to test that should

play11:18

also be different for example a safety

play11:20

critical system is not tested the way an

play11:23

e-commerce website is tested e-commerce

play11:25

website is just for shopping products

play11:28

does have their own set of criticality

play11:30

and uh risk involved but when I talk

play11:32

about safety critical devices things

play11:34

like Automotive elevators escalators

play11:37

right where human lives are involved I

play11:40

totally understand that my Approach of

play11:42

testing that would be completely

play11:43

different so two different products are

play11:45

not tested with the same approach now

play11:47

what are the approaches how I can Define

play11:49

my set of approach for a project answer

play11:51

is we will discuss this in more detail

play11:53

in chapter 5 so right now this is just

play11:56

enough to understand that two different

play11:58

products are not tested with the same

play11:59

approach and they have different

play12:01

approaches to test them finally talking

play12:04

about the last principle absence of

play12:06

defects fallacy U looks like very

play12:10

critical terminology to understand

play12:12

absence of defect is also a failure that

play12:15

is what the principle says now how is

play12:17

that even a failure absence of defect is

play12:19

a failure that means you just removed

play12:22

all the defects from the system does

play12:23

that mean it could be a failure yes

play12:25

absolutely it is possible why because we

play12:29

are test engineers and we just don't

play12:32

find and fix effects we are equally

play12:34

responsible to meet the requirements

play12:37

does that mean the developer and

play12:38

designer may not be following it yeah if

play12:40

they are following it then why are we

play12:43

here as a tester I do understand that

play12:46

designers and developers are also taking

play12:48

care of the requirements but they're not

play12:50

testing it as for the requirement

play12:51

they're testing it more from a technical

play12:53

driven point of view so it'll be not so

play12:56

good to say that they're not following

play12:57

the requirements they are indeed

play12:59

following the requirements to implement

play13:00

it but they are not testing it or they

play13:02

are not even worried about that whether

play13:05

this works as per the user needs and

play13:06

expectation or not but we as a tester

play13:09

are held responsible to understand the

play13:12

needs of the user and customer

play13:14

expectations and to validate that that

play13:16

means we are not here only to find and

play13:19

fix def at the end the product which is

play13:22

built is useless to the customer that

play13:25

does not help us so as a tester we have

play13:28

full responsibility on meeting the

play13:31

requirements or testing the product

play13:33

according to the given requirements okay

play13:35

so we just don't uh test find defs and

play13:39

fix them which may not make any sense at

play13:41

some point of time if the product built

play13:44

is useless to the customer so one

play13:46

principle dedicated to let you know that

play13:49

the requirements are equally important

play13:51

for tester we are not driven by code we

play13:54

are not driven by Design we are all we

play13:56

are driven by is the set of requirements

play13:58

provided to us so testers should always

play14:00

be worried about that however we are

play14:03

finding defects and fixing them but does

play14:05

that meet the given requirement or does

play14:08

that help a user to use the system so

play14:11

that's all from this particular tutorial

play14:12

team should you have anything else feel

play14:14

free to comment below I'm always there

play14:15

to address your queries and answer them

play14:17

well till then keep learning keep

play14:19

exploring keep understanding the context

play14:21

thanks for watching the video team and

play14:22

happy

play14:27

learning

play14:32

[Music]