SlideShare a Scribd company logo
1 of 64
Download to read offline
Software Testing
1
Prof. Mustufa I N
Chapter Discusses
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.
2Prof. Mustufa I N
3Prof. Mustufa I N
1.1.1 Introduction
• 'when we are testing
something we are checking
whether it is OK'.
• Testing is necessary because
we all make mistakes.
• Some of those mistakes are
unimportant, but some of
them are expensive or
dangerous.
• We need to check
everything and anything we
produce because things can
always go wrong - humans
make mistakes all the time -
it is what we do best!
•However, some mistakes
come from bad assumptions
and blind spots, so we might
make the same mistakes
when we check our own work
as we made when we did it.
• So we may not notice the
flaws in what we have done.
Ideally, we should get
someone else to check our
work - another person is
more likely to spot the flaws.
4Prof. Mustufa I N
Galti Insaan
Se hi hoti hai
5Prof. Mustufa I N
6Prof. Mustufa I N
7Prof. Mustufa I N
1.1.2 Software system concept
• These days, almost everyone is aware of software
systems.
• We encounter them in our homes, at work, while
shopping, and because of mass-communication systems.
• More and more, they are part of our lives. We use
software in day-today business applications such as
banking and in consumer products such as cars and
washing machines.
• However, most people have had an experience with
software that did not work as expected
• Not all software systems carry the same level of risk and
not all problems have the same impact when they occur.
8Prof. Mustufa I N
RISK
• 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.
9Prof. Mustufa I N
10Prof. Mustufa I N
Risk Effect Example
• 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).
• 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,
11Prof. Mustufa I N
1.1.3 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.
• During the design and build.
• 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.
12Prof. Mustufa I N
13Prof. Mustufa I N
Do our mistakes matter?
• The mistakes we make matter partly because they have
consequences for the products for which we are responsible.
• Our mistakes are also important because software systems
and projects are complicated.
14Prof. Mustufa I N
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.
Additionally, 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
system interactions.
15Prof. Mustufa I N
16Prof. Mustufa I N
When do defects arise?
17Prof. Mustufa I N
18Prof. Mustufa I N
What is the cost of defects?
• The cost of finding and
fixing defects rises
considerably across the life
cycle; think of the old
English proverb 'a stitch in
time saves nine'.
• This means that if you
mend a tear in your sleeve
now while it is small, it's
easy to mend, but if you
leave it, it will get worse
and need more stitches to
mend it.
19Prof. Mustufa I N
20Prof. Mustufa I N
1.1.4 Role of testing in software
development, maintenance and operations
• 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.
• 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
21Prof. Mustufa I N
22Prof. Mustufa I N
23Prof. Mustufa I N
1.1.5 Testing and Quality
24Prof. Mustufa I N
25Prof. Mustufa I N
What is root cause analysis?
• There are several ways of carrying out root
cause analysis, often involving a group
brainstorming ideas and discussing them, so
you may see different techniques in different
organizations.
• If you are interested in using root cause
analysis in your work.
26Prof. Mustufa I N
27Prof. Mustufa I N
1.1.6 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.
28Prof. Mustufa I N
29Prof. Mustufa I N
1.2 WHAT IS TESTING?
30Prof. Mustufa I N
31Prof. Mustufa I N
1.2.1 The driving test - an analogy for
software testing
• We have spent some time describing why we
need to test, but we have not discussed 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.
32Prof. Mustufa I N
1.2.2 Defining software testing
• Process - Testing is a process rather than a single activity - there are a
series of activities involved.
• All life cycle activities - looks at testing as a process that takes place
throughout the software development life cycle.
• Both static and dynamic - as well as tests where the software code is
executed to demonstrate the results of running tests (often called
dynamic testing) we can also test and find defects without executing
code. This is called static testing.
• Planning - Activities take place before and after test execution.
• Preparation - We need to choose what testing we'll do, by selecting
test conditions and designing test cases.
• Evaluation - As well as executing the tests, we must check the results
and evaluate the software under test and the completion criteria.
• Software products and related work products - We don't just test
code. We test the requirements and design specifications, and we test
related documents such as operation, user and training material. 33Prof. Mustufa I N
1.2.4 When can we meet our test
objectives?
• finding defects;
• gaining confidence in and providing
information about the level of quality;
• preventing defects.
34Prof. Mustufa I N
1.2.5 Focusing on defects can help us
plan our tests
• 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'.
35Prof. Mustufa I N
1.2.7 Debugging removes defects
36Prof. Mustufa I N
1.2.8 Is the software defect free?
1.2.9 If we don't find defects does that
mean the users will accept the
software?
37Prof. Mustufa I N
38Prof. Mustufa I N
1.3 TESTING PRINCIPLES
39Prof. Mustufa I N
1.3 TESTING PRINCIPLES
40Prof. Mustufa I N
•Project and test plans should include time to be spent on
planning the tests, designing test cases, preparing for
execution and evaluating status.
•Whatever the level of testing, we see the same type of
main activities happening, although there may be a
different amount of formality at the different levels.
• The decision about the level of formality of the
processes will depend on the system and software
context and the level of risk associated with the software.
1.4 FUNDAMENTAL TEST PROCESS
41Prof. Mustufa I N
1.4 FUNDAMENTAL TEST PROCESS
The fundamental test process is the following
basic steps:
• Planning and control;
• Analysis and design;
• Implementation and execution;
• Evaluating exit criteria and reporting;
• Test closure activities.
42Prof. Mustufa I N
43Prof. Mustufa I N
Test planning
• Determine the scope and risks and identify the
objectives of testing:
• Determine the test approach (techniques, test items,
coverage, identifying and interfacing with the teams
involved in testing, testware)
• Implement the test policy and/or the test strategy:
• Determine the required test resources (e.g. people, test
environment, PCs):
• Schedule test analysis and design tasks, test
implementation, execution and evaluation:
• Determine the exit criteria:
44Prof. Mustufa I N
45Prof. Mustufa I N
Test control
has the following major tasks:
• Measure and analyze the results of reviews
and testing:
• Provide information on testing
• Initiate corrective actions
• Make decisions
46Prof. Mustufa I N
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.
• Review the test basis ,
examining the
specifications for the
software we are testing.
• Identify test conditions
based on analysis of test
items, their specifications,
and what we know about
their behaviour and
structure.
• Design the tests using
techniques to help select
representative tests that
relate to particular
aspects of the software
which carry risks.
• Design the test
environment set-up and
identify any required
infrastructure and tools.
47Prof. Mustufa I N
48Prof. Mustufa I N
Test implementation and execution
Implementation
– Develop and prioritize our test cases
– Create test suites from the test cases for efficient
test execution. A test suite is a logical collection of
test cases which naturally work together.
– Implement and verify the environment.
49Prof. Mustufa I N
Test implementation and execution
Execution:
– Execute the test suites and individual test cases,
following our test procedures.
– Log the outcome of test execution and record the
identities and versions of the software under test,
test tools and testware.
– Compare actual results (what happened when we
ran the tests) with expected results (what we
anticipated would happen).
– Where there are differences between actual and
expected results, report discrepancies as incidents.
50Prof. Mustufa I N
Evaluating exit criteria and reporting
• Check test logs against the exit criteria
specified in test planning:
• Assess if more tests are needed or if the exit
criteria specified should be changed:
• Write a test summary report for stakeholders
51Prof. Mustufa I N
52Prof. Mustufa I N
53Prof. Mustufa I N
Test closure activities
• Check which planned deliverables we actually
delivered and ensure all incident reports have
been resolved through defect repair or deferral.
• Finalize and archive testware, such as scripts, the
test environment, and any other test
infrastructure, for later reuse.
• Hand over testware to the maintenance
organization who will support the software and
make any bug fixes or maintenance changes, for
use in con firmation testing and regression testing.
• Evaluate how the testing went and analyze lessons
learned for future releases and projects.
54Prof. Mustufa I N
1.5 THE PSYCHOLOGY OF TESTING
 1.5.1 Independent testing - who is a tester? - building the
software requires a different mindset from testing the
software.
This degree of independence avoids author bias and is often
more effective at finding defects and failures.
– tests by the person who wrote the item under test;
– tests by another person within the same team, such as another
programmer;
– tests by a person from a different organizational group, such as an
independent test team;
– tests designed by a person from a different-organization or company,
such as outsourced testing or certification by an external body.
55Prof. Mustufa I N
56Prof. Mustufa I N
57Prof. Mustufa I N
1.5.2 Why do we sometimes not get
on with the rest of the team?
• One manager may want the confirmation that the software
works and that it is 'good enough' if this is seen as a way of
delivering as fast as possible.
• Another manager may want the testing to find as many
defects as possible before the software is released, which
will take longer to do and will require time for fixing, re-
testing and regression testing.
• If there are not clearly stated objectives and exit criteria for
testing which all the stakeholders have agreed, arguments
might arise, during the testing or after release, about
whether 'enough' testing has been done.
58Prof. Mustufa I N
59Prof. Mustufa I N
• Communicate findings on the product in a
neutral, fact-focused way without criticizing the
person who created it. For example, write
objective and factual incident reports and review
findings.
 Don't gloat - you are not perfect either!
 Don't blame - any mistakes are probably by the
group rather than an individual.
 Be constructively critical and discuss the defect
and how you are going to log it.
60Prof. Mustufa I N
• Explain that by knowing about this now we can
work round it or fix it so the delivered system is
better for the customer.
- Say what you liked and what worked, as well as
what didn't work.
- Show what the risk is honestly - not everything is
high priority.
- Don't just see the pessimistic side - give praise as
well as criticism.
- Show what risks have been uncovered and the
benefits of the review or test.
61Prof. Mustufa I N
• Start with collaboration rather than battles. Remind
everyone of the common goal of better quality
systems.
 Be polite and helpful, collaborate with your colleagues.
 Try to understand how the other person feels and why
they react as they do.
 Confirm that the other person has understood what
you have said and vice versa.
 Explain how the test or review helps the author -
what's in it for him or her.
 Offer your work to be reviewed, too.
62Prof. Mustufa I N
63Prof. Mustufa I N
FOUNDATIONS OF SOFTWARE TESTING
DOROTHY GRAHAM
ERIK VAN VEENENDAAL
ISABEL EVANS
REX BLACK
Reference
64Prof. Mustufa I N

More Related Content

What's hot

Risk based testing with Jira and Jubula
Risk based testing with Jira and JubulaRisk based testing with Jira and Jubula
Risk based testing with Jira and JubulaDaniele Gagliardi
 
Presentation1
Presentation1Presentation1
Presentation1anuvip
 
How google-tests-software
How google-tests-softwareHow google-tests-software
How google-tests-softwareBhawna Tuteja
 
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
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarXBOSoft
 
Digital transformation testing.
Digital transformation testing. Digital transformation testing.
Digital transformation testing. Deepak Daniel
 
DevOps Tactical Adoption Theory: Continuous Testing
DevOps Tactical Adoption Theory: Continuous TestingDevOps Tactical Adoption Theory: Continuous Testing
DevOps Tactical Adoption Theory: Continuous TestingBerk Dülger
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automationDavid Tzemach
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Varun Sharma
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisAndrey Karpov
 
Software Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional PracticeSoftware Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional Practice Saqib Raza
 
Put Risk Based Testing in place right now!
Put Risk Based Testing in place right now!Put Risk Based Testing in place right now!
Put Risk Based Testing in place right now!SQALab
 
Risks of Risk-Based Testing
Risks of Risk-Based TestingRisks of Risk-Based Testing
Risks of Risk-Based Testingrrice2000
 

What's hot (20)

Negative Testing
Negative TestingNegative Testing
Negative Testing
 
Bug first Zero Defect
Bug first   Zero DefectBug first   Zero Defect
Bug first Zero Defect
 
Risk based testing with Jira and Jubula
Risk based testing with Jira and JubulaRisk based testing with Jira and Jubula
Risk based testing with Jira and Jubula
 
Presentation1
Presentation1Presentation1
Presentation1
 
How google-tests-software
How google-tests-softwareHow google-tests-software
How google-tests-software
 
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)
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
 
[HCMC STC Jan 2015] Risk-Based Software Testing Approaches
[HCMC STC Jan 2015] Risk-Based Software Testing Approaches[HCMC STC Jan 2015] Risk-Based Software Testing Approaches
[HCMC STC Jan 2015] Risk-Based Software Testing Approaches
 
Digital transformation testing.
Digital transformation testing. Digital transformation testing.
Digital transformation testing.
 
DevOps Tactical Adoption Theory: Continuous Testing
DevOps Tactical Adoption Theory: Continuous TestingDevOps Tactical Adoption Theory: Continuous Testing
DevOps Tactical Adoption Theory: Continuous Testing
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
 
Debugging
DebuggingDebugging
Debugging
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
 
Software Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional PracticeSoftware Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional Practice
 
Testing introduction
Testing introductionTesting introduction
Testing introduction
 
Put Risk Based Testing in place right now!
Put Risk Based Testing in place right now!Put Risk Based Testing in place right now!
Put Risk Based Testing in place right now!
 
Risks of Risk-Based Testing
Risks of Risk-Based TestingRisks of Risk-Based Testing
Risks of Risk-Based Testing
 

Similar to Software Testing

Fundamentals of testing (1)
Fundamentals of testing (1)Fundamentals of testing (1)
Fundamentals of testing (1)Aziz Chikhly
 
Fundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & ImplementationsFundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & Implementationsyogi syafrialdi
 
Testing & implementation system 1-wm
Testing & implementation system 1-wmTesting & implementation system 1-wm
Testing & implementation system 1-wmWiwik Muslehatin
 
Chapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingChapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingZetryan Satria
 
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 testingBugRaptors
 
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 Testingdevinta sari
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingSiti Rubayati
 
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
 
fundamentals of testing
fundamentals of testingfundamentals of testing
fundamentals of testingaidil fitra
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testingReginaKhalida
 

Similar to Software Testing (20)

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 (1)
Fundamentals of testing (1)Fundamentals of testing (1)
Fundamentals of testing (1)
 
Fundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & ImplementationsFundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & Implementations
 
Testing & implementation system 1-wm
Testing & implementation system 1-wmTesting & implementation system 1-wm
Testing & implementation system 1-wm
 
2.fundamental of testing
2.fundamental of testing2.fundamental of testing
2.fundamental of testing
 
Bab 1
Bab 1Bab 1
Bab 1
 
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
 
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
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental 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
 
What is testing
What is testingWhat is testing
What is 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
 
Unit 1.pptx
Unit 1.pptxUnit 1.pptx
Unit 1.pptx
 
fundamentals of testing
fundamentals of testingfundamentals of testing
fundamentals of testing
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testing
 

More from MusTufa Nullwala

An introduction to the Internet
An introduction to the InternetAn introduction to the Internet
An introduction to the InternetMusTufa Nullwala
 
System center service manager
System center service managerSystem center service manager
System center service managerMusTufa Nullwala
 
System center orchestrator
System center orchestratorSystem center orchestrator
System center orchestratorMusTufa Nullwala
 
Network Design Implications of QoS and QoE
Network Design Implications of QoS and QoENetwork Design Implications of QoS and QoE
Network Design Implications of QoS and QoEMusTufa Nullwala
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleMusTufa Nullwala
 
Verification and Validation
Verification and ValidationVerification and Validation
Verification and ValidationMusTufa Nullwala
 
Network Functions Virtualization - Concepts and Architecture
Network Functions Virtualization - Concepts and ArchitectureNetwork Functions Virtualization - Concepts and Architecture
Network Functions Virtualization - Concepts and ArchitectureMusTufa Nullwala
 
Continual service improvement methods and techniques
Continual service improvement methods and techniquesContinual service improvement methods and techniques
Continual service improvement methods and techniquesMusTufa Nullwala
 

More from MusTufa Nullwala (20)

Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Operating system
Operating systemOperating system
Operating system
 
Augmented Reality
Augmented RealityAugmented Reality
Augmented Reality
 
Intro to web development
Intro to web developmentIntro to web development
Intro to web development
 
An introduction to the Internet
An introduction to the InternetAn introduction to the Internet
An introduction to the Internet
 
System center service manager
System center service managerSystem center service manager
System center service manager
 
System center orchestrator
System center orchestratorSystem center orchestrator
System center orchestrator
 
Network Design Implications of QoS and QoE
Network Design Implications of QoS and QoENetwork Design Implications of QoS and QoE
Network Design Implications of QoS and QoE
 
Microsoft System center
Microsoft System centerMicrosoft System center
Microsoft System center
 
Quality of Experience
Quality of ExperienceQuality of Experience
Quality of Experience
 
Quality of Service
Quality of ServiceQuality of Service
Quality of Service
 
Network Virtualization
Network VirtualizationNetwork Virtualization
Network Virtualization
 
NFV Functionality
NFV FunctionalityNFV Functionality
NFV Functionality
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
V-Test Model
V-Test ModelV-Test Model
V-Test Model
 
Verification and Validation
Verification and ValidationVerification and Validation
Verification and Validation
 
Network Functions Virtualization - Concepts and Architecture
Network Functions Virtualization - Concepts and ArchitectureNetwork Functions Virtualization - Concepts and Architecture
Network Functions Virtualization - Concepts and Architecture
 
Continual service improvement methods and techniques
Continual service improvement methods and techniquesContinual service improvement methods and techniques
Continual service improvement methods and techniques
 
Unit 3 chap 4 itsm
Unit 3 chap 4 itsmUnit 3 chap 4 itsm
Unit 3 chap 4 itsm
 
Unit 3 chap 2 itsm
Unit 3 chap 2 itsmUnit 3 chap 2 itsm
Unit 3 chap 2 itsm
 

Recently uploaded

How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayMakMakNepo
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 

Recently uploaded (20)

How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up Friday
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 

Software Testing

  • 2. Chapter Discusses 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. 2Prof. Mustufa I N
  • 4. 1.1.1 Introduction • 'when we are testing something we are checking whether it is OK'. • Testing is necessary because we all make mistakes. • Some of those mistakes are unimportant, but some of them are expensive or dangerous. • We need to check everything and anything we produce because things can always go wrong - humans make mistakes all the time - it is what we do best! •However, some mistakes come from bad assumptions and blind spots, so we might make the same mistakes when we check our own work as we made when we did it. • So we may not notice the flaws in what we have done. Ideally, we should get someone else to check our work - another person is more likely to spot the flaws. 4Prof. Mustufa I N
  • 5. Galti Insaan Se hi hoti hai 5Prof. Mustufa I N
  • 8. 1.1.2 Software system concept • These days, almost everyone is aware of software systems. • We encounter them in our homes, at work, while shopping, and because of mass-communication systems. • More and more, they are part of our lives. We use software in day-today business applications such as banking and in consumer products such as cars and washing machines. • However, most people have had an experience with software that did not work as expected • Not all software systems carry the same level of risk and not all problems have the same impact when they occur. 8Prof. Mustufa I N
  • 9. RISK • 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. 9Prof. Mustufa I N
  • 11. Risk Effect Example • 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). • 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, 11Prof. Mustufa I N
  • 12. 1.1.3 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. • During the design and build. • 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. 12Prof. Mustufa I N
  • 14. Do our mistakes matter? • The mistakes we make matter partly because they have consequences for the products for which we are responsible. • Our mistakes are also important because software systems and projects are complicated. 14Prof. Mustufa I N 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. Additionally, 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 system interactions.
  • 17. When do defects arise? 17Prof. Mustufa I N
  • 19. What is the cost of defects? • The cost of finding and fixing defects rises considerably across the life cycle; think of the old English proverb 'a stitch in time saves nine'. • This means that if you mend a tear in your sleeve now while it is small, it's easy to mend, but if you leave it, it will get worse and need more stitches to mend it. 19Prof. Mustufa I N
  • 21. 1.1.4 Role of testing in software development, maintenance and operations • 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. • 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 21Prof. Mustufa I N
  • 24. 1.1.5 Testing and Quality 24Prof. Mustufa I N
  • 26. What is root cause analysis? • There are several ways of carrying out root cause analysis, often involving a group brainstorming ideas and discussing them, so you may see different techniques in different organizations. • If you are interested in using root cause analysis in your work. 26Prof. Mustufa I N
  • 28. 1.1.6 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. 28Prof. Mustufa I N
  • 30. 1.2 WHAT IS TESTING? 30Prof. Mustufa I N
  • 32. 1.2.1 The driving test - an analogy for software testing • We have spent some time describing why we need to test, but we have not discussed 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. 32Prof. Mustufa I N
  • 33. 1.2.2 Defining software testing • Process - Testing is a process rather than a single activity - there are a series of activities involved. • All life cycle activities - looks at testing as a process that takes place throughout the software development life cycle. • Both static and dynamic - as well as tests where the software code is executed to demonstrate the results of running tests (often called dynamic testing) we can also test and find defects without executing code. This is called static testing. • Planning - Activities take place before and after test execution. • Preparation - We need to choose what testing we'll do, by selecting test conditions and designing test cases. • Evaluation - As well as executing the tests, we must check the results and evaluate the software under test and the completion criteria. • Software products and related work products - We don't just test code. We test the requirements and design specifications, and we test related documents such as operation, user and training material. 33Prof. Mustufa I N
  • 34. 1.2.4 When can we meet our test objectives? • finding defects; • gaining confidence in and providing information about the level of quality; • preventing defects. 34Prof. Mustufa I N
  • 35. 1.2.5 Focusing on defects can help us plan our tests • 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'. 35Prof. Mustufa I N
  • 36. 1.2.7 Debugging removes defects 36Prof. Mustufa I N
  • 37. 1.2.8 Is the software defect free? 1.2.9 If we don't find defects does that mean the users will accept the software? 37Prof. Mustufa I N
  • 41. •Project and test plans should include time to be spent on planning the tests, designing test cases, preparing for execution and evaluating status. •Whatever the level of testing, we see the same type of main activities happening, although there may be a different amount of formality at the different levels. • The decision about the level of formality of the processes will depend on the system and software context and the level of risk associated with the software. 1.4 FUNDAMENTAL TEST PROCESS 41Prof. Mustufa I N
  • 42. 1.4 FUNDAMENTAL TEST PROCESS The fundamental test process is the following basic steps: • Planning and control; • Analysis and design; • Implementation and execution; • Evaluating exit criteria and reporting; • Test closure activities. 42Prof. Mustufa I N
  • 44. Test planning • Determine the scope and risks and identify the objectives of testing: • Determine the test approach (techniques, test items, coverage, identifying and interfacing with the teams involved in testing, testware) • Implement the test policy and/or the test strategy: • Determine the required test resources (e.g. people, test environment, PCs): • Schedule test analysis and design tasks, test implementation, execution and evaluation: • Determine the exit criteria: 44Prof. Mustufa I N
  • 46. Test control has the following major tasks: • Measure and analyze the results of reviews and testing: • Provide information on testing • Initiate corrective actions • Make decisions 46Prof. Mustufa I N
  • 47. 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. • Review the test basis , examining the specifications for the software we are testing. • Identify test conditions based on analysis of test items, their specifications, and what we know about their behaviour and structure. • Design the tests using techniques to help select representative tests that relate to particular aspects of the software which carry risks. • Design the test environment set-up and identify any required infrastructure and tools. 47Prof. Mustufa I N
  • 49. Test implementation and execution Implementation – Develop and prioritize our test cases – Create test suites from the test cases for efficient test execution. A test suite is a logical collection of test cases which naturally work together. – Implement and verify the environment. 49Prof. Mustufa I N
  • 50. Test implementation and execution Execution: – Execute the test suites and individual test cases, following our test procedures. – Log the outcome of test execution and record the identities and versions of the software under test, test tools and testware. – Compare actual results (what happened when we ran the tests) with expected results (what we anticipated would happen). – Where there are differences between actual and expected results, report discrepancies as incidents. 50Prof. Mustufa I N
  • 51. Evaluating exit criteria and reporting • Check test logs against the exit criteria specified in test planning: • Assess if more tests are needed or if the exit criteria specified should be changed: • Write a test summary report for stakeholders 51Prof. Mustufa I N
  • 54. Test closure activities • Check which planned deliverables we actually delivered and ensure all incident reports have been resolved through defect repair or deferral. • Finalize and archive testware, such as scripts, the test environment, and any other test infrastructure, for later reuse. • Hand over testware to the maintenance organization who will support the software and make any bug fixes or maintenance changes, for use in con firmation testing and regression testing. • Evaluate how the testing went and analyze lessons learned for future releases and projects. 54Prof. Mustufa I N
  • 55. 1.5 THE PSYCHOLOGY OF TESTING  1.5.1 Independent testing - who is a tester? - building the software requires a different mindset from testing the software. This degree of independence avoids author bias and is often more effective at finding defects and failures. – tests by the person who wrote the item under test; – tests by another person within the same team, such as another programmer; – tests by a person from a different organizational group, such as an independent test team; – tests designed by a person from a different-organization or company, such as outsourced testing or certification by an external body. 55Prof. Mustufa I N
  • 58. 1.5.2 Why do we sometimes not get on with the rest of the team? • One manager may want the confirmation that the software works and that it is 'good enough' if this is seen as a way of delivering as fast as possible. • Another manager may want the testing to find as many defects as possible before the software is released, which will take longer to do and will require time for fixing, re- testing and regression testing. • If there are not clearly stated objectives and exit criteria for testing which all the stakeholders have agreed, arguments might arise, during the testing or after release, about whether 'enough' testing has been done. 58Prof. Mustufa I N
  • 60. • Communicate findings on the product in a neutral, fact-focused way without criticizing the person who created it. For example, write objective and factual incident reports and review findings.  Don't gloat - you are not perfect either!  Don't blame - any mistakes are probably by the group rather than an individual.  Be constructively critical and discuss the defect and how you are going to log it. 60Prof. Mustufa I N
  • 61. • Explain that by knowing about this now we can work round it or fix it so the delivered system is better for the customer. - Say what you liked and what worked, as well as what didn't work. - Show what the risk is honestly - not everything is high priority. - Don't just see the pessimistic side - give praise as well as criticism. - Show what risks have been uncovered and the benefits of the review or test. 61Prof. Mustufa I N
  • 62. • Start with collaboration rather than battles. Remind everyone of the common goal of better quality systems.  Be polite and helpful, collaborate with your colleagues.  Try to understand how the other person feels and why they react as they do.  Confirm that the other person has understood what you have said and vice versa.  Explain how the test or review helps the author - what's in it for him or her.  Offer your work to be reviewed, too. 62Prof. Mustufa I N
  • 64. FOUNDATIONS OF SOFTWARE TESTING DOROTHY GRAHAM ERIK VAN VEENENDAAL ISABEL EVANS REX BLACK Reference 64Prof. Mustufa I N