Introduction to Software Engineering 
Muhammad Nasir 
Software Testing Strategies 
m.nasir@iiu.edu.pk
Agenda 
 Software Testing 
 What Software Testing Shows 
 Strategic Approach 
 Verification & Validation 
 Who Test the Software 
 Software Testing Strategy 
 Strategic Testing Issues 
 Unit Testing
Software Testing 
“Software Testing is the process of 
executing a software system with the 
intent of finding errors prior to delivery 
to the end user”
What Software Testing Shows
Strategic Approach
Verification & Validation
Who Test the Software?
Organizing for Software Testing 
 Misconceptions regarding the use of 
independent testing teams 
 The developer should do no testing at all 
 Testers are not involved with the project until it is 
time for it to be tested 
 The developer and Independent Test Group 
(ITG) must work together throughout the 
software project to ensure that thorough 
tests will be conducted
Software Testing Strategy
Software Testing Strategy 
 Unit Testing – makes heavy use of testing techniques that 
exercise specific control paths to detect errors in each software 
component individually 
 Integration Testing – focuses on issues associated with 
verification and program construction as components begin 
interacting with one another 
 Validation Testing – provides assurance that the software 
validation criteria (established during requirements analysis) 
meets all functional, behavioral, and performance 
requirements 
 System Testing – verifies that all system elements mesh 
properly and that overall system function and performance 
has been achieved
Strategic Testing Issues
Strategic Testing Issues
Unit Testing
Unit Testing
Unit Testing
Unit Testing 
 Module interfaces are tested for proper 
information flow. 
 Local data are examined to ensure that 
integrity is maintained. 
 Boundary conditions are tested. 
 Basis (independent) path are tested. 
 All error handling paths should be tested. 
 Drivers and/or stubs need to be developed 
to test incomplete software.
The End 
 Thanks for listening 
 Questions would be appreciated.

Introduction to Software Engineering 1

  • 1.
    Introduction to SoftwareEngineering Muhammad Nasir Software Testing Strategies m.nasir@iiu.edu.pk
  • 2.
    Agenda  SoftwareTesting  What Software Testing Shows  Strategic Approach  Verification & Validation  Who Test the Software  Software Testing Strategy  Strategic Testing Issues  Unit Testing
  • 3.
    Software Testing “SoftwareTesting is the process of executing a software system with the intent of finding errors prior to delivery to the end user”
  • 4.
  • 5.
  • 6.
  • 7.
    Who Test theSoftware?
  • 8.
    Organizing for SoftwareTesting  Misconceptions regarding the use of independent testing teams  The developer should do no testing at all  Testers are not involved with the project until it is time for it to be tested  The developer and Independent Test Group (ITG) must work together throughout the software project to ensure that thorough tests will be conducted
  • 9.
  • 10.
    Software Testing Strategy  Unit Testing – makes heavy use of testing techniques that exercise specific control paths to detect errors in each software component individually  Integration Testing – focuses on issues associated with verification and program construction as components begin interacting with one another  Validation Testing – provides assurance that the software validation criteria (established during requirements analysis) meets all functional, behavioral, and performance requirements  System Testing – verifies that all system elements mesh properly and that overall system function and performance has been achieved
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    Unit Testing Module interfaces are tested for proper information flow.  Local data are examined to ensure that integrity is maintained.  Boundary conditions are tested.  Basis (independent) path are tested.  All error handling paths should be tested.  Drivers and/or stubs need to be developed to test incomplete software.
  • 17.
    The End Thanks for listening  Questions would be appreciated.

Editor's Notes

  • #16 Software Stub: A stub is a small program routine that substitutes for a longer program