SlideShare a Scribd company logo
1 of 11
ASSALAMUALAIKUM WR WB
CHAPTER 1:
FUNDAMENTALS OF TESTING
R E F E R E N S I : G R A H A M E T . A L ( 2 0 0 6 )
OLEH:
ARDIANSYAH
PROGRAM STUDI S1 SISTEM INFORMASI
FAKULTAS SAINS dan TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU
WHAT IS TESTING?
Syllabus learning objectives for 1.2 What is testing?
a. Recall the common objectives of testing (Kl).
b. Describe the purpose of testing in software development,
maintenance and operations as a means to find defects,
provide confidence and information, and prevent defects
(K2).
In this section, we will review the common objectives of
testing. We'll explain how testing helps us to find defects,
provide confidence and information, and prevent defects. We will
also introduce additional fundamental principles of testing. As
you read this section, you'll encounter the terms code,
debugging, development of software, requirement, review,
test basis, test case, testing and test objective.
THE DRIVING TEST-AN ANALOGY FOR
SOFTWARE TESTING
Let's use an analogy to help us: driving tests. In a
driving test, the examiner crit made by the driver under test.
The examiner takes the driver through a route which tests
many possible driving activities, such as road junctions of
different types, control and maneuvering of the car, ability to
stop safely in an emergency, and awareness of the road, other
road users and hazards. Some of the activities must be tested.
For example, in the UK, an emergency stop test is always
carried out, with the examiner simulating the moment of
emergency by hitting the dashboard at which point the driver
must stop the car quickly, safely and without loss of control.
DEFINING SOFTWARE TESTING
Let's break the definition down into parts; the definition
has some key phrases remember. The definition starts with a
description of testing as a process and then lists some
objectives of the test process. This is a suitable definition of
testing for any level of testing, from compo-nent testing
through to acceptance testing, provided that we remember to
take the varying objectives of these different levels of testing
into account.
SOFTWARE TEST AND DRIVING TEST
COMPARE
We can see that the software test is very like a driving test in
many ways, though 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.
So, test activities exist before and after test execution. As a
tester or test manager, you will be involved in planning and control
of the testing, choosing test conditions, designing test cases based
on those test conditions, executing them and checking results,
evaluating whether enough testing has been done by Examining
completion (or exit) criteria, reporting on the testing process and
system under test, and presenting test completion (or summary)
reports.
WHEN CAN WE MEET OUR TEST
OBJECTIVES?
We can use both dynamic testing and static testing
as a means for achieving similar test objectives. Both
provide information to improve both the system to be
tested, and the development and testing processes. We
mentioned above that testing can have different goals and
objectives, which often include:
a) Finding defects.
b) Gaining confidence in and providing information about
the level of quality.
c) preventing defects.
FOCUSING ON DEFECTS CAN HELP US
PLAN OUR TEST
Reviewing defects and failures in order to improve
processes allows us to in 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 to cause knock-on defects. Testers
will often use this information when making their risk
assessment for planning the tests, and will focus on known
'hot spots'.
THE DEFECT CLUSTERS CHANGE OVER
TIME
Over time, as we improve our whole software development
life cycle and the defects. A typical test improvement
initiative will initially find more defects as the testing
improves and then, as the defect prevention kicks in, we see
the defect numbers dropping. The first part of the
improvement enables us to reduce failures in operation;
later the improve-ments are making us more efficient and
effective in producing the software with fewer defects in it.
DEBUGGING REMOVES DEFECTS
When a test finds a defect that must be fixed, a programmer must do some
rk to locate the defect in the code and make the fix. In this process, called
debug-ging, 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. Developers may test their own fixes, in which case the very tight
cycle of identifying faults, debugging, and retesting is often loosely
referred to as debugging. However, often following the debugging cycle
the fixed code is tested independently both to retest the fix itself and to
apply regression testing to the surrounding unchanged software.
IS THE SOFTWARE DEFECT FREE?
This principle arises from the theory of the process of
scientific ex testing books. While you are not expected to read the
scientific theory [Popper] the analogy used in science is useful;
however many white swans we see, we cannot say 'All swans are
white'. However, as soon as we see one black swan we can say 'Not
all swans are white'. In the same way, however many tests we
execute without finding a bug, we have not shown 'There are no
bugs'. As soon as we find a bug, we have shown 'This code is not
bug-free'.
THANKYOU 
http://sif.uin-suska.ac.id http://fst.uin-suska.ac.id
http://www.uin-suska.ac.id

More Related Content

What's hot

Software Testing Interview Questions
Software Testing Interview QuestionsSoftware Testing Interview Questions
Software Testing Interview QuestionsTestbytes
 
All you need to know about regression testing | David Tzemach
All you need to know about regression testing | David TzemachAll you need to know about regression testing | David Tzemach
All you need to know about regression testing | David TzemachDavid Tzemach
 
Seven testing principles
Seven testing principlesSeven testing principles
Seven testing principlesVaibhav Dash
 
Qa interview questions and answers for placements
Qa interview questions and answers for placementsQa interview questions and answers for placements
Qa interview questions and answers for placementsGaruda Trainings
 
Testing softvamp techno solutions technical interview questions 2 years expe...
Testing  softvamp techno solutions technical interview questions 2 years expe...Testing  softvamp techno solutions technical interview questions 2 years expe...
Testing softvamp techno solutions technical interview questions 2 years expe...SoftvampTechnoSoluti
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principlesDonato Di Pierro
 
What is the difference between manual testing and automation testing
What is the difference between manual testing and automation testingWhat is the difference between manual testing and automation testing
What is the difference between manual testing and automation testingEr Mahednra Chauhan
 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debuggingsvilen.ivanov
 
Debugging by induction
Debugging by inductionDebugging by induction
Debugging by inductionWaqar Ali
 
Qa mockup interview for automation testing
Qa mockup interview for automation testingQa mockup interview for automation testing
Qa mockup interview for automation testingKadharBashaJ
 
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
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automationDavid Tzemach
 

What's hot (20)

Debugging
DebuggingDebugging
Debugging
 
Software Testing Interview Questions
Software Testing Interview QuestionsSoftware Testing Interview Questions
Software Testing Interview Questions
 
All you need to know about regression testing | David Tzemach
All you need to know about regression testing | David TzemachAll you need to know about regression testing | David Tzemach
All you need to know about regression testing | David Tzemach
 
Principles of software testing
Principles of software testingPrinciples of software testing
Principles of software testing
 
7 testing principles
7 testing principles7 testing principles
7 testing principles
 
Seven testing principles
Seven testing principlesSeven testing principles
Seven testing principles
 
Qa interview questions and answers for placements
Qa interview questions and answers for placementsQa interview questions and answers for placements
Qa interview questions and answers for placements
 
Testing softvamp techno solutions technical interview questions 2 years expe...
Testing  softvamp techno solutions technical interview questions 2 years expe...Testing  softvamp techno solutions technical interview questions 2 years expe...
Testing softvamp techno solutions technical interview questions 2 years expe...
 
Testing Principles
Testing PrinciplesTesting Principles
Testing Principles
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principles
 
Debugging
DebuggingDebugging
Debugging
 
Debugging
DebuggingDebugging
Debugging
 
What is the difference between manual testing and automation testing
What is the difference between manual testing and automation testingWhat is the difference between manual testing and automation testing
What is the difference between manual testing and automation testing
 
Principles in software debugging
Principles in software debuggingPrinciples in software debugging
Principles in software debugging
 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debugging
 
Debugging by induction
Debugging by inductionDebugging by induction
Debugging by induction
 
Qa mockup interview for automation testing
Qa mockup interview for automation testingQa mockup interview for automation testing
Qa mockup interview for automation testing
 
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)
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
 

Similar to Fundamentals of testing (what is testing)

01. foundamentals of testing
01. foundamentals of testing01. foundamentals of testing
01. foundamentals of testingTricia Karina
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingmuhamad iqbal
 
Chapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingChapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingZetryan Satria
 
Manual Testing guide by nagula sai kiran.docx
Manual Testing guide by nagula sai kiran.docxManual Testing guide by nagula sai kiran.docx
Manual Testing guide by nagula sai kiran.docxsai kiran
 
Software_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdfSoftware_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdfAnupmaMunshi
 
Fundamental Of Testing
Fundamental Of TestingFundamental Of Testing
Fundamental Of Testingsuci maisaroh
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experiencedzynofustechnology
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingYusran5
 
Lesson 7...Question Part 1
Lesson 7...Question Part 1Lesson 7...Question Part 1
Lesson 7...Question Part 1bhushan Nehete
 
Software testing pdf
Software testing pdfSoftware testing pdf
Software testing pdfGaurav Nigam
 
Software testing(1)
Software testing(1)Software testing(1)
Software testing(1)ramvyata123
 

Similar to Fundamentals of testing (what is testing) (20)

Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
01. foundamentals of testing
01. foundamentals of testing01. foundamentals of testing
01. foundamentals of testing
 
What is testing?
What is testing?What is testing?
What is testing?
 
Bab 1
Bab 1Bab 1
Bab 1
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
2.fundamental of testing
2.fundamental of testing2.fundamental of testing
2.fundamental of testing
 
Chapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingChapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of Testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Manual Testing guide by nagula sai kiran.docx
Manual Testing guide by nagula sai kiran.docxManual Testing guide by nagula sai kiran.docx
Manual Testing guide by nagula sai kiran.docx
 
Software_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdfSoftware_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdf
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamental Of Testing
Fundamental Of TestingFundamental Of Testing
Fundamental Of Testing
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experienced
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
CTFL Module 01
CTFL Module 01CTFL Module 01
CTFL Module 01
 
Lesson 7...Question Part 1
Lesson 7...Question Part 1Lesson 7...Question Part 1
Lesson 7...Question Part 1
 
Software testing pdf
Software testing pdfSoftware testing pdf
Software testing pdf
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing(1)
Software testing(1)Software testing(1)
Software testing(1)
 

Recently uploaded

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

Fundamentals of testing (what is testing)

  • 1. ASSALAMUALAIKUM WR WB CHAPTER 1: FUNDAMENTALS OF TESTING R E F E R E N S I : G R A H A M E T . A L ( 2 0 0 6 ) OLEH: ARDIANSYAH PROGRAM STUDI S1 SISTEM INFORMASI FAKULTAS SAINS dan TEKNOLOGI UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU
  • 2. WHAT IS TESTING? Syllabus learning objectives for 1.2 What is testing? a. Recall the common objectives of testing (Kl). b. Describe the purpose of testing in software development, maintenance and operations as a means to find defects, provide confidence and information, and prevent defects (K2). In this section, we will review the common objectives of testing. We'll explain how testing helps us to find defects, provide confidence and information, and prevent defects. We will also introduce additional fundamental principles of testing. As you read this section, you'll encounter the terms code, debugging, development of software, requirement, review, test basis, test case, testing and test objective.
  • 3. THE DRIVING TEST-AN ANALOGY FOR SOFTWARE TESTING Let's use an analogy to help us: driving tests. In a driving test, the examiner crit made by the driver under test. The examiner takes the driver through a route which tests many possible driving activities, such as road junctions of different types, control and maneuvering of the car, ability to stop safely in an emergency, and awareness of the road, other road users and hazards. Some of the activities must be tested. For example, in the UK, an emergency stop test is always carried out, with the examiner simulating the moment of emergency by hitting the dashboard at which point the driver must stop the car quickly, safely and without loss of control.
  • 4. DEFINING SOFTWARE TESTING Let's break the definition down into parts; the definition has some key phrases remember. The definition starts with a description of testing as a process and then lists some objectives of the test process. This is a suitable definition of testing for any level of testing, from compo-nent testing through to acceptance testing, provided that we remember to take the varying objectives of these different levels of testing into account.
  • 5. SOFTWARE TEST AND DRIVING TEST COMPARE We can see that the software test is very like a driving test in many ways, though 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. So, test activities exist before and after test execution. As a tester or test manager, you will be involved in planning and control of the testing, choosing test conditions, designing test cases based on those test conditions, executing them and checking results, evaluating whether enough testing has been done by Examining completion (or exit) criteria, reporting on the testing process and system under test, and presenting test completion (or summary) reports.
  • 6. WHEN CAN WE MEET OUR TEST OBJECTIVES? We can use both dynamic testing and static testing as a means for achieving similar test objectives. Both provide information to improve both the system to be tested, and the development and testing processes. We mentioned above that testing can have different goals and objectives, which often include: a) Finding defects. b) Gaining confidence in and providing information about the level of quality. c) preventing defects.
  • 7. FOCUSING ON DEFECTS CAN HELP US PLAN OUR TEST Reviewing defects and failures in order to improve processes allows us to in 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 to cause knock-on defects. Testers will often use this information when making their risk assessment for planning the tests, and will focus on known 'hot spots'.
  • 8. THE DEFECT CLUSTERS CHANGE OVER TIME Over time, as we improve our whole software development life cycle and the defects. A typical test improvement initiative will initially find more defects as the testing improves and then, as the defect prevention kicks in, we see the defect numbers dropping. The first part of the improvement enables us to reduce failures in operation; later the improve-ments are making us more efficient and effective in producing the software with fewer defects in it.
  • 9. DEBUGGING REMOVES DEFECTS When a test finds a defect that must be fixed, a programmer must do some rk to locate the defect in the code and make the fix. In this process, called debug-ging, 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. Developers may test their own fixes, in which case the very tight cycle of identifying faults, debugging, and retesting is often loosely referred to as debugging. However, often following the debugging cycle the fixed code is tested independently both to retest the fix itself and to apply regression testing to the surrounding unchanged software.
  • 10. IS THE SOFTWARE DEFECT FREE? This principle arises from the theory of the process of scientific ex testing books. While you are not expected to read the scientific theory [Popper] the analogy used in science is useful; however many white swans we see, we cannot say 'All swans are white'. However, as soon as we see one black swan we can say 'Not all swans are white'. In the same way, however many tests we execute without finding a bug, we have not shown 'There are no bugs'. As soon as we find a bug, we have shown 'This code is not bug-free'.