SlideShare a Scribd company logo
“Fundamentals of testing”
Graham et al (2006)
Oleh :
Tricia karina (11453201712)
Program Studi S1 Sistem Informasi
Universitas Islam Negeri Sultan Syarif Kasim Riau
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
Fundamentals of testing
In this chapter, we will introduce you to the fundamentals of
testing: why testing is needed; its limitations, objectives and
purpose; the principles behind testing; the process that testers
follow; and some of the psychological factors that testers must
consider in their work. By reading this chapter you'll gain an
understanding of the fundamentals of testing and be able to
describe those fundamentals.
WHY IS TESTING
NECESSARY?
• 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 distinctions 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.
• Software systems context
Not all software systems carry the same level of risk and not all problems have the
same impact when they occur. A risk is something that has not happened yet
and it may never happen; it is a potential problem. We are concerned about
these potential problems because, if one of them did happen, we'd feel a
negative impact. When we discuss risks, we need to consider how likely it is
that the problem would occur and the impact if it happens. For example,
whenever we cross the road, there is some risk that we'll be injured by a car.
The likelihood depends on factors such as how much traffic is on the road,
whether there is a safe crossing place, how well we can see, and how fast we
can cross. The impact depends on how fast the car is going, whether we are
wearing protective gear, our age and our health. The risk for a particular person
can be worked out and therefore the best road-crossing strategy.
• Causes of software defects
but it is difficult for people to find their own mistakes while building a product.
Defects in software, systems or documents may result in failures, but not all
defects do cause failures. We could argue that if a mistake does not lead to a
defect or a defect does not lead to a failure, then it is not of any importance -
we may not even know we've made an error. Our fallibility is compounded
when we lack experience, don't have the right information, misunderstand, or if
we are careless, tired or under time pressure. we are more likely to make errors
when dealing with perplexing technical or business problems, complex
business processes, code or infrastructure, changing technologies, or many
• 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.
• 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).
• How much testing is enough?
Testing everything (all combinations of inputs and
preconditions) is not feasible except for trivial cases.
Instead of exhaustive testing, we use risks and
priorities to focus testing efforts.
WHAT IS TESTING?
• The driving test – an analogy for software
testing
We have spent some time describing why we need to test, but we
have not dis- cussed what testing is. What do we mean by the
word testing? We use the words test and testing in everyday
life and earlier we said testing could be described as 'checking
the software is OK'. That is not a detailed enough definition to
help us understand software testing. Let's use an analogy to
help us: driving tests.
• Defining software testing
Let's break the definition down into parts; the definition has some
key phrases to remember. The definition starts with a
description of testing as a process and then lists some
objectives of the test process.
• Software test and driving test compared
We can see that the software test is very like a driving test in many
ways, although of course it is not a perfect analogy! The
driving examiner becomes the software tester. The driver being
examined becomes the system or software under test, and
you'll see as we go through this book that the same approach
broadly holds.
• When can we meet our test objectives?
Testing activities should start as early as possible in the software
or system development life cycle and should be focused on
defined objectives.
• Focusing on defects can help us plan our tests
Reviewing defects and failures in order to improve processes
allows us to improve our testing and our requirements, design
and development processes. One phenomenon that many
testers have observed is that defects tend to cluster. This can
happen because an area of the code is particularly complex and
tricky, or because changing software and other products tends
• The defect clusters change over time
If the same tests are repeated over and over again, eventually the
same set of test cases will no longer find any new bugs. To
overcome this 'pesticide paradox', the test cases need to be
regularly reviewed and revised, and new and different tests
need to be written to exercise different parts of the software or
system to potentially find more defects.
• Debugging removes defects
When a test finds a defect that must be fixed, a programmer must
do some work to locate the defect in the code and make the fix.
In this process, called debugging, a programmer will examine
the code for the immediate cause of the problem, repair the
code and check that the code now executes as expected.
• If we don't find defects does that mean the users will
accept the software?
Finding and fixing defects does not help if the system built is
unusable and does not fulfill the users' needs and expectations.
TESTING PRINCIPLES
• Testing can show that defects are present, but cannot prove that there
are no defects. Testing reduces the probability of undiscovered defects
remaining in the software but, even if no defects are found, it is not a
proof of correctness.
• Testing everything (all combinations of inputs and preconditions) is
not feasible except for trivial cases. Instead of exhaustive testing, we
use risks and priorities to focus testing efforts.
• Testing activities should start as early as possible in the software or
system development life cycle and should be focused on defined
objectives.
• A small number of modules contain most of the defects discovered
during pre-release testing or show the most operational failures.
• If the same tests are repeated over and over again, eventually the same
set of test cases will no longer find any new bugs. To overcome this
'pesticide paradox', the test cases need to be regularly reviewed and
revised, and new and different tests need to be written to exercise
different parts of the software or system to potentially find more
defects.
FUNDAMENTAL TEST
PROCESS
• Introduction
In this section, we will describe the fundamental test process and
activities. These start with test planning and continue through
to test closure. For each part of the test process, we'll discuss
the main tasks of each test activity. In this section, you'll also
encounter the glossary terms confirmation testing, exit
criteria, incident, regression testing, test basis, test
condition, test coverage, test data, test execution, test log,
test plan, test strategy, test summary report and testware.
• Test planning and control
During test planning, we make sure we understand the goals and
objectives of the customers, stakeholders, and the project, and
the risks which testing is intended to address. This will give us
what is sometimes called the mission of testing or the test
assignment.
• Test analysis and design
Test analysis and design is the activity where general testing
objectives are trans- formed into tangible test conditions and test
designs. During test analysis and design, we take general testing
objectives identified during planning and build test designs and test
procedures (scripts).
• Test implementation and execution
During test implementation and execution, we take the test conditions
and make them into test cases and testware and set up the test
environment. This means that, having put together a high-level
design for our tests, we now start to build them. We transform our
test conditions into test cases and procedures, other testware such
as scripts for automation.
• Evaluating exit criteria and reporting
Evaluating exit criteria is the activity where test execution is
assessed against the defined objectives. This should be done
for each test level, as for each we need to know whether we
have done enough testing. Based on our risk assess- ment, we'll
have set criteria against which we'll measure 'enough'. These
criteria vary for each project and are known as exit criteria.
• Test closure activities
During test closure activities, we collect data from completed test
activities to consolidate experience, including checking and
filing testware, and analyzing facts and numbers. We may need
to do this when software is delivered. We also might close
testing for other reasons, such as when we have gathered the
infor- mation needed from testing, when the project is
cancelled, when a particular milestone is achieved, or when a
maintenance release or update is done.
THE PSYCHOLOGY OF
TESTING
• Independent testing – who is a tester?
The mindset we want to use while testing and reviewing is
different from the one we use while analyzing or developing.
By this we mean that, if we are building something we are
working positively to solve problems in the design and to
realize a product that meets some need. However, when we test
or review a product, we are looking for defects in the product
and thus are critical of it.
• Why do we sometimes not get on with the rest of the
team?
As well as independence, separation of the tester role from the
developer role is also done to help focus effort and to provide
the benefits of trained and professional testing resources. In
many organizations, earlier stages of testing are carried out by
the developers and integrators and later stages independently,
either by a specialist test group or by the customers.
THANKYOUTHANKYOU

More Related Content

What's hot

02 - Testing Management - Crash Slides
02 - Testing Management - Crash Slides02 - Testing Management - Crash Slides
02 - Testing Management - Crash Slides
Samer Desouky
 
risk based testing and regression testing
risk based testing and regression testingrisk based testing and regression testing
risk based testing and regression testing
Toshi Patel
 
Software testing axioms
Software testing axiomsSoftware testing axioms
Software testing axioms
vijayalakshmijanakir1
 
The Myths and Facts Surrounding Software Testing
The Myths and Facts Surrounding Software TestingThe Myths and Facts Surrounding Software Testing
The Myths and Facts Surrounding Software Testing
Software Testing Solution
 
7 testing principles
7 testing principles7 testing principles
7 testing principles
Testing Expert
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principles
Donato Di Pierro
 
Risk-based Testing
Risk-based TestingRisk-based Testing
Risk-based Testing
Johan Hoberg
 
Principles of software testing
Principles of software testingPrinciples of software testing
Principles of software testing
Software Testing Books
 
From Defect Reporting To Defect Prevention
From Defect Reporting To Defect PreventionFrom Defect Reporting To Defect Prevention
From Defect Reporting To Defect Prevention
Sune Gynthersen
 
Exploring Exploratory Testing
Exploring Exploratory TestingExploring Exploratory Testing
Exploring Exploratory Testing
nazeer pasha
 
Risk-Based Testing - Designing & managing the test process (2002)
Risk-Based Testing - Designing & managing the test process (2002)Risk-Based Testing - Designing & managing the test process (2002)
Risk-Based Testing - Designing & managing the test process (2002)
Neil Thompson
 
Better Software Classic Testing Mistakes
Better Software Classic Testing MistakesBetter Software Classic Testing Mistakes
Better Software Classic Testing Mistakes
nazeer pasha
 
Advanced Defect Management
Advanced Defect ManagementAdvanced Defect Management
Advanced Defect Management
Sabarinath Venugopalan
 
Positivityofnegative
PositivityofnegativePositivityofnegative
Positivityofnegative
pramodkg
 
Mt s13 defect_management
Mt s13 defect_managementMt s13 defect_management
Mt s13 defect_management
TestingGeeks
 
Root Cause Analysis for Software Testers
Root Cause Analysis for Software TestersRoot Cause Analysis for Software Testers
Root Cause Analysis for Software Testers
TechWell
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Muhammad Khairil
 
Testing
TestingTesting
Testing
nazeer pasha
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
XBOSoft
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
Journal For Research
 

What's hot (20)

02 - Testing Management - Crash Slides
02 - Testing Management - Crash Slides02 - Testing Management - Crash Slides
02 - Testing Management - Crash Slides
 
risk based testing and regression testing
risk based testing and regression testingrisk based testing and regression testing
risk based testing and regression testing
 
Software testing axioms
Software testing axiomsSoftware testing axioms
Software testing axioms
 
The Myths and Facts Surrounding Software Testing
The Myths and Facts Surrounding Software TestingThe Myths and Facts Surrounding Software Testing
The Myths and Facts Surrounding Software Testing
 
7 testing principles
7 testing principles7 testing principles
7 testing principles
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principles
 
Risk-based Testing
Risk-based TestingRisk-based Testing
Risk-based Testing
 
Principles of software testing
Principles of software testingPrinciples of software testing
Principles of software testing
 
From Defect Reporting To Defect Prevention
From Defect Reporting To Defect PreventionFrom Defect Reporting To Defect Prevention
From Defect Reporting To Defect Prevention
 
Exploring Exploratory Testing
Exploring Exploratory TestingExploring Exploratory Testing
Exploring Exploratory Testing
 
Risk-Based Testing - Designing & managing the test process (2002)
Risk-Based Testing - Designing & managing the test process (2002)Risk-Based Testing - Designing & managing the test process (2002)
Risk-Based Testing - Designing & managing the test process (2002)
 
Better Software Classic Testing Mistakes
Better Software Classic Testing MistakesBetter Software Classic Testing Mistakes
Better Software Classic Testing Mistakes
 
Advanced Defect Management
Advanced Defect ManagementAdvanced Defect Management
Advanced Defect Management
 
Positivityofnegative
PositivityofnegativePositivityofnegative
Positivityofnegative
 
Mt s13 defect_management
Mt s13 defect_managementMt s13 defect_management
Mt s13 defect_management
 
Root Cause Analysis for Software Testers
Root Cause Analysis for Software TestersRoot Cause Analysis for Software Testers
Root Cause Analysis for Software Testers
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Testing
TestingTesting
Testing
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
 

Similar to 01. foundamentals of testing

Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
ANDRI HAIRIYADI, S.Kom.
 
Fundamentals of testing (1)
Fundamentals of testing (1)Fundamentals of testing (1)
Fundamentals of testing (1)
Aziz Chikhly
 
Fundamentals of testing 2
Fundamentals of testing 2Fundamentals of testing 2
Fundamentals of testing 2
seli purnianda
 
fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)
diana fitri, S.Kom
 
2.fundamental of testing
2.fundamental of testing2.fundamental of testing
2.fundamental of testing
Bobi Henfajri Setiawan
 
Fundamental of testing (what is testing)
Fundamental of testing (what is testing)Fundamental of testing (what is testing)
Fundamental of testing (what is testing)
helfa safitri
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Novika Damai Yanti
 
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is TestingMateri testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testing
devinta sari
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
YAObbiIkhsan
 
Bab 1
Bab 1Bab 1
Fundamentals of testing what is testing (reference graham et.al (2006))
Fundamentals of testing   what is testing (reference graham et.al (2006))Fundamentals of testing   what is testing (reference graham et.al (2006))
Fundamentals of testing what is testing (reference graham et.al (2006))
Alfarizi ,S.Kom
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Yusran5
 
What is testing?
What is testing?What is testing?
What is testing?
Zuliar Efendi
 
FUNDAMENTALS OF TESTING (Fundamental of testing what)
FUNDAMENTALS OF TESTING (Fundamental of testing what) FUNDAMENTALS OF TESTING (Fundamental of testing what)
FUNDAMENTALS OF TESTING (Fundamental of testing what)
CindyYuristie
 
Software Testing 2/5
Software Testing 2/5Software Testing 2/5
Software Testing 2/5
Damian T. Gordon
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
fajarayuningrum
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning
 
Why is testing necessary
Why is testing necessaryWhy is testing necessary
Why is testing necessary
chayo rona
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Taufik hidayat
 
What is testing
What is testingWhat is testing
What is testing
Bayu Andika Pratama
 

Similar to 01. foundamentals of testing (20)

Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing (1)
Fundamentals of testing (1)Fundamentals of testing (1)
Fundamentals of testing (1)
 
Fundamentals of testing 2
Fundamentals of testing 2Fundamentals of testing 2
Fundamentals of testing 2
 
fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)
 
2.fundamental of testing
2.fundamental of testing2.fundamental of testing
2.fundamental of testing
 
Fundamental of testing (what is testing)
Fundamental of testing (what is testing)Fundamental of testing (what is testing)
Fundamental of testing (what is testing)
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is TestingMateri testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Bab 1
Bab 1Bab 1
Bab 1
 
Fundamentals of testing what is testing (reference graham et.al (2006))
Fundamentals of testing   what is testing (reference graham et.al (2006))Fundamentals of testing   what is testing (reference graham et.al (2006))
Fundamentals of testing what is testing (reference graham et.al (2006))
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
What is testing?
What is testing?What is testing?
What is testing?
 
FUNDAMENTALS OF TESTING (Fundamental of testing what)
FUNDAMENTALS OF TESTING (Fundamental of testing what) FUNDAMENTALS OF TESTING (Fundamental of testing what)
FUNDAMENTALS OF TESTING (Fundamental of testing what)
 
Software Testing 2/5
Software Testing 2/5Software Testing 2/5
Software Testing 2/5
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Why is testing necessary
Why is testing necessaryWhy is testing necessary
Why is testing necessary
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
What is testing
What is testingWhat is testing
What is testing
 

Recently uploaded

Comparison of RNA Viruses. docx
Comparison of RNA Viruses.          docxComparison of RNA Viruses.          docx
Comparison of RNA Viruses. docx
Dr Sumitha Jagadibabu
 
lipids_233455668899076544553879848657.pptx
lipids_233455668899076544553879848657.pptxlipids_233455668899076544553879848657.pptx
lipids_233455668899076544553879848657.pptx
muralinath2
 
Molecular biology of abiotic stress tolerence in plants
Molecular biology of abiotic stress tolerence in plantsMolecular biology of abiotic stress tolerence in plants
Molecular biology of abiotic stress tolerence in plants
rushitahakik1
 
A slightly oblate dark matter halo revealed by a retrograde precessing Galact...
A slightly oblate dark matter halo revealed by a retrograde precessing Galact...A slightly oblate dark matter halo revealed by a retrograde precessing Galact...
A slightly oblate dark matter halo revealed by a retrograde precessing Galact...
Sérgio Sacani
 
SlideEgg-703870-Bird Migration PPT Presentation.pptx
SlideEgg-703870-Bird Migration PPT Presentation.pptxSlideEgg-703870-Bird Migration PPT Presentation.pptx
SlideEgg-703870-Bird Migration PPT Presentation.pptx
randaalmabrouk
 
Bragg Brentano Alignment for D4 with LynxEye Rev3.pptx
Bragg Brentano Alignment for D4 with LynxEye Rev3.pptxBragg Brentano Alignment for D4 with LynxEye Rev3.pptx
Bragg Brentano Alignment for D4 with LynxEye Rev3.pptx
Lisandro Cunci
 
ANTIGENS_.pptx ( Ranjitha SL) PRESENTATION SLIDE
ANTIGENS_.pptx ( Ranjitha SL) PRESENTATION SLIDEANTIGENS_.pptx ( Ranjitha SL) PRESENTATION SLIDE
ANTIGENS_.pptx ( Ranjitha SL) PRESENTATION SLIDE
RanjithaSL
 
gastrointestinal hormonese I 45678633134668097636903278.pptx
gastrointestinal hormonese I 45678633134668097636903278.pptxgastrointestinal hormonese I 45678633134668097636903278.pptx
gastrointestinal hormonese I 45678633134668097636903278.pptx
muralinath2
 
MACRAMÉ-ChiPs: Patchwork Project Family & Sibling Projects (24th Meeting of t...
MACRAMÉ-ChiPs: Patchwork Project Family & Sibling Projects (24th Meeting of t...MACRAMÉ-ChiPs: Patchwork Project Family & Sibling Projects (24th Meeting of t...
MACRAMÉ-ChiPs: Patchwork Project Family & Sibling Projects (24th Meeting of t...
Steffi Friedrichs
 
GIT hormones- II_12345677809876543235780963.pptx
GIT hormones- II_12345677809876543235780963.pptxGIT hormones- II_12345677809876543235780963.pptx
GIT hormones- II_12345677809876543235780963.pptx
muralinath2
 
El Nuevo Cohete Ariane de la Agencia Espacial Europea-6_Media-Kit_english.pdf
El Nuevo Cohete Ariane de la Agencia Espacial Europea-6_Media-Kit_english.pdfEl Nuevo Cohete Ariane de la Agencia Espacial Europea-6_Media-Kit_english.pdf
El Nuevo Cohete Ariane de la Agencia Espacial Europea-6_Media-Kit_english.pdf
Champs Elysee Roldan
 
Summer program introduction in Yunnan university
Summer program introduction in Yunnan universitySummer program introduction in Yunnan university
Summer program introduction in Yunnan university
Hayato Shimabukuro
 
CONSOLSCI8_Lesson1. presentation for NLC
CONSOLSCI8_Lesson1. presentation for NLCCONSOLSCI8_Lesson1. presentation for NLC
CONSOLSCI8_Lesson1. presentation for NLC
ROLANARIBATO3
 
Liver & Gall Bladder 23098463278654387654328765439875.pptx
Liver & Gall Bladder 23098463278654387654328765439875.pptxLiver & Gall Bladder 23098463278654387654328765439875.pptx
Liver & Gall Bladder 23098463278654387654328765439875.pptx
muralinath2
 
Dalghren, Thorne and Stebbins System of Classification of Angiosperms
Dalghren, Thorne and Stebbins System of Classification of AngiospermsDalghren, Thorne and Stebbins System of Classification of Angiosperms
Dalghren, Thorne and Stebbins System of Classification of Angiosperms
Gurjant Singh
 
Computer aided biopharmaceutical characterization
Computer aided biopharmaceutical characterizationComputer aided biopharmaceutical characterization
Computer aided biopharmaceutical characterization
souravpaul769171
 
Science grade 09 Lesson1-2 NLC-pptx.pptx
Science grade 09 Lesson1-2 NLC-pptx.pptxScience grade 09 Lesson1-2 NLC-pptx.pptx
Science grade 09 Lesson1-2 NLC-pptx.pptx
JoanaBanasen1
 
The cryptoterrestrial hypothesis: A case for scientific openness to a conceal...
The cryptoterrestrial hypothesis: A case for scientific openness to a conceal...The cryptoterrestrial hypothesis: A case for scientific openness to a conceal...
The cryptoterrestrial hypothesis: A case for scientific openness to a conceal...
Sérgio Sacani
 
BIOPHYSICS Interactions of molecules in 3-D space-determining binding and.pptx
BIOPHYSICS Interactions of molecules in 3-D space-determining binding and.pptxBIOPHYSICS Interactions of molecules in 3-D space-determining binding and.pptx
BIOPHYSICS Interactions of molecules in 3-D space-determining binding and.pptx
alishyt102010
 
largeintestinepathologiesconditions-240627071428-3c936a47 (2).pptx
largeintestinepathologiesconditions-240627071428-3c936a47 (2).pptxlargeintestinepathologiesconditions-240627071428-3c936a47 (2).pptx
largeintestinepathologiesconditions-240627071428-3c936a47 (2).pptx
muralinath2
 

Recently uploaded (20)

Comparison of RNA Viruses. docx
Comparison of RNA Viruses.          docxComparison of RNA Viruses.          docx
Comparison of RNA Viruses. docx
 
lipids_233455668899076544553879848657.pptx
lipids_233455668899076544553879848657.pptxlipids_233455668899076544553879848657.pptx
lipids_233455668899076544553879848657.pptx
 
Molecular biology of abiotic stress tolerence in plants
Molecular biology of abiotic stress tolerence in plantsMolecular biology of abiotic stress tolerence in plants
Molecular biology of abiotic stress tolerence in plants
 
A slightly oblate dark matter halo revealed by a retrograde precessing Galact...
A slightly oblate dark matter halo revealed by a retrograde precessing Galact...A slightly oblate dark matter halo revealed by a retrograde precessing Galact...
A slightly oblate dark matter halo revealed by a retrograde precessing Galact...
 
SlideEgg-703870-Bird Migration PPT Presentation.pptx
SlideEgg-703870-Bird Migration PPT Presentation.pptxSlideEgg-703870-Bird Migration PPT Presentation.pptx
SlideEgg-703870-Bird Migration PPT Presentation.pptx
 
Bragg Brentano Alignment for D4 with LynxEye Rev3.pptx
Bragg Brentano Alignment for D4 with LynxEye Rev3.pptxBragg Brentano Alignment for D4 with LynxEye Rev3.pptx
Bragg Brentano Alignment for D4 with LynxEye Rev3.pptx
 
ANTIGENS_.pptx ( Ranjitha SL) PRESENTATION SLIDE
ANTIGENS_.pptx ( Ranjitha SL) PRESENTATION SLIDEANTIGENS_.pptx ( Ranjitha SL) PRESENTATION SLIDE
ANTIGENS_.pptx ( Ranjitha SL) PRESENTATION SLIDE
 
gastrointestinal hormonese I 45678633134668097636903278.pptx
gastrointestinal hormonese I 45678633134668097636903278.pptxgastrointestinal hormonese I 45678633134668097636903278.pptx
gastrointestinal hormonese I 45678633134668097636903278.pptx
 
MACRAMÉ-ChiPs: Patchwork Project Family & Sibling Projects (24th Meeting of t...
MACRAMÉ-ChiPs: Patchwork Project Family & Sibling Projects (24th Meeting of t...MACRAMÉ-ChiPs: Patchwork Project Family & Sibling Projects (24th Meeting of t...
MACRAMÉ-ChiPs: Patchwork Project Family & Sibling Projects (24th Meeting of t...
 
GIT hormones- II_12345677809876543235780963.pptx
GIT hormones- II_12345677809876543235780963.pptxGIT hormones- II_12345677809876543235780963.pptx
GIT hormones- II_12345677809876543235780963.pptx
 
El Nuevo Cohete Ariane de la Agencia Espacial Europea-6_Media-Kit_english.pdf
El Nuevo Cohete Ariane de la Agencia Espacial Europea-6_Media-Kit_english.pdfEl Nuevo Cohete Ariane de la Agencia Espacial Europea-6_Media-Kit_english.pdf
El Nuevo Cohete Ariane de la Agencia Espacial Europea-6_Media-Kit_english.pdf
 
Summer program introduction in Yunnan university
Summer program introduction in Yunnan universitySummer program introduction in Yunnan university
Summer program introduction in Yunnan university
 
CONSOLSCI8_Lesson1. presentation for NLC
CONSOLSCI8_Lesson1. presentation for NLCCONSOLSCI8_Lesson1. presentation for NLC
CONSOLSCI8_Lesson1. presentation for NLC
 
Liver & Gall Bladder 23098463278654387654328765439875.pptx
Liver & Gall Bladder 23098463278654387654328765439875.pptxLiver & Gall Bladder 23098463278654387654328765439875.pptx
Liver & Gall Bladder 23098463278654387654328765439875.pptx
 
Dalghren, Thorne and Stebbins System of Classification of Angiosperms
Dalghren, Thorne and Stebbins System of Classification of AngiospermsDalghren, Thorne and Stebbins System of Classification of Angiosperms
Dalghren, Thorne and Stebbins System of Classification of Angiosperms
 
Computer aided biopharmaceutical characterization
Computer aided biopharmaceutical characterizationComputer aided biopharmaceutical characterization
Computer aided biopharmaceutical characterization
 
Science grade 09 Lesson1-2 NLC-pptx.pptx
Science grade 09 Lesson1-2 NLC-pptx.pptxScience grade 09 Lesson1-2 NLC-pptx.pptx
Science grade 09 Lesson1-2 NLC-pptx.pptx
 
The cryptoterrestrial hypothesis: A case for scientific openness to a conceal...
The cryptoterrestrial hypothesis: A case for scientific openness to a conceal...The cryptoterrestrial hypothesis: A case for scientific openness to a conceal...
The cryptoterrestrial hypothesis: A case for scientific openness to a conceal...
 
BIOPHYSICS Interactions of molecules in 3-D space-determining binding and.pptx
BIOPHYSICS Interactions of molecules in 3-D space-determining binding and.pptxBIOPHYSICS Interactions of molecules in 3-D space-determining binding and.pptx
BIOPHYSICS Interactions of molecules in 3-D space-determining binding and.pptx
 
largeintestinepathologiesconditions-240627071428-3c936a47 (2).pptx
largeintestinepathologiesconditions-240627071428-3c936a47 (2).pptxlargeintestinepathologiesconditions-240627071428-3c936a47 (2).pptx
largeintestinepathologiesconditions-240627071428-3c936a47 (2).pptx
 

01. foundamentals of testing

  • 1. “Fundamentals of testing” Graham et al (2006) Oleh : Tricia karina (11453201712) Program Studi S1 Sistem Informasi Universitas Islam Negeri Sultan Syarif Kasim Riau http://sif.uin-suska.ac.id/ http://fst.uin-suska.ac.id/ http://www.uin-suska.ac.id/
  • 2. Fundamentals of testing In this chapter, we will introduce you to the fundamentals of testing: why testing is needed; its limitations, objectives and purpose; the principles behind testing; the process that testers follow; and some of the psychological factors that testers must consider in their work. By reading this chapter you'll gain an understanding of the fundamentals of testing and be able to describe those fundamentals.
  • 3. WHY IS TESTING NECESSARY? • 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 distinctions 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.
  • 4. • Software systems context Not all software systems carry the same level of risk and not all problems have the same impact when they occur. A risk is something that has not happened yet and it may never happen; it is a potential problem. We are concerned about these potential problems because, if one of them did happen, we'd feel a negative impact. When we discuss risks, we need to consider how likely it is that the problem would occur and the impact if it happens. For example, whenever we cross the road, there is some risk that we'll be injured by a car. The likelihood depends on factors such as how much traffic is on the road, whether there is a safe crossing place, how well we can see, and how fast we can cross. The impact depends on how fast the car is going, whether we are wearing protective gear, our age and our health. The risk for a particular person can be worked out and therefore the best road-crossing strategy. • Causes of software defects but it is difficult for people to find their own mistakes while building a product. Defects in software, systems or documents may result in failures, but not all defects do cause failures. We could argue that if a mistake does not lead to a defect or a defect does not lead to a failure, then it is not of any importance - we may not even know we've made an error. Our fallibility is compounded when we lack experience, don't have the right information, misunderstand, or if we are careless, tired or under time pressure. we are more likely to make errors when dealing with perplexing technical or business problems, complex business processes, code or infrastructure, changing technologies, or many
  • 5. • 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.
  • 6. • 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). • How much testing is enough? Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial cases. Instead of exhaustive testing, we use risks and priorities to focus testing efforts.
  • 7. WHAT IS TESTING? • The driving test – an analogy for software testing We have spent some time describing why we need to test, but we have not dis- cussed what testing is. What do we mean by the word testing? We use the words test and testing in everyday life and earlier we said testing could be described as 'checking the software is OK'. That is not a detailed enough definition to help us understand software testing. Let's use an analogy to help us: driving tests. • Defining software testing Let's break the definition down into parts; the definition has some key phrases to remember. The definition starts with a description of testing as a process and then lists some objectives of the test process.
  • 8. • Software test and driving test compared We can see that the software test is very like a driving test in many ways, although of course it is not a perfect analogy! The driving examiner becomes the software tester. The driver being examined becomes the system or software under test, and you'll see as we go through this book that the same approach broadly holds. • When can we meet our test objectives? Testing activities should start as early as possible in the software or system development life cycle and should be focused on defined objectives. • Focusing on defects can help us plan our tests Reviewing defects and failures in order to improve processes allows us to improve our testing and our requirements, design and development processes. One phenomenon that many testers have observed is that defects tend to cluster. This can happen because an area of the code is particularly complex and tricky, or because changing software and other products tends
  • 9. • The defect clusters change over time If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new bugs. To overcome this 'pesticide paradox', the test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software or system to potentially find more defects. • Debugging removes defects When a test finds a defect that must be fixed, a programmer must do some work to locate the defect in the code and make the fix. In this process, called debugging, a programmer will examine the code for the immediate cause of the problem, repair the code and check that the code now executes as expected. • If we don't find defects does that mean the users will accept the software? Finding and fixing defects does not help if the system built is unusable and does not fulfill the users' needs and expectations.
  • 10. TESTING PRINCIPLES • Testing can show that defects are present, but cannot prove that there are no defects. Testing reduces the probability of undiscovered defects remaining in the software but, even if no defects are found, it is not a proof of correctness. • Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial cases. Instead of exhaustive testing, we use risks and priorities to focus testing efforts. • Testing activities should start as early as possible in the software or system development life cycle and should be focused on defined objectives. • A small number of modules contain most of the defects discovered during pre-release testing or show the most operational failures. • If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new bugs. To overcome this 'pesticide paradox', the test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software or system to potentially find more defects.
  • 11. FUNDAMENTAL TEST PROCESS • Introduction In this section, we will describe the fundamental test process and activities. These start with test planning and continue through to test closure. For each part of the test process, we'll discuss the main tasks of each test activity. In this section, you'll also encounter the glossary terms confirmation testing, exit criteria, incident, regression testing, test basis, test condition, test coverage, test data, test execution, test log, test plan, test strategy, test summary report and testware. • Test planning and control During test planning, we make sure we understand the goals and objectives of the customers, stakeholders, and the project, and the risks which testing is intended to address. This will give us what is sometimes called the mission of testing or the test assignment.
  • 12. • Test analysis and design Test analysis and design is the activity where general testing objectives are trans- formed into tangible test conditions and test designs. During test analysis and design, we take general testing objectives identified during planning and build test designs and test procedures (scripts). • Test implementation and execution During test implementation and execution, we take the test conditions and make them into test cases and testware and set up the test environment. This means that, having put together a high-level design for our tests, we now start to build them. We transform our test conditions into test cases and procedures, other testware such as scripts for automation.
  • 13. • Evaluating exit criteria and reporting Evaluating exit criteria is the activity where test execution is assessed against the defined objectives. This should be done for each test level, as for each we need to know whether we have done enough testing. Based on our risk assess- ment, we'll have set criteria against which we'll measure 'enough'. These criteria vary for each project and are known as exit criteria. • Test closure activities During test closure activities, we collect data from completed test activities to consolidate experience, including checking and filing testware, and analyzing facts and numbers. We may need to do this when software is delivered. We also might close testing for other reasons, such as when we have gathered the infor- mation needed from testing, when the project is cancelled, when a particular milestone is achieved, or when a maintenance release or update is done.
  • 14. THE PSYCHOLOGY OF TESTING • Independent testing – who is a tester? The mindset we want to use while testing and reviewing is different from the one we use while analyzing or developing. By this we mean that, if we are building something we are working positively to solve problems in the design and to realize a product that meets some need. However, when we test or review a product, we are looking for defects in the product and thus are critical of it. • Why do we sometimes not get on with the rest of the team? As well as independence, separation of the tester role from the developer role is also done to help focus effort and to provide the benefits of trained and professional testing resources. In many organizations, earlier stages of testing are carried out by the developers and integrators and later stages independently, either by a specialist test group or by the customers.