CSE 1020:Software Development

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

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.
Practical Testing Techniques. Verification and Validation Validation –does the software do what was wanted? “Are we building the right system?” –This.
Chapter 1. The Phases of Software Development. Data Structure 2 Chapter outline  Objectives  Use Javadoc to write a method’s complete specification.
FIT FIT1002 Computer Programming Unit 19 Testing and Debugging.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Unit Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 27, 2007.
Integration testing Satish Mishra
White Box Testing and Symbolic Execution Written by Michael Beder.
Program Testing Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
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.
1 Advanced Material The following slides contain advanced material and are optional.
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.
ECE122 L17: Method Development and Testing April 5, 2007 ECE 122 Engineering Problem Solving with Java Lecture 17 Method Development and Testing.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Software Engineering Lecture 12 Software Testing Techniques 1.
Chapter 13 & 14 Software Testing Strategies and Techniques
Testing Dr. Andrew Wallace PhD BEng(hons) EurIng
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Fruitful functions. Return values The built-in functions we have used, such as abs, pow, int, max, and range, have produced results. Calling each of these.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
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.
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.
University of Toronto Department of Computer Science CSC444 Lec08 1 Lecture 8: Testing Verification and Validation testing vs. static analysis Testing.
1 Phase Testing. \ 2 Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases) Define Coding Standards.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Chapter 10 – Testing and Debugging. Chapter Goals ► Learn techniques to test your code ► Learn to carry out unit tests ► Understand principles of test.
Software Testing. 2 CMSC 345, Version 4/12 Topics The testing process  unit testing  integration and system testing  acceptance testing Test case planning.
Software testing Main issues: There are a great many testing techniques Often, only the final code is tested.
Testing and Debugging Version 1.0. All kinds of things can go wrong when you are developing a program. The compiler discovers syntax errors in your code.
CSE403 Software Engineering Autumn 2001 More Testing Gary Kimura Lecture #10 October 22, 2001.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Construction Lecture 18 Software Testing.
13 Aug 2013 Program Verification. Proofs about Programs Why make you study logic? Why make you do proofs? Because we want to prove properties of programs.
CSE 1020:Aggregation Mark Shtern 1-1. Summary Development process Testing Debugging 1-2.
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.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Testing It is much better to have a plan when testing your programs than it is to just randomly try values in a haphazard fashion. Testing Strategies:
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
CSE 1020:Using API Mark Shtern 1-1. Summary Delegation – Static Method, Object Client view vs Implementer view API, UML Errors Software Engineering Utility.
Testing and Debugging UCT Department of Computer Science Computer Science 1015F Hussein Suleman March 2009.
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
Chapter 17 Software Testing Techniques
Testing Tutorial 7.
Software Testing.
Chapter 6: Modular Programming
CS1101X Programming Methodology
Topics: jGRASP editor ideosyncrasies assert debugger.
Verification and Testing
Chapter 13 & 14 Software Testing Strategies and Techniques
Testing Approaches.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Introduction to Software Testing
Software Testing (Lecture 11-a)
Verification and Validation Unit Testing
CSE 303 Concepts and Tools for Software Development
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.
CSE403 Software Engineering Autumn 2000 More Testing
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Unit Testing.
Presentation transcript:

CSE 1020:Software Development Mark Shtern

The Development Process Requirements Design Implementation Testing Deployment

Interactive Development Process Phase 1 Requirement Design Implementation Testing Evaluation Deployment if it is needed Phase 2 Phase N

Software Testing A formal proof Testing Manual Automatic  harness is a collection of software and test data configured to test a program unit by running it under varying conditions and monitoring its behaviour and outputs

Testing Is verification that every input that satisfied precondition leads to the postcondition Testing strategy: select a sample of all the possible valid inputs and verify correctness only for sample Each element of the sample is called test case The sample as a whole is called the test suite or the test vector

Test cases Input Loop Random File

Testing Black-box testing White-box testing

The Test Vector Domain Coverage  selected from a set that covers the entire input domain Likely range Boundary cases Execution-Path Coverage  include cases to ensure that every statement and every path in code will executed Regression Testing  include cases to ensure functionality of the product

Debugging Error messages Internal assertions Debug messages Using debuggers

Exersise 7.6 Perform a black-box testing on a method that takes two integer parameters and return a string. The method’s precondition states that two integers must be positive and less than 50. Select a test vector (a) (-5,5) (-1,0) (1, -5) (3,0) (b) (5,3) (3,5) (5,5) (3,3) (c) (1,3) (3,5) (10,49) (1,49) (49,1) (49,15) (d) (71,12) (50,5) (12,75) (51,7)

Exercise 7.7 (White box) final int MIN = 5; final int MAX = 10; final int LIMIT = 5; if (x < MIN) output.println(“Left”); else if (x < MAX && y < LIMIT) output.println(“Middle”); else if (x < MAX) output.println (“Top”); else output.println(“Right”);

Exercises 7.12 Write an app that reads a double x from the user, ensures that it is in [0,1], or else terminates with error message, and then computes and outputs the following sum: x - x2/2 + x3/3 - x4/4 … The apps stop adding when the absolute value of the term is less than 10-3 Test cases 0  0 0.5  0.41 1  0.69