© Copyright Jeff Offutt, 2000 WESAS, 5/00 1 Analyzing Software Architecture Descriptions to Generate System-level Tests Aynur Abdurazik, Zhenyi Jin, Jeff.

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

Main issues: • Why is reuse so difficult • How to realize reuse
Software Process Models
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic Concepts Software Architecture Lecture 3.
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.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Software Testing and Quality Assurance
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Distributed Software Architecture and Distributed Systems Middleware Eric M. Dashofy Department of Information and Computer Science University of California,
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Given Connections Solution
Ch9: Software Engineering Tools and Environments.
Software Architecture or Component Frameworks? Alexander L. Wolf University of Colorado at Boulder
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
Introduction to Software Testing
1 Refining Reliability Estimation of Mobile Software Systems The International Workshop on Software Architectures and Mobility, ICSE-SAM 2008, Leipzig,
Chapter 2 The process Process, Methods, and Tools
Implementation Considerations Yonglei Tao. Components of Coding Standards 2  File header  file location, version number, author, project, update history.
System Design: Designing the User Interface Dr. Dania Bilal IS582 Spring 2009.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Testing Workflow In the Unified Process and Agile/Scrum processes.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
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.
Of 18 Is Bytecode Instrumentation as Good as Source Instrumentation? An Empirical Study with Industrial Tools Nan Li, Xin Meng, Jeff Offutt, and Lin Deng.
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
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.
Introduction to Software Testing Paul Ammann & Jeff Offutt Updated 24-August 2010.
Systems Engineering Simulation Modeling Maintenance Analysis Availability Research Repair Testing Training Copyright © 2009, David Emery & D&S Consultants,
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
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.
Testing and Evaluating Software Solutions Reporting on the Testing Process.
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 Architecture-Definition According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components,
Why Are My Tests Dumb? Jeff Offutt George Mason University.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Basic Concepts and Definitions
CS223: Software Engineering
CONNECTING COMPONENT Pertemuan Matakuliah: M Analisis dan Perancangan Sistem Informasi Lanjut Tahun:
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
Hossein Tajalli & Joshua Garcia. Motivation Self-* or autonomic systems Self-configuration, self-adaptation, and self-healing Why we might want self-adaptive.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Introduction to Software Testing Chapter 3.4 Logic Coverage for Specifications Paul Ammann & Jeff Offutt
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
Coupling-based Criteria for Integration Testing Journal of Software Testing, Verification, and Analysis, 8(3): , September 1998, Jenny Jin and Jeff.
Engineering Design Process Applied Technology Engineering Design Process © 2011 International Technology and Engineering Educators Association, STEM 
Tools Interoperability Workshop ICCS Issues Interchange Problems Solutions –Web services –IS architectures –Common projects –...
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
Testing Web Services by XML Perturbation Joint research with Wuzhi Xu and Juan Luo Jeff Offutt Information & Software Engineering George Mason University.
PROBLEM SOLVING. STEPS IN PROBLEM SOLVING  Problem Definition.  Problem Analysis.  Generating possible Solutions.  Analyzing the Solutions.  Evaluation:
Introduction to Software Testing Model-Driven Test Design and Coverage testing Paul Ammann & Jeff Offutt Update.
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.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
Paul Ammann & Jeff Offutt
Introduction to Software Testing Chapter 2 Model-Driven Test Design
It is great that we automate our tests, but why are they so bad?
Software Connectors – A Taxonomy Approach
Paul Ammann & Jeff Offutt
Introduction to Software Testing
Logical architecture refinement
Paul Ammann & Jeff Offutt
Executable Specifications
Architectural Mismatch: Why reuse is so hard?
Presentation transcript:

© Copyright Jeff Offutt, 2000 WESAS, 5/00 1 Analyzing Software Architecture Descriptions to Generate System-level Tests Aynur Abdurazik, Zhenyi Jin, Jeff Offutt, Liz White Software Engineering Research Lab George Mason University Fairfax, Virginia USA Support from NSF is greatly appreciated. ©Copyright Jeff Offutt, 2000

WESAS, 5/00 2 General Testing Process Architecture Design Spec Code Analysis Engine Test Criterion Model of Software Test Tool Test Requirements CFG PDG FSM Used to:  generate tests  evaluate tests

© Copyright Jeff Offutt, 2000 WESAS, 5/00 3 Test Criteria n Define explicit test requirements (e.g., covering branches) n Assess the quality of test cases n Stopping rules for testing n Repeatability in testing Formal test criteria provide rules for deciding whether software has been adequately tested.

© Copyright Jeff Offutt, 2000 WESAS, 5/00 4 Aspects of Architectures to Test n Correct implementation of individual connectors n Correct use of interfaces by components n Adequate solution of the problem by the configuration n Correct interactions among the components and connections n Correct application of the architectural style