ISTQB FOUNDATION 4.0 | Tutorial 2 | 1.1 What is Testing | ISTQB Foundation Tutorials | TM SQUARE
Summary
TLDRThis tutorial delves into the fundamentals of software testing, explaining the concept as an essential part of product validation. It discusses the history and evolution of testing, emphasizing the human tendency to overlook errors in one's own work. The video clarifies misconceptions about testing, highlighting its multifaceted nature beyond writing and executing test cases. It outlines key objectives of testing, including evaluating work products, identifying defects, ensuring coverage, reducing risk, and building product quality confidence. The tutorial also distinguishes between testing and debugging, asserting that while testers find defects, developers analyze and fix them. Aimed at demystifying testing, it encourages continuous learning and understanding in the field.
Takeaways
- π Testing is a fundamental concept that has been part of our daily life activities, not just a formalized process.
- π The role of a test engineer is to validate whether a product works as expected, which applies to both physical products and software applications.
- π΅οΈββοΈ Historically, developers were responsible for testing their own work, but this led to many defects leaking to the market due to human error and psychology.
- π§ Humans are prone to error and typically cannot find all their mistakes, but are good at identifying errors in others' work, highlighting the need for separate testers.
- π Testing involves more than just writing and executing test cases; it also includes static reviews of work products like requirements and design documents.
- π οΈ Testing is not solely a technical activity; it requires proper planning, management, estimation, monitoring, and control.
- π― Testing has multiple objectives, including evaluating work products, triggering failures to find defects, ensuring test coverage, reducing risk, verifying requirements, and complying with standards and regulations.
- π Testers are responsible for providing information to stakeholders to enable informed decisions and building confidence in the product's quality.
- π« Testing and debugging are distinct activities; testers find defects, while developers analyze, root cause, and fix them.
- π€ In the context of automation testing, testers can also perform debugging on their scripts, as they are responsible for writing and maintaining them.
Q & A
What is the primary goal of software testing?
-The primary goal of software testing is to validate whether a product is working as expected, ensuring it meets the user needs and requirements, and identifying potential defects before the product is released to the market.
Why is it important to have separate roles for developers and testers?
-Separate roles for developers and testers are important because humans are prone to errors and often cannot find all their own mistakes. Having someone else test the work can help identify defects that the original developer might have missed.
What are some common misconceptions about software testing?
-Some common misconceptions include the belief that testing is only about writing and executing test cases, that testing focuses entirely on dynamic interaction with the system, and that anyone can become a tester without the necessary skills and technical knowledge.
What are the key objectives of testing?
-The key objectives of testing include evaluation of work products, triggering failures and finding defects, ensuring required coverage of the test object, reducing the level of risk, verifying specified requirements are fulfilled, complying with contractual, legal, and regulatory requirements, providing information to stakeholders, building confidence in product quality, and validating the completeness and expected functionality of the test object.
What is the difference between testing and debugging?
-Testing is focused on finding defects, whereas debugging involves analyzing the defect to understand its root cause and fixing it. Testers are responsible for identifying issues, while developers handle the resolution and correction of those issues.
Why is it necessary for testers to review requirements and other documentation?
-Testers need to review requirements and documentation to understand what is expected of the product, which informs the creation of test cases. Additionally, this review process can help identify anomalies or inaccuracies in the documentation itself.
What is the role of a test manager in the testing process?
-A test manager is responsible for planning, managing, estimating, monitoring, and controlling the testing process. They ensure that testing activities are properly coordinated and that the testing team has the necessary resources and direction.
How does the testing process begin?
-The testing process begins with requirement gathering, where testers get involved in reviewing and understanding the requirements. This early involvement helps in identifying any issues or ambiguities in the requirements that could impact testing.
What is the significance of test case review in the testing process?
-Test case review is significant as it helps ensure that the test cases are thorough, cover all necessary aspects of the product, and are free from errors. Reviews can also help identify any gaps or redundancies in testing.
Why is it important for testers to build confidence in the product quality?
-It is important for testers to build confidence in the product quality because their sign-off is crucial for the product's release to the market. Testers need to be confident that the product meets the required standards and is ready for the end-users.
How does the concept of 'humans being good at finding mistakes in others' work' apply to testing?
-This concept applies to testing in the sense that having someone other than the developer review and test the product can lead to more effective defect detection. Testers, who did not create the original work, may be more likely to spot issues that the developers might have overlooked.
Outlines
π Introduction to Software Testing
The video script introduces the concept of software testing as a fundamental aspect of quality assurance in product development. It emphasizes that testing has always been a part of our daily activities, such as tasting food while cooking to ensure it meets expectations. The role of a test engineer is to validate whether a product functions as intended. The script also touches on the history of testing, explaining how developers initially performed their own testing, which led to many defects reaching the market. The realization that humans are prone to error and are better at finding mistakes in others' work led to the separation of development and testing roles. The tutorial clarifies misconceptions about testing, such as it being limited to writing and executing test cases, and highlights the importance of testing in requirement gathering, design reviews, and various other stages of the product development lifecycle.
π― Key Objectives and Misconceptions of Testing
This paragraph delves into the key objectives of software testing, which include evaluating work products, triggering failures to identify defects, ensuring required test coverage, reducing software quality risks, verifying compliance with requirements and regulations, and providing stakeholders with information for informed decision-making. It also discusses the importance of building confidence in product quality and validating completeness and expected functionality. The script dispels the myth that testing is the easiest job in technology and stresses the need for skills and technical knowledge. It highlights the multifaceted nature of testing, which extends beyond finding defects to include planning, management, estimation, monitoring, and control.
π οΈ Testing vs. Debugging: Distinct Processes
The final paragraph clarifies the difference between testing and debugging, two processes that are often confused. Testing is the responsibility of the test engineer, whose job is solely to find defects without contributing to their fixing. Debugging, on the other hand, involves analyzing the defect to understand its nature, performing root cause analysis, and fixing the defect, which is typically a developer's role. The script also addresses the question of whether debugging scripts in automation testing is considered testing or debugging, concluding that if a tester is analyzing and fixing their own script, they are performing debugging in that context. The tutorial concludes by inviting viewers to ask questions and continue learning about the intricacies of software testing.
Mindmap
Keywords
π‘Testing
π‘Test Engineer
π‘Defect Leakage
π‘Human Psychology
π‘Work Product
π‘Test Objectives
π‘Coverage
π‘Risk Reduction
π‘Stakeholder
π‘Debugging
Highlights
Testing is a fundamental concept that has been a part of daily life activities, not just in software or appliances.
A test engineer's responsibility is to validate whether a product works as expected, including software applications.
The history of testing shows it existed long before formal testing roles, with developers also performing testing duties.
It was recognized that the same person developing and testing software led to many defects reaching the market.
Human psychology plays a role in testing; people are prone to errors and often cannot find all their mistakes.
Humans are also better at finding mistakes in others' work, which justifies the need for a separate test engineer.
Testing is not limited to writing test cases and executing them; it involves a broader set of activities.
Testers are involved from the requirement gathering phase, reviewing and understanding requirements for test case creation.
Testing also includes reviewing various work products like documentation and designs to find anomalies early.
Test management involves planning, estimation, monitoring, and controlling, which are crucial for the testing process.
Testing has multiple objectives, including evaluation of work products, triggering failures, ensuring coverage, and risk reduction.
Testers ensure that specified requirements are met and that the test object complies with contractual, legal, and regulatory requirements.
Providing information to stakeholders to make informed decisions is a key responsibility of testers.
Building confidence in product quality is essential, and testers must be confident in the product before release.
Testing and debugging are different activities; testers find defects, while debugging involves analyzing and fixing them.
Automation testing involves both testing the script (for defects) and debugging the script (to fix issues).
The tutorial emphasizes the importance of understanding the difference between testing and debugging in software development.
Transcripts
Hello friends and greetings for the day
welcome back to another tutorial on
istqb Foundation certification tutorials
we are getting started with chapter one
and as a part of the chapter one which
is fundamentals of testing we shall be
talking about the very first topic of
this chapter today that is what is
testing and as part of this particular
segment we shall cover more about the
basic introduction to what is
testing
[Music]
well in order to talk about the
fundamental of testing Concepts testing
is there from a long time it's just that
like we did not recognize it probably
much earlier but it's just that it was a
part of our day-to-day life activities
in fact when you do something you do
taste it right for example when you
cooking something new you would love to
make a taste of it to make sure that it
is tasting as you expected or not and
exactly that particular way of concept
is being applied into the segment of any
product or any applications testing so
being A tes engineer our
responsibilities are to validate whether
a product is working as expected or not
now here I'm using the word product it
does not mean that it is only limited to
an appliances or any hardcore product
which you might be using in your
day-to-day world we are also talking
about any such application or software
which we build today right so a bit
history of what testing is and how does
it come into the market of course
initially we did not have anyone called
as testing genius but of course testing
is existed long back when the
development was done by the developers
and the developers were also responsible
to do testing too but of course due to
the you know same person performing
these activities that led to a lot of
defect leakage and it's a very common
understanding right at the beginning
which I would like to share with you
that we understood based on the analysis
of this that why are we leaking so many
defects to the market we understood that
it's a very hum very common human
tendency and psychology that you cannot
find all your mistakes now there are a
few things about human psychology which
are very simple and straightforward to
understand number one human is error
prone which you will agree to it second
that human cannot find all their
mistakes of course they can find some of
them but not all the mistakes what they
make every single day or in every single
book and third humans are equally good
at finding mistakes in somebody's else
work now that could be a little funny to
talk about but I think I'm pretty much
making sense to all of you now that's
where we thought testing let it happen
of course it has to happen we cannot
excuse it but let let's have someone
else do it even if I relate this to your
graduation examination and I'm I'm not
sure how many of you really got some
time to revise your paper before
submission but one once you know the
teacher looked at it uh they could very
well find out the mistake no matter how
many times you revised it before
submission you were not capable of
finding all your mistakes now that
certainly justifies that what's the need
of being a tester and at the same time
was the need of having someone else as a
test engineer not the person who
developed it so many people assume that
hey that sounds a very simple thing and
can anybody just do that answer is no
not at all testing is just not limited
to writing test cases and executions
many people think about that testing is
just a set of activity which involves
writing test cases and executing them
another misconception about testing is
that testing focuses entirely on the
verifying the test object whereas it's
not just Dynamic that means it's just
not about interacting with the system
and Performing the test it also deals
with statically reviewing the work
products which we right so the Journey
of testing starts right from the
requirement Gathering and we as a tester
get involved in reviewing the
requirements in other words we are
actually understanding the requirement
for writing our test cases but as a
return of that or as a byproduct we do
find anomalies in the written
documentations too similarly a tester do
get involved in design review does get
involved in the test case review test
plan review project plan review code
review today and everywhere no matter
what kind of effect what kind of work
product we are talking about we do have
a review happening for such products
which are critical to have any anomalies
at the beginning of the day also testing
is not only the technical activity it
also needs to be properly planned
managed estimated monitored and
controlled which of course is a
responsibility of the manager and the
management takes care of it but uh
testing is just not limited to writing
test cases and executing them so people
who are thinking at this point of time
that hey testing can be done by anyone
or if there's someone who told you that
testing is the most easiest job in
technology and someone who doesn't have
anything to do can become a tester let
me tell you it's not that simple you
need to learn things you need to
understand things and need to make
things happen according to the
expectation and for that you need skills
and Technical knowledge well the next
topic importantly what we are talking
about is test objectives that means what
are the key objectives of testing as a
part of the process and of course many
people think that testing is mainly from
the perspective of validating the
product finding the defects meeting the
expected requirement meeting the user
needs and sometime they do get confused
or sometime they do conclude things
together stating that is it uh the
combination of all the things and answer
is absolutely yes testing has multiple
objectives and a tester is responsible
to meet all of them but yeah there would
be some of the things which may not be
applicable to your product depending on
your organization depending on your
product characteristics or maybe your
project characteristics so it is very
important to just keep those things in
mind which your project or product or
organization deals with but at in a
nutshell all these on the screen are
basically your key objectives of testing
and being a test engineer you are
responsible to meet them so the
objectives include mainly that is the
evaluation of the work products the
journey starts right from there as we
talk about about different work products
being written now work product here are
documentations including the diagrams
like uh you can say business models or
flowcharts algorithms every single thing
is a work product for me to get
evaluated so V testers are responsible
to review them and raise any kind of
anomalies and queries and doubts or
clarification related to that second
triggering the failures and finding
defects of course uh our in overall
intention and objective is to conduct as
many fa failures as possible as a part
of the life cycle or test activities and
to make sure that we identify the
potential defects and let the developer
know about it so that they can fix it of
course when we talk about ensuring
required coverage of a test object
object which means writing the number of
test cases which are desirable to cover
the required expectation has to be
written so the coverage measurement is
equally important it's not that for a
particular requirement I can just write
few test cases whatever I think like and
that would enough now you need to write
appropriate number of test cases which
gives you the required coverage for that
particular functionality or feature or
test object reducing the level of risk
of inadequate software quality now of
course the risk also is getting covered
and again these words will be discussed
in detail in chapter 5 so just stay calm
and we will be talking about it in more
detail but as a part of testing our
responsibility is also to reduce the
level of risk because sometime we just
can't blindly mitigated risk also
verifying whether specified requirement
have been fulfilled which is key
expectation of testing we assure that
the user needs and expectations are met
verifying what a test object complies
with contractual legal and Regulatory
requirement uh this is what I was
referring to when I said that it's not
necessary every organization every
single product has to go through the
standards the contracts or legal
requirements but there are many products
in the market today for for example if
you talk about embedded systems you talk
about automotive aviations and banking
they do get involved with many standards
legals and other contractual
requirements of course contractual could
be for anyone but legal and uh standards
are specifically driven by some of the
products also verifying that test object
uh complies with that and then providing
information to stakeholder to allow them
to make inform uh make informed
decisions that means our key respon
responsibility is to consistently let
other stakeholders know that what are we
doing at this point of Time how are we
progressing so that they can make
appropriate decisions about the progress
and releases building confidence in the
product quality which is of course one
of our key responsibility if we as a
tester do not have the confidence of
releasing the product to the market then
we cannot let the organization do that
so as a tester until unless you have the
confidence of you know letting the
product go into the market nobody else
would do that so your sign off is very
important it's just like until unless as
a ground staff you don't show a thumbs
up to the pilot the pilot cannot move
the aircraft so that's your value at
this point of time and also validating
whether the test object is complete and
works as expected by the stakeholder so
completeness check should also be
performed that means uh some of the
requirements can be under tested or some
of the requirements may be missed out
with uh as a part of the testing so so
we must keep assuring at every single
point that all our requirements have
been covered completed and they are
behaving as per the stakeholder needs
well another important thing here we
talking about is testing and debugging
quite often people think a lot different
about testing and debugging and uh
sometime people who are not from the
testing background they think testing
and debugging are almost similar why
because testing is all about finding
defects and debugging as a term also
says bug bugs D debug so it's about
removing defects so isn't that testing
and debugging are somewhat or almost
similar and that's where testing team
wants to or istqb wants you to learn
about this at this point of time that
testing and debugging are not same
testing and debugging are different a
testing team or test engineer is someone
who is responsible only to find defects
they don't have any kind of contribution
in terms of fixing a defect where
whereas debugging is something as a
process which deals with analyzing the
defect being reported getting into the
root cause of that because it's not
necessary what you see is only the
problem sometime there could be
something else as an element
contributing to the failure so a
developer has to go through the root
cause analysis to find out the exact
reason behind that failure or the defect
and then fix it so fixing that is
certainly not something which just you
know can be done by a test engineer so
in key differences testing is only
responsible for finding out a defect or
finding a defect whereas debugging deals
with uh the analysis of the defect that
means understanding what is the defect
all about getting into the root cause
analysis finding the root cause and
another important thing is fixing the
def so it's very very crucial that we
understand the difference between this
so testing and debugging are separate
activities and uh does deal with
important things which are related to uh
performing these activities so another
important question what I quite often
quite often hear from people is that hey
when it comes to automation testing do
we call it as testing the script or
debugging the script so sometime is it
possible that we can also do debugging
answer is of course yes it's not about
the role or the designation in your
organization it's about the process
right the process says what exactly you
are doing so if you are just finding
defs you are doing testing no matter who
you are a developer also does testing T
in in terms of unit testing a tester
also performs testing when it comes to
system testing when it comes to code a
developer performs debugging we don't do
anything but when it comes to automation
script which we have written so we are
the developer of the code right in that
context we are the people who are also
responsible to fix our automation script
ourself and that time when we are
analyzing the script and fixing any kind
of syntax errors or any kind of other
anomalies in the script we call call it
as debugging so execution is called as
automation testing but fixing the script
is debugging so in that regards it's
just not limited to developer it can be
done by tester also given that they are
responsible for writing and maintaining
automation test so I think that was all
we had from this particular tutorial
team and you have got a good
understanding of the same should you
have anything else we can talk if you
can just let me know by dropping a
comment so that's all from this
particular tutorial team should you have
anything else feel free to comment below
I'm always there to address your queries
answer them well till then keep learning
keep exploring keep understanding the
context thanks for watching the video
team and happy
[Music]
learning
Browse More Related Video
![](https://i.ytimg.com/vi/ZKibwfwgEl8/hq720.jpg)
ISTQB FOUNDATION 4.0 | Tutorial 3 | 1.2 Why Testing is Necessary | ISTQB Tutorials | TM SQUARE
![](https://i.ytimg.com/vi/wp-JZWLPuWE/hq720.jpg)
ISTQB FOUNDATION 4.0 | Tutorial 4 | 1.3 Testing Principles | ISTQB Foundation Tutorials | TM SQUARE
![](https://i.ytimg.com/vi/Uj9fPT3XpWk/hq720.jpg)
ISTQB FOUNDATION 4.0 | Tutorial 7 | 1.5 Essentials Skills and Practices in Testing (Part-1) | CTFL
![](https://i.ytimg.com/vi/s2B5Qj2gplI/hq720.jpg)
No-Nonsense Frontend Engineering Roadmap
![](https://i.ytimg.com/vi/uktKwGJwdCY/hq720.jpg)
ISTQB FOUNDATION 4.0 | Tutorial 6 | 1.4 Test Activities, Testware & Test Roles (Part-2) | CTFL
![](https://i.ytimg.com/vi/9bx6bIVj5Lg/hq720.jpg)
ISTQB FOUNDATION 4.0 | Tutorial 5 | 1.4 Test Activities, Testware & Test Roles (Part-1) | CTFL
5.0 / 5 (0 votes)