CEN 5070 – Software V&V What is Software Testing © 2001-8, Dr. E.L. Jones.

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Testing and Quality Assurance
Ossi Taipale, Lappeenranta University of Technology
Chapter 4 Quality Assurance in Context
Verification and Validation: A Quick Introduction 1-2 Lectures.
Verification and Validation: A Quick Introduction Authors Massood Towhidnejad Massood Towhidnejad Mike Rowe Mike Rowe David Dampier David Dampier Sponsored.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
Ch1: File Systems and Databases Hachim Haddouti
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
CS4723 Software Validation and Quality Assurance Lecture 02 Overview of Software Testing.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
Evolving an Elective Software Testing Course: Lessons Learned Edward L. Jones Florida A&M University Tallahassee, FL USA 3rd Workshop on Teaching Software.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Test Design Techniques
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Reliability: The “Physics” of “Failure” SJSU ISE 297 Donald Kerns 7/31/00.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Trend Quality Assurance Edward Tsai 蔡木本 趨勢科技全球軟體研發部協理 April 22, 2003.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
CS4311 Spring 2011 Verification & Validation Dr. Guoqiang Hu Department of Computer Science UTEP.
Introduction Telerik Software Academy Software Quality Assurance.
RUP Implementation and Testing
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
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.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
By Touseef Tahir Software Testing Basics. Today's Agenda Software Quality assurance Software Testing Software Test cases Software Test Plans Software.
CEN 5070 – Software V&V BOUNDARY TESTING © , Dr. E.L. Jones.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
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.
Software Measurement & Metrics
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Black-box Testing.
This chapter is extracted from Sommerville’s slides. Textbook chapter
Testing Techniques Software Testing Module ( ) Dr. Samer Hanna.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
SPRAE A Framework for Teaching Software Testing Edward L. Jones Florida A&M University.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
CEN Software V & V Unit Testing Concepts 2/2000Unit Test Concepts2 Purpose This module presents the basic concepts of black-box and white-box.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Dynamic Testing.
 Introduction  This strategy designs tests that are independent of the implementation (code) of the software Black-Box Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
Testing Integral part of the software development process.
CEN 5070 – Software V&V Automation for Unit Testing © , E.L. Jones.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Chapter 8 – Software Testing
CS5123 Software Validation and Quality Assurance
Software Quality Engineering
Verification and Validation Unit Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
CIS 4932 Software Testing Unit Testing Concepts
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
CEN Software V & V Unit Testing Concepts
Chapter 7 Software Testing.
Presentation transcript:

CEN 5070 – Software V&V What is Software Testing © , Dr. E.L. Jones

9/2003Testing Concepts2 Purpose This module presents the basic concepts of software testing. We present several aspects of software testing, and a give a generic lifecycle. "… arbitrarily selected test set... results in inefficient testing, leaving some functions untested while performing redundant testing of others." Darlene Mackay, Quality Consultants Unlimited

9/2003Testing Concepts3 Agenda What is Testing Testing Lifecycle A Framework for Testing A Complete Example

9/2003Testing Concepts4 WHAT IS TESTING? Executing software to determine whether it meets its specification Executing a software element to discover defects or anomalies Executing software to evaluate its behavior in different environments Inspecting software element code to discover defects or anomalies.

9/2003Testing Concepts5 TESTING IS HARD Exhaustive testing is impossible Software is complex Specifying requirements is hard Testing is a fallible, human process Consequences of failure not always understood in advance

9/2003Testing Concepts6 WORKING SMART Test small pieces Use proven techniques Use tools to advantage Start early Cost of errors grows exponentially with time they go undetected

9/2003Testing Concepts7 Agenda What is Testing Testing Lifecycle A Framework for Testing A Complete Example

9/2003Testing Concepts8 A TESTING LIFECYCLE Analysis Design Implementation Execution Evaluation Specification Test Strategy/Plan Test Script, Data, Driver Defect Data Problem Reports Test Results Test Cases

9/2003Testing Concepts9 TESTING vs DEVELOPMENT Work broken into stages Require similar skills Require management oversight Produce artifacts used to assess quality of the work Test artifacts are overhead, not part of delivered system.

9/2003Testing Concepts10 TEST ARTIFACTS Strategy/Plan (must know techniques) Test cases – central artifacts Test machinery to apply test cases Data showing results Reports that interpret test results List of problems/defects to be fixed.

9/2003Testing Concepts11 TESTING IS HIERARCHICAL Unit testing – smallest components Aggregate testing – assemblies of units Integration testing – combinations of assemblies System testing – system built from assemblies

9/2003Testing Concepts12 TESTING OBJECTIVES To demonstrate conformance To find defects To measure behavior in specific environments Load / stress testing Performance testing To measure trustworthiness/reliability

9/2003Testing Concepts13 Agenda What is Testing Testing Lifecycle A Framework for Testing A Complete Example

9/2003Testing Concepts14 REQUIRED ELEMENTS OF A TESTING METHODOLOGY? Specification for the software Process for designing test cases Repeatable process for designing, running and evaluating tests Accountable artifacts of testing activities Economical use of human, time and computing resources

9/2003Testing Concepts15 Agenda What is Testing Testing Lifecycle A Framework for Testing A Complete Example

9/2003Testing Concepts16 BLACK-BOX TESTING Testing based on the specification rather than the implementation. Specification defines the expected response(s) to stimuli Software under Test StimuliResponse(s)

9/2003Testing Concepts17 BLACK-BOX TECHNIQUES Functional testing -- tests the behavior of the software. Boundary testing -- tests behavior at the lower/upper bounds of input values Random testing -- tests using randomly generated stimuli Intuitive (ad hoc) testing -- error guessing

9/2003Testing Concepts18 FUNCTIONAL TEST DESIGN METHODOLOGY Specification Identify behaviors Develop test cases Write test script

9/2003Testing Concepts19 EXAMPLE A (1) Specification Compute pay for an hourly employee, given the number of hours worked and the hourly pay rate. Compute overtime at 1.5 times hourly rate for hours in excess of 40. Software under Test HoursPay Rate

9/2003Testing Concepts20 EXAMPLE A (2) Identify Behaviors Case 1: No overtime (Hours <= 40) Expect Pay = Hours * Rate Case 2: Overtime (Hours > 40) Expect Pay = 40*Rate+1.5*Rate*(Hours - 40)

9/2003Testing Concepts21 EXAMPLE A (3) Create Test Cases Case 1: No overtime (Hours <= 40) Use Rate = 10, Hours = 30 Expect Pay = Hours * Rate = 300 Case 2: Overtime (Hours > 40) Use Rate = 10, Hours = 50 Expect Pay = 40*Rate+1.5*Rate*(Hours - 40) = 550

9/2003Testing Concepts22 EXAMPLE A (4) Write Test Script Step StimuliExpected Response HoursRatePay =

9/2003Testing Concepts23 A MORE COMPLEX EXAMPLE (B) Increased number of behaviors Use of decision table to document behaviors Test case generation from decision table

9/2003Testing Concepts24 EXAMPLE B (1) Specification Compute pay for employee, given the number of hours worked and the hourly pay rate. For hourly employees (rate = 30) are paid for exactly 40 hours.

9/2003Testing Concepts25 EXAMPLE B (2) Identify Behaviors Case 1: Hourly AND No overtime (Rate < 30) & (Hours <= 40) Expect Pay = Hours * Rate Case 2: Hourly AND Overtime (Rate 40) Expect Pay = 40*Rate+1.5*Rate*(Hours - 40) Case 3: Salaried (Rate >= 30) Expect Pay = 40 * Rate

9/2003Testing Concepts26 DECISION TABLE Condition c1: Rate < 30 | Y Y N N c2: Hours <= 40 | Y N Y N Action a1: Pay = Straight time | X a2: Pay = Overtime | X a3: Pay = Professional | X X Columns define Behaviors

9/2003Testing Concepts27 EXAMPLE B (3) Create Test Cases One test case per column of decision table Case 1: Hourly, No Overtime Case 2: Hourly, Overtime Case 3: Salaried, No Extra Hours Case 4: Salaried, Extra Hours Order the test cases by column

9/2003Testing Concepts28 EXAMPLE B (4) Write Test Script Step StimuliExpected Response HoursRatePay =

9/2003Testing Concepts29 RULES -- DECISION TABLES Condition c1: Rate < 30 | Y Y N N c2: Hours <= 40 | Y N Y N Action a1: Pay = Straight time | X a2: Pay = Overtime | X a3: Pay = Professional | X X Use X to select action(s) Elementary conditions Use 'Y', 'N', '-' or space

9/2003Testing Concepts30 NEXT TIME Test Case Generation Strategies Documenting the Test Specification Techniques