Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
Lecture 8: Testing, Verification and Validation
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Illinois Institute of Technology
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
Testing an individual module
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
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 Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CMSC 345 Fall 2000 Unit Testing. The testing process.
CS4311 Spring 2011 Unit Testing Dr. Guoqiang Hu Department of Computer Science UTEP.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Ch6: Software Verification. 1 Decision table based testing  Applicability:  Spec. is described by a decision table.  Tables describe:  How combinations.
Software Testing Testing types Testing strategy Testing principles.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
What is Testing? Testing is the process of finding errors in the system implementation. –The intent of testing is to find problems with the system.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
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 Quality Assurance and Testing Fazal Rehman Shamil.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Software Testing Strategies for building test group
Software Testing.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Testing.
Rekayasa Perangkat Lunak Part-13
Software Testing.
TESTING TOOLS MANUAL APPROACH BY J.ADI SESHU.
Testing and Debugging PPT By :Dr. R. Mall.
SOFTWARE TESTING OVERVIEW
Software Engineering (CSI 321)
Chapter 18 Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques
Structural testing, Path Testing
Types of Testing Visit to more Learning Resources.
UNIT-IV ECS-602 Software engineering PART-I
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Software Testing (Lecture 11-a)
Lecture 09:Software Testing
Verification and Validation Unit Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Software testing.
Chapter 10 – Software Testing
Software Testing “If you can’t test it, you can’t design it”
CSE 1020:Software Development
Chapter 7 Software Testing.
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:

Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution Purpose Execution History Pre Condition Result Inputs If fails (any Possible Reasons) Expected Outputs Any other Observation Post Conditions Any Suggestion Written By Run By Date

Functional Testing/ Black Box Testing It involves only observation of the output for certain input values. There is no attempt To analyse code which produces the output. We ignore internal structure of code. Therefore it is also known as Black Box Testing. Input Test Data System under test Output Test data

Types of FT Boundary Value Analysis Equivalence Class Testing Decision Table Based Testing

Equivalence Class Testing Input domain is partitioned into finite number of equivalence. If one test case in class detects errors , all other test cases in the class would be expected to find same errors. Two steps are required in implement these methods 1- The equivalence classes are identified by taking each input condition and partition it into valid and invalid classes.

2- Generate test cases Using equivalence classes Valid I/P System Under Test Outputs Invalid Input

Decision Table based testing Decision tables are use to represent and analyse logical relationships. It is used in situation where a no of combinations of actions are taken under varying sets of conditions.

Condi c1 Entry tion c2 True False stub c3 T F - ACTION a1 X x Stub a2 a3

Structural Testing/ White box testing It permits to examine internal structure of the program. If we have checked program against functional tests and no errors are revealed, then further inspection by structural tests revels a piece of code that is not even needed by specifications and hence not examined by functional testing.

Path testing A group of test techniques based on judiciously selecting a set of test paths through the program. This testing involves Generating a set of paths that will cover every branch in the program. Finding a set of test cases that will execute every path in this set of program paths.

Flow Graph Control flow of a program can be analysed using a graphical representation known as flow graph. It is a directed graph in which nodes are either entire statements and edges represents flow of control.

DD path graph Decision to decision path graph The nodes flow graph which are in a sequence are combines into a single node. INDEPENDENT PATHS It is any path through DD path graph that introduces at least processing statements (edge).

Levels of Testing Unit testing Integration Testing System testing

Unit testing It is the process of taking the module and running it in isolation from the rest of the software product. Reason The size of single module is small enough that we can locate an error fairly easily.

Driver routine is used to call the module Stub replace the module called by the module to be tested. I/P Parameter Out Parameter Back Mark Scaffolding (codes) Driver Test Module Stub Stub stub

Integration Testing Two or more modules Integration testing checks interface b/w modules Top down and Bottom up approaches SYSTEM TESTING Whole s/w

Alpha Testing It is conducted by developer’s site by customer. These tests are conducted in controlled environment. Beta testing - It is conducted by customers/ users at their sites. It is tested in controlled environment that is not controlled by developer. Customers are expected to report failures reports, developer modify the code and fix the bug and prepare the product for final release.

Verification It is the process of evaluating a system or component to determine whether the products of a given development satisfies the condition imposed at the start of that phase. Verification is primarily related to manual testing. Verification activities are applied to early phase of SDLC such as requirement, design, planning etc.

Validation It is a process of evaluating a system or component during or at the end of development process to determine whether it satisfies the specified requirement. Validation requires actual execution of the program and it is also known as computer based testing. Testing= verification+validation

Regression testing Regression testing is the process of retesting the modified parts of the s/w and ensuring that no new errors have been introduced into previously tested code. Development Testing Regression Testing We creates test cases We can make use of existing test cases We test all s/w component We retest affected components that have been modified by modifications. Budget gives time for testing Budget often does not give time for testing We perform testing just once on a s/w product We perform it many times over the life of the s/w product.

Debugging Debugging is the activity of locating and correcting errors. Debugging occurs as a consequence of successful testing. Symptom may appear in one of a program, while the cause may actually be located in other part. Symptom may disappear (temporarily) when another error is corrected.

Symptom may actually be caused by non errors ( round off) Symptom may be result in timing problems rather than processing elements.

Debugging Strategies Brute force: Let the computer find the error. Backtracking: source code is traced backward until the site of code is found. Cause elimination: Induction (device a hypothesis, prove hypothesis ), deduction ( make count of hypothesis, prove remaining hypothesis)

Testing Tools Two broad categories of s/w testing tools are: Static and Dynamic Static tools: These are the tools that perform analysis of the programs without executing them at all. (A) Static Analysers: It operates from a pre computed database of descriptive information derived from the source text of the program. It checks whole program.

(b) Code Inspectors: who inspect programs automatically to make sure they adhere to minimum quality standards. (c) Standards enforcers: which impose simple rules on the developer. It will look at single statement.

Dynamic Testing tools: Coverage Analyzers: Which measures the extent of coverage. Output Comparators: Used to design whether the output in a program is appropriate or not. Regression testing. Test file/data generators: Used to set up test inputs.

Test harness: used to simplify test operations. Test archiving systems : used to provide documentation about programs.