Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.

Similar presentations


Presentation on theme: "Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow."— Presentation transcript:

1 Software Testing By Souvik Roy

2 What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.

3 Goals of Testing  Detect faults  Establish confidence in software  Evaluate properties of software  Reliability  Performance  Memory Usage  Security  Usability

4 Software Testing Difficulties Most of the software testing literature equates test case selection to software testing but that is just one difficult part. Other difficult issues include:  Determining whether or not outputs are correct.  Comparing resulting internal states to expected states.  Determining whether adequate testing has been done.  Determining what you can say about the software when testing is completed.  Measuring performance characteristics.  Comparing testing strategies.

5 Determining the Correctness of Outputs We frequently accept outputs because they are plausible rather than correct. It is difficult to determine whether outputs are correct because:  We wrote the software to compute the answer.  There is so much output that it is impossible to validate it all.  There is no (visible) output.

6 Dimensions of Test Case Selection  Stages of Development  Source of Information for Test Case Selection

7 Stages of Testing Testing in the Small  Unit Testing  Feature Testing  Integration Testing

8 Unit Testing Tests the smallest individually executable code units. Usually done by programmers. Test cases might be selected based on code, specification, intuition, etc. Tools:  Test driver/harness  Code coverage analyzer  Automatic test case generator

9 Integration Testing Tests interactions between two or more units or components. Usually done by programmers. Emphasizes interfaces. Issues:  In what order are units combined?  How do you assure the compatibility and correctness of externally-supplied components?

10 Stages of Testing Testing in the Large System Testing End-to-End Testing Operations Readiness Testing Beta Testing Load Testing Stress Testing Performance Testing Reliability Testing Regression Testing

11 Testing Methods  Static Testing  Dynamic Testing  The Box Approach  White Box Testing  Black Box Testing  Grey Box Testing  Visual Testing

12 Realities of System Testing  Not all problems will be found no matter how thorough or systematic the testing.  Testing resources (staff, time, tools, labs) are limited.  Specifications are frequently unclear/ambiguous and changing (and not necessarily complete and up-to-date).  Systems are almost always too large to permit test cases to be selected based on code characteristics.

13 Objectives of Testing  Installation Testing  Compatibility Testing  Smoke and Sanity Testing  Regression Testing  Alpha Testing  Functional and Non-Functional Testing  Destructive Testing  Software Performance Testing  Usability Testing

14 Thank You


Download ppt "Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow."

Similar presentations


Ads by Google