Presentation on theme: "Types and Techniques of Software Testing"— Presentation transcript:
1 Types and Techniques of Software Testing Presented By :Madeeha Khalid590-FBAS/BSSE/s08
2 Table of Contents Software Testing Why Software Testing Testing PrinciplesHistory of TestingTypes of Software TestingAvailable Tools And Techniques
3 Software TestingSoftware 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 Testing Principles All tests should be : Made according to customer requirementsPlanned long before Testing beginsBegin in-the-small and progress towards in-the-largeExhaustive Testing is not Possible
7 History of Testing Phase I. Before 1956: The Debugging-Oriented Period – Testing was not separated from debuggingPhase II. 1957~78: The Demonstration-Oriented Period– Testing to make sure that the software satisfies its specificationPhase III. 1979~82: The Destruction-Oriented Period– Testing to detect implementation faultsPhase IV. 1983~87: The Evaluation-Oriented Period– Testing to detect faults in requirements and design as well as in implementationPhase V. Since 1988: The Prevention-Oriented Period– Testing to prevent faults in requirements, design, and implementation
8 Types of Software Testing About 50 types of Testing available !
10 Black Box Testing Correctness Testing Only inputs and output functionality visibleInputs are given and outputs are compared against specificationNo implementation Details of the code are consideredData driven TestingTARGET :To find Incorrect or missing functions , interface errors andperformance errors
11 White Box Testing Correctness Testing Contrary to Black-box testing Structure and code visibleImplementation is given more importanceProgramming language , logic, styles are consideredTARGET: To check control-flow , looping ,Data-flow.All nodes are traversed at least once
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/harnessCode coverage analyzerAutomatic test case generator
13 Integration TestingTests interactions between two or more units or components.Usually done by programmers.Emphasizes interfaces.Types :Regression TestingIncremental Integration TestingSmoke Testing
14 Stages of Testing Testing in the Large System Testing End-to-End TestingOperations Readiness TestingBeta TestingLoad TestingStress TestingPerformance TestingReliability TestingRegression Testing
15 System Testing Test the functionality of the entire system. Usually done by professional testers.Types:Recovery TestingSecurity TestingLoad and Stress TestingPerformance TestingInstallation Testing
16 Acceptance Testing Alpha Testing Beta Testing Long Term Testing Insures that the project satisfies the customer RequirementsUsually done by both Testers and UsersTypes:Alpha TestingBeta TestingLong Term TestingCompatibility Testing
17 Automated Testing Software Testing Costly! Automation Way To Cut Down Cost!Still significant Amount of human intervention neededDegree of Automation remains mainly at the automated script level.