Subject Name: Software Testing Subject Code: 10CS842 Prepared By:

Slides:



Advertisements
Similar presentations
System Integration Verification and Validation
Advertisements

Testing and Quality Assurance
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
1 Software Engineering Lecture 11 Software Testing.
Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
Requirements and Design
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
(c) 2007 Mauro Pezzè & Michal Young Ch 24, slide 1 Documenting Analysis and Test.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
BY: GARIMA GUPTA MCA FINAL YEAR WHAT IS SOFTWARE TESTING ? SOFTWARE TESTING IS THE PROCESS OF EXECUTING PROGRAMS OR SYSTEM WITH THE INTENT.
Lecture 6 Software Testing and jUnit CS140 Dick Steflik.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Categories of Testing.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
Prologue: The Software Process. Main Phases of Software Process 1. Requirements Analysis (answers “WHAT?”) Specifying what the application must do 2.
Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Chapter 3 Developing an algorithm. Objectives To introduce methods of analysing a problem and developing a solution To develop simple algorithms using.
Sample Problems for Testing
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
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.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 testing and installation 1 for testing you need: test data and test cases test plans and.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Syndicate Members: 1. GC Muhammad Uzair 2. GC Umer Naveed Malik.
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Development and Safety Critical Decisions
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
MIS 120 Test Planning.
Testing Tutorial 7.
Software Testing.
Rekayasa Perangkat Lunak Part-13
Approaches to ---Testing Software
SOFTWARE TESTING OVERVIEW
Software Testing.
Object-oriented software testing
Verification and Testing
Recall The Team Skills Analyzing the Problem
Object oriented system development life cycle
Software engineering – 1
Some Simple Definitions for Testing
IS442 Information Systems Engineering
Types of Testing Visit to more Learning Resources.
Unit# 9: Computer Program Development
Introduction to Software Testing
Lecture 09:Software Testing
Baisc Of 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 Verification and Validation
Software Verification and Validation
In the Senior Design Center
Summary.
Test Process “V” Diagram
Software Testing.
Software Verification and Validation
TYPES OF TESTING.
Software Development Chapter 1.
Presentation transcript:

Subject Name: Software Testing Subject Code: 10CS842 Prepared By: Tamilarasi.R Department: CSE Date 4/23/2018

A Perspective on Testing, Examples Unit –I A Perspective on Testing, Examples 4/23/2018

Topics Basic definitions Test cases Insights from a Venn diagram Identifying test cases Error and fault taxonomies Levels of testing Examples: Generalized pseudo code, The triangle problem, The Next Date function, The commission problem, The SATM (Simple Automatic Teller Machine) problem, The currency converter, Saturn windshield wiper.   4/23/2018

Basic Definitions Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. 4/23/2018

Test Cases A test case is a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly. Formal Test cases A formal written test-case is characterized by a known input and by an expected output, which is worked out before the test is executed. Informal Test cases For applications or systems without formal requirements, test cases can be written based on the accepted normal operation of programs of a similar class. 4/23/2018

Test case format Test case ID Test case description Test step or order of execution number Related requirement(s) Depth Test category Author Check boxes for whether the test can be or has been automated Pass/Fail Remarks 4/23/2018

Characteristics of good Test case Accurate: Exacts the purpose. Economical: No unnecessary steps or words. Traceable: Capable of being traced to requirements. Repeatable: Can be used to perform the test over and over. Reusable: Can be reused if necessary. 4/23/2018

Insights from a Venn diagram A diagram using circles to represent sets, with the position and overlap of the circles indicating the relationships between the sets. 4/23/2018

Identifying test cases There are many approaches available in software testing. Reviews, walkthroughs, or inspections are referred to as static testing, whereas actually executing programmed code with a given set of test cases is referred to as dynamic testing. Software testing methods are traditionally divided into white- and black-box testing. White-box testing tests internal structures or workings of a program, as opposed to the functionality exposed to the end-user. 4/23/2018

Black-box testing treats the software as a "black box", examining functionality without any knowledge of internal implementation Specification-based testing aims to test the functionality of software according to the applicable requirements. The aim of visual testing is to provide developers with the ability to examine what was happening at the point of software failure by presenting the data in such a way that the developer can easily find the information he or she requires, and the information is expressed clearly. Grey-box testing involves having knowledge of internal data structures and algorithms for purposes of designing tests, while executing those tests at the user, or black-box level 4/23/2018

Error and fault taxonomies Fault : It is a condition that causes the software to fail to perform its required function. Error : Refers to difference between Actual Output and Expected output. Failure : It is the inability of a system or component to perform required function according to its specification. 4/23/2018

Levels of testing There are generally four recognized levels of tests: Unit testing Integration testing System testing Acceptance testing. Unit testing, also known as component testing, refers to tests that verify the functionality of a specific section of code, usually at the function level. Integration testing is any type of software testing that seeks to verify the interfaces between components against a software design. 4/23/2018

Component interface testing The practice of component interface testing can be used to check the handling of data passed between various units, or subsystem components, beyond full integration testing between those units. System testing, or end-to-end testing, tests a completely integrated system to verify that it meets its requirements Acceptance Testing At last the system is delivered to the user for Acceptance testing. 4/23/2018

Example for testing Generalized pseudo code, The triangle problem, The Next Date function, The commission problem, The SATM (Simple Automatic Teller Machine) problem, The currency converter, Saturn windshield wiper 4/23/2018