SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Presented By :
1. HASSAM KHALIQ (040)
2. WAHEED ULLAH(077)
3. KASHIF INAM(110)
4. TANZEEM ASLAM(015)
PRESENTED TO
SIR SALMAN MIRZA SAHB
Software Testing
Strategies
Software Testing
Testing is the process of exercising a program with the specific intent of finding errors prior to
delivery to the end user.
A Strategic Approach to Testing
To perform effective testing, a software team should conduct effective
formal technical reviews
 Testing begins at the component level and work outward toward the
integration of the entire computer based system
Different testing techniques are appropriate at different points in time
Testing is conducted by the developer of the software and (for large
projects) by an independent test group
 Testing and debugging are different activities, but debugging must be
accommodated in any testing strategy
Verification and Validation
 Software testing is part of a broader group of activities called verification and validation that
are involved in software quality assurance
Verification (Are the algorithms coded correctly?)
– The set of activities that ensure that software correctly implements a specific function or
algorithm
 Validation (Does it meet user requirements?)
– The set of activities that ensure that the software that has been built is traceable to customer
requirements.
 Verification: “Are we building the product right?”
 Validation: “Are we building the right product?”
Organizing for Software
Testing
Testing should aim at "breaking" the software
 Common misconceptions – The developer of software should do no testing at all
That testers get involved with the project only when the testing steps are about to begin.
 software architecture is complete does an independent test group become involved.
The role of an independent test group (ITG) is to remove the inherent problems associated with
letting the builder test the thing that has been built. Independent testing removes the conflict of
interest that may otherwise be present.
Software testing strategy
 Unit testing
– Concentrates on each component/function of the software as implemented in the source code
Integration testing
– Focuses on the design and construction of the software architecture
 Validation testing
– Requirements are validated against the constructed software
 System testing
– The software and other system elements are tested as a whole
Criteria for Completion of
testing
when is testing completed ??
 A classic question arises every time software testing is discussed: “When are we done testing—
how do we know that we’ve tested enough?” Sadly, there is no definitive,
Answer to this question, but there are a few pragmatic responses and early attempts at
empirical guidance.
 By collecting metrics during software testing and making use of existing software reliability
models, it is possible to develop meaningful guidelines for answering the question: “When are
we done testing?”
STRATEGIC ISSUES
 Specify product requirements in a quantifiable manner long before testing commences.
State testing objectives explicitly.
 Understand the users of the software and develop a profile for each user category.
 Develop a testing plan that emphasizes “rapid cycle testing.”
Test Strategies for
Conventional Software
Unit testing :
 Focuses testing on the function or software module
Concentrates on the internal processing logic and data structures
 Is simplified when a module is designed with high cohesion
– Reduces the number of test cases
– Allows errors to be more easily predicted and uncovered
 Concentrates on critical modules and those with high cyclamate complexity when testing
resources are limited
Unit testing considerations
• Module interface
– Ensure that information flows properly into and out of the module
• Local data structures
– Ensure that data stored temporarily maintains its integrity during all steps in an algorithm execution
• Boundary conditions
– Ensure that the module operates properly at boundary values established to limit or restrict
processing
• Independent paths (basis paths)
– Paths are exercised to ensure that all statements in a module have been executed at least once
• Error handling paths
– Ensure that the algorithms respond correctly to specific error conditions
Unit test procedures
 Driver
– A simple main program that accepts test case data, passes such data to the component being
tested, and prints the returned results
 Stubs
– Serve to replace modules that are subordinate to (called by) the component to be tested
– It uses the module’s exact interface, may do minimal data manipulation, provides verification
of entry, and returns control to the module undergoing testing
 Drivers and stubs both represent testing overhead.
– Both must be written but don’t constitute part of the installed software product
Integration testing
Defined as a systematic technique for constructing the software architecture
– At the same time integration is occurring, conduct tests to uncover errors associated with
interfaces
 Objective is to take unit tested modules and build a program structure based on the prescribed
design
 Two Approaches
– Non-incremental Integration Testing
– Incremental Integration Testing
Non-incremental Integration
Testing
Uses “Big Bang” approach
 All components are combined in advance
The entire program is tested as a whole Chaos results
 Many seemingly-unrelated errors are encountered
Correction is difficult because isolation of causes is complicated
 Once a set of errors are corrected, more errors occur, and testing appears to enter an endless
loop
Incremental Integration Testing
The program is constructed and tested in small increments
 Errors are easier to isolate and correct
 Interfaces are more likely to be tested completely
A systematic test approach is applied
 Different incremental integration strategies
– Top-down integration
– Bottom-up integration
– Regression testing
– Smoke testing
Top-down Integration
Modules are integrated by moving downward through the control hierarchy, beginning with the main
module
 Subordinate modules are incorporated in two ways :
– depth-first : All modules on a major control path are integrated
– breadth-first : All modules directly subordinate at each level are integrated
 Advantages
– This approach verifies major control or decision points early in the test process
 Disadvantages
– Stubs need to be created to substitute for modules that have not been built or tested yet; this code
is later discarded
– Because stubs are used to replace lower level modules, no significant data flow can occur until
much later in the integration/testing process
Bottom-up Integration
 Integration and testing starts with the most atomic modules in the control hierarchy
Advantages
– This approach verifies low-level data processing early in the testing process
– Need for stubs is eliminated
 Disadvantages
– Driver modules need to be built to test the lower-level modules; this code is later discarded or
expanded into a full-featured version
– Drivers inherently do not contain the complete algorithms that will eventually use the services
of the lower-level modules; consequently, testing may be incomplete or more testing may be
needed later when the upper level modules are available
Comparison b/w conventional
& OO s/w Unit Testing
 In conventional software we are testing the individual units/modules…
 In object oriented software testing the class individual classes & subclasses..
 which tends to focus on the algorithmic detail of a module and the data that flow across the
module interface.
 OO software is driven by the operations encapsulated by the class and the state behavior of the
class
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. It can also be
defined as to demonstrate that the product fulfills its intended use when deployed on
appropriate environment.
It answers to the question, Are we building the right product?
Validation Testing - Workflow:
Validation testing can be best demonstrated using V-Model. The Software/product under test is
evaluated during this type of testing.
Activities:
Unit Testing
Integration Testing
System Testing
User Acceptance Testing
Virtual Users:
Virtual user is a common terminology used from a performance testing point of view. A Virtual
user generator enables testers to create virtual users in order to increase the user load on the
application under test.
Virtual user generator captures the requests to create a virtual user and it can read user
operations.
SYSTEM TESTING
SYSTEM TESTING is a level of software testing where a complete and integrated software is tested.
The purpose of this test is to evaluate the system's compliance with the specified requirements.
System testing is the testing of a system as a whole. End to end testing is performed to verify that all the
scenarios are working as expected.
Testing is performed using test data created by the testers.
A system as a whole is tested to check the functionality & Performance of the product.
Defects found in the testing can be fixed.
Unit System and system integration testing are types for System testing.
Types of System Testing
Functionality Testing: To make sure that functionality of product is working as per the
requirements defined, within the capabilities of the system.
Performance Testing: To make sure system’s performance under the various condition, in terms
of performance characteristics.
Usability Testing: To make sure that system is easy to use, learn and operate.
Black Box Testing
ANY QUESTIONS?
THANK YOU

Weitere ähnliche Inhalte

Was ist angesagt?

Lecture3
Lecture3Lecture3
Lecture3soloeng
 
Regression testing
Regression testingRegression testing
Regression testingMohua Amin
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software designTech_MX
 
Software quality
Software qualitySoftware quality
Software qualityjagadeesan
 
Integration testing
Integration testingIntegration testing
Integration testingqueen jemila
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritizationSyed Zaid Irshad
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testingHaris Jamil
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Test case design
Test case designTest case design
Test case design99pillar
 

Was ist angesagt? (20)

Unit testing
Unit testing Unit testing
Unit testing
 
Lecture3
Lecture3Lecture3
Lecture3
 
Regression testing
Regression testingRegression testing
Regression testing
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 
Software quality
Software qualitySoftware quality
Software quality
 
Integration testing
Integration testingIntegration testing
Integration testing
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
 
Software quality
Software qualitySoftware quality
Software quality
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritization
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Test case design
Test case designTest case design
Test case design
 

Ähnlich wie Software Testing Strategies ,Validation Testing and System Testing.

Ähnlich wie Software Testing Strategies ,Validation Testing and System Testing. (20)

software engineering
software engineeringsoftware engineering
software engineering
 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
 
software testing strategies
software testing strategiessoftware testing strategies
software testing strategies
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing.pdf
Software Testing.pdfSoftware Testing.pdf
Software Testing.pdf
 
Software test proposal
Software test proposalSoftware test proposal
Software test proposal
 
Software testing2
Software testing2Software testing2
Software testing2
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing strategies And its types
Software testing  strategies And its typesSoftware testing  strategies And its types
Software testing strategies And its types
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
08 fse verification
08 fse verification08 fse verification
08 fse verification
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering
 

Kürzlich hochgeladen

BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spaintimesproduction05
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 

Kürzlich hochgeladen (20)

BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 

Software Testing Strategies ,Validation Testing and System Testing.

  • 1. Presented By : 1. HASSAM KHALIQ (040) 2. WAHEED ULLAH(077) 3. KASHIF INAM(110) 4. TANZEEM ASLAM(015) PRESENTED TO SIR SALMAN MIRZA SAHB
  • 3. Software Testing Testing is the process of exercising a program with the specific intent of finding errors prior to delivery to the end user.
  • 4.
  • 5. A Strategic Approach to Testing To perform effective testing, a software team should conduct effective formal technical reviews  Testing begins at the component level and work outward toward the integration of the entire computer based system Different testing techniques are appropriate at different points in time Testing is conducted by the developer of the software and (for large projects) by an independent test group  Testing and debugging are different activities, but debugging must be accommodated in any testing strategy
  • 6. Verification and Validation  Software testing is part of a broader group of activities called verification and validation that are involved in software quality assurance Verification (Are the algorithms coded correctly?) – The set of activities that ensure that software correctly implements a specific function or algorithm  Validation (Does it meet user requirements?) – The set of activities that ensure that the software that has been built is traceable to customer requirements.  Verification: “Are we building the product right?”  Validation: “Are we building the right product?”
  • 7.
  • 8.
  • 9. Organizing for Software Testing Testing should aim at "breaking" the software  Common misconceptions – The developer of software should do no testing at all That testers get involved with the project only when the testing steps are about to begin.  software architecture is complete does an independent test group become involved. The role of an independent test group (ITG) is to remove the inherent problems associated with letting the builder test the thing that has been built. Independent testing removes the conflict of interest that may otherwise be present.
  • 10. Software testing strategy  Unit testing – Concentrates on each component/function of the software as implemented in the source code Integration testing – Focuses on the design and construction of the software architecture  Validation testing – Requirements are validated against the constructed software  System testing – The software and other system elements are tested as a whole
  • 11. Criteria for Completion of testing when is testing completed ??  A classic question arises every time software testing is discussed: “When are we done testing— how do we know that we’ve tested enough?” Sadly, there is no definitive, Answer to this question, but there are a few pragmatic responses and early attempts at empirical guidance.  By collecting metrics during software testing and making use of existing software reliability models, it is possible to develop meaningful guidelines for answering the question: “When are we done testing?”
  • 12. STRATEGIC ISSUES  Specify product requirements in a quantifiable manner long before testing commences. State testing objectives explicitly.  Understand the users of the software and develop a profile for each user category.  Develop a testing plan that emphasizes “rapid cycle testing.”
  • 13. Test Strategies for Conventional Software Unit testing :  Focuses testing on the function or software module Concentrates on the internal processing logic and data structures  Is simplified when a module is designed with high cohesion – Reduces the number of test cases – Allows errors to be more easily predicted and uncovered  Concentrates on critical modules and those with high cyclamate complexity when testing resources are limited
  • 14. Unit testing considerations • Module interface – Ensure that information flows properly into and out of the module • Local data structures – Ensure that data stored temporarily maintains its integrity during all steps in an algorithm execution • Boundary conditions – Ensure that the module operates properly at boundary values established to limit or restrict processing • Independent paths (basis paths) – Paths are exercised to ensure that all statements in a module have been executed at least once • Error handling paths – Ensure that the algorithms respond correctly to specific error conditions
  • 15.
  • 16. Unit test procedures  Driver – A simple main program that accepts test case data, passes such data to the component being tested, and prints the returned results  Stubs – Serve to replace modules that are subordinate to (called by) the component to be tested – It uses the module’s exact interface, may do minimal data manipulation, provides verification of entry, and returns control to the module undergoing testing  Drivers and stubs both represent testing overhead. – Both must be written but don’t constitute part of the installed software product
  • 17.
  • 18. Integration testing Defined as a systematic technique for constructing the software architecture – At the same time integration is occurring, conduct tests to uncover errors associated with interfaces  Objective is to take unit tested modules and build a program structure based on the prescribed design  Two Approaches – Non-incremental Integration Testing – Incremental Integration Testing
  • 19. Non-incremental Integration Testing Uses “Big Bang” approach  All components are combined in advance The entire program is tested as a whole Chaos results  Many seemingly-unrelated errors are encountered Correction is difficult because isolation of causes is complicated  Once a set of errors are corrected, more errors occur, and testing appears to enter an endless loop
  • 20. Incremental Integration Testing The program is constructed and tested in small increments  Errors are easier to isolate and correct  Interfaces are more likely to be tested completely A systematic test approach is applied  Different incremental integration strategies – Top-down integration – Bottom-up integration – Regression testing – Smoke testing
  • 21. Top-down Integration Modules are integrated by moving downward through the control hierarchy, beginning with the main module  Subordinate modules are incorporated in two ways : – depth-first : All modules on a major control path are integrated – breadth-first : All modules directly subordinate at each level are integrated  Advantages – This approach verifies major control or decision points early in the test process  Disadvantages – Stubs need to be created to substitute for modules that have not been built or tested yet; this code is later discarded – Because stubs are used to replace lower level modules, no significant data flow can occur until much later in the integration/testing process
  • 22. Bottom-up Integration  Integration and testing starts with the most atomic modules in the control hierarchy Advantages – This approach verifies low-level data processing early in the testing process – Need for stubs is eliminated  Disadvantages – Driver modules need to be built to test the lower-level modules; this code is later discarded or expanded into a full-featured version – Drivers inherently do not contain the complete algorithms that will eventually use the services of the lower-level modules; consequently, testing may be incomplete or more testing may be needed later when the upper level modules are available
  • 23. Comparison b/w conventional & OO s/w Unit Testing  In conventional software we are testing the individual units/modules…  In object oriented software testing the class individual classes & subclasses..  which tends to focus on the algorithmic detail of a module and the data that flow across the module interface.  OO software is driven by the operations encapsulated by the class and the state behavior of the class
  • 24. 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. It can also be defined as to demonstrate that the product fulfills its intended use when deployed on appropriate environment. It answers to the question, Are we building the right product?
  • 25. Validation Testing - Workflow: Validation testing can be best demonstrated using V-Model. The Software/product under test is evaluated during this type of testing. Activities: Unit Testing Integration Testing System Testing User Acceptance Testing
  • 26. Virtual Users: Virtual user is a common terminology used from a performance testing point of view. A Virtual user generator enables testers to create virtual users in order to increase the user load on the application under test. Virtual user generator captures the requests to create a virtual user and it can read user operations.
  • 27. SYSTEM TESTING SYSTEM TESTING is a level of software testing where a complete and integrated software is tested. The purpose of this test is to evaluate the system's compliance with the specified requirements. System testing is the testing of a system as a whole. End to end testing is performed to verify that all the scenarios are working as expected. Testing is performed using test data created by the testers. A system as a whole is tested to check the functionality & Performance of the product. Defects found in the testing can be fixed. Unit System and system integration testing are types for System testing.
  • 28. Types of System Testing Functionality Testing: To make sure that functionality of product is working as per the requirements defined, within the capabilities of the system. Performance Testing: To make sure system’s performance under the various condition, in terms of performance characteristics. Usability Testing: To make sure that system is easy to use, learn and operate.