1 / 24

Software Testing

Software Testing . Types and Techniques of Software Testing. Presented By : Madeeha Khalid 590-FBAS/BSSE/s08. Table of Contents. Software Testing Why Software Testing Testing Principles History of Testing Types of Software Testing Available Tools And Techniques. Software Testing.

slone
Download Presentation

Software Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Testing Types and Techniques of Software Testing Presented By : Madeeha Khalid 590-FBAS/BSSE/s08

  2. Table of Contents • Software Testing • Why Software Testing • Testing Principles • History of Testing • Types of Software Testing • Available Tools And Techniques

  3. Software Testing Software Testing is a process of evaluating a system by manual or automatic means and verify that it satisfies specified requirements or identify differences between expected and actual results.

  4. The general aim of testing is to affirm the quality of software systems by systematically exercising the software in carefully controlled circumstances. ------Miller

  5. Why Software Testing ???? • Error Free • Efficient • Secured • Flexible • Software Testing is important as it may cause mission failure, impact on operational performance and reliability, if not done properly !

  6. All tests should be : • Made according to customer requirements • Planned long before Testing begins • Begin in-the-small and progress towards in-the-large • Exhaustive Testing is not Possible Testing Principles

  7. Phase I. Before 1956: The Debugging-Oriented Period – Testing was not separated from debugging Phase II. 1957~78: The Demonstration-Oriented Period – Testing to make sure that the software satisfies its specification Phase III. 1979~82: The Destruction-Oriented Period – Testing to detect implementation faults Phase IV. 1983~87: The Evaluation-Oriented Period – Testing to detect faults in requirements and design as well as in implementation Phase V. Since 1988: The Prevention-Oriented Period – Testing to prevent faults in requirements, design, and implementation History of Testing

  8. Types of Software Testing About 50 types of Testing available !

  9. Classification by Purpose • Correctness Testing • Performance Testing • Reliability Testing • Security Testing • By Life-Cycle Phase • Requirements Phase Testing • Design Phase Testing • Program Phase Testing • Evaluating Test Results • Installation Phase Testing • Acceptance Testing • By Scope • Unit Testing • Component Testing • Integration Testing • System Testing Testing Classification

  10. Correctness Testing • Only inputs and output functionality visible • Inputs are given and outputs are compared against specification • No implementation Details of the code are considered • Data driven Testing Black Box Testing TARGET :To find Incorrect or missing functions , interface errors and performance errors

  11. Correctness Testing • Contrary to Black-box testing • Structure and code visible • Implementation is given more importance • Programming language , logic, styles are considered • TARGET: To check control-flow , looping ,Data-flow. • All nodes are traversed at least once White Box Testing

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

  13. Tests interactions between two or more units or components. • Usually done by programmers. • Emphasizes interfaces. Types : • Regression Testing • Incremental Integration Testing • Smoke Testing Integration Testing

  14. 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 Stages of Testing

  15. Test the functionality of the entire system. • Usually done by professional testers. Types: • Recovery Testing • Security Testing • Load and Stress Testing • Performance Testing • Installation Testing System Testing

  16. Insures that the project satisfies the customer Requirements • Usually done by both Testers and Users • Types: • Alpha Testing • Beta Testing • Long Term Testing • Compatibility Testing Acceptance Testing

  17. Software Testing Costly! • Automation Way To Cut Down Cost! • Still significant Amount of human intervention needed • Degree of Automation remains mainly at the automated script level. Automated Testing

  18. And Many Other types of….

  19. Available Tools And Techniques

  20. A lot of Testing Tools available. Some Are : • Mathora • NuMega’s Boundschecker,National’s Purify • Ballista COTS Software Robustness Testing Harness Available Tools And Techniques

  21. Mutation Testing tool developed at Purdue University • Can Create and Execute Test cases • measures adequacy • Determine Input-Output Correctness • Remove Bugs Mathora

  22. Runtime Checking and Debugging Aids • Check and protect against Memory Leaks and Pointer problems NuMega’s Boundchecker, National’s Purify

  23. Full Scale Automated robustness Testing Tool Ballista COTS Software Robustness Testing Harness

  24. Thanks for Listening…

More Related