Test s in i g n III Week 16

Similar documents
Implementation and Integration

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation

Introduction. Easy to get started, based on description of the inputs

Testing Theory. Agenda - What will you learn today? A Software Life-cycle Model Which part will we talk about today? Theory Lecture Plan

INTRODUCTION TO SOFTWARE ENGINEERING

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Name. 6b, Triangles. 1. A bridge contains beams that form triangles, as shown below.

Chapter 11, Testing, Part 2: Integration and System Testing

Chapter 11, Testing, Part 2: Integration and System Testing

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

What is Structural Testing?

MTAT : Software Testing

Software Testing part II (white box) Lecturer: Giuseppe Santucci

Programming Embedded Systems

Input Space Partitioning

CS 4387/5387 SOFTWARE V&V LECTURE 4 BLACK-BOX TESTING

Software Testing. 1. Testing is the process of demonstrating that errors are not present.

Chapter 11, Testing, Part 2: Integration and System Testing

EECS 4313 Software Engineering Testing. Topic 05: Equivalence Class Testing Zhen Ming (Jack) Jiang

UNIT OBJECTIVE. Understand what system testing entails Learn techniques for measuring system quality

MTAT : Software Testing

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far

MTAT : Software Testing

Comparison Study of Software Testing Methods and Levels- A Review

Using the code to measure test adequacy (and derive test cases) Structural Testing

White-Box Testing Techniques III

Testing & Debugging TB-1

MTAT : Software Testing

Programming Embedded Systems

Software Testing. Testing 1

Lecture 26: Testing. Software Engineering ITCS 3155 Fall Dr. Jamie Payton

Equivalence Class Partitioning. Equivalence Partitioning. Definition and Example. Example set of classes

Introduction to Dynamic Analysis

MC/DC Automatic Test Input Data Generation

MTAT : Software Testing

Software Engineering: Theory and Practice. Verification by Testing. Test Case Design. Tom Verhoeff

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 9, Testing

Terminology. There are many different types of errors and different ways how we can deal with them.

Getting those Bugs Out --Software Testing

Introduction to Software Testing Chapter 4 Input Space Partition Testing

An Introduction to Systematic Software Testing. Robert France CSU

Assuring Certainty through Effective Regression Testing. Vishvesh Arumugam

Software Testing TEST CASE SELECTION AND ADEQUECY TEST EXECUTION

Testing: Test design and testing process

White-Box Testing Techniques II

Software Quality Assurance Dynamic Test

XVIII. Software Testing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS

Quality Assurance in Software Development

Sample Question Paper. Software Testing (ETIT 414)

Structural Testing. (c) 2007 Mauro Pezzè & Michal Young Ch 12, slide 1

Type of Triangle Definition Drawing. Name the triangles below, and list the # of congruent sides and angles:

Darshan Institute of Engineering & Technology for Diploma Studies

Testing. Outline. What is this? Terminology. Erroneous State ( Error ) Algorithmic Fault

Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD

(From Glenford Myers: The Art of Software Testing)

Darshan Institute of Engineering & Technology Unit : 9

Functional Testing (Black Box Testing)

Chapter 9 Quality and Change Management

Pearson Education 2007 Chapter 9 (RASD 3/e)

Software Testing. Massimo Felici IF

Software Testing. Integration Testing. Beat Fluri. software evolution & architecture lab

STRUCTURAL TESTING. AKA White Box Testing. Thanks go to Andreas Zeller for allowing incorporation of his materials. F. Tip and M.

Testing Objectives. Successful testing: discovers previously unknown errors

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

no triangle can have more than one right angle or obtuse angle.

Lecture 15 Software Testing

Test Automation. Fundamentals. Mikó Szilárd

Literature. CHAPTER 5 Testing. When to Test? The Unified Process. When to Test?

Verification and Validation. Verification and validation

Activity 8. Midsegment of a Triangle. Name. Date

Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins

Decision Tables - Wikipedia Decision Table-Based Testing

Test Generation from Requirements I UNIT III Software Testing. Boundary Value Analysis and Equivalent Partitioning based methods

Software Testing. Testing: Our Experiences

STRUCTURAL TESTING. AKA White Box Testing. Thanks go to Andreas Zeller for allowing incorporation of his materials. F. Tip and M.

Software Engineering and Scientific Computing

TDDD04: Integration and System level testing. Lena Buffoni

Lesson 10: Parts and Types of Triangles

Exam in TDT 4242 Software Requirements and Testing. Tuesday June 8, :00 am 1:00 pm

For Exercises 1 4, follow these directions. Use the given side lengths.

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!

Verification and Validation

Verification and Validation

Verification and Validation

SE Notes Mr. D. K. Bhawnani, Lect (CSE) BIT

Integration Testing. Conrad Hughes School of Informatics. Slides thanks to Stuart Anderson

Exam Questions

Verification Overview Testing Theory and Principles Testing in Practice. Verification. Miaoqing Huang University of Arkansas 1 / 80

Warm-Up. Find the domain and range:

Midpoint and Distance Formulas

Aerospace Software Engineering

Software Testing Interview Question and Answer

Integration Testing. Unit Test vs Integration Testing 1. Unit Testing vs Integration Testing 2. Unit testing: isolation, stub/mock objects

Lesson 3.6 Overlapping Triangles

4-1 Classifying Triangles

ECE 462 Object-Oriented Programming using C++ and Java. Testing

GEOMETRY POSTULATES AND THEOREMS. Postulate 1: Through any two points, there is exactly one line.

Chapter 9. Software Testing

Warm-up for Integrated Geometry and Algebra II

Transcription:

Testing III Week 16

Agenda (Lecture) White box testing Condition coverage Loop coverage Path coverage

Agenda (Lab) Implementation Review of SRS/SDD documents Submit a weekly project progress report at the end of this week lab session

Condition Coverage All possible values of the predicates of compound conditions are exercised at least once Lazy evaluation

Test Cases for Condition Coverage Node Source Line A read a, b, c B type = scalene C if (a==b b==c a==c) D type = isosceles E if (a == b && b == c) F type = equilateral G if ( a >= b + c b > a + c c > = a + b) H type = not a triangle I if ( a <= 0 b <= 0 c <=0) J type = bad inputs K print type

Test Cases for Condition Coverage Combination if (a==b b==c a==c) Possible Test Case Branch TXX 3,3,4 ABC-D FTX 4,3,3 ABC-D FFT 3,4,3 ABC-D FFF 3,4,5 ABC-D if (a==b && b==c) Combination Possible Branch Test Case TT 3,3,3 E-F TF 3,3,4 E-G FX 4,3,3 E-G if (a >= b + c b >= a + c c >= a + b) if (a <= 0 b <= 0 c <= 0)) Combination Possible Branch Combination Possible Branch Test Case Test Case TXX 8,4,3 G-H TXX 0,4,5 I-J FTX 483 4,8,3 G-H FTX 4, -2,-2 I-J FFT 4,3,8 G-H FFT 5,4,-3 I-J FFF 3,3,3 G-I FFF 3,3,3 I-K

Condition Coverage Combination of edge coverage and more detailed conditions Edge: Every edge of the control flow graph is executed at least once Condition: All values of conditions are exercised at least once More precise than branch coverage

Path Coverage Select test cases such that every path in the graph is visited Finer than all previous criteria and an ideal criterion However, number of paths is exponential in decisions; almost infinite paths needs in arbitrary loops

Test Cases for Path Coverage Node Source Line A read a, b, c B type = scalene C if (a==b b==c a==c) D type = isosceles E if (a == b && b == c) F type = equilateral G if ( a >= b + c b > a + c c > = a + b) H type = not a triangle I if ( a <= 0 b <= 0 c <=0) J type = bad inputs K print type

Path Coverage Path T/F Test Case Output ABCEGIK FFFF 3,4,5 Scalene ABCEGHIK FFTF 3,4,8 Not a triangle ABCEGHIJK FFTT 0,5,6 Bad inputs ABCDEGIK TFFF 5,8,5 Isosceles ABCDEGHIK TFTF 3,8,3 3 Nota triangle ABCDEGHIJK TFTT 0,4,0 Bad inputs ABCDEFGIK TTFF 3,3,3 Equilateral ABCDEFGHIJK TTTT 0,0,0 Bad inputs

Testing Levels Custom Software Unit testing Integration testing Product testing Acceptance testing Regression Testing

Testing Levels COTS Unit testing Integration testing Product testing Alpha testing Beta testing Regression Testing

Unit Testing Driver Module to be tested Stub Stub Results Test cases

Unit Test Procedures Develop source code Review source code Verify the code with design Design test cases Develop driver and stub

Integration Testing Top down implementation, integration, and testing Bottom up implementation, integration, and testing Sandwich implementation, integration, and testing

Typical interconnection diagram

Top Down

Top Down (cont d) Advantages Fault isolation Stubs not wasted Major design flaws show up early Disadvantages Reusable modules are not properly tested Lower level (operational) modules are not tested frequently

Bottom Up

Bottom Up (cont d) Advantages Operational modules thoroughly tested Operational modules are tested with drivers, not by fault shielding, defensively programmed calling modules Fault isolation Disadvantages Major design faults are detected late in the integration phase

Sandwich Implementation and Integration

Sandwich Implementation and Integration (cont d) Advantages Major design faults are caught early Operational modules arethoroughly tested They may be reused with confidence There is fault isolation at all times

Summary of Integration Approaches

Product Testing Validate all functional requirements Check all non functional constraints Review all documentation to be handed over to the client

Acceptance Testing Test softwarewithwith the client s environment and real data Performed by the SQA team in the presence of client representatives, or an independent SQA team hired by the client

Alpha Testing Simulated or actual operational testing by potential Simulated or actual operational testing by potential users/customers or an independent test team at the developers' site

Beta Testing Released a limited number of users outside of the company Sometimes, beta versions are made available to the, public

Regression Testing Post delivery maintenance Each time a module is added, the software changes These changes may cause problems with functions that previously worked flawlessly Regression testing is The execution of tests that have already been conducted to ensure that changes do not create unintended side effects

Current and Emerging Software Engineering Technologies Software factory Component based software engineering Aspect oriented program Application frameworks Web engineering Open source software engineering Mobile software engineering API (application (pp programming interface) Library or toolkits Design patterns Architecture patterns Model view controller (MVC) architecture pattern Service oriented architecture Software productlines