Software Testing and Quality Assurance

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

Unit Testing in the OO Context(Chapter 19-Roger P)
Software Quality Assurance Plan
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Lecture # 2 : Process Models
Chapter 7 Testing Class Hierarchies. SWE 415 Chapter 7 2 Reading Assignment  John McGregor and David A. Sykes, A Practical Guide to Testing Object-Oriented.
Use-case Modeling.
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)
Systems Analysis and Design in a Changing World, Fourth Edition
Software Testing and Quality Assurance
January 20, 2002ECEN5033 University of Colorado, Testing OO Software Part Two 1 Testing Object-Oriented Software – Testing Models Software Engineering.
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 28 – Testing Class Hierarchies.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
1 Software Testing and Quality Assurance Lecture 20 – Class Testing Basics (Chapter 5, A Practical Guide to Testing Object- Oriented Software)
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Testing and Quality Assurance: Inspection Reading Assignment: –John McGregor and David A. Sykes, A Practical Guide to Testing Object-Oriented.
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
The chapter will address the following questions:
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
Object-Oriented Software Testing. C-S 5462 Object-Oriented Software Testing Research confirms that testing methods proposed for procedural approach are.
Software Engineering Chapter 15 Construction Leads to Initial Operational Capability Fall 2001.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Chapter 2 The process Process, Methods, and Tools
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
ITEC224 Database Programming
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
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,
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Software Engineering Zhang Shuang
The Software Development Process
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
A Student Guide to Object-Oriented Development
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 24 객체지향 응용프로그램 테스팅 Testing Object-Oriented Applications 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for the book.
CPSC 871 John D. McGregor Module 8 Session 1 Testing.
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.
Prof. Hany H. Ammar, CSEE, WVU, and
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Basic Characteristics of Object-Oriented Systems
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
John D. McGregor Session 9 Testing Vocabulary
John D. McGregor Session 9 Testing Vocabulary
TIM 58 Chapter 8: Class and Method Design
Object-Oriented Analysis
John D. McGregor Session 9 Testing Vocabulary
Presentation transcript:

Software Testing and Quality Assurance Lecture 19 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)

Lecture Outline Evaluating performance and scalability Detailed class design model Testing models for additional qualities.

Evaluating performance and scalability: Testing specific types of models: design models— architectural model (cont...) Evaluating performance and scalability: An architecture of a system should be evaluated beyond correctness, completeness and consistency. The test cases are symbolically executed and the message-sequence diagrams can be analyzed from a performance perspective. Sequence diagrams can also be used to evaluate scalability.

The detailed class design model populates the architectural model Testing specific types of models: design models— detailed class design model The detailed class design model populates the architectural model with classes that will implement the interfaces defined in the architecture.

Testing specific types of models: design models— detailed class design model This model typically includes: A set of class diagram The Object Constraint Language (OCL) pre- and post-conditions for every method of every class Activity diagrams of significant algorithms State diagram for each class The test cases at this level are very much like final system test cases.

Criteria for the class design model inspection: Testing specific types of models: design models— detailed class design model (cont...) Criteria for the class design model inspection: The behavior in the interface of each class provides either a single way to accomplish a task or, if there are multiple ways, they provide the same behavior but with different preconditions Consistency Each class accurately implements the semantics of an interface. For those classes that correspond to interfaces in the architecture, the class’ specification must correspond to the interface specified by the architecture Correctness Classes are defined for each interface in the architecture. The preconditions for each method specify sufficient information so that the user can safely use the method. The postconditions for a method show error conditions as well as the normally expected result. Completeness Interpretation for the architectural design model Criteria

As the test progresses: Testing specific types of models: design models— detailed class design model (cont...) As the test progresses: The executers select methods that will be invoked The state model of the receiver is checked to be certain the target object can receive the message The messages are then added to the sequence diagram and the state models are updated to reflect changes in the state.

Testing specific types of models: design models— detailed class design model (cont...) Sequence diagrams will have dead-end objects in which testers will not attempt to examine the logic beyond that object. Implementation and code-based testing start after this point.

Testing models for additional qualities Projects are chartered to achieve more aggressive objectives such as: The development of extensible designs The design of reusable frameworks Highly portable systems A change case is a use case that is not a requirement of the system, but it is an anticipated change to the system.

Testing models for additional qualities (cont...) Explicitly state the objective that the change will address. The design will be easily extensible to accommodate new games. Construct a “change case” including a specific scenario that illustrates the objective. The framework is to be used to implement pinball games that are user configurable. The obstacles to be available include posts, flippers, and bumpers.

Testing models for additional qualities (cont...) Create test cases by sampling from the range permitted by the change case. A pinball game is to be created. States may be added to Brickles state machine. Enumerate the work needed to achieve the objective by specifying the differences in state and behavior required for the new objectives. The stationarySprite class will be subclasses to provide the new obstacle.

Testing models for additional qualities (cont...) Evaluate the current design relative to the design required to achieve the objective. The necessary base classes and methods are present. The needed attributed can be added without conflict with existing attributes. Repeat with additional test scenarios until all proposed changes are examined. The output of this process is a set of potential changes needed to achieve the desired system quality such as extensibility.

Guided inspection process checklist Decide how completeness, consistency, and correctness will be judged for particular use in the model under test (MUT) Determine which scenarios to sample from the use case model to use as test cases. Create test cases by supplementing the scenarios with specific data Select the model/notation that will record the results of each execution Conduct tests Evaluate the results of the test executions to determine which tests the model passed and which it failed Record the results for use in guiding the repair and testing processes in the next iteration.

Key points Design models Architectural design model Detailed class design model Projects are chartered to achieve more aggressive objectives such as: The development of extensible designs The design of reusable frameworks Highly portable systems