SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.

Slides:



Advertisements
Similar presentations
Chapter 14 Software Testing Techniques - Testing fundamentals - White-box testing - Black-box testing - Object-oriented testing methods (Source: Pressman,
Advertisements

Software Testing Technique. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves.
Unit-V testing strategies and tactics.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Software Testing Testing.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Illinois Institute of Technology
Testing an individual module
Introduction to Software Testing
Types and Techniques of Software Testing
Software Testing & Strategies
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Chapter 13 & 14 Software Testing Strategies and Techniques
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
System/Software Testing
Extreme Programming Software Development Written by Sanjay Kumar.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Testing. Recap Software testing – Why do we do testing? – When it is done? – Who does it? Software testing process / phases in software testing.
CPIS 357 Software Quality & Testing
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Software Reviews & testing Software Reviews & testing An Overview.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing Testing types Testing strategy Testing principles.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Black-box Testing.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Engineering Saeed Akhtar The University of Lahore.
Theory and Practice of Software Testing
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 7.
VI SEM CSE UNIT IV SOFTWARE ENGINEERING PROJECT MANAGEMENT TESTING STRATEGIES By Mr. Vaibhav V. Bhujade DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING DMIETR,
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Testing Integral part of the software development process.
Software Testing Strategies for building test group
Software Testing.
Group mambers: Maira Naseer (BCS ).
Software Testing.
Rekayasa Perangkat Lunak Part-13
Software Testing.
Software Testing Techniques
Software Engineering (CSI 321)
Chapter 13 & 14 Software Testing Strategies and Techniques
UNIT-IV ECS-602 Software engineering PART-I
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Introduction to Software Testing
Software Testing (Lecture 11-a)
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Testing “If you can’t test it, you can’t design it”
Software Testing.
CSE 1020:Software Development
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

SOFTWARE TESTING

SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make these programs operate correctly. Software is not the collection of programs but also all associated documentation and configuration data which is need to make these programs operate correctly. SOFTWARE ENGINEERING SoftwareEngineering is an systematic, disciplined, quantifiable, approach to development,operation, and maintenance of software. SoftwareEngineering is an systematic, disciplined, quantifiable, approach to development,operation, and maintenance of software. The main intention of developing the software w projects is to satisfy the user needs with effort. The main intention of developing the software w projects is to satisfy the user needs with effort.

Communication (Collecting requirement from stack holders) Planning (Estimation the Budget and Creating the Required List) Deployment (Delivering the project and gathering the feedback) PHASES OF SOFTWARE DEVELOPEMENT Construction (Code Generation and Testing the Project) Modeling (Analyzing the Requirements and preparing the design for Project)

SOFTWARE TESTING SOFTWARE TESTING SoftwareTesting is a process of execution of the given S/W with an intension of finding bugs in it. SoftwareTesting is a process of execution of the given S/W with an intension of finding bugs in it. The testing is one of the essential steps of S/W development life cycle. The testing is one of the essential steps of S/W development life cycle. NEED FOR SOFTWARE TESTING NEED FOR SOFTWARE TESTING SoftwareTesting is to uncover error’s that were made during the design and construction phases. As errors are uncovered these errors must be corrected, the process of correcting the error is called the debugging.

code Unit Testing System Testing Validation Testing Integration Testing Design Requirements Software Engineering The testing strategy was developed by project engineers, and testing specialists. The need of developing the testing strategy is, if we perform the testing with out preparing a strategy it leads to unnecessary expenditure and waste of time. To over come these draw backs we prepare the Strategy.

 UNIT TESTING  VALIDATION TESTING  INTEGRATION TESTING  SYSTEM TESTING

Test Cases Interface Local data Structures Boundary conditions Independent paths Error Handling paths Module Module  Before performing any other test the data have to flow across the unit test conditions.  Unit test focus on internal processing logic and data structures with in the boundaries of components.  UNIT TESTING

Integration testing is a systematic technique for constructing the software while at the same conducting tests to uncover errors associated with interfacing. Integration testing is a systematic technique for constructing the software while at the same conducting tests to uncover errors associated with interfacing. TWO TYPES OF INTEGRATION TESTING  Incremental Testing: combining the each module one by one and testing is performed whenever a module is combined. In this error rectification is easy.  Non Incremental: All the modules are combined and entire project is tested at once. By this error detection becomes difficult and we can not perform complete testing.  INTEGRATION TESTING

TOP DOWN  This starts with higher components and progress towards the lower level components.  This uses DFS and BFS approaches for testing.  Project architecture is provided at the beginning of testing.  In this we cannot perform 100% testing. M1M1 M1M1 M2M2 M2M2 M4M4 M4M4 M5M5 M5M5 M8M8 M8M8 M3M3 M3M3 M7M7 M7M7 M6M6 M6M6

BOTTOM UP  This starts with low level components and progress towards high level components.  Clusters are the group of low level components.  Testing is conducted on each cluster.  The project architecture will not be provide till the last module is integrated.  Performed 100% testing. Cluster3 McMc McMc MaMa MaMa MbMb MbMb D1D1 D1D1 D2D2 D2D2 D3D3 D3D3 Cluster2 Cluster 1

 SMOKE TESTING  It is the daily based testing to check the shows topper errors. The main advantages of this testing is  We easily identify the error and  We easily correct the errors  STRUCTURAL TESTING (WHITEBOX TESTING)  This is sometimes called as glass box testing or white box testing  In this code is visible outsides so called glass box testing.  In this we test all independent paths, boundary conditions and all logical decision and local data structures.

PATH TESTING  It is one of the while box testing technique.  In path testing the path coverage criterion considers all possible logical paths in a program and leads to test cases aimed at exercising a program along each path.  To identify he independent path first we have to prepare the program in a simple control flow called flow graph.

main(){ int a,b,c; printf(“Enter values for A B and C”); scanf(“%d %d %d”,&a,&b,&c); if(a>b){ If(a>c) printf(“A is Biggers”); else printf(“C is Biggers”); } else if(b>c) printf(“B is Biggest”); else printf(“C is Biggest”); }

No Yes Start Read a,b,c a>b a>c b>c A is Big C is Big B is Big Stop C is Big FLOW CHART

R2R2 R1R1 R3R3 R4R4 In order to find the no of independent paths we use the flow graph with this flow graph we can find the independent paths using following techniques Identify no of regions =4 No of edges- No of nodes+2 = = 4 No of predicates +1 =3+1=4 FLOW GRAPH

BLACKBOX TESTING  This is also called behavior and functional testing.  White box and black box are complimentary one.  This testing focus on information domain and SRS documentation.  The function and behavior of system can be determined by Input and Output.

 VALIDATION TESTING  This testing mainly focus on requirements specified by the customer.  This is also called as acceptance test.  This is conducted by end user or customer in presence of developer.  This is achieved by series of Black box testing methods.  Formal Acceptance Testing:( For Single user i.e., the Bespoke product)  Informal Acceptance Testing : (For Multiple users i.e. the Generic product)

 ALPHA TESTING This is the testing conducted by the end users in the presence of developers, the presence of developers is because the end users does not have the knowledge of operation that product.  BETA TESTING This is conducted after the alpha testing in this the involvement of developer is absent. This is conducted after the alpha testing in this the involvement of developer is absent.

 SYSTEM TESTING  The system should interact with the previous existing systems i.e., it should be flexible to the environment.  This focus on the external system specifications.  In this testing the system is tested along with the other systems.  WAYS OF SYSTEM TESTING –Recovery testing –Security testing –Stress testing –Performance testing

CONCLUSION  In the Designer point of view testing is destruction process,designing as well as coding is the construction process but really the testing has the equal importance to the construction and designing phases. Finally we can conclude that we can not provide the customer with a Quality Product with out Testing.

Q U E R I E S