Software Engineering Testing Lecture 4 ASPI8-4 Anders P. Ravn, Feb 2004.

Slides:



Advertisements
Similar presentations
Chapter 14 Software Testing Techniques - Testing fundamentals - White-box testing - Black-box testing - Object-oriented testing methods (Source: Pressman,
Advertisements

Unit-V testing strategies and tactics.
Software Engineering Implementation Lecture 3 ASPI8-4 Anders P. Ravn, Feb 2004.
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.
1 Software Engineering Lecture 11 Software Testing.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
Creator: ACSession No: 13 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Testing - Techniques CSE300 Advanced Software Engineering.
Chapter 17 Software Testing Techniques
Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
1 “White box” or “glass box” tests “White Box” (or “Glass Box”) Tests.
Process ITV Model-based Analysis and Design of Embedded Software Techniques and methods for Critical Software Anders P. Ravn Aalborg University August.
Aalborg Media Lab 23-Jun-15 Software Design Lecture 6 “Conditionals and Loops”
IMSE Week 18 White Box or Structural Testing Reading:Sommerville (4th edition) ch 22 orPressman (4th edition) ch 16.
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.
Documentation ITV Model-based Analysis and Design of Embedded Software Techniques and methods for Critical Software Anders P. Ravn Aalborg University August.
Creator: ACSession No: 12 Slide No: 1Reviewer: CSE300Advanced Software EngineeringJanuary 2006 Testing Strategy CSE300 Advanced Software Engineering University.
Testing an individual module
Describing Syntax and Semantics
Chapter 18 Testing Conventional Applications
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.
Software Engineering Lecture 12 Software Testing Techniques 1.
Testing Dr. Andrew Wallace PhD BEng(hons) EurIng
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Software Systems Verification and Validation Laboratory Assignment 3
System/Software Testing
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Let us start from the V-Model Verification Phases Requirements analysis System Design Architecture Design Module Design Coding Validation phases Unit.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
1 CS October 2008 The while loop and assertions Read chapter 7 on loops. The lectures on the ProgramLive CD can be a big help. Quotes for the Day:
CSC 480 Software Engineering Lecture 14 Oct 16, 2002.
Testing Especially Unit Testing. V-model Wikipedia:
Software Reviews & testing Software Reviews & testing An Overview.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Agenda Introduction Overview of White-box testing Basis path testing
Software Testing. 2 CMSC 345, Version 4/12 Topics The testing process  unit testing  integration and system testing  acceptance testing Test case planning.
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 Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
©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.
Java Basics Hussein Suleman March 2007 UCT Department of Computer Science Computer Science 1015F.
White Box Testing Arun Lakhotia University of Southwestern Louisiana P.O. Box Lafayette, LA 70504, USA
Theory and Practice of Software Testing
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Dynamic Testing.
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.
CSC 395 – Software Engineering Lecture 27: White-Box Testing.
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.
CX Introduction to Web Programming Testing.
Chapter 17 Software Testing Techniques
Software Testing.
Software Testing.
Lecture on Black Box Testing
Types of Testing Visit to more Learning Resources.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Software Testing (Lecture 11-a)
Chapter 14 Software Testing Techniques
“White box” or “glass box” tests
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
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.
Chapter 14 Software Testing Techniques
CSE 1020:Software Development
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Software Engineering Testing Lecture 4 ASPI8-4 Anders P. Ravn, Feb 2004

A Development Process (V-model) Requirements Spec Accpt. Test Report Acceptance Test Spec Architectural Spec Integr. Test Report Integration Test Spec Module Interface Spec Module Spec Module Test Report Module Test Spec Program Source text

Documentation 1.Requirements Specification 1.4 Acceptance Test Specification 2.Architecture 2.X Module Interfaces 2.T Integration Test Specification 3.Modules 3.X Module Test Specification 4.Implementation 5.Test 5.Y YYY Test Report

Testing - objective 1.Execute a program to find errors 2.A good test case has a high probability of finding errors 3.A successful test finds a new error Glen Myers Check Software specs. Test specs. Testing Results Test Reports

Test case design White box - basic path testing - loop testing Black box - equivalence partitioning - boundary value analysis Data validation - protocols - databases

Flow graphs – basic paths Sequence Decision Iteration

Test spec. for basic paths true/false case void f()... 1 if (b)T 1...F 2 while (c) T 1...F 2 Cases: 1: …

Composite conditions true false case... if (b && c)TT 1...TF 2...FT 3 if(d || e) TF 1...FT 2 FF 3 Cases: 1: …

Loop Testing 1.Skip the loop entirely (basic path) 2.One pass through loop (basic path) 3.max > n>1 passes through the loop 4.max-1 passes through the loop 5.max passes through the loop 6.(max+1 passes through the loop)

Nested loops Test inside out – inner loop first

Test instrumentation Primitive – debugging: printff(“x: %f\n”,x); or System.out.println(“x: ”+x.toString()); Planned: - instrumentation and logging: class Log { public static boolean test; … public static out(Object o, int line, int val); … if(test) … } … Log.out(this,23,count);

Permanent Instrumentation Planned: - instrumentation and logging: class Log { public static boolean test; … public static out(Object o, int line, int val); if (test) … else … // cyclic log } … Log.out(this,23,count);

Black box testing Test functional requirements: In-out relation (function) Interface conventions Performance Initialization and termination

Domain – a range: 3 classes (test values) Domain – a value: 3 classes Domain – a full interval: 2 classes Equivalence partitioning

Domain – a range: Domain – a value: Domain – a half interval: 2 classes Boundary value test

Data validation Use formal syntax (BNF) to check - all tokens are recognized - all syntax rules are recognized a ::= b c a ::= b | c - at least one syntax error

Invariant checking Assertions about relations between data: sin(x)**2 + sin(pi/2-x)**2 == 1 X == A -1 B implies A X == B -1 <= maxindex < N

Verification Model checking of finite state machines - State invariants always P - Reaching desirable states sometime P - Unreachability of bad states: always not P Verification of general properties

Literature R. S. Pressman: Software Engineering – a Practitioner’s Approach. B. Beizer: Software Testing Techniques.