want to contact me login to www.stqa.org


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • want to contact me login to www.stqa.org

    1. 1. Software Testing
    2. 2. What is Testing? <ul><li>A process of demonstrating that errors are not present </li></ul><ul><li>A process of establishing confidence that a program does what it is supposed to do. </li></ul><ul><li>A process of finding errors in a program </li></ul>
    3. 3. Objectives of Testing <ul><li>To greatest possible number of errors with a manageable find the amount of efforts applied over a realistic time span with a finite number of test cases. </li></ul>
    4. 4. What Does Software testing Reveal? errors requirements conformance or the lack of it performance an indication of quality
    5. 5. Testing – Why? <ul><li>Contribute to the delivery of higher quality software product </li></ul><ul><li>Undetected errors are costly to detect at a later stage </li></ul><ul><li>Satisfied users and to lower maintenance cost </li></ul>
    6. 6. Testing – How? <ul><li>By examining the internal structures and design </li></ul><ul><li>By examining the functional user interface </li></ul><ul><li>By examining the design objectives </li></ul><ul><li>By examining the users’ requirements </li></ul><ul><li>By executing code </li></ul>
    7. 7. Verification and Validation <ul><li>Verification refers to a set of activities that ensure that software correctly implements a specific function. </li></ul><ul><li>Validation refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements. </li></ul>
    8. 8. Verification and Validation <ul><li>Verification – Are we building the product right? </li></ul><ul><li>Validation – Are we building the right product? </li></ul>
    9. 9. Test Case <ul><li>“A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement. ” </li></ul><ul><li>(…IEEE) </li></ul><ul><li>In other words, a planned sequence of actions (with the objective of finding errors) </li></ul>
    10. 10. A Good Test-Case <ul><li>Has a high probability of detecting error(s) </li></ul><ul><li>Test cases help us discover information (.. Kaner) </li></ul><ul><li>e.g. of information objectives </li></ul><ul><ul><li>Help managers make ship / no-ship decisions. </li></ul></ul><ul><ul><li>Minimize technical support costs. </li></ul></ul><ul><ul><li>Assess conformance to specification. </li></ul></ul><ul><ul><li>Minimize safety-related lawsuit risk. </li></ul></ul><ul><ul><li>Verify correctness of the product. </li></ul></ul>
    11. 11. Other Terminologies <ul><li>Test Scenarios - Explains which test cases to process and how to process them. </li></ul><ul><li>Test Suite – A set of individual test cases/scenarios that are executed as a package, in a particular sequence. </li></ul><ul><li>Test Cycle – A test cycle consists of a series of test suites which comprises a complete execution set from the initial setup to the the test environment through reporting and clean up. </li></ul>
    12. 12. What Do We Test Fundamental issues : Functions, Portability, Usability, Reliability, Security, Availability Real-time issues : Timing, Capacity, Throughput,Performance System management issues: Overload, Backup & Recovery, Start-up and shut-down Purchased software Operating systems, DBMS, Communications, Graphics
    13. 13. Testing Techniques (Coverage) <ul><li>White Box Test Techniques </li></ul><ul><ul><ul><li>Code Coverage </li></ul></ul></ul><ul><ul><ul><ul><ul><li>Statement Coverage </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Decision Coverage </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Condition Coverage </li></ul></ul></ul></ul></ul><ul><ul><ul><li>Code complexity </li></ul></ul></ul><ul><ul><ul><li>Memory Leakage </li></ul></ul></ul><ul><li>Black Box Test Techniques </li></ul><ul><ul><li>Equivalence Partitioning </li></ul></ul><ul><ul><li>Cause-Effect Graphing </li></ul></ul><ul><ul><li>Boundary Value Analysis </li></ul></ul><ul><ul><li>Use Case / UMl </li></ul></ul><ul><ul><li>Error Guessing </li></ul></ul>
    14. 14. Test Case Design <ul><li>Complete testing is impossible. </li></ul><ul><li>The key issue of testing is to design test cases that has the highest probability of detecting the maximum errors. </li></ul><ul><li>One can develop a reasonably rigorous test by using certain black box oriented test case design methods and then supplementing them with those of white box. </li></ul>
    15. 15. Black Box Test Techniques <ul><li>Black box is data-driven, or input/output-driven testing </li></ul><ul><li>The Test Engineer is completely unconcerned about the internal behavior and structure of program </li></ul><ul><li>Black box testing is also known as behavioral, functional, opaque-box and closed-box. </li></ul>Input Output
    16. 16. White Box Test Techniques <ul><li>White Box Test Techniques </li></ul><ul><ul><ul><li>Code Coverage </li></ul></ul></ul><ul><ul><ul><ul><ul><li> Statement Coverage </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li> Decision Coverage </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li> Condition Coverage </li></ul></ul></ul></ul></ul><ul><ul><ul><li>Code complexity </li></ul></ul></ul><ul><ul><ul><li>Memory Leakage </li></ul></ul></ul>