Software Testing and Quality Assurance

Slides:



Advertisements
Similar presentations
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Advertisements

OASIS Reference Model for Service Oriented Architecture 1.0
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
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 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
CS 425/625 Software Engineering Software Requirements
Introduction to UML Visual modeling Models and its importance
Lecture 7 Model Development and Model Verification.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Software Requirements
Lecture Fourteen Methodology - Conceptual Database Design
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Overview of Software Requirements
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 14 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Software Testing and Quality Assurance: Inspection Reading Assignment: –John McGregor and David A. Sykes, A Practical Guide to Testing Object-Oriented.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is Business Analysis Planning & Monitoring?
The Software Development Life Cycle: An Overview
Chapter 10 Architectural Design
UML - Development Process 1 Software Development Process Using UML (2)
Requirements Analysis
A Development Process Lecture Oo13 Objectory based method.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
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.
Object-Oriented Analysis and Design An Introduction.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Lecture 7: Requirements Engineering
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Requirements Analysis
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
An Overview of Requirements Engineering Tools and Methodologies*
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Object-Oriented Analysis
SYS466 Domain Classes – Part 1.
Design Yaodong Bi.
PASSI (Process for Agent Societies Specification and Implementation)
Presentation transcript:

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

Lecture Outline Testing Specific Types of Models

Testing specific types of models: requirements model Acceptance testing often finds faults that result from problems with the requirements (missing requirements, contradiction in requirements). There is no UML model on which the requirements are based, so comparison to the basis model refer to documents produced by marketing, system engineering or client organization.

Testing specific types of models: requirements model (cont...) Outline of testing the requirements models: Develop the ranking of use cases by computing combined frequency and criticality information for a use case. Determine the total number of test cases that can be constructed given the amount of resources available.

Testing specific types of models: requirements model (cont...) Ration the tests based on the ranking Write scenarios based only on the knowledge of those in the domain expert’s role Check for completeness, consistency, and correctness

Testing specific types of models: requirements model example (cont...) Use Frequency Criticality Combined value Rank Number of test cases Start Brickles Medium High 1 3 Pause Brickles Low Stop Brickles 2 Break brick Wins Loses

Testing specific types of models: requirements model (cont...) Criteria for requirement inspection: Any system functionality is specified in the same manner everywhere it is described. Consistency Each use case accurately represents a requirement. Correctness The use cases represent all of the functionality needed for a satisfactory product. No use case is needed that is not required functionality. Completeness Interpretation for domain modeling Criteria

Testing specific types of models: analysis models Domain analysis model Application analysis model A domain model is a representation of the knowledge in a domain as seen through the eyes of a set of domain experts.

Testing specific types of models: analysis models— domain analysis model Two groups are formed: Group one: developers group ―creates the domain model Group two: testers and domain expert group ―serves as testers of that model. (this group creates the test cases of the model).

Interpretation for domain modeling Testing specific types of models: analysis models— domain analysis model (cont...) Criteria for domain analysis model inspection Model elements should be consistent with company’s definitions and meanings Consistency The description of domain concepts are accurate; the algorithms will produce the expected results Correctness The concepts are sufficient to cover the scope of the content specified. Sufficient detail is given to describe concepts to the required path. Completeness Interpretation for domain modeling Criteria

Testing specific types of models: analysis models— application analysis model Multiple domain models contribute to the single application analysis model. Criteria for application analysis model inspection.

Interpretation for domain modeling Testing specific types of models: analysis models— application analysis model Where there are multiple ways to represent a concept of action, those ways are equivalent Consistency Experts agree with the attributes and behaviors assigned to each concept; on the steps in each algorithm; major states for each conceptual entity. Correctness The ideas expressed in each use case can be represented by the concepts and algorithms in the model. No design information is included in the model. Completeness Interpretation for domain modeling Criteria

Testing specific types of models: design models Architectural design model: provided the basic structure of the application by defining how a set of interfaces are related. Detailed class design model: provides the precise semantics of each class and identifies the architectural interface to which the class corresponds.

Testing specific types of models: design models— architectural model The architectural model is the skeleton of the entire application. Non-functional requirements are blended with functional requirements. A software architectural model is the basic structure that defines the system in terms of computational components and interactions among those components.

Testing specific types of models: design models— architectural model (cont...) Representations of the architecture: To represent an architecture: Relationships States Algorithms Tool support: Rational Rose performs a variety of consistency checks on the static-relationship model.

Testing specific types of models: design models— architectural model (cont...) Consistency checks will prevent certain types of connection from being established. However, it is not sufficient for determining whether the functionality is correctly implemented Architecture description languages provide the capability to represent a system at a high level of abstraction (e.g. Rapide)

Testing specific types of models: design models— architectural model (cont...) Testing the architecture: The Software Architecture Testing (SAT) technique is a special type of guided inspection that requires the following steps: Test cases are constructed. The tests are conducted on the product The results of the test are evaluated for correctness.

Testing specific types of models: design models— architectural model (cont...) Constructing test cases: Test cases are constructed from the use cases. The test cases for the architecture are defined at a higher level than more detailed design models.

Interpretation for the architectural design model Testing specific types of models: design models— architectural model (cont...) Criteria for the architectural design model inspection: Each use of the system can be handled only in one set of interfaces. Consistency The architecture satisfies its constraints; uses the appropriate architecture patterns; represents the interactions between interfaces. Correctness A sufficient set of interfaces are defined to provide all of the services needed for the application’s functionality. The relationship between the interfaces allows for the flow of control and data necessary to realize all of the uses described in the use case diagram. Completeness Interpretation for the architectural design model Criteria

Testing specific types of models: design models— architectural model (cont...) Test execution: Test cases are executed by constructing a message-sequence diagram. The diagram reflects preconditions for a test case.

Testing specific types of models: design models— architectural model (cont...) Verification of results: When the output from the test is in the form of diagrams, the resulting diagrams must be verified after each test execution by domain experts. When the output is the result of an execution, the test result can be verified by having those domain experts construct event sequences that would be produced by an architecture that performs correctly.

Key points Testing the requirements models: Develop the ranking of use cases by computing combined frequency and criticality information for a use case. Determine the total number of test cases that can be constructed given the amount of resources available. Ration the tests based on the ranking Write scenarios based only on the knowledge of those in the domain expert’s role Check for completeness, consistency, and correctness

Key points A domain model is a representation of the knowledge in a domain as seen through the eyes of a set of domain experts. Multiple domain models contribute to the single application analysis model. Design models Architectural design model Detailed class design model

Announcement Quiz # 3 Saturday November 22, 2008