Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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


Published on

  • Be the first to comment

  • Be the first to like this

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

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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