Software Testing Techniques

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

2 comments

Comments 1 - 2 of 2 previous next Post a comment

  • + JustinHunter JustinHunter 2 months ago
    Bill, Very nice presentation. You cover a lot of grounds in very few slides. Naturally, it is not possible to cover every important test design techniques in 18 slides. One topic in particular that has been proven to double tester productivity is combinationatorial testing (including pairwise, n-wise, and orthogonal array-based techniques). This approach has consistently been proven to be extremely effective but even most Fortune 100 companies do not use it regularly. To find out more about this approach (which is complementary to each of the techniques you describe), please see: ----- 1) Slides from a presentation I gave last week to a local group of testers: http://www.slideshare.net/JustinHunter/efficient-and-effective-test-design ----- 2) An article I co-authored that cites 10 projects that measured what happened to tester productivity when they implemented this approach. Productivity increased by 2.4X): http://csrc.nist.gov/groups/SNS/acts/documents/kuhn-kacker-lei-hunter09.pdf ----- 3) Additional articles about combinatorial testing: http://www.combinatorialtesting.com/clear-introductions-1 ----- 4) A tool my company has created to generate efficient sets of test cases. Specifically, users identify ’what’ they want to test for, hit a button, and our Hexawise test case generator will tell you what to test in what combination in each test case in order to achieve maximum coverage in the fewest possible number of tests: http://www.hexawise.com/users/new


    Thanks,

    - Justin www.hexawise.com
  • + uthandaraja uthandaraja 4 months ago
    Really nice presentation. Good and pricise.. Thank u. Regards, Raja. -Software Testing www.macrotesting.com
Post a comment
Embed Video
Edit your comment Cancel

6 Favorites

Software Testing Techniques - Presentation Transcript

  1. Software Testing Techniques Bill Bond 4/17/03
  2. Overview
    • This week - examine detailed testing techniques (technology)
    • Next week - discuss strategies that can be used to apply techniques (framework)
  3. Objectives
    • Testing - executing a program with the intent of finding an error
    • Good test case - high probability of finding an as-yet undiscovered error
    • Successful test - uncovers an as-yet undiscovered error
    • A destructive process
  4. Two ways
    • White box - Knowing internal working, verify operation of all the pieces, all the paths, early stages of testing
    • Black box - Knowing function desired, verify that function is fully operational, late stages of testing
  5. Limitations
    • Testing can not prove the absence of defects only that software defects are present
    • It is impossible to exercise “all” combinations
      • Even small programs would take years
  6. White Box Testing
    • Derive test cases to
      • Exercise all independent paths in module all least once
      • Exercise all logical decisions on true and false sides
      • Execute loops on boundaries and within operational bounds
      • Exercise internal data structures
  7. Black Box Testing
    • Focus on functionality and interface
      • Incorrect, missing functions
      • Interface errors
      • Errors in data structures / external DB access
      • Performance errors
      • Initialization / termination errors
  8. Basis Path Testing
    • Determine complexity
    • Test each execution path (execute every statement once)
    • Flow graph
      • Nodes - one or more procedural statements
      • Arcs - (edges) - flow of control (flow chart arrows)
      • Edges must terminate at node (even if null)
  9. Graphs Sequence If While Until Case
  10. More Definitions
    • Region - Area bounded by edges and nodes (area outside “all” regions is also counted as a region)
    • Predicate node - node that contains a condition
  11. Special Case Separate node created for each condition in “ if a or b then x else y” a b x x y
  12. Cyclomatic Complexity
    • Provides a quantitative measure of logical complexity
    • Defines number of independent paths in basis set ( upper bound on number of tests )
    • Independent path - introduces a new set of processing statements or new condition (moves along a new edge)
    • Basis set - set of independent paths: all statements executed, all conditions tested
  13. Cyclomatic Complexity
    • V(G) = number of regions
    • V(G) = edges - nodes + 2
    • V(G) = predicate nodes + 1
  14. Deriving Test Cases
    • Use design or code - draw flow graph
    • Determine cyclometric complexity
    • Determine basis set of paths
    • Prepare test cases to force execution of each path
  15. How Many Test Cases?
  16. How Many Test Cases?
  17. Equivalence Partitioning
    • Divide input domain into classes of data
    • Select test that represents class of data
    • Uncover a class of errors
    • Valid / Invalid states
      • Range
      • Specific value
      • Set
      • Boolean
  18. Boundary Value Analysis
    • Errors occur at class boundaries
    • Concentrate on boundaries
      • Range (a, b) - a, b, above, below
      • Set - min, max, above, below
      • Exercise data structures at boundary - example array of 100 elements

+ Kiran  KumarKiran Kumar, 2 years ago

custom

2707 views, 6 favs, 0 embeds more stats

Learn about Software Testing Techniques

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 2707
    • 2707 on SlideShare
    • 0 from embeds
  • Comments 2
  • Favorites 6
  • Downloads 0
Most viewed embeds

more

All embeds

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories