SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.

Slides:



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

Software Testing Technique. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves.
Software Testing and Analysis. Ultimate goal for software testing 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.
Software Engineering-II Sir zubair sajid. What’s the difference? Verification – Are you building the product right? – Software must conform to its specification.
Software testing.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Creator: ACSession No: 12 Slide No: 1Reviewer: CSE300Advanced Software EngineeringJanuary 2006 Testing Strategy CSE300 Advanced Software Engineering University.
Testing an individual module
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
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.
Verification and Validation
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
System/Software Testing
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software testing techniques 3. Software testing
1 Debugging and Testing Overview Defensive Programming The goal is to prevent failures Debugging The goal is to find cause of failures and fix it Testing.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
CSC 480 Software Engineering Lecture 14 Oct 16, 2002.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
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.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing Testing types Testing strategy Testing principles.
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Verification and Validation Assuring that a software system meets a user's needs.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
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.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
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.
 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.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
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.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Defect testing Testing programs to establish the presence of system defects.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
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 Date: 29-Dec-2016 By: Ram Karthick.
Software Testing.
Rekayasa Perangkat Lunak Part-13
Software Testing Techniques
Software Testing An Introduction.
Verification & Validation
Lecture 09:Software Testing
Verification and Validation Unit Testing
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.
Chapter 7 Software Testing.
Presentation transcript:

SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53

 Linda(Linda you want to put what is mean by Quality assurance in 7 th slide.put that ma…..)

What is Testing?  “Testing is the process of executing a program with the intent of finding errors ”  “Testing is the process of evaluating a system by manual or automatic means and verify that it satisfies specified requirements”

What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.

Most Common Software problems  Incorrect calculation  Incorrect data edits & ineffective data edits  Incorrect matching and merging of data  Data searches that yields incorrect results  Incorrect processing of data relationship  Incorrect coding / implementation of business rules  Inadequate software performance

Cont….  Confusing or misleading data  Software usability by end users & Obsolete Software Obsolete Software  Inconsistent processing  Unreliable results or performance  Inadequate support of business needs  Incorrect or inadequate interfaces with other systems  Inadequate performance and security controls  Incorrect file handling

Ultimate goal for software testing Quality Assurance

Goals of Testing  Detect faults  Establish confidence in software  Evaluate properties of software  Reliability  Performance  Memory Usage  Security  Usability

Objectives of testing  Executing a program with the intent of finding an error.  To check if the system meets the requirements and be executed successfully in the Intended environment.  To check if the system is “ Fit for purpose”.  To check if the system does what it is expected to do.

Objectives of testing  A good test case is one that has a probability of finding an as yet undiscovered error.  A successful test is one that uncovers a yet undiscovered error.  A good test is not redundant.  A good test should be “best of breed”.  A good test should neither be too simple nor too complex.

Objective of a Software Tester  Find bugs as early as possible and make sure they get fixed.  To understand the application well.  Study the functionality in detail to find where the bugs are likely to occur.  Study the code to ensure that each and every line of code is tested.  Create test cases in such a way that testing is done to uncover the hidden bugs and also ensure that the software is usable and reliable

 Jack

Why Software Testing?  Defects are found during operation  It results in high maintenance cost and user dissatisfaction  It may cause mission failure  Impact on operational performance and reliability

What Testing Shows ? errors requirements conformance performance an indication of quality

What exactly does Software Tester Do? What exactly does Software Tester Do?   “The goal of Software Tester is to find bugs”   “The goal of a Software Tester is to find bugs, and find them as early as possible”.   “The goal of a Software Tester is to find bugs, and find them as early as possible and make sure they get fixed”

Testing Principles  All tests should be traceable to customer requirements. The most severe defects from customer’s point of view are those that cause the program to fail to meet customer requirements.  Tests should be planned long before testing begins, and do not plan testing under the assumption that no errors will be found.

Cont.. Cont..  Testing should focus on individual components, and as testing progresses, focus shifts in an attempt to find errors in integrated clusters of components.  Exhaustive testing is not practical, therefore testing focus of choosing subset of test cases that maximize the chance of revealing errors.

Cont..  The most effective testing should be conducted by an independent third party. A programmer must avoid to test his own program (Misunderstand of specifications or critique their own work).  The Pareto problem applies to software testing. So 80% of all errors uncovered during testing will likely be traceable to 20% of all program components so the problem is to isolate these suspect components and thoroughly test them.

Cont..  A test case consist of two components, input data description and correct output for each input data. These two components must be prepared in advance as the eye see what it wants to see.  Test cases must be written for invalid and unexpected input conditions as well as valid and expected input conditions.

Test Planning and Documentation Test Planning and Documentation  Testers should specify the expected result of every test, in advance.  There should be at least one thoroughly documented test for every requirement item or specification item.  Testers should design most or all tests early in development.  Testers should design all tests for reuse as regression tests.

The Test Life Cycle  Establish the test objectives  Design the test cases  Write the test cases.  Testing of the test-cases  Executing of the tests  Evaluation of the test results.

Test Types  Functional tests  Algorithmic tests  Positive tests  Negative tests  Usability tests  Boundary tests  Startup/shutdown tests  Platform tests  Load/stress tests

vahitha

Software Testing Difficulties  Most of the software testing literature equates test  case selection to software testing but that is just one  difficult part. Other difficult issues include:  Determining whether or not outputs are correct.

Cont..  Comparing resulting internal states to expected states.  Determining whether adequate testing has been done.  Determining what you can say about the software when testing is completed.  Measuring performance characteristics.  Comparing testing strategies.

Stages of Testing  System Testing  End-to-End Testing  Operations Readiness Testing  Beta Testing  Load Testing  Stress Testing  Performance Testing  Reliability Testing  Regression Testing

Verification & Validation goals  Verification and validation should establish confidence that the software is fit for purpose  This does NOT mean completely free of defects  Rather, it must be good enough for its intended use and the type of use will determine the degree of confidence that is needed

 Software inspections and walkthroughs - Concerned with analysis of the static system representation to discover problems (static verification)  Software testing - Concerned with exercising and observing product behaviour (dynamic verification) Static and dynamic verification

Static and dynamic V&V

 Jeyaramar

Methods of testing  Test to specification:  Black box,  Data driven  Functional testing  Code is ignored: only use specification document to develop test cases  Test to code:  Glass box/White box  Logic driven testing  Ignore specification and only examine the code.

Black-box testing  An approach to testing where the program is considered as a ‘black-box’  The program test cases are based on the system specification  Test planning can begin early in the software process

Black-box testing

 Sometime called structural testing or glass-box testing  Derivation of test cases according to program structure  Knowledge of the program is used to identify additional test cases  Objective is to exercise all program statements (not all path combinations) White-box testing

White box testing - binary search example int search ( int key, int [] elemArray) { int bottom = 0; int top = elemArray.length - 1; int mid; int result = -1; while ( bottom <= top ) { mid = (top + bottom) / 2; if (elemArray [mid] == key) { result = mid; result = mid; return result; return result; } // if part

Cont.. else{ if (elemArray [mid] < key) if (elemArray [mid] < key) bottom = mid + 1; bottom = mid + 1; else else top = mid - 1; top = mid - 1;} } //while loop return result; } // search

 Pre-conditions satisfied, key element in array  Pre-conditions satisfied, key element not in array  Pre-conditions unsatisfied, key element in array  Pre-conditions unsatisfied, key element not in array  Input array has a single value  Input array has an even number of values  Input array has an odd number of values Binary search equivalence partitions

Binary search - test cases

 Kanagalakshmi

Software testing metrics  Defects rates  Errors rates  Number of errors  Number of errors found per person hours expended  Measured by:  individual  module  during development  Errors should be categorized by origin, type, cost

More metrics  Direct measures - cost, effort, LOC, etc.  Indirect Measures - functionality, quality, complexity, reliability, maintainability  Size Oriented:  Lines of code - LOC  Effort - person months  errors/KLOC  defects/KLOC  cost/KLOC

Case study-I Case study-I

Case study-II Case study-II