SlideShare a Scribd company logo
1 of 13
Fundamentals of testing
Seli Purnianda
PROGRAM STUDI S1 SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU
Reference Graham et.al (2006)
http://sif.uin-suska.ac.id/ http://fst.uin-suska.ac.id/ http://www.uin-suska.ac.id/
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
customers 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.
Role of Testing in Software Development,
Maintenance and Operations
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.
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.
Testing and Quality
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.
How Much Testing Is Enough ?
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.
THANK YOU

More Related Content

What's hot

Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingEvi Yandri
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingRisun Hidayat
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingAs Fazli
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingnovranrafindo
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testinghasbi sidiq
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingHusnul Habib
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingTaufik hidayat
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingadeafsa
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingMarni -
 
Presentasi fundamental of testing
Presentasi fundamental of testingPresentasi fundamental of testing
Presentasi fundamental of testingEgi Ilham Elnusa
 
Fundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & ImplementationsFundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & Implementationsyogi syafrialdi
 
Chapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingChapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingZetryan Satria
 
OWASP: Building Secure Web Apps
OWASP: Building Secure Web AppsOWASP: Building Secure Web Apps
OWASP: Building Secure Web Appsmlogvinov
 
Chapter 1 Fundamental of testing (By Eva Normala)
Chapter 1 Fundamental of testing (By Eva Normala)Chapter 1 Fundamental of testing (By Eva Normala)
Chapter 1 Fundamental of testing (By Eva Normala)EvaNormala
 

What's hot (19)

Fundamentals of Testing
Fundamentals of TestingFundamentals of Testing
Fundamentals of Testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Presentasi fundamental of testing
Presentasi fundamental of testingPresentasi fundamental of testing
Presentasi fundamental of testing
 
2.fundamental of testing
2.fundamental of testing2.fundamental of testing
2.fundamental of testing
 
Bab 1
Bab 1Bab 1
Bab 1
 
Fundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & ImplementationsFundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & Implementations
 
ISTQB REX BLACK book
ISTQB REX BLACK bookISTQB REX BLACK book
ISTQB REX BLACK book
 
Chapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingChapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of Testing
 
OWASP: Building Secure Web Apps
OWASP: Building Secure Web AppsOWASP: Building Secure Web Apps
OWASP: Building Secure Web Apps
 
Chapter 1 Fundamental of testing (By Eva Normala)
Chapter 1 Fundamental of testing (By Eva Normala)Chapter 1 Fundamental of testing (By Eva Normala)
Chapter 1 Fundamental of testing (By Eva Normala)
 

Similar to Fundamentals of testing

Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingRudy Setiawan
 
fundamentals of testing
fundamentals of testingfundamentals of testing
fundamentals of testingaidil fitra
 
Fundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary CandraFundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary CandraAnd11ka
 
ISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptxISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptxrajkamalv
 
Fundamental Of Testing (Dhea Frizky)
Fundamental Of Testing (Dhea Frizky)Fundamental Of Testing (Dhea Frizky)
Fundamental Of Testing (Dhea Frizky)Dhea Ffrizky
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingargawanda
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingargawanda
 
Foundations Of Software Testing
Foundations Of Software TestingFoundations Of Software Testing
Foundations Of Software TestingTony Ennis
 
Software Testing Foundation
Software Testing FoundationSoftware Testing Foundation
Software Testing Foundationalessandro100
 
01 fundamentals of testing
01 fundamentals of testing01 fundamentals of testing
01 fundamentals of testingIlham Wahyudi
 
Foundations of software testing - ISTQB Certification.pdf
Foundations of software testing - ISTQB Certification.pdfFoundations of software testing - ISTQB Certification.pdf
Foundations of software testing - ISTQB Certification.pdfSaraj Hameed Sidiqi
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingYusran5
 
Testing implementasi 1
Testing implementasi 1Testing implementasi 1
Testing implementasi 1Sinthia Gusfah
 

Similar to Fundamentals of testing (14)

Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
fundamentals of testing
fundamentals of testingfundamentals of testing
fundamentals of testing
 
Fundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary CandraFundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary Candra
 
ISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptxISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptx
 
Fundamental Of Testing (Dhea Frizky)
Fundamental Of Testing (Dhea Frizky)Fundamental Of Testing (Dhea Frizky)
Fundamental Of Testing (Dhea Frizky)
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Foundations Of Software Testing
Foundations Of Software TestingFoundations Of Software Testing
Foundations Of Software Testing
 
Software Testing Foundation
Software Testing FoundationSoftware Testing Foundation
Software Testing Foundation
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
01 fundamentals of testing
01 fundamentals of testing01 fundamentals of testing
01 fundamentals of testing
 
Foundations of software testing - ISTQB Certification.pdf
Foundations of software testing - ISTQB Certification.pdfFoundations of software testing - ISTQB Certification.pdf
Foundations of software testing - ISTQB Certification.pdf
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Testing implementasi 1
Testing implementasi 1Testing implementasi 1
Testing implementasi 1
 

Recently uploaded

BEAUTIFUL PLACES TO VISIT IN LESOTHO.pptx
BEAUTIFUL PLACES TO VISIT IN LESOTHO.pptxBEAUTIFUL PLACES TO VISIT IN LESOTHO.pptx
BEAUTIFUL PLACES TO VISIT IN LESOTHO.pptxthusosetemere
 
Using AI to boost productivity for developers
Using AI to boost productivity for developersUsing AI to boost productivity for developers
Using AI to boost productivity for developersTeri Eyenike
 
Introduction to Artificial intelligence.
Introduction to Artificial intelligence.Introduction to Artificial intelligence.
Introduction to Artificial intelligence.thamaeteboho94
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalFabian de Rijk
 
2024 mega trends for the digital workplace - FINAL.pdf
2024 mega trends for the digital workplace - FINAL.pdf2024 mega trends for the digital workplace - FINAL.pdf
2024 mega trends for the digital workplace - FINAL.pdfNancy Goebel
 
The Concession of Asaba International Airport: Balancing Politics and Policy ...
The Concession of Asaba International Airport: Balancing Politics and Policy ...The Concession of Asaba International Airport: Balancing Politics and Policy ...
The Concession of Asaba International Airport: Balancing Politics and Policy ...Kayode Fayemi
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...David Celestin
 
"I hear you": Moving beyond empathy in UXR
"I hear you": Moving beyond empathy in UXR"I hear you": Moving beyond empathy in UXR
"I hear you": Moving beyond empathy in UXRMegan Campos
 
ECOLOGY OF FISHES.pptx full presentation
ECOLOGY OF FISHES.pptx full presentationECOLOGY OF FISHES.pptx full presentation
ECOLOGY OF FISHES.pptx full presentationFahadFazal7
 
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityHung Le
 
Ready Set Go Children Sermon about Mark 16:15-20
Ready Set Go Children Sermon about Mark 16:15-20Ready Set Go Children Sermon about Mark 16:15-20
Ready Set Go Children Sermon about Mark 16:15-20rejz122017
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfMahamudul Hasan
 
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINESBIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINESfuthumetsaneliswa
 
LITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORN
LITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORNLITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORN
LITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORNtntlai16
 
History of Morena Moshoeshoe birth death
History of Morena Moshoeshoe birth deathHistory of Morena Moshoeshoe birth death
History of Morena Moshoeshoe birth deathphntsoaki
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...ZurliaSoop
 

Recently uploaded (19)

ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
BEAUTIFUL PLACES TO VISIT IN LESOTHO.pptx
BEAUTIFUL PLACES TO VISIT IN LESOTHO.pptxBEAUTIFUL PLACES TO VISIT IN LESOTHO.pptx
BEAUTIFUL PLACES TO VISIT IN LESOTHO.pptx
 
Using AI to boost productivity for developers
Using AI to boost productivity for developersUsing AI to boost productivity for developers
Using AI to boost productivity for developers
 
Introduction to Artificial intelligence.
Introduction to Artificial intelligence.Introduction to Artificial intelligence.
Introduction to Artificial intelligence.
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
2024 mega trends for the digital workplace - FINAL.pdf
2024 mega trends for the digital workplace - FINAL.pdf2024 mega trends for the digital workplace - FINAL.pdf
2024 mega trends for the digital workplace - FINAL.pdf
 
The Concession of Asaba International Airport: Balancing Politics and Policy ...
The Concession of Asaba International Airport: Balancing Politics and Policy ...The Concession of Asaba International Airport: Balancing Politics and Policy ...
The Concession of Asaba International Airport: Balancing Politics and Policy ...
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
"I hear you": Moving beyond empathy in UXR
"I hear you": Moving beyond empathy in UXR"I hear you": Moving beyond empathy in UXR
"I hear you": Moving beyond empathy in UXR
 
ECOLOGY OF FISHES.pptx full presentation
ECOLOGY OF FISHES.pptx full presentationECOLOGY OF FISHES.pptx full presentation
ECOLOGY OF FISHES.pptx full presentation
 
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
 
Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...
Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...
Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...
 
Ready Set Go Children Sermon about Mark 16:15-20
Ready Set Go Children Sermon about Mark 16:15-20Ready Set Go Children Sermon about Mark 16:15-20
Ready Set Go Children Sermon about Mark 16:15-20
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINESBIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
 
LITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORN
LITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORNLITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORN
LITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORN
 
History of Morena Moshoeshoe birth death
History of Morena Moshoeshoe birth deathHistory of Morena Moshoeshoe birth death
History of Morena Moshoeshoe birth death
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
 
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait Cityin kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
 

Fundamentals of testing

  • 1. Fundamentals of testing Seli Purnianda PROGRAM STUDI S1 SISTEM INFORMASI FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU Reference Graham et.al (2006) http://sif.uin-suska.ac.id/ http://fst.uin-suska.ac.id/ http://www.uin-suska.ac.id/
  • 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 customers 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. Role of Testing in Software Development, Maintenance and Operations 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.
  • 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. Testing and Quality 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.
  • 12. How Much Testing Is Enough ? 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.