Download presentation
Presentation is loading. Please wait.
Published byLaurence West Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.