SlideShare a Scribd company logo
Program Testing +
Integration Testing
Zeeshan Rana
 Types of faults and how to clasify them
 The purpose of testing
 Unit testing
 Integration testing strategies
 Test planning
 When to stop testing
 Wrong requirement: not what the customer
wants
 Missing requirement
 Requirement impossible to implement
 Faulty design
 Faulty code
 Improperly implemented design
 Objective of testing: discover faults
 A test is successful only when a fault is
discovered
◦ Fault identification is the process of determining
what fault caused the failure
◦ Fault correction is the process of making changes
to the system so that the faults are removed
 Purpose
 Input
 Expected Output
 Actual Output
 Sample Format:
 Algorithmic fault
 Computation and precision fault
◦ a formula’s implementation is wrong
 Documentation fault
◦ Documentation doesn’t match what program does
 Capacity or boundary faults
◦ System’s performance not acceptable when certain limits
are reached
 Timing or coordination faults
 Performance faults
◦ System does not perform at the speed prescribed
 An algorithmic fault occurs when a
component’s algorithm or logic does not
produce proper output
◦ Branching too soon
◦ Branching too late
◦ Forgetting to initialize variable or set loop
invariants
◦ Comparing variables of inappropriate data types
 Module testing, component testing, or unit
testing
 Integration testing
 System Testing
◦ Function testing
◦ Performance testing
 Acceptance testing
 Installation testing
 Egoless programming: programs are viewed
as components of a larger system, not as the
property of those who wrote them
 Independent test team
◦ avoid conflict
◦ improve objectivity
◦ allow testing and coding concurrently
 Closed box or black box: functionality of the
test objects
◦ Equivalence Class, Boundary Value Analysis,
Scenario-based, Decision Table based, State
Machine based…
 Clear box or white box: structure of the test
objects
◦ Control Flow
 Basis Path, Branch, Statement, Decision…
◦ Data Flow
 Du Path, All-uses Path
 Black box: external behavior description
 State box: black box with state information
 White box: state box with a procedure
 Code walkthrough
 Code inspection
 Testing the unit for correct functionality
 Testing the unit for correct execution
 Determining test objectives
 Selecting test cases
 Executing test cases
 Statement testing
 Branch testing
 Path testing
 …
Cyclomatic Complexity = E – N + 2 = 9 – 9 + 2 = 2
• Effectiveness of fault-discovery techniques
Requirements
Faults Design Faults Code Faults
Documentation
Faults
Reviews Fair Excellent Excellent Good
Prototypes Good Fair Fair Not applicable
Testing Poor Poor Good Fair
Correctness Proofs Poor Poor Fair Fair
 Big-bang
 Bottom-up
 Top-down
 Sandwich testing
 Component Driver: a routine that calls a
particular component and passes a test case
to it
 Stub: a special-purpose program to simulate
the activity of the missing component
 System viewed as a hierarchy of components
 All components integrated at once
 Locating faults?
 Only A is tested by itself
 Stubs of B, C and D are used at first level
 N-1 stubs required (N=Number of nodes)
 Locating faults?
 Drivers are used to call the child functions
 Drivers are relatively intelligent
 N-leaves drivers
 Locating faults?
 Viewed system as three layers
 Employ BU where
writing drivers is
not costly
 Employ TD where
stubs are easier to
Write
 Locating faults?
• Adjacency Matrix
• NxN matrix that tells which components call
the other components
• Pairwise Integration
• Test each pair (i.e. each edge)
• E testing sessions
• Neighborhood based Integration
• Integrate each neighborhood
• The nodes at one edge distance from the
node to be integrated
• N-sink nodes sessions
 Establish test objectives
 Design and Write test cases
 Test test cases
 Execute tests
 Evaluate test results
 Test plan explains
◦ who does the testing
◦ why the tests are performed
◦ how tests are conducted
◦ when the tests are scheduled
 What the test objectives are
 How the test will be run
 What criteria will be used to determine when
the testing is complete
 Automated Testing Tools
 Testing Management Tools
 Bug Tracking/Configuration Management
Tools
 No time left
 No money left
 Statistical Criteria
◦ Number of defects found per week becomes
lower than a set threshold
 The Ariane-5’s flight control system was
tested in four ways
◦ equipment testing
◦ on-board computer software testing
◦ staged integration
◦ system validation tests
 The Ariane-5 developers relied on insufficient
reviews and test coverage
 It is important to understand the difference
between faults and failures
 The goal of testing is to find faults, not to
prove correctness
 UCF Slides
 Software Testing, A Craftsman’s Approach by
Jorgensen
 Software Testing Tools by Prasad

More Related Content

What's hot

Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
ANKUR-BA
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
Sachin-QA
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
Fayis-QA
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques
Ashutosh Garg
 
Whitepaper Test Case Design and Testing Techniques- Factors to Consider
Whitepaper Test Case Design and Testing Techniques- Factors to ConsiderWhitepaper Test Case Design and Testing Techniques- Factors to Consider
Whitepaper Test Case Design and Testing Techniques- Factors to Consider
RapidValue
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)
Mani Kanth
 
Black box testing
Black box testingBlack box testing
Black box testing
Nakul Sharma
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
Jimi Patel
 
Tlc
TlcTlc
Test Case Design
Test Case DesignTest Case Design
Test Case Designacatalin
 
Mt s3 methodoligies&principles
Mt s3 methodoligies&principlesMt s3 methodoligies&principles
Mt s3 methodoligies&principlesTestingGeeks
 
Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--
Taymoor Nazmy
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
Sagar Pednekar
 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
Damian T. Gordon
 
Black box testing lecture 11
Black box testing lecture 11Black box testing lecture 11
Black box testing lecture 11Abdul Basit
 
Black box testing
Black box testingBlack box testing
Black box testing
Abdul Basit
 
Software Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testingSoftware Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testingNikita Knysh
 
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
BugRaptors
 
Blackbox
BlackboxBlackbox
Blackbox
GuruKrishnaTeja
 

What's hot (19)

Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques
 
Whitepaper Test Case Design and Testing Techniques- Factors to Consider
Whitepaper Test Case Design and Testing Techniques- Factors to ConsiderWhitepaper Test Case Design and Testing Techniques- Factors to Consider
Whitepaper Test Case Design and Testing Techniques- Factors to Consider
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Tlc
TlcTlc
Tlc
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
Mt s3 methodoligies&principles
Mt s3 methodoligies&principlesMt s3 methodoligies&principles
Mt s3 methodoligies&principles
 
Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
 
Black box testing lecture 11
Black box testing lecture 11Black box testing lecture 11
Black box testing lecture 11
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Software Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testingSoftware Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based 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
An Insight into the Black Box and White Box Software Testing
 
Blackbox
BlackboxBlackbox
Blackbox
 

Viewers also liked

Comercio internacional
Comercio internacionalComercio internacional
Comercio internacional
Alfonso Castillo Bravo
 
Trabajo final lucy
Trabajo final lucy Trabajo final lucy
Trabajo final lucy
Elizabeth de la Cruz
 
Presentation colman
Presentation colmanPresentation colman
Presentation colman
Ran Binyamini
 
Agile metrics at-pmi bangalore
Agile metrics at-pmi bangaloreAgile metrics at-pmi bangalore
Agile metrics at-pmi bangalore
Aguai Solutions Pvt Ltd
 
Frekuensi ultra tinggi
Frekuensi ultra tinggiFrekuensi ultra tinggi
Frekuensi ultra tinggiGani Strum
 
Informatica(power point)
Informatica(power point)Informatica(power point)
Informatica(power point)
nenafeno
 
Mision y vision
Mision y visionMision y vision
Mision y vision
Miguel Merlano Cadena
 
Ppt cpd
Ppt cpdPpt cpd
Ppt cpd
Kanu Shiyal
 
Diana beltran
Diana beltranDiana beltran
Diana beltran
marielamendia
 
практика интернет маркетинга 26 light
практика интернет маркетинга 26 lightпрактика интернет маркетинга 26 light
практика интернет маркетинга 26 light
CoMUU
 
Telomerasa
TelomerasaTelomerasa
Telomerasa
monicabarzallo
 
Building structures report [individual]
Building structures report [individual]Building structures report [individual]
Building structures report [individual]
Jannah Jailani
 
Une approche design thinking pour les victimes d'infractions pénales
Une approche design thinking pour les victimes d'infractions pénalesUne approche design thinking pour les victimes d'infractions pénales
Une approche design thinking pour les victimes d'infractions pénales
Nicolas Minv
 
La démarche créative : laisser le temps au temps...
La démarche créative : laisser le temps au temps...La démarche créative : laisser le temps au temps...
La démarche créative : laisser le temps au temps...
Agnès-Alexandra Quillet
 
Horario 1
Horario 1Horario 1
Horario 1
faustoenrique
 
servicios
servicios servicios
servicios
Don Bosco
 
SISTEM REPRODUKSI MANUSIA
SISTEM REPRODUKSI MANUSIASISTEM REPRODUKSI MANUSIA
SISTEM REPRODUKSI MANUSIA
Rosdianasella
 

Viewers also liked (20)

Comercio internacional
Comercio internacionalComercio internacional
Comercio internacional
 
Trabajo final lucy
Trabajo final lucy Trabajo final lucy
Trabajo final lucy
 
Presentation colman
Presentation colmanPresentation colman
Presentation colman
 
BSITF (English)_BSITF Certificate
BSITF (English)_BSITF CertificateBSITF (English)_BSITF Certificate
BSITF (English)_BSITF Certificate
 
Agile metrics at-pmi bangalore
Agile metrics at-pmi bangaloreAgile metrics at-pmi bangalore
Agile metrics at-pmi bangalore
 
Frekuensi ultra tinggi
Frekuensi ultra tinggiFrekuensi ultra tinggi
Frekuensi ultra tinggi
 
Informatica(power point)
Informatica(power point)Informatica(power point)
Informatica(power point)
 
Mision y vision
Mision y visionMision y vision
Mision y vision
 
Ppt cpd
Ppt cpdPpt cpd
Ppt cpd
 
Diana beltran
Diana beltranDiana beltran
Diana beltran
 
практика интернет маркетинга 26 light
практика интернет маркетинга 26 lightпрактика интернет маркетинга 26 light
практика интернет маркетинга 26 light
 
Telomerasa
TelomerasaTelomerasa
Telomerasa
 
Certificate_MCP
Certificate_MCPCertificate_MCP
Certificate_MCP
 
MV-10
MV-10MV-10
MV-10
 
Building structures report [individual]
Building structures report [individual]Building structures report [individual]
Building structures report [individual]
 
Une approche design thinking pour les victimes d'infractions pénales
Une approche design thinking pour les victimes d'infractions pénalesUne approche design thinking pour les victimes d'infractions pénales
Une approche design thinking pour les victimes d'infractions pénales
 
La démarche créative : laisser le temps au temps...
La démarche créative : laisser le temps au temps...La démarche créative : laisser le temps au temps...
La démarche créative : laisser le temps au temps...
 
Horario 1
Horario 1Horario 1
Horario 1
 
servicios
servicios servicios
servicios
 
SISTEM REPRODUKSI MANUSIA
SISTEM REPRODUKSI MANUSIASISTEM REPRODUKSI MANUSIA
SISTEM REPRODUKSI MANUSIA
 

Similar to Pa chapter08-testing integrating-the_programs-cs_390

Verifcation &validation
Verifcation &validationVerifcation &validation
Verifcation &validation
ssusere50573
 
Testing
TestingTesting
Testing
Ajeng Savitri
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
Vidya-QA
 
Test Case Design & Technique
Test Case Design & TechniqueTest Case Design & Technique
Test Case Design & Technique
Rajesh-QA
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
Adeel Rasheed
 
Quality Analyst Training - Gain America
Quality Analyst Training - Gain AmericaQuality Analyst Training - Gain America
Quality Analyst Training - Gain AmericaGainAmerica
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
WBUTTUTORIALS
 
testing
testingtesting
testing
Rashmi Deoli
 
Software Testing
Software TestingSoftware Testing
Software Testing
Kiran Kumar
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
FarjanaParvin5
 
Software testing
Software testingSoftware testing
Software testing
Preeti Mishra
 
Testing
TestingTesting
Testing
trashqwerty
 
Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)
1Arun_Pandey
 

Similar to Pa chapter08-testing integrating-the_programs-cs_390 (20)

Verifcation &validation
Verifcation &validationVerifcation &validation
Verifcation &validation
 
Testing
TestingTesting
Testing
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
Test Case Design & Technique
Test Case Design & TechniqueTest Case Design & Technique
Test Case Design & Technique
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
Quality Analyst Training - Gain America
Quality Analyst Training - Gain AmericaQuality Analyst Training - Gain America
Quality Analyst Training - Gain America
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
testing
testingtesting
testing
 
Ch23
Ch23Ch23
Ch23
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
c
cc
c
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
 
Software testing
Software testingSoftware testing
Software testing
 
Testing
TestingTesting
Testing
 
Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)
 
prova4
prova4prova4
prova4
 
provalast
provalastprovalast
provalast
 
test3
test3test3
test3
 
test
testtest
test
 
prova2
prova2prova2
prova2
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

Pa chapter08-testing integrating-the_programs-cs_390

  • 1. Program Testing + Integration Testing Zeeshan Rana
  • 2.  Types of faults and how to clasify them  The purpose of testing  Unit testing  Integration testing strategies  Test planning  When to stop testing
  • 3.  Wrong requirement: not what the customer wants  Missing requirement  Requirement impossible to implement  Faulty design  Faulty code  Improperly implemented design
  • 4.  Objective of testing: discover faults  A test is successful only when a fault is discovered ◦ Fault identification is the process of determining what fault caused the failure ◦ Fault correction is the process of making changes to the system so that the faults are removed
  • 5.  Purpose  Input  Expected Output  Actual Output  Sample Format:
  • 6.  Algorithmic fault  Computation and precision fault ◦ a formula’s implementation is wrong  Documentation fault ◦ Documentation doesn’t match what program does  Capacity or boundary faults ◦ System’s performance not acceptable when certain limits are reached  Timing or coordination faults  Performance faults ◦ System does not perform at the speed prescribed
  • 7.  An algorithmic fault occurs when a component’s algorithm or logic does not produce proper output ◦ Branching too soon ◦ Branching too late ◦ Forgetting to initialize variable or set loop invariants ◦ Comparing variables of inappropriate data types
  • 8.  Module testing, component testing, or unit testing  Integration testing  System Testing ◦ Function testing ◦ Performance testing  Acceptance testing  Installation testing
  • 9.
  • 10.  Egoless programming: programs are viewed as components of a larger system, not as the property of those who wrote them
  • 11.  Independent test team ◦ avoid conflict ◦ improve objectivity ◦ allow testing and coding concurrently
  • 12.  Closed box or black box: functionality of the test objects ◦ Equivalence Class, Boundary Value Analysis, Scenario-based, Decision Table based, State Machine based…  Clear box or white box: structure of the test objects ◦ Control Flow  Basis Path, Branch, Statement, Decision… ◦ Data Flow  Du Path, All-uses Path
  • 13.  Black box: external behavior description  State box: black box with state information  White box: state box with a procedure
  • 14.  Code walkthrough  Code inspection
  • 15.  Testing the unit for correct functionality  Testing the unit for correct execution
  • 16.  Determining test objectives  Selecting test cases  Executing test cases
  • 17.  Statement testing  Branch testing  Path testing  …
  • 18. Cyclomatic Complexity = E – N + 2 = 9 – 9 + 2 = 2
  • 19. • Effectiveness of fault-discovery techniques Requirements Faults Design Faults Code Faults Documentation Faults Reviews Fair Excellent Excellent Good Prototypes Good Fair Fair Not applicable Testing Poor Poor Good Fair Correctness Proofs Poor Poor Fair Fair
  • 20.  Big-bang  Bottom-up  Top-down  Sandwich testing
  • 21.  Component Driver: a routine that calls a particular component and passes a test case to it  Stub: a special-purpose program to simulate the activity of the missing component
  • 22.  System viewed as a hierarchy of components
  • 23.  All components integrated at once  Locating faults?
  • 24.  Only A is tested by itself  Stubs of B, C and D are used at first level  N-1 stubs required (N=Number of nodes)  Locating faults?
  • 25.  Drivers are used to call the child functions  Drivers are relatively intelligent  N-leaves drivers  Locating faults?
  • 26.  Viewed system as three layers  Employ BU where writing drivers is not costly  Employ TD where stubs are easier to Write  Locating faults?
  • 27. • Adjacency Matrix • NxN matrix that tells which components call the other components • Pairwise Integration • Test each pair (i.e. each edge) • E testing sessions • Neighborhood based Integration • Integrate each neighborhood • The nodes at one edge distance from the node to be integrated • N-sink nodes sessions
  • 28.  Establish test objectives  Design and Write test cases  Test test cases  Execute tests  Evaluate test results
  • 29.  Test plan explains ◦ who does the testing ◦ why the tests are performed ◦ how tests are conducted ◦ when the tests are scheduled
  • 30.  What the test objectives are  How the test will be run  What criteria will be used to determine when the testing is complete
  • 31.  Automated Testing Tools  Testing Management Tools  Bug Tracking/Configuration Management Tools
  • 32.  No time left  No money left  Statistical Criteria ◦ Number of defects found per week becomes lower than a set threshold
  • 33.  The Ariane-5’s flight control system was tested in four ways ◦ equipment testing ◦ on-board computer software testing ◦ staged integration ◦ system validation tests  The Ariane-5 developers relied on insufficient reviews and test coverage
  • 34.  It is important to understand the difference between faults and failures  The goal of testing is to find faults, not to prove correctness
  • 35.  UCF Slides  Software Testing, A Craftsman’s Approach by Jorgensen  Software Testing Tools by Prasad