SlideShare a Scribd company logo
Fundamentals of testing   why is testing necessary (reference graham et.al (2006))
Why Is Testing Necessary ?
1. Describe, with examples, the way in which a defect in software can cause
harm to a person, to the environment or to a company. (K2)
2. Distinguish between the root cause of a defect and its effects. (K2)
3. Give reasons why testing is necessary by giving examples. (K2)
4. Describe why testing is part of quality assurance and give examples of how
testing contributes to higher quality. (K2)
5. Recall the terms 'mistake', 'defect', 'fault', 'failure' and the correspon ding
terms 'error' and 'bug'. (Kl)
6. Explain the fundamental principles in testing. (K2)
Introduction
In this section, we're going to kick off the book with a discussion on why
testing matters. We'll describe and illustrate how software defects or bugs can
cause problems for people, the environment or a company. We'll draw
important dis-tinctions between defects, their root causes and their effects.
We'll explain why testing is necessary to find these defects, how testing
promotes quality, and how testing fits into quality assurance. In this section,
we will also introduce some fundamental principles of testing.
As we go through this section, watch for the Syllabus terms bug, defect,
error, failure, fault, mistake, quality, risk, software, testing and exhaustive
testing. You'll find these terms defined in the glossary.
Software System Context
Some of the problems we encounter when using software are quite trivial, but
others can be costly and damaging - with loss of money, time or business
reputation - and even may result in injury or death. For example, suppose a user
interface has typographical defects. Does this matter? It may be trivial, but it could
have a significant effect, depending on the website and the defect:
 If my personal family-tree website has my maternal grandmother's maiden
name spelt wrong, my mother gets annoyed and I have to put up with some
family teasing, but I can fix it easily and only the family see it (probably).
Software System Context
 If the company website has some spelling mistakes in the text, potential cus
tomers may be put off the company as it looks unprofessional.
 If a software program miscalculates pesticide application quantities, the effect
could be very significant: suppose a decimal point is wrongly placed so that the
application rate is 10 times too large. The farmer or gardener uses more
pesticide than needed, which raises his costs, has environmental impacts on
wildlife and water supplies and has health and safety impact for the farmer,
gardener, family and workforce, livestock and pets. There may also be
consequent loss of trust in and business for the company and possi ble legal
costs and fines for causing the environmental and health problems.
Causes of Software Defects
Why is it that software systems sometimes don't work correctly? We know
that people make mistakes - we are fallible.
If someone makes an error or mistake in using the software, this may lead
directly to a problem - the software is used incorrectly and so does not behave
as we expected. However, people also design and build the software and they
can make mistakes during the design and build. These mistakes mean that
there are flaws in the software itself. These are called defects or sometimes
bugs or faults. Remember, the software is not just the code; check the
definition of soft-ware again to remind yourself.
Causes of Software Defects
When the software code has been built, it is executed and then any defects
may cause the system to fail to do what it should do (or do something it
shouldn't), causing a failure. Not all defects result in failures; some stay
dormant in the code and we may never notice them.
 Do our mistakes matter ?
 When do defects arise ?
 What is the cost of defects ?
Role of Testing in Software Development,
Maintenance and Operations
We have seen that human errors can cause a defect or fault to be
introduced at any stage within the software development life cycle and,
depending upon the consequences of the mistake, the results can be trivial or
catastrophic. Rigorous testing is necessary during development and
maintenance to identify defects, in order to reduce failures in the operational
environment and increase the quality of the operational system. This includes
looking for places in the user interface where a user might make a mistake in
input of data or in the interpretation of the output, and looking for potential
weak points for intentional and malicious attack.
Executing tests helps us move towards improved quality of product and
service, but that is just one of the verification and validation methods applied
to products. Processes are also checked, for example by audit. A variety of
methods may be used to check work, some of which are done by the author of
the work and some by others to get an independent view.
Role of Testing in Software Development,
Maintenance and Operations
Testing and Quality
Testing helps us to measure the quality of software in terms of the number of
defects found, the tests run, and the system covered by the tests. We can do this
for both the functional attributes of the software (for example, printing a report
correctly) and for the non-functional software requirements and characteristics
(for example, printing a report quickly enough). Non-functional characteristics are
covered in Chapter 2. Testing can give confidence in the quality of the soft-ware if
it finds few or no defects, provided we are happy that the testing is suf-ficiently
rigorous. Of course, a poor test may uncover few defects and leave us with a false
sense of security.
A well-designed test will uncover defects if they are present and so, if such
a test passes, we will rightly be more confident in the software and be able to
assert that the overall level of risk of using the system has been reduced.
When testing does find defects, the quality of the software system increases
when those defects are fixed, provided the fixes are carried out properly.
Testing and Quality
We've seen that testing helps us find defects and improve software quality.
How much testing should we do? We have a choice: test everything, test
nothing or test some of the software. Now, your immediate response to that
may well be to say, 'Everything must be tested'. We don't want to use software
that has not been completely tested, do we? This implies that we must exercise
every aspect of a software system during testing. What we need to consider is
whether we must, or even can, test completely.
How Much Testing Is Enough ?
ā€œTHANK YOUā€

More Related Content

What's hot (19)

PPTX
Fundamentals of testing
hasbi sidiq
Ā 
PPTX
Fundamentals of testing
Risun Hidayat
Ā 
PPTX
Fundamentals of testing
Taufik hidayat
Ā 
PPTX
Fundamentals of testing jef (1)
jefri_antoni
Ā 
PPTX
Fundamentals of testing
Husnul Habib
Ā 
PPTX
Fundamentals of testing
novranrafindo
Ā 
PPTX
Fundamentals of Testing
mentary fransiska
Ā 
PPTX
Presentasi fundamental of testing
Egi Ilham Elnusa
Ā 
PPTX
Fundamentals of testing aldi
aldi aulia
Ā 
PPTX
Fundamentals of testing
Afridol Afridol
Ā 
PPTX
Fundamentals of testing
Marni -
Ā 
PPTX
Fundamentals of testing
adeafsa
Ā 
PDF
ISTQB REX BLACK book
Naga Chiranjeevi Kota
Ā 
PPTX
Fundamentals of testing - Testing & Implementations
yogi syafrialdi
Ā 
PPTX
Fundamentals of Testing - Andika Dwi Ary Candra
And11ka
Ā 
PPTX
Fundamentals of testing
Yusran5
Ā 
PPTX
Testing & implementation system 1-wm
Wiwik Muslehatin
Ā 
PPTX
Fundamental Of Testing (Dhea Frizky)
Dhea Ffrizky
Ā 
PPTX
How Severe Is Your Bug?
BugRaptors
Ā 
Fundamentals of testing
hasbi sidiq
Ā 
Fundamentals of testing
Risun Hidayat
Ā 
Fundamentals of testing
Taufik hidayat
Ā 
Fundamentals of testing jef (1)
jefri_antoni
Ā 
Fundamentals of testing
Husnul Habib
Ā 
Fundamentals of testing
novranrafindo
Ā 
Fundamentals of Testing
mentary fransiska
Ā 
Presentasi fundamental of testing
Egi Ilham Elnusa
Ā 
Fundamentals of testing aldi
aldi aulia
Ā 
Fundamentals of testing
Afridol Afridol
Ā 
Fundamentals of testing
Marni -
Ā 
Fundamentals of testing
adeafsa
Ā 
ISTQB REX BLACK book
Naga Chiranjeevi Kota
Ā 
Fundamentals of testing - Testing & Implementations
yogi syafrialdi
Ā 
Fundamentals of Testing - Andika Dwi Ary Candra
And11ka
Ā 
Fundamentals of testing
Yusran5
Ā 
Testing & implementation system 1-wm
Wiwik Muslehatin
Ā 
Fundamental Of Testing (Dhea Frizky)
Dhea Ffrizky
Ā 
How Severe Is Your Bug?
BugRaptors
Ā 

Similar to Fundamentals of testing why is testing necessary (reference graham et.al (2006)) (18)

PPTX
Bab 1
fadillah alazmi
Ā 
PPTX
Fundamentals of testing
argawanda
Ā 
PPTX
Fundamentals of testing
argawanda
Ā 
PPTX
Software System Context
Suci Rahmawati
Ā 
PPTX
Unit 1.pptx
MohammadIsmailNaaz
Ā 
PPTX
SOFTWARE SYSTEMS CONTEXT
MeychiaGaiza
Ā 
PPTX
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani
Ā 
PPTX
Software systems context (putri nadya fazri 11453205114)
Putri nadya Fazri
Ā 
PDF
Foundations of software testing - ISTQB Certification.pdf
Saraj Hameed Sidiqi
Ā 
PPTX
Softwaresystemscontext windirohmaheny11453205427kelase
windi rohmaheny
Ā 
PDF
Software Testing Foundation
alessandro100
Ā 
PDF
Foundations Of Software Testing
Tony Ennis
Ā 
PPTX
01 fundamentals of testing
Ilham Wahyudi
Ā 
PPTX
2.fundamental of testing
Bobi Henfajri Setiawan
Ā 
PPTX
Fundamentals of testing
Rudy Setiawan
Ā 
PPTX
Testing implementasi 1
Sinthia Gusfah
Ā 
PPTX
fundamentals of testing
aidil fitra
Ā 
PPTX
ISTQBCH1 Manual Testing.pptx
rajkamalv
Ā 
Fundamentals of testing
argawanda
Ā 
Fundamentals of testing
argawanda
Ā 
Software System Context
Suci Rahmawati
Ā 
Unit 1.pptx
MohammadIsmailNaaz
Ā 
SOFTWARE SYSTEMS CONTEXT
MeychiaGaiza
Ā 
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani
Ā 
Software systems context (putri nadya fazri 11453205114)
Putri nadya Fazri
Ā 
Foundations of software testing - ISTQB Certification.pdf
Saraj Hameed Sidiqi
Ā 
Softwaresystemscontext windirohmaheny11453205427kelase
windi rohmaheny
Ā 
Software Testing Foundation
alessandro100
Ā 
Foundations Of Software Testing
Tony Ennis
Ā 
01 fundamentals of testing
Ilham Wahyudi
Ā 
2.fundamental of testing
Bobi Henfajri Setiawan
Ā 
Fundamentals of testing
Rudy Setiawan
Ā 
Testing implementasi 1
Sinthia Gusfah
Ā 
fundamentals of testing
aidil fitra
Ā 
ISTQBCH1 Manual Testing.pptx
rajkamalv
Ā 
Ad

Recently uploaded (20)

PPTX
Introduction_to_Python_Presentation.pptx
vikashkumargaya5861
Ā 
PDF
Chapter-52-Relationship-between-countries-at-different-levels-of-development-...
dinhminhthu1405
Ā 
PPTX
Patient with Upper & Lower GI bleeding .pptx
bdmlwb701
Ā 
PDF
Exploring User Perspectives on Data Collection, Data Sharing Preferences, and...
Daniela Napoli
Ā 
PPTX
Joy And Peace In All Circumstances.pptx
FamilyWorshipCenterD
Ā 
PPTX
Remote Healthcare Technology Use Cases and the Contextual Integrity of Olde...
Daniela Napoli
Ā 
PPTX
Describing the Organization's General Environment Identifying the Most Impact...
auntorkhastagirpujan
Ā 
PPTX
Renters' Rights and PBSA. How the bill will impact on the sector
Nick Emms
Ā 
PPTX
Supply chain management concept for basic understanding
pushpendrabalyan90
Ā 
PPTX
Design Tips to Help Non-Visual Visitors Stay Safe Online
Daniela Napoli
Ā 
PPTX
A Power Point Presentaion of 2 test match
katarapiyush21
Ā 
PPTX
Applied Stats for Real-Life Decisions.pptx
khalyaniramjan49
Ā 
PPTX
Enterprise Asset Management Overview with examples
ManikantaBN1
Ā 
PPTX
LUBRICANTS presentation slides with types functions and all
dahalsabal2020
Ā 
PPTX
India Energy and Utility Sector Landscape
Anand Akshay
Ā 
PPTX
Raksha Bandhan Celebrations PPT festival
sowmyabapuram
Ā 
PDF
COSHH - Sri Ramachandar Bandi HSE in the Oil & Gas Industry (COSHH) Training ...
babufastdeals
Ā 
PDF
Green Natural Green House Presentation (2).pdf
SaeedOsman6
Ā 
PPTX
Building a Strong and Ethical Digital Professional Identity
khalyaniramjan49
Ā 
PDF
Mathematics Grade 11 Term 1 Week 1_2021.pdf
MalepyaneMokgatle
Ā 
Introduction_to_Python_Presentation.pptx
vikashkumargaya5861
Ā 
Chapter-52-Relationship-between-countries-at-different-levels-of-development-...
dinhminhthu1405
Ā 
Patient with Upper & Lower GI bleeding .pptx
bdmlwb701
Ā 
Exploring User Perspectives on Data Collection, Data Sharing Preferences, and...
Daniela Napoli
Ā 
Joy And Peace In All Circumstances.pptx
FamilyWorshipCenterD
Ā 
Remote Healthcare Technology Use Cases and the Contextual Integrity of Olde...
Daniela Napoli
Ā 
Describing the Organization's General Environment Identifying the Most Impact...
auntorkhastagirpujan
Ā 
Renters' Rights and PBSA. How the bill will impact on the sector
Nick Emms
Ā 
Supply chain management concept for basic understanding
pushpendrabalyan90
Ā 
Design Tips to Help Non-Visual Visitors Stay Safe Online
Daniela Napoli
Ā 
A Power Point Presentaion of 2 test match
katarapiyush21
Ā 
Applied Stats for Real-Life Decisions.pptx
khalyaniramjan49
Ā 
Enterprise Asset Management Overview with examples
ManikantaBN1
Ā 
LUBRICANTS presentation slides with types functions and all
dahalsabal2020
Ā 
India Energy and Utility Sector Landscape
Anand Akshay
Ā 
Raksha Bandhan Celebrations PPT festival
sowmyabapuram
Ā 
COSHH - Sri Ramachandar Bandi HSE in the Oil & Gas Industry (COSHH) Training ...
babufastdeals
Ā 
Green Natural Green House Presentation (2).pdf
SaeedOsman6
Ā 
Building a Strong and Ethical Digital Professional Identity
khalyaniramjan49
Ā 
Mathematics Grade 11 Term 1 Week 1_2021.pdf
MalepyaneMokgatle
Ā 
Ad

Fundamentals of testing why is testing necessary (reference graham et.al (2006))

  • 2. Why Is Testing Necessary ? 1. Describe, with examples, the way in which a defect in software can cause harm to a person, to the environment or to a company. (K2) 2. Distinguish between the root cause of a defect and its effects. (K2) 3. Give reasons why testing is necessary by giving examples. (K2) 4. Describe why testing is part of quality assurance and give examples of how testing contributes to higher quality. (K2) 5. Recall the terms 'mistake', 'defect', 'fault', 'failure' and the correspon ding terms 'error' and 'bug'. (Kl) 6. Explain the fundamental principles in testing. (K2)
  • 3. Introduction In this section, we're going to kick off the book with a discussion on why testing matters. We'll describe and illustrate how software defects or bugs can cause problems for people, the environment or a company. We'll draw important dis-tinctions between defects, their root causes and their effects. We'll explain why testing is necessary to find these defects, how testing promotes quality, and how testing fits into quality assurance. In this section, we will also introduce some fundamental principles of testing. As we go through this section, watch for the Syllabus terms bug, defect, error, failure, fault, mistake, quality, risk, software, testing and exhaustive testing. You'll find these terms defined in the glossary.
  • 4. Software System Context Some of the problems we encounter when using software are quite trivial, but others can be costly and damaging - with loss of money, time or business reputation - and even may result in injury or death. For example, suppose a user interface has typographical defects. Does this matter? It may be trivial, but it could have a significant effect, depending on the website and the defect:  If my personal family-tree website has my maternal grandmother's maiden name spelt wrong, my mother gets annoyed and I have to put up with some family teasing, but I can fix it easily and only the family see it (probably).
  • 5. Software System Context  If the company website has some spelling mistakes in the text, potential cus tomers may be put off the company as it looks unprofessional.  If a software program miscalculates pesticide application quantities, the effect could be very significant: suppose a decimal point is wrongly placed so that the application rate is 10 times too large. The farmer or gardener uses more pesticide than needed, which raises his costs, has environmental impacts on wildlife and water supplies and has health and safety impact for the farmer, gardener, family and workforce, livestock and pets. There may also be consequent loss of trust in and business for the company and possi ble legal costs and fines for causing the environmental and health problems.
  • 6. Causes of Software Defects Why is it that software systems sometimes don't work correctly? We know that people make mistakes - we are fallible. If someone makes an error or mistake in using the software, this may lead directly to a problem - the software is used incorrectly and so does not behave as we expected. However, people also design and build the software and they can make mistakes during the design and build. These mistakes mean that there are flaws in the software itself. These are called defects or sometimes bugs or faults. Remember, the software is not just the code; check the definition of soft-ware again to remind yourself.
  • 7. Causes of Software Defects When the software code has been built, it is executed and then any defects may cause the system to fail to do what it should do (or do something it shouldn't), causing a failure. Not all defects result in failures; some stay dormant in the code and we may never notice them.  Do our mistakes matter ?  When do defects arise ?  What is the cost of defects ?
  • 8. Role of Testing in Software Development, Maintenance and Operations We have seen that human errors can cause a defect or fault to be introduced at any stage within the software development life cycle and, depending upon the consequences of the mistake, the results can be trivial or catastrophic. Rigorous testing is necessary during development and maintenance to identify defects, in order to reduce failures in the operational environment and increase the quality of the operational system. This includes looking for places in the user interface where a user might make a mistake in input of data or in the interpretation of the output, and looking for potential weak points for intentional and malicious attack.
  • 9. Executing tests helps us move towards improved quality of product and service, but that is just one of the verification and validation methods applied to products. Processes are also checked, for example by audit. A variety of methods may be used to check work, some of which are done by the author of the work and some by others to get an independent view. Role of Testing in Software Development, Maintenance and Operations
  • 10. Testing and Quality Testing helps us to measure the quality of software in terms of the number of defects found, the tests run, and the system covered by the tests. We can do this for both the functional attributes of the software (for example, printing a report correctly) and for the non-functional software requirements and characteristics (for example, printing a report quickly enough). Non-functional characteristics are covered in Chapter 2. Testing can give confidence in the quality of the soft-ware if it finds few or no defects, provided we are happy that the testing is suf-ficiently rigorous. Of course, a poor test may uncover few defects and leave us with a false sense of security.
  • 11. A well-designed test will uncover defects if they are present and so, if such a test passes, we will rightly be more confident in the software and be able to assert that the overall level of risk of using the system has been reduced. When testing does find defects, the quality of the software system increases when those defects are fixed, provided the fixes are carried out properly. Testing and Quality
  • 12. We've seen that testing helps us find defects and improve software quality. How much testing should we do? We have a choice: test everything, test nothing or test some of the software. Now, your immediate response to that may well be to say, 'Everything must be tested'. We don't want to use software that has not been completely tested, do we? This implies that we must exercise every aspect of a software system during testing. What we need to consider is whether we must, or even can, test completely. How Much Testing Is Enough ?