SlideShare a Scribd company logo
1 of 21
UNIT TESTING
• Unit testing focuses verification effort on the
smallest unit of software design—the
software component or module
Unit Test Considerations
• The module interface is tested to ensure that
information properly flows into and out of the
program unit under test
• The local data structure is examined to ensure
that data stored temporarily maintains its
integrity during all steps in an algorithm's
execution
Among the more common errors in
computation are
• (1) misunderstood or incorrect arithmetic
precedence
• (2) mixed mode operations
• (3) incorrect initialization
• (4) precision inaccuracy
• (5) incorrect symbolic representation of an
expression
Test cases should uncover errors
• (1) comparison of different data types
• (2) incorrect logical operators or precedence
• (3) expectation of equality when precision error
makes equality unlikely
• (4) incorrect comparison of variables
• (5) improper or nonexistent loop termination
• (6) failure to exit when divergent iteration is
encountered
• (7) improperly modified loop variables
Among the potential errors that should be
tested when error handling is evaluated are
• 1. Error description is unintelligible
• 2. Error noted does not correspond to error
encountered
• 3. Error condition causes system intervention
prior to error handling
• 4. Exception-condition processing is incorrect
• 5. Error description does not provide enough
information to assist in the location of the
cause of the error
Unit Test Procedures
• Unit testing is simplified when a component
with high cohesion is designed
• When only one function is addressed by a
component, the number of test cases is
reduced and errors can be more easily
predicted and uncovered
VALIDATION TESTING
• The process of evaluating software during the
development process or at the end of the
development process to determine whether it
satisfies specified business requirements
• Validation Testing ensures that the product
actually meets the client's needs
• Are we building the right product
Validation Testing - Workflow
• The alpha test is conducted at the developer's
site by a customer
• The beta test is conducted at one or more
customer sites by the end-user of the software
• Unlike alpha testing, the developer is generally
not present
• Therefore, the beta test is a "live" application of
the software in an environment that cannot be
controlled by the developer
SYSTEM TESTING
• Ultimately, software is incorporated with other system
elements (e.g., hardware, people, information), and a
series of system integration and validation tests are
conducted
• These tests fall outside the scope of the software process
and are not conducted solely by software engineers
• However, steps taken during software design and testing
can greatly improve the probability of successful software
integration in the larger system
• A classic system testing problem is "finger-pointing”
• This occurs when an error is uncovered, and each system
element developer blames the other for the problem
• System testing is actually a series of different tests whose
primary purpose is to fully exercise the computer-based
system
• Here each test has a different purpose, all work to verify
that system elements have been properly integrated and
perform allocated functions
• There are different types of System tests that can be
performed given here:
• Recovery Testing
• Security Testing
• Stress Testing
• Performance Testing
Recovery Testing
• Computer Based Systems must recover from faults and resume
processing within a pre-specified time
• Sometimes, a system must be fault tolerant, that is, processing
faults must not cause overall system function to cease
• In other cases, a system failure must be corrected within a specified
period of time or severe economic damage will occur
• Recovery testing is a system test that forces the software to fail in a
variety of ways and verifies that recovery is properly performed
• If recovery is automatic (performed by the system itself), re-
initialization, check pointing mechanisms, data recovery, and restart
are evaluated for correctness
• If recovery requires human intervention, the mean-time-to-repair
(MTTR) is evaluated to determine whether it is within acceptable
limits.
Security Testing
• Computer-based system that manages sensitive
information or causes actions that can improperly
harm (or benefit) individuals is a target for
improper or illegal penetration
• hackers who attempt to penetrate systems for
sport, disgruntled employees who attempt to
penetrate for revenge, dishonest individuals who
attempt to penetrate for illicit personal gain
• Security testing attempts to verify that protection
mechanisms built into a system, in fact, protect it
from improper penetration or Not
Security Testing
• During security testing, the tester plays the role(s) of the individual
who desires to penetrate the system
• The tester may attempt to acquire passwords through external
clerical means, may attack the system with custom software
designed to breakdown any defenses that have been constructed
• may overwhelm the system, thereby denying service to others may
purposely cause system errors, hoping to penetrate during recovery
• may browse through insecure data, hoping to find the key to system
entry
• Given enough time and resources, good security testing will
ultimately penetrate a system
• The role of the system designer is to make penetration cost more
than the value of the information that will be obtained.
Stress Testing
• Stress tests are designed to confront programs with
abnormal situations
• The tester who performs stress testing asks:
• "How high can we crank this up before it fails?
• “Stress testing executes a system in a manner that
demands resources in abnormal quantity, frequency, or
volume
• E.g. Special tests may be designed that generate ten
interrupts per second, when one or two is the average rate,
• Input data rates may be increased by an order of
magnitude to determine how input functions will respond,
• Test cases that require maximum memory or other
resources are executed,
Stress Testing
• 4) Test cases that may cause thrashing in a virtual operating system
are designed
• 5) Test cases that may cause excessive hunting for disk-resident
data are created.
• Essentially, the tester attempts to break the program
• A variation of stress testing is a technique called sensitivity testing
• Sometimes, a very small range of data contained within the bounds
of valid data for a program may cause extreme erroneous
processing or profound performance degradation
• Sensitivity testing attempts to uncover data combinations within
valid input classes that may cause instability or improper
processing.
Performance Testing
• For real-time and embedded systems, software that
provides required function but does not conform to
performance requirements is unacceptable
• Performance testing is designed to test the run-time
performance of software within the context of an
integrated system
• Performance testing occurs throughout all steps in the
testing process
• Even at the unit level, the performance of an individual
module may be assessed as white-box tests are
conducted.
Performance Testing
• However, it is not until all system elements are fully integrated that
the true performance of a system can be ascertained
• Performance tests are often coupled with stress testing and usually
require both hardware and software instrumentation
• That is, it is often necessary to measure resource utilization (e.g.,
processor cycles) in an exacting fashion
• External instrumentation can monitor execution intervals, log
events (e.g., interrupts) as they occur, and sample machine states
on a regular basis
• By instrumenting a system, the tester can uncover situations that
lead to degradation and possible system failure

More Related Content

What's hot

Types of Software testing
Types of  Software testingTypes of  Software testing
Types of Software testing
Makan Singh
 

What's hot (20)

Requirement Engineering.ppt
Requirement Engineering.pptRequirement Engineering.ppt
Requirement Engineering.ppt
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
Software quality management lecture notes
Software quality management lecture notesSoftware quality management lecture notes
Software quality management lecture notes
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineering
 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirements
 
Software quality
Software qualitySoftware quality
Software quality
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Putnam Resource allocation model.ppt
Putnam Resource allocation model.pptPutnam Resource allocation model.ppt
Putnam Resource allocation model.ppt
 
Types of Software testing
Types of  Software testingTypes of  Software testing
Types of Software testing
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 

Similar to UNIT TESTING.pptx

Similar to UNIT TESTING.pptx (20)

testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Sw testing
Sw testingSw testing
Sw testing
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Fundamentals of software part 1
Fundamentals of software part 1Fundamentals of software part 1
Fundamentals of software part 1
 
Testing strategies,techniques & test case SE
Testing strategies,techniques & test case SETesting strategies,techniques & test case SE
Testing strategies,techniques & test case SE
 
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
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
6. oose testing
6. oose testing6. oose testing
6. oose testing
 
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
 
Software testing
Software testingSoftware testing
Software testing
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Testing- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solutionTesting- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solution
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing
 

More from DrTThendralCompSci (13)

Loader and linker.pptx
Loader and linker.pptxLoader and linker.pptx
Loader and linker.pptx
 
The Application Layer.ppt
The Application Layer.pptThe Application Layer.ppt
The Application Layer.ppt
 
Transport Layer.pptx
Transport Layer.pptxTransport Layer.pptx
Transport Layer.pptx
 
Software Configuration Management.ppt
Software Configuration Management.pptSoftware Configuration Management.ppt
Software Configuration Management.ppt
 
Wireless LANs PPT.ppt
Wireless LANs PPT.pptWireless LANs PPT.ppt
Wireless LANs PPT.ppt
 
NETWORK LAYER.ppt
NETWORK LAYER.pptNETWORK LAYER.ppt
NETWORK LAYER.ppt
 
Bluetooth.ppt
Bluetooth.pptBluetooth.ppt
Bluetooth.ppt
 
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.pptMEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
 
Ethernet.ppt
Ethernet.pptEthernet.ppt
Ethernet.ppt
 
DATA-LINK LAYER.ppt
DATA-LINK LAYER.pptDATA-LINK LAYER.ppt
DATA-LINK LAYER.ppt
 
UNIT I.ppt
UNIT I.pptUNIT I.ppt
UNIT I.ppt
 
PHYSICAL LAYER.ppt
PHYSICAL LAYER.pptPHYSICAL LAYER.ppt
PHYSICAL LAYER.ppt
 
COMPUTER NETWORK
COMPUTER NETWORKCOMPUTER NETWORK
COMPUTER NETWORK
 

Recently uploaded

Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 

Recently uploaded (20)

Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 

UNIT TESTING.pptx

  • 2. • Unit testing focuses verification effort on the smallest unit of software design—the software component or module
  • 4. • The module interface is tested to ensure that information properly flows into and out of the program unit under test • The local data structure is examined to ensure that data stored temporarily maintains its integrity during all steps in an algorithm's execution
  • 5. Among the more common errors in computation are • (1) misunderstood or incorrect arithmetic precedence • (2) mixed mode operations • (3) incorrect initialization • (4) precision inaccuracy • (5) incorrect symbolic representation of an expression
  • 6. Test cases should uncover errors • (1) comparison of different data types • (2) incorrect logical operators or precedence • (3) expectation of equality when precision error makes equality unlikely • (4) incorrect comparison of variables • (5) improper or nonexistent loop termination • (6) failure to exit when divergent iteration is encountered • (7) improperly modified loop variables
  • 7. Among the potential errors that should be tested when error handling is evaluated are • 1. Error description is unintelligible • 2. Error noted does not correspond to error encountered • 3. Error condition causes system intervention prior to error handling • 4. Exception-condition processing is incorrect • 5. Error description does not provide enough information to assist in the location of the cause of the error
  • 8.
  • 9. Unit Test Procedures • Unit testing is simplified when a component with high cohesion is designed • When only one function is addressed by a component, the number of test cases is reduced and errors can be more easily predicted and uncovered
  • 10. VALIDATION TESTING • The process of evaluating software during the development process or at the end of the development process to determine whether it satisfies specified business requirements • Validation Testing ensures that the product actually meets the client's needs • Are we building the right product
  • 12. • The alpha test is conducted at the developer's site by a customer • The beta test is conducted at one or more customer sites by the end-user of the software • Unlike alpha testing, the developer is generally not present • Therefore, the beta test is a "live" application of the software in an environment that cannot be controlled by the developer
  • 13. SYSTEM TESTING • Ultimately, software is incorporated with other system elements (e.g., hardware, people, information), and a series of system integration and validation tests are conducted • These tests fall outside the scope of the software process and are not conducted solely by software engineers • However, steps taken during software design and testing can greatly improve the probability of successful software integration in the larger system • A classic system testing problem is "finger-pointing” • This occurs when an error is uncovered, and each system element developer blames the other for the problem
  • 14. • System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system • Here each test has a different purpose, all work to verify that system elements have been properly integrated and perform allocated functions • There are different types of System tests that can be performed given here: • Recovery Testing • Security Testing • Stress Testing • Performance Testing
  • 15. Recovery Testing • Computer Based Systems must recover from faults and resume processing within a pre-specified time • Sometimes, a system must be fault tolerant, that is, processing faults must not cause overall system function to cease • In other cases, a system failure must be corrected within a specified period of time or severe economic damage will occur • Recovery testing is a system test that forces the software to fail in a variety of ways and verifies that recovery is properly performed • If recovery is automatic (performed by the system itself), re- initialization, check pointing mechanisms, data recovery, and restart are evaluated for correctness • If recovery requires human intervention, the mean-time-to-repair (MTTR) is evaluated to determine whether it is within acceptable limits.
  • 16. Security Testing • Computer-based system that manages sensitive information or causes actions that can improperly harm (or benefit) individuals is a target for improper or illegal penetration • hackers who attempt to penetrate systems for sport, disgruntled employees who attempt to penetrate for revenge, dishonest individuals who attempt to penetrate for illicit personal gain • Security testing attempts to verify that protection mechanisms built into a system, in fact, protect it from improper penetration or Not
  • 17. Security Testing • During security testing, the tester plays the role(s) of the individual who desires to penetrate the system • The tester may attempt to acquire passwords through external clerical means, may attack the system with custom software designed to breakdown any defenses that have been constructed • may overwhelm the system, thereby denying service to others may purposely cause system errors, hoping to penetrate during recovery • may browse through insecure data, hoping to find the key to system entry • Given enough time and resources, good security testing will ultimately penetrate a system • The role of the system designer is to make penetration cost more than the value of the information that will be obtained.
  • 18. Stress Testing • Stress tests are designed to confront programs with abnormal situations • The tester who performs stress testing asks: • "How high can we crank this up before it fails? • “Stress testing executes a system in a manner that demands resources in abnormal quantity, frequency, or volume • E.g. Special tests may be designed that generate ten interrupts per second, when one or two is the average rate, • Input data rates may be increased by an order of magnitude to determine how input functions will respond, • Test cases that require maximum memory or other resources are executed,
  • 19. Stress Testing • 4) Test cases that may cause thrashing in a virtual operating system are designed • 5) Test cases that may cause excessive hunting for disk-resident data are created. • Essentially, the tester attempts to break the program • A variation of stress testing is a technique called sensitivity testing • Sometimes, a very small range of data contained within the bounds of valid data for a program may cause extreme erroneous processing or profound performance degradation • Sensitivity testing attempts to uncover data combinations within valid input classes that may cause instability or improper processing.
  • 20. Performance Testing • For real-time and embedded systems, software that provides required function but does not conform to performance requirements is unacceptable • Performance testing is designed to test the run-time performance of software within the context of an integrated system • Performance testing occurs throughout all steps in the testing process • Even at the unit level, the performance of an individual module may be assessed as white-box tests are conducted.
  • 21. Performance Testing • However, it is not until all system elements are fully integrated that the true performance of a system can be ascertained • Performance tests are often coupled with stress testing and usually require both hardware and software instrumentation • That is, it is often necessary to measure resource utilization (e.g., processor cycles) in an exacting fashion • External instrumentation can monitor execution intervals, log events (e.g., interrupts) as they occur, and sample machine states on a regular basis • By instrumenting a system, the tester can uncover situations that lead to degradation and possible system failure