1 Software Testing and Quality Assurance Lecture 26 (a) – Testing Interactions (Chapter 6)

Slides:



Advertisements
Similar presentations
Unit Testing in the OO Context(Chapter 19-Roger P)
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
OOP Design Patterns Chapters Design Patterns The main idea behind design patterns is to extract the high level interactions between objects and.
UDDI Overview Web Services Registry SOA Enabler. What Is UDDI? Universal Description, Discovery, and Integration Protocols for web services registry Public.
Part 1: Introducing User Interface Design Chapter 1: Introduction –Why the User Interface Matters –Computers are Ubiquitous –The Importance of Good User.
MVC Nick Lopez Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 21 – Class Testing Basics (Chapter 5, A Practical Guide to Testing Object- Oriented Software)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 10 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Software Testing and Quality Assurance
Software Testing and Quality Assurance
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Chapter 11 Exception Handling and Event Handling.
1 Software Testing and Quality Assurance Lecture 24 – Testing Interactions (Chapter 6)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
USER VERIFICATION SYSTEM Scope Develop a User Verification System based on the application of one or more pattern recognition techniques. To begin with.
Karlstad University Computer Science Design Contracts and Error Management Design Contracts and Errors A Software Development Strategy (anpassad för PUMA)
1 Software Testing and Quality Assurance Lecture 20 – Class Testing Basics (Chapter 5, A Practical Guide to Testing Object- Oriented Software)
Team Skill 6 - Building The Right System Part 1: Applying Use Cases (Chapters of the requirements text) CSSE 371 Software Requirements and Specification.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
K. Stirewalt CSE 335: Software Design Outline of course topics Foundational OO concepts Synthetic concepts: –Program families, program fragments, and abstract.
Software Testing and Quality Assurance
GRASP : Designing Objects with Responsibilities
Recall The Team Skills Analyzing the Problem
Testing Interfaces in Multi-Program Systems ECEN5043 Software Engineering of Multiprogram Systems University of Colorado, Boulder.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
*Law and Coordination Rodrigo Paes. © LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
1 Chapter Eight Exception Handling. 2 Objectives Learn about exceptions and the Exception class How to purposely generate a SystemException Learn about.
An Introduction to Software Architecture
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
Architecture GRASP Realization of use cases in interaction diagrams Design class diagram Design ( how )
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
CSC 480 Software Engineering Lecture 15 Oct 21, 2002.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Software Testing and Quality Assurance Testing Interactions.
ANU COMP2110 Software Design in 2003 Lecture 10Slide 1 COMP2110 Software Design in 2004 Lecture 12 Documenting Detailed Design How to write down detailed.
The Mediator Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
Chapter 24 객체지향 응용프로그램 테스팅 Testing Object-Oriented Applications 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for the book.
1 Lecture 15: Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Chapter 9 Web Application Design. Objectives Describe the MVC design pattern as used with Web applications Explain the role and responsibilities of each.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 14b: Software Testing Techniques Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Events. Slide 2©SoftMoore Consulting Events Events are generated when a user interacts with the view objects of an application. Examples –button clicked–
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
COMPOSITE PATTERN NOTES. The Composite pattern l Intent Compose objects into tree structures to represent whole-part hierarchies. Composite lets clients.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
A service Oriented Architecture & Web Service Technology.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
Chapter 12: Collaboration Diagram - PART2
Design.
Presentation transcript:

1 Software Testing and Quality Assurance Lecture 26 (a) – Testing Interactions (Chapter 6)

2 Lecture Outline Testing Off-the-Shelf Components Protocol Testing Testing Patterns Testing Exceptions

3 Testing off-the-shelf components Functionality can be added to an application by purchasing “Components”. Quality of components varies from vendor to another. Acceptance testing for the component in the context in which it will be used is necessary.

4 Testing off-the-shelf components Stress tests: extreme, may be correct or incorrect values e.g., moving mouse a lot to generate a large number of mouse move events, making multiple menu selections, etc.

5 Protocol testing Protocol testing investigates whether the implementation of a class satisfies its specification Protocol: sequence of method invocations by combining A method whose postconditions enable the precondition of another method

6 Protocol testing Each protocol corresponds to a sequence of states beginning with Initial states of the two objects, A sequence of states for each object, and Ending with terminal states (denoted in the state diagram) A test case takes the two objects through one complete sequence of methods

7 Protocol testing: Example A protocol can be found by tracing through the state diagram. This provides a life-cycle test case. This provides an effective test of the object in the ways that it will interact with its client objects.

8 Test patterns Test patterns are design patterns for test software. A design pattern: captures and reuses design knowledge that has gained widespread application in the OO software development community, e.g., Grid component is based on the Listener design pattern

9 Test patterns A pattern is a specific configuration of interactions among a set of objects that form some cluster in the overall design. For a design pattern there can be a test pattern

10 Testing exceptions An exception: provides an alternative route for returning from a method that does not necessary move to the next statement after the method is invoked. Exceptions are powerful: The exceptional return value is an object and can be arbitrary complex. The points at which an exception is thrown varies based on the depth of the aggregation hierarchy.

11 Testing exceptions Testing exceptions provide two different perspectives At the class testing level, the focus is on wether each of the method is that class does in fact throw the exception. Integration testing will determine whether these exceptions that are being thrown at the correct time are being caught at the correct place.

12 Testing Integration at System Level Components become so complex that it is easier to test them in the context of the application itself. For example, user interface provided by most applications programs is not a single instance of some class.

13 Key points Stress tests: extreme, may be correct or incorrect values Protocol: sequence of method invocations by combining a method whose post-conditions enable the precondition of another method A design pattern: captures and reuses design knowledge that has gained widespread application in the OO software development community An exception: provides an alternative route for returning from a method that does not necessary move to the next statement after the method is invoked.