Software Testing Strategies Testing is a set of activities ...

  • 694 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
694
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
39
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Software Testing Strategies Testing is a set of activities that can be planned in advanced and conducted systematically. Testing begins at the module level. Testing conducted by the developer and an independent test group . Testing and debugging are different activities.
  • 2. Software Testing Strategies Verification and Validation: Verification: Consists of the set of activities that ensures that software correctly implements a specific function . Are we building the product right? Validation: a different set of activities that ensure that the software is traceable to customer requirements . Are we building the right product?
  • 3. Software Testing Strategies Achieving software quality: QUALITY Formal Technical Reviews Software Engineering Methods Standards and Procedures SCM & SQA Measurements Testing Software engineering methods: Analysis, design and implementation, enhance the quality with uniform techniques and predictable results . Reviews ensure quality at each step. V & V includes reviews, quality and configuration audits, performance monitoring, installation testing etc.
  • 4. Software Testing Strategies Organizing software testing: To be done by the developers and an independent testing group in tandem. A software testing strategy: Viewed as a spiral. C U D R S I V ST Software engineering Requirements Design Code Unit test Integration test Validation test System Test To develop  spiral in to test  spiral out
  • 5. Software Testing Strategies Unit testing: uses white box testing , exercises all paths  max error detection. Integration testing: dual problem of verification and program construction. Black box testing methods are used here. Validation testing: that software meets all functional , behavioural and performance requirements . System testing: all elements mesh properly. Overall system function/performance is achieved.
  • 6. Software Testing Strategies Criteria for completion of testing: Using statistical modelling and software reliability theory, models of software failures uncovered during the testing as a function of execution time can be developed. Logarithmic Poisson execution-time model: f(t) = (1/p) ln[(l o pt+1)] f(t) = cumulative number of failures that are expected to occur once the software has been tested for a execution time = t. l o = initial software failure intensity (failures per unit time) at the beginning of testing p = exponential reduction in failure intensity as errors are uncovered and repairs are made.
  • 7. Software Testing Strategies Instantaneous failure intensity can be derived as l(t) = l o / (l o pt +1) taking the derivative of f(t). Execution time t  Failures per test hour  Predicted failure intensity l(t)
  • 8. Software Testing Strategies Unit testing: Integration testing: Top-down Bottom-up Validation testing: Test Criteria alpha and beta testing System Testing: Recovery Security stress Performance Big Bang , Smoke testing, Sandwich testing Debugging
  • 9. Software Testing Strategies Scope in this class: Ensuring, Verifying, and Maintaining Software Integrity 1. Software Quality Assurance 2. Software Testing Techniques 3. Software Testing Strategies 4. Software Maintenance 5. Software Configuration Management Reference Book: Roger S. Pressman