SlideShare a Scribd company logo
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.
Software Testing Strategies ,Validation Testing and System Testing.
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?”
Software Testing Strategies ,Validation Testing and System Testing.
Software Testing Strategies ,Validation Testing and System Testing.
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
Software Testing Strategies ,Validation Testing and System Testing.
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
Software Testing Strategies ,Validation Testing and System Testing.
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

More Related Content

What's hot (20)

PPTX
Control Flow Testing
Hirra Sultan
 
PPTX
Software testing
Madhumita Chatterjee
 
PPT
Chapter 01 software engineering pressman
RohitGoyal183
 
PPT
Test Levels & Techniques
Dhanasekaran Nagarajan
 
PPTX
White Box Testing
MariamKhan120
 
PPT
Software Testing Fundamentals
Chankey Pathak
 
PPSX
Principles of Software testing
Md Mamunur Rashid
 
PPTX
System testing
Sifat Hossain
 
PPTX
Software quality assurance
Aman Adhikari
 
PPTX
Software Quality Assurance
Saqib Raza
 
PPT
Software Testing 101
QA Hannah
 
PPT
Software Testing
Abdul Basit
 
PPTX
RMMM Plan
Ankit Bahuguna
 
PPTX
SDLC Models
akash250690
 
PPTX
Software quality assurance
University of Sargodha
 
PPTX
Software testing
balamurugan.k Kalibalamurugan
 
PPT
Pressman ch-11-component-level-design
Oliver Cheng
 
PPTX
Software Testing
Sengu Msc
 
PPTX
Software testing.ppt
Komal Garg
 
PPTX
Software Testing and Quality Assurance unit1
Bhagyashree Dhakulkar
 
Control Flow Testing
Hirra Sultan
 
Software testing
Madhumita Chatterjee
 
Chapter 01 software engineering pressman
RohitGoyal183
 
Test Levels & Techniques
Dhanasekaran Nagarajan
 
White Box Testing
MariamKhan120
 
Software Testing Fundamentals
Chankey Pathak
 
Principles of Software testing
Md Mamunur Rashid
 
System testing
Sifat Hossain
 
Software quality assurance
Aman Adhikari
 
Software Quality Assurance
Saqib Raza
 
Software Testing 101
QA Hannah
 
Software Testing
Abdul Basit
 
RMMM Plan
Ankit Bahuguna
 
SDLC Models
akash250690
 
Software quality assurance
University of Sargodha
 
Pressman ch-11-component-level-design
Oliver Cheng
 
Software Testing
Sengu Msc
 
Software testing.ppt
Komal Garg
 
Software Testing and Quality Assurance unit1
Bhagyashree Dhakulkar
 

Similar to Software Testing Strategies ,Validation Testing and System Testing. (20)

PPTX
Testing strategies part -1
Divya Tiwari
 
DOCX
Softwaretestingstrategies
saieswar19
 
PDF
Software Testing.pdf
ManojKumar533913
 
PPT
Chapter 9 Testing Strategies.ppt
VijayaPratapReddyM
 
PPT
Unit 4 chapter 22 - testing strategies.ppt
RajaShekar963644
 
PPT
Testing strategies in Software Engineering
MuhammadTalha436
 
PPT
Unit iv-testing-pune-university-sres-coe
Hitesh Mohapatra
 
PPT
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
PPTX
Software Engineering and Project Management - Software Testing + Agile Method...
Prakhyath Rai
 
PPT
software-testing-strategies888888888.ppt
sameera abu-ghalyoon
 
PPTX
Software testing lecture software engineering
aabd9934
 
PPTX
Software Testing Strategy
Ajeng Savitri
 
PPT
Lecture18- Testing Strategy.ppt by aiman
AIMANFATIMA866050
 
PPTX
Software Testing Strategies
Alpana Bhaskar
 
PPTX
08 fse verification
Mohesh Chandran
 
PPTX
Software testing
Ashu Bansal
 
PPT
Lec25
Omkar Gupta
 
PPT
Software Testing Tutorials - MindScripts Technologies, Pune
sanjayjadhav8789
 
PPT
Testing strategies
chaitanya_yarlagadda
 
DOC
software engineering
Subhanshu Mittal
 
Testing strategies part -1
Divya Tiwari
 
Softwaretestingstrategies
saieswar19
 
Software Testing.pdf
ManojKumar533913
 
Chapter 9 Testing Strategies.ppt
VijayaPratapReddyM
 
Unit 4 chapter 22 - testing strategies.ppt
RajaShekar963644
 
Testing strategies in Software Engineering
MuhammadTalha436
 
Unit iv-testing-pune-university-sres-coe
Hitesh Mohapatra
 
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
Software Engineering and Project Management - Software Testing + Agile Method...
Prakhyath Rai
 
software-testing-strategies888888888.ppt
sameera abu-ghalyoon
 
Software testing lecture software engineering
aabd9934
 
Software Testing Strategy
Ajeng Savitri
 
Lecture18- Testing Strategy.ppt by aiman
AIMANFATIMA866050
 
Software Testing Strategies
Alpana Bhaskar
 
08 fse verification
Mohesh Chandran
 
Software testing
Ashu Bansal
 
Software Testing Tutorials - MindScripts Technologies, Pune
sanjayjadhav8789
 
Testing strategies
chaitanya_yarlagadda
 
software engineering
Subhanshu Mittal
 
Ad

Recently uploaded (20)

PDF
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
PPTX
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
 
PDF
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
PPTX
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
PPTX
Precooling and Refrigerated storage.pptx
ThongamSunita
 
PDF
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
PDF
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
PPTX
Work at Height training for workers .pptx
cecos12
 
PPT
FINAL plumbing code for board exam passer
MattKristopherDiaz
 
PDF
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
PPTX
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
PDF
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
PDF
01-introduction to the ProcessDesign.pdf
StiveBrack
 
PDF
Decision support system in machine learning models for a face recognition-bas...
TELKOMNIKA JOURNAL
 
PPTX
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
PDF
How to Buy Verified CashApp Accounts IN 2025
Buy Verified CashApp Accounts
 
PDF
lesson4-occupationalsafetyandhealthohsstandards-240812020130-1a7246d0.pdf
arvingallosa3
 
PPTX
Mobile database systems 20254545645.pptx
herosh1968
 
PDF
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
PDF
PRIZ Academy - Process functional modelling
PRIZ Guru
 
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
 
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
Precooling and Refrigerated storage.pptx
ThongamSunita
 
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
Work at Height training for workers .pptx
cecos12
 
FINAL plumbing code for board exam passer
MattKristopherDiaz
 
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
01-introduction to the ProcessDesign.pdf
StiveBrack
 
Decision support system in machine learning models for a face recognition-bas...
TELKOMNIKA JOURNAL
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
How to Buy Verified CashApp Accounts IN 2025
Buy Verified CashApp Accounts
 
lesson4-occupationalsafetyandhealthohsstandards-240812020130-1a7246d0.pdf
arvingallosa3
 
Mobile database systems 20254545645.pptx
herosh1968
 
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
PRIZ Academy - Process functional modelling
PRIZ Guru
 
Ad

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.
  • 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?”
  • 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
  • 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
  • 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.