SlideShare a Scribd company logo
Introduction
Software testing
Terminology
• Errors
– An error is a mistake, misconception, or
misunderstanding on the part of a software developer
– misunderstand a design notation, or type a variable
name incorrectly
• Faults (Defects)
– introduced into the software as the result of an error.
– an anomaly in the software that may cause it to
behave incorrectly, and not according to its
specification.
– sometimes called “bugs
– usually detected in the review process.
• Failures
– the inability of a software system or component to
perform its required functions within specified
performance requirements
– misbehaviour indicates a certain type of fault
– During development failures are usually observed by
testers, and faults are located and repaired by
developers
– A fault in the code does not always produce a failure.
– However when the proper conditions occur the fault
will manifest itself as a failure.
Software Quality
IEEE Standard
• the degree to which a system, system
component, or process meets specified
requirements
• the degree to which a system, system
component, or process meets customer or
user needs, or expectations
metrics
• a quantitative measure of the degree to which
a system, system component, or process
possesses a given attribute
• product and process metrics.
– software product metric is software size, usually
measured in lines of code (LOC).
– process metrics are costs and time required for a
given task.
examples of quality attributes
• Correctness
– the degree to which the system performs its intended
function
• Reliability
– the degree to which the software is expected to
perform its required functions under stated
conditions for a stated period of time
• Usability
– relates to the degree of effort needed to learn,
operate, prepare input, and interpret output of the
software
• Integrity
– relates to the system’s ability to withstand both
intentional and accidental attacks
• Portability
– relates to the ability of the software to be transferred from
one environment to another
• Maintainability
– the effort needed to make changes in the software
• Interoperability
– the effort needed to link or couple one system to another.
• Testability
– the amount of effort needed to test the software to ensure
it performs according to specified requirements
– the ability of the software to reveal defects under testing
conditions
Reviews
• A testing technique that can be used to evaluate the quality
of a software artefact such as a requirements document, a
test plan, a design document, a code component.
• a tool that can be applied to revealing defects in these
types of documents
• review group
– consist of managers, clients, developers, testers and other
personnel depending on the type of artifact under review.
• an audit is usually conducted by a Software Quality
Assurance group for the purpose of assessing compliance
with specifications, and/or standards, and/or contractual
agreements.
Software Testing Principles
• provide the foundation for developing testing
knowledge and acquiring testing skills. They
also provide guidance for defining testing
activities as performed in the practice of a test
specialist
Principle 1.
• A necessary part of a test case is a definition
of the expected output or result
– Expected result not correct result
• a test case must consist of two components:
1. A description of the input data to the program.
2. A precise description of the correct output of
the program for that set of input data.
Principle 2
• A programmer should avoid attempting to test
his or her own program
• errors due to the programmer’s misunderstanding
of the problem statement or specification
• bad idea to attempt to edit or proofread his or her
own work.
• a programmer may subconsciously avoid finding
errors for fear of retribution from peers or from a
supervisor, a client
• testing is more effective and successful if someone
else does it.
Principle 3
• A programming organization should not test its
own programs.
• project manager is largely measured on the
ability to produce a program by a given date and
for a certain cost.
• may be viewed as decreasing the probability of
meeting the schedule and the cost objectives.
• more economical for testing to be performed by
an objective, independent party.
Principle 4
• Thoroughly inspect the results of each test.
• it is something that is often overlooked.
• errors that are found on later tests are often
missed in the results from earlier tests.
Principle 5
• Test cases must be written for input
conditions that are invalid and unexpected,
as well as for those that are valid and
expected.
• when testing a program to concentrate on the
valid and expected input conditions, at the
neglect of the invalid and unexpected
conditions.
Principle 6
• Examining a program to see if it does not do
what it is supposed to do is only half the
battle; the other half is seeing whether the
program does what it is not supposed to do.
• Programs must be examined for unwanted
side effects.
• a payroll program produces extra checks for
nonexistent employees also
Principle 7
• Avoid throwaway test cases unless the
program is truly a throwaway program
• if the modification causes a previously
functional part of the program to fail, this
error often goes undetected.
• Saving test cases and running them again after
changes to other components of the program
is known as regression testing.
Principle 8
• Do not plan a testing effort under the tacit
assumption that no errors will be found.
• This is a mistake project managers often make
and is a sign of the use of the incorrect
definition of testing
• that is, the assumption that testing is the
process of showing that the program
functions correctly.
Principle 9
• The probability of the existence of more errors in
a section of a program is proportional to the
number of errors already found in that section.
• If a particular section of a program seems to be
much more prone to errors than other sections,
then this phenomenon tells us that, in terms of
yield on our testing investment, additional testing
efforts are best focused against this error-prone
section.
Principle 10
• Testing is an extremely creative and
intellectually challenging task
• the creativity required in testing a large
program exceeds the creativity required in
designing that program
Principle 11
• Testing should be planned.
• Test plans should be developed for each level of
testing, and objectives for each level should be
described in the associated plan.
• The objectives should be stated as quantitatively
as possible
• Test planning must be coordinated with project
• planning.
• The test manager and project manager must
work together to coordinate activities.
Principle 12
• Testing activities should be integrated into
the software life cycle.
• Test planning activities should be integrated
into the software life cycle starting as early as
in the requirements analysis phase, and
continue on throughout the software life cycle
in parallel with development activities
A test specialist
• one whose education is based on the principles,
practices, and processes that constitute the
software engineering discipline, and whose
specific focus is on one area of that discipline—
software testing.
• trained as an engineer should have knowledge of
test-related principles, processes, measurements,
standards, plans, tools, and methods, and should
learn how to apply them to the testing tasks to be
performed
Testing
• The software development process has been
described as a series of phases, procedures,
and steps that result in the production of a
software product.
• Embedded within the software development
process are several other processes including
testing
• Testing itself is related to two other processes
called verification and validation
– Validation is the process of evaluating a software
system or component during, or
– at the end of, the development cycle in order to
determine whether it satisfies
– specified requirements
Software testing  introduction
Phases of Software Project
• A Software project is generally built in series of phases.
• Requirement gathering and analysis Phase :
– Tasks :
– Interacting with customer and gathering the
requirements, Requirement analysis.
– Roles :
– Business analyst.
– Process :
– The specific requirements of the software to be built are
gathered from the customer and documented.
– Documents :
– The requirements get documented in the form of Software
Requirement Document (SRS). This acts as a bridge
between customer and designers.
• Planning Phase :
• Tasks :
• Schedule, Scope, Tentative planning, Technology selection
and Environment confirmation, Resource requirements.
• Roles :
• System Analyst , Project Manager, Technical Manager.
• Process :
• A plan explains how the requirements will be met and by
what time, taking into consideration of scope, milestones,
resource availability and release date. This phase is
applicable for both development and testing.
• Documents :
• Project plan and Test plan documents are delivered.
• Design Phase :
• Tasks :
• High level designing, Low level design or detailed design.
• Roles :
• Chief Architect, Technical Lead.
• Process :
• The Development phase produces a presentation through
which the verification of requirements is done. It has
sufficient information for the next phase to implement the
system.
• Documents :
• System design description (SDD) which will be used by the
development teams to produce the programs.
• Development Phase :
• Tasks :
• Programming
• Roles :
• Developers
• Process :
• Developer’s code the programs in chosen programming
language and produce a software that meets the
requirements.
• Documents :
• Production document (can be called as source code
document).
• Testing Phase:
• Tasks :
• Testing
• Roles :
• Test Engineer’s , QA analyst
• Process :
• Testing is the process of checking the behavior of the
application in predefined ways, to work as expected with
the requirements. Testing teams identify and remove as
many defects as possible.
• Documents :
• Test case design documents, Execution status, Defect
reports
• Deployment and Maintenance Phase :
• Tasks :
• Hand over the Application to the client to deploy it in
their environments.
• Roles :
• Deployment engineers (or) Installation engineers.
• Process :
• Corrective maintenance, adaptive maintenance
• Documents :The final agreement made between the
customer and company is proof document for Delivery.
Quality assurance & control
Expected behaiour
• Requirements translated into features
• Each feature is designed to meet one or more
requirements
• For each feature expected behavior characterized by a
set of test cases
• Test cases characterized by
– The environment under which the test case is to be
executed
– i/p that should be provided
– How i/p should get processed
– What changes should produced in internal environment
– What o/p should produced
Actual behavior
• actual behavior of given s/w for a given test
case under given environment and in a given
internal state characterized by
• Test cases characterized by
– How i/p get processed
– What changes produced in internal environment
– What o/p produced
• If actual and expected behavior are identical ,
test case said to be passed.
• If not, given s/w have some defect on that test
case
• How do we increase the chance of meeting
the requirement expected?
Quality assurance and quality control
• Quality control attempt to build a product,
test it for expected behavior after it is built.
• If the expected behavior is not same as actual
behavior, fixes the product as it necessary and
rebuilt it.
• This iteration is repeated till the expected
behavior of the product matches
• Quality assurance attempts defect prevention
concentrating on the process of producing the
product rather than defect detection / correction
after the product is built.
– Review the design of product before it built
– Mandate coding standard
• Quality assurance is continues process
throughout life of the product
• Quality assurance is everyone’s responsibility
• Quality control team is responsible for Quality
control
Verification & Validation
Verification Validation
Are we building the system right? Are we building the right system?
Verification is the process of
evaluating products of a development
phase to find out whether they meet
the specified requirements.
Validation is the process of evaluating
software at the end of the development
process to determine whether software
meets the customer expectations and
requirements.
The objective of Verification is to make
sure that the product being develop is
as per the requirements and design
specifications.
The objective of Validation is to make
sure that the product actually meet up
the user’s requirements, and check
whether the specifications were correct
in the first place.
Following activities are involved
in Verification: Reviews, Meetings and
Inspections.
Following activities are involved
in Validation: Testing like black box
testing, white box testing, gray box
testing etc.
Verification is carried out by QA team to
check whether implementation software is
as per specification document or not.
Validation is carried out by testing team.
Execution of code is not comes
under Verification.
Execution of code is comes
under Validation.
Verification process explains whether
the outputs are according to inputs or not.
Validation process describes whether the
software is accepted by the user or not.
Verification is carried out before the
Validation.
Validation activity is carried out just after
the Verification.
Following items are evaluated
during Verification: Plans, Requirement
Specifications, Design Specifications,
Code, Test Cases etc,
Following item is evaluated
during Validation: Actual product or
Software under test.
Cost of errors caught in Verification is
less than errors found in Validation.
Cost of errors caught in Validation is
more than errors found in Verification.
Ad

More Related Content

What's hot (20)

Unit 1 part 2
Unit 1 part 2Unit 1 part 2
Unit 1 part 2
Roselin Mary S
 
11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot
Harshil Barot
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
Hadi Fadlallah
 
powerpoint template for testing training
powerpoint template for testing trainingpowerpoint template for testing training
powerpoint template for testing training
John Roddy
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing
Noha Gamal
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | Edureka
Edureka!
 
Software Testing
Software TestingSoftware Testing
Software Testing
Dhanasekaran Nagarajan
 
Software testing
Software testingSoftware testing
Software testing
balamurugan.k Kalibalamurugan
 
Eleven step of software testing process
Eleven step of software testing processEleven step of software testing process
Eleven step of software testing process
Himanshu
 
Software Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, PuneSoftware Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, Pune
sanjayjadhav8789
 
Strategies For Software Test Documentation
Strategies For Software Test Documentation Strategies For Software Test Documentation
Strategies For Software Test Documentation
Vishwak Solution
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
st. michael
 
Software testing
Software testingSoftware testing
Software testing
mkn3009
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
BugRaptors
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Poonkodi Jayakumar
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
Software testing
Software testingSoftware testing
Software testing
Madhumita Chatterjee
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing
Transpose Solutions Inc
 
11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot
Harshil Barot
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
Hadi Fadlallah
 
powerpoint template for testing training
powerpoint template for testing trainingpowerpoint template for testing training
powerpoint template for testing training
John Roddy
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing
Noha Gamal
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | Edureka
Edureka!
 
Eleven step of software testing process
Eleven step of software testing processEleven step of software testing process
Eleven step of software testing process
Himanshu
 
Software Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, PuneSoftware Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, Pune
sanjayjadhav8789
 
Strategies For Software Test Documentation
Strategies For Software Test Documentation Strategies For Software Test Documentation
Strategies For Software Test Documentation
Vishwak Solution
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
st. michael
 
Software testing
Software testingSoftware testing
Software testing
mkn3009
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
BugRaptors
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 

Similar to Software testing introduction (20)

UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
GNANAJESLINJ
 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
PriyaFulpagare1
 
QA Basics and PM Overview
QA Basics and PM OverviewQA Basics and PM Overview
QA Basics and PM Overview
Ajay Mani Paudel
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
AbuulHassan2
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
WBUTTUTORIALS
 
Building a software testing environment
Building a software testing environmentBuilding a software testing environment
Building a software testing environment
Himanshu
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
MinsasWorld
 
Software Development
Software DevelopmentSoftware Development
Software Development
Goutama Bachtiar
 
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
S.E Unit 6colorcolorcolorcolorcolorcolor.pptxS.E Unit 6colorcolorcolorcolorcolorcolor.pptx
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
SsdSsd5
 
08 software testing of project in cost.pdf
08 software testing of project in cost.pdf08 software testing of project in cost.pdf
08 software testing of project in cost.pdf
brosisstudio123
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
ShudipPal
 
Software Engineering Basic Testing Work for Beginners
Software Engineering Basic Testing Work for BeginnersSoftware Engineering Basic Testing Work for Beginners
Software Engineering Basic Testing Work for Beginners
batul44260
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
Fadhil Ismail
 
Advanced Software Engineering Lecture Notes from University of Maiduguri.pptx
Advanced Software Engineering Lecture Notes from University of Maiduguri.pptxAdvanced Software Engineering Lecture Notes from University of Maiduguri.pptx
Advanced Software Engineering Lecture Notes from University of Maiduguri.pptx
Muhammad54342
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
AnilKumarARS
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Rupesh Vaishnav
 
TeDevelopment Testing in Software Engineering
TeDevelopment Testing in Software EngineeringTeDevelopment Testing in Software Engineering
TeDevelopment Testing in Software Engineering
Karthik Rohan
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
PriyaFulpagare1
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
AbuulHassan2
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
WBUTTUTORIALS
 
Building a software testing environment
Building a software testing environmentBuilding a software testing environment
Building a software testing environment
Himanshu
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
MinsasWorld
 
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
S.E Unit 6colorcolorcolorcolorcolorcolor.pptxS.E Unit 6colorcolorcolorcolorcolorcolor.pptx
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
SsdSsd5
 
08 software testing of project in cost.pdf
08 software testing of project in cost.pdf08 software testing of project in cost.pdf
08 software testing of project in cost.pdf
brosisstudio123
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
ShudipPal
 
Software Engineering Basic Testing Work for Beginners
Software Engineering Basic Testing Work for BeginnersSoftware Engineering Basic Testing Work for Beginners
Software Engineering Basic Testing Work for Beginners
batul44260
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
Fadhil Ismail
 
Advanced Software Engineering Lecture Notes from University of Maiduguri.pptx
Advanced Software Engineering Lecture Notes from University of Maiduguri.pptxAdvanced Software Engineering Lecture Notes from University of Maiduguri.pptx
Advanced Software Engineering Lecture Notes from University of Maiduguri.pptx
Muhammad54342
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
AnilKumarARS
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Rupesh Vaishnav
 
TeDevelopment Testing in Software Engineering
TeDevelopment Testing in Software EngineeringTeDevelopment Testing in Software Engineering
TeDevelopment Testing in Software Engineering
Karthik Rohan
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 
Ad

More from GaneshKumarKanthiah (11)

Software testing regression testing
Software testing  regression testingSoftware testing  regression testing
Software testing regression testing
GaneshKumarKanthiah
 
Software testing acceptance testing
Software testing  acceptance testingSoftware testing  acceptance testing
Software testing acceptance testing
GaneshKumarKanthiah
 
Software testing performance testing
Software testing  performance testingSoftware testing  performance testing
Software testing performance testing
GaneshKumarKanthiah
 
Java exception handling
Java exception handlingJava exception handling
Java exception handling
GaneshKumarKanthiah
 
Java string handling
Java string handlingJava string handling
Java string handling
GaneshKumarKanthiah
 
Java packages
Java packagesJava packages
Java packages
GaneshKumarKanthiah
 
Java introduction
Java introductionJava introduction
Java introduction
GaneshKumarKanthiah
 
Java interface
Java interfaceJava interface
Java interface
GaneshKumarKanthiah
 
Java inheritance
Java inheritanceJava inheritance
Java inheritance
GaneshKumarKanthiah
 
Java awt
Java awtJava awt
Java awt
GaneshKumarKanthiah
 
Java applet
Java appletJava applet
Java applet
GaneshKumarKanthiah
 
Ad

Recently uploaded (20)

Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 

Software testing introduction

  • 2. Terminology • Errors – An error is a mistake, misconception, or misunderstanding on the part of a software developer – misunderstand a design notation, or type a variable name incorrectly • Faults (Defects) – introduced into the software as the result of an error. – an anomaly in the software that may cause it to behave incorrectly, and not according to its specification. – sometimes called “bugs – usually detected in the review process.
  • 3. • Failures – the inability of a software system or component to perform its required functions within specified performance requirements – misbehaviour indicates a certain type of fault – During development failures are usually observed by testers, and faults are located and repaired by developers – A fault in the code does not always produce a failure. – However when the proper conditions occur the fault will manifest itself as a failure.
  • 5. IEEE Standard • the degree to which a system, system component, or process meets specified requirements • the degree to which a system, system component, or process meets customer or user needs, or expectations
  • 6. metrics • a quantitative measure of the degree to which a system, system component, or process possesses a given attribute • product and process metrics. – software product metric is software size, usually measured in lines of code (LOC). – process metrics are costs and time required for a given task.
  • 7. examples of quality attributes • Correctness – the degree to which the system performs its intended function • Reliability – the degree to which the software is expected to perform its required functions under stated conditions for a stated period of time • Usability – relates to the degree of effort needed to learn, operate, prepare input, and interpret output of the software • Integrity – relates to the system’s ability to withstand both intentional and accidental attacks
  • 8. • Portability – relates to the ability of the software to be transferred from one environment to another • Maintainability – the effort needed to make changes in the software • Interoperability – the effort needed to link or couple one system to another. • Testability – the amount of effort needed to test the software to ensure it performs according to specified requirements – the ability of the software to reveal defects under testing conditions
  • 10. • A testing technique that can be used to evaluate the quality of a software artefact such as a requirements document, a test plan, a design document, a code component. • a tool that can be applied to revealing defects in these types of documents • review group – consist of managers, clients, developers, testers and other personnel depending on the type of artifact under review. • an audit is usually conducted by a Software Quality Assurance group for the purpose of assessing compliance with specifications, and/or standards, and/or contractual agreements.
  • 12. • provide the foundation for developing testing knowledge and acquiring testing skills. They also provide guidance for defining testing activities as performed in the practice of a test specialist
  • 13. Principle 1. • A necessary part of a test case is a definition of the expected output or result – Expected result not correct result • a test case must consist of two components: 1. A description of the input data to the program. 2. A precise description of the correct output of the program for that set of input data.
  • 14. Principle 2 • A programmer should avoid attempting to test his or her own program • errors due to the programmer’s misunderstanding of the problem statement or specification • bad idea to attempt to edit or proofread his or her own work. • a programmer may subconsciously avoid finding errors for fear of retribution from peers or from a supervisor, a client • testing is more effective and successful if someone else does it.
  • 15. Principle 3 • A programming organization should not test its own programs. • project manager is largely measured on the ability to produce a program by a given date and for a certain cost. • may be viewed as decreasing the probability of meeting the schedule and the cost objectives. • more economical for testing to be performed by an objective, independent party.
  • 16. Principle 4 • Thoroughly inspect the results of each test. • it is something that is often overlooked. • errors that are found on later tests are often missed in the results from earlier tests.
  • 17. Principle 5 • Test cases must be written for input conditions that are invalid and unexpected, as well as for those that are valid and expected. • when testing a program to concentrate on the valid and expected input conditions, at the neglect of the invalid and unexpected conditions.
  • 18. Principle 6 • Examining a program to see if it does not do what it is supposed to do is only half the battle; the other half is seeing whether the program does what it is not supposed to do. • Programs must be examined for unwanted side effects. • a payroll program produces extra checks for nonexistent employees also
  • 19. Principle 7 • Avoid throwaway test cases unless the program is truly a throwaway program • if the modification causes a previously functional part of the program to fail, this error often goes undetected. • Saving test cases and running them again after changes to other components of the program is known as regression testing.
  • 20. Principle 8 • Do not plan a testing effort under the tacit assumption that no errors will be found. • This is a mistake project managers often make and is a sign of the use of the incorrect definition of testing • that is, the assumption that testing is the process of showing that the program functions correctly.
  • 21. Principle 9 • The probability of the existence of more errors in a section of a program is proportional to the number of errors already found in that section. • If a particular section of a program seems to be much more prone to errors than other sections, then this phenomenon tells us that, in terms of yield on our testing investment, additional testing efforts are best focused against this error-prone section.
  • 22. Principle 10 • Testing is an extremely creative and intellectually challenging task • the creativity required in testing a large program exceeds the creativity required in designing that program
  • 23. Principle 11 • Testing should be planned. • Test plans should be developed for each level of testing, and objectives for each level should be described in the associated plan. • The objectives should be stated as quantitatively as possible • Test planning must be coordinated with project • planning. • The test manager and project manager must work together to coordinate activities.
  • 24. Principle 12 • Testing activities should be integrated into the software life cycle. • Test planning activities should be integrated into the software life cycle starting as early as in the requirements analysis phase, and continue on throughout the software life cycle in parallel with development activities
  • 25. A test specialist • one whose education is based on the principles, practices, and processes that constitute the software engineering discipline, and whose specific focus is on one area of that discipline— software testing. • trained as an engineer should have knowledge of test-related principles, processes, measurements, standards, plans, tools, and methods, and should learn how to apply them to the testing tasks to be performed
  • 26. Testing • The software development process has been described as a series of phases, procedures, and steps that result in the production of a software product. • Embedded within the software development process are several other processes including testing
  • 27. • Testing itself is related to two other processes called verification and validation – Validation is the process of evaluating a software system or component during, or – at the end of, the development cycle in order to determine whether it satisfies – specified requirements
  • 30. • A Software project is generally built in series of phases. • Requirement gathering and analysis Phase : – Tasks : – Interacting with customer and gathering the requirements, Requirement analysis. – Roles : – Business analyst. – Process : – The specific requirements of the software to be built are gathered from the customer and documented. – Documents : – The requirements get documented in the form of Software Requirement Document (SRS). This acts as a bridge between customer and designers.
  • 31. • Planning Phase : • Tasks : • Schedule, Scope, Tentative planning, Technology selection and Environment confirmation, Resource requirements. • Roles : • System Analyst , Project Manager, Technical Manager. • Process : • A plan explains how the requirements will be met and by what time, taking into consideration of scope, milestones, resource availability and release date. This phase is applicable for both development and testing. • Documents : • Project plan and Test plan documents are delivered.
  • 32. • Design Phase : • Tasks : • High level designing, Low level design or detailed design. • Roles : • Chief Architect, Technical Lead. • Process : • The Development phase produces a presentation through which the verification of requirements is done. It has sufficient information for the next phase to implement the system. • Documents : • System design description (SDD) which will be used by the development teams to produce the programs.
  • 33. • Development Phase : • Tasks : • Programming • Roles : • Developers • Process : • Developer’s code the programs in chosen programming language and produce a software that meets the requirements. • Documents : • Production document (can be called as source code document).
  • 34. • Testing Phase: • Tasks : • Testing • Roles : • Test Engineer’s , QA analyst • Process : • Testing is the process of checking the behavior of the application in predefined ways, to work as expected with the requirements. Testing teams identify and remove as many defects as possible. • Documents : • Test case design documents, Execution status, Defect reports
  • 35. • Deployment and Maintenance Phase : • Tasks : • Hand over the Application to the client to deploy it in their environments. • Roles : • Deployment engineers (or) Installation engineers. • Process : • Corrective maintenance, adaptive maintenance • Documents :The final agreement made between the customer and company is proof document for Delivery.
  • 37. Expected behaiour • Requirements translated into features • Each feature is designed to meet one or more requirements • For each feature expected behavior characterized by a set of test cases • Test cases characterized by – The environment under which the test case is to be executed – i/p that should be provided – How i/p should get processed – What changes should produced in internal environment – What o/p should produced
  • 38. Actual behavior • actual behavior of given s/w for a given test case under given environment and in a given internal state characterized by • Test cases characterized by – How i/p get processed – What changes produced in internal environment – What o/p produced
  • 39. • If actual and expected behavior are identical , test case said to be passed. • If not, given s/w have some defect on that test case
  • 40. • How do we increase the chance of meeting the requirement expected?
  • 41. Quality assurance and quality control
  • 42. • Quality control attempt to build a product, test it for expected behavior after it is built. • If the expected behavior is not same as actual behavior, fixes the product as it necessary and rebuilt it. • This iteration is repeated till the expected behavior of the product matches
  • 43. • Quality assurance attempts defect prevention concentrating on the process of producing the product rather than defect detection / correction after the product is built. – Review the design of product before it built – Mandate coding standard • Quality assurance is continues process throughout life of the product • Quality assurance is everyone’s responsibility • Quality control team is responsible for Quality control
  • 45. Verification Validation Are we building the system right? Are we building the right system? Verification is the process of evaluating products of a development phase to find out whether they meet the specified requirements. Validation is the process of evaluating software at the end of the development process to determine whether software meets the customer expectations and requirements. The objective of Verification is to make sure that the product being develop is as per the requirements and design specifications. The objective of Validation is to make sure that the product actually meet up the user’s requirements, and check whether the specifications were correct in the first place. Following activities are involved in Verification: Reviews, Meetings and Inspections. Following activities are involved in Validation: Testing like black box testing, white box testing, gray box testing etc.
  • 46. Verification is carried out by QA team to check whether implementation software is as per specification document or not. Validation is carried out by testing team. Execution of code is not comes under Verification. Execution of code is comes under Validation. Verification process explains whether the outputs are according to inputs or not. Validation process describes whether the software is accepted by the user or not. Verification is carried out before the Validation. Validation activity is carried out just after the Verification. Following items are evaluated during Verification: Plans, Requirement Specifications, Design Specifications, Code, Test Cases etc, Following item is evaluated during Validation: Actual product or Software under test. Cost of errors caught in Verification is less than errors found in Validation. Cost of errors caught in Validation is more than errors found in Verification.