DEPICT: DiscovEring Patterns and InteraCTions in databases A tool for testing data-intensive systems.

Slides:



Advertisements
Similar presentations
Oracle SQL Developer Data Modeler 3.0: Technical Overview March 2011.
Advertisements

DEV-2: Getting Started with OpenEdge® Architect – Part I
1 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
T-FLEX DOCs PLM, Document and Workflow Management.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Extended Learning Module J (Office 2007 Version) Implementing a Database with Microsoft Access McGraw-Hill/Irwin Copyright © 2010 by the McGraw-Hill Companies,
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Concepts of Database Management Sixth Edition
JDBC. In This Class We Will Cover: What SQL is What ODBC is What JDBC is JDBC basics Introduction to advanced JDBC topics.
CS2032 DATA WAREHOUSING AND DATA MINING
SiS Technical Training Development Track Technical Training(s) Day 1 – Day 2.
BUSINESS DRIVEN TECHNOLOGY
Oracle SQL*plus John Ortiz. Lecture 10SQL: Overview2 Overview  SQL: Structured Query Language, pronounced S. Q. L. or sequel.  A standard language for.
® IBM Software Group © 2006 IBM Corporation The Eclipse Data Perspective and Database Explorer This section describes how to use the Eclipse Data Perspective,
Discover, Master, InfluenceSlide 1 SQL Server Compact Edition and the Entity Framework Rob Sanders Readify.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
DB Audit Expert v1.1 for Oracle Copyright © SoftTree Technologies, Inc. This presentation is for DB Audit Expert for Oracle version 1.1 which.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Database Management System Lecture 2 Introduction to Database management.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
© 2002 by Prentice Hall 1 David M. Kroenke Database Processing Eighth Edition Chapter 13 Managing Databases with SQL Server 2000.
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
Creating the Foundation for Enterprise Information Management.
Creating databases for web applications SQL. Systems design. ER diagrams. Data flow diagrams. Storyboards. Homework: Plan database and applications for.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 Overview of Databases. 2 Content Databases Example: Access Structure Query language (SQL)
DAY 14: ACCESS CHAPTER 1 Tazin Afrin October 03,
1 INTRODUCTION TO DATABASE MANAGEMENT SYSTEM L E C T U R E
Nobody’s Unpredictable Ipsos Portals. © 2009 Ipsos Agenda 2 Knowledge Manager Archway Summary Portal Definition & Benefits.
Chapter 6 SAS ® OLAP Cube Studio. Section 6.1 SAS OLAP Cube Studio Architecture.
Enterprise Reporting Solution
Universal Data Access and OLE DB. Customer Requirements for Data Access Technologies High-Performance access to data Reliability Vendor Commitment Broad.
Chapter 3 DECISION SUPPORT SYSTEMS CONCEPTS, METHODOLOGIES, AND TECHNOLOGIES: AN OVERVIEW Study sub-sections: , 3.12(p )
Oracle Data Integrator Transformations: Adding More Complexity
“INTRODUCTION TO DATABASE AND SQL”. Outlines 2  Introduction To Database  Database Concepts  Database Properties  What is Database Management System.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
ABSTRACT The JDBC (Java Database Connectivity) API is the industry standard for database- independent connectivity between the Java programming language.
LBR & WS LAB 1: INTRODUCTION TO GIS.
Smart Home Technologies
NSF DUE ; Wen M. Andrews J. Sargeant Reynolds Community College Richmond, Virginia.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Conceptualization Relational Model Incomplete Relations Indirect Concept Reflection Entity-Relationship Model Incomplete Relations Two Ways of Concept.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Extended Learning Module J (Office 2007 Version) Implementing.
Software Engineering Lecture 10: System Engineering.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Physical Layer of a Repository. March 6, 2009 Agenda – What is a Repository? –What is meant by Physical Layer? –Data Source, Connection Pool, Tables and.
uses of DB systems DB environment DB structure Codd’s rules current common RDBMs implementations.
© 2013 IBM Corporation IBM Rational Asset Analyzer & Rational Asset Analyzer for System z Rational Asset Analyzer What is new! Leshek Fiedorowicz
Welcome: To the fifth learning sequence “ Data Models “ Recap : In the previous learning sequence, we discussed The Database concepts. Present learning:
Developing SQL/Server database in Visual Studio Introducing SQL /Server Data Tools Peter Lu.Net Practices Director Principle Architect Nexient March 19.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
2 Copyright © 2008, Oracle. All rights reserved. Building the Physical Layer of a Repository.
The Holmes Platform and Applications
Building Enterprise Applications Using Visual Studio®
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Data Virtualization Tutorial: Introduction to SQL Script
PLM, Document and Workflow Management
Data Virtualization Demoette… JDBC Clients
Data Virtualization Demoette… DDL Feature
Oracle Analytic Views Enhance BI Applications and Simplify Development
Enhance BI Applications and Simplify Development
Data Model.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
T-FLEX DOCs PLM, Document and Workflow Management.
Presentation transcript:

DEPICT: DiscovEring Patterns and InteraCTions in databases A tool for testing data-intensive systems

Problem context (1) Modern enterprise class systems are heavily based on RDBMS (Relational DataBase Management System). Each one of those systems can have its own subsystem for enforcing the consistency and the integrity of the data. Mainly they are in the form of: – Business Logic Layer (often built on top of a middleware) – Business Rules (declarative approach) – Constraints and procedures at the RDBMS level – Any combination of the previous ones No matter how those subsystems are implemented, their role is vital to the whole system. DEPICT - DiscovEring Patterns and InteraCTions in databases 2

Problem context (2) So a crucial question, in a testing environment, is: «How can we reliably verify the coverage of a test suite?» The wide variety and complexity of those subsystems makes really hard to devise a common test strategy Since we are mainly interested in the integrity of the data why not directly involving it in the test process? DEPICT - DiscovEring Patterns and InteraCTions in databases 3

The idea behind We propose the use of classification tree models: they are simple and intuitive. They are effective because they: – Present a high-level view – Are Visual In DEPICT a classification tree models a «Data Interaction». A «Data Interaction» is a set of values coming from different fields in different tables of a database schema. DEPICT - DiscovEring Patterns and InteraCTions in databases 4

The overall process DEPICT - DiscovEring Patterns and InteraCTions in databases Import data interaction model as well as test cases into DEPICT Specify a data interaction Run checks and analyze the results Create or import test cases from an external repository

An overview of the tool (1) DEPICT - DiscovEring Patterns and InteraCTions in databases DEPICT is realized as an Eclipse RCP (Rich Client Platform) Application. It makes use of CTE-XL (Berner & Mattner Systemtechnik GmbH) for classification tree modelling and test cases management. Developed in collaboration with the Directorate of Norwegian Customs and Excise, Oslo, Norway 6

DEPICT features DEPICT - DiscovEring Patterns and InteraCTions in databases 7 Different DBs Located anywhere

An overview of the tool (2) DEPICT - DiscovEring Patterns and InteraCTions in databases Navigator view for browsing the workspace across projects and imported model Interaction Coverage graphs E-R Model Graph of the imported data interaction Interaction Coverage table 8 Dynamic filtering over data interactions

An overview of the tool (3) Let’s examine the tool through an industrial case study from Norwegian Customs and Excise (NCE) with this concrete use case: «Do our test cases cover alcohol importation test requirement?» DEPICT - DiscovEring Patterns and InteraCTions in databases 9

Step 1: Data Interaction model DEPICT - DiscovEring Patterns and InteraCTions in databases By the means of CTE XL we create the classification tree. The first two levels of the tree represent the catalog and the schema (optional) names (useful for accessing the database metadata). Third level: DB table names. Fourth level: Table column names Last level: actual values of the columns relevant to the data interaction. The model defines data interactions relative to the importation of four specific alcohols and two specific categories of declaration. Selected categories: MA: Manual inspection FU: Processed declarations Selected categories: MA: Manual inspection FU: Processed declarations Test focuses on: Whisky, Vodka, Rum, Beer Test focuses on: Whisky, Vodka, Rum, Beer 10

Step 2: Test cases definition DEPICT - DiscovEring Patterns and InteraCTions in databases Below the model the test engineer can create the set of test cases related to the data interaction by simply clicking on the values intersection. In the picture we see an example of 4 test cases related to alcohols whose importation has been manually inspected. 11

Step 3: Import model and test cases (1) DEPICT - DiscovEring Patterns and InteraCTions in databases Importing a CTE-XL model by following the instructions of a wizard procedure. DEPICT will guide the user in the creation of the needed information for establishing a connection toward the DB server. DEPICT can manage practically any DB server provided that a JDBC driver for that server exists. Current version has been tested with: Sybase, MySQL and PostgreSQL. You can have multiple DB connections within the same workspace and/or project. 12

Step 3: Import model and test cases (2) DEPICT - DiscovEring Patterns and InteraCTions in databases During the import procedure DEPICT will: – Validate the CTE-XL model against the DB metadata. – Translate the classification tree in a graph according to the E-R (Entity-Relationship) model in order to obtain a set of feasible and effective SQL statements. – Make a copy of the model within its workspace. 13

Step 4: Run tests and analyze results (1) DEPICT - DiscovEring Patterns and InteraCTions in databases This is the navigator view in which the user can browse the workspace across multiple projects and models. A click on a model will trigger an update of all the views 14

Step 4: Run tests and analyze results (2) DEPICT - DiscovEring Patterns and InteraCTions in databases Interaction coverage view Filter to highlight holes in data Expression used for probing the data interaction coverage. 15

Step 4: Run tests and analyze results (3) DEPICT - DiscovEring Patterns and InteraCTions in databases Selecting the filter «Holes in data» we obtain the list of test cases not covered by the current data set which answers to our initial question. 16 Here we see, for example, that the test cases: «Manual inspection» of «Rum» and «Processed inspection» of Vodka haven’t been covered.

Step 4: Run tests and analyze results (5) DEPICT - DiscovEring Patterns and InteraCTions in databases 17

Further use case scenarios DEPICT - DiscovEring Patterns and InteraCTions in databases By the means of DEPICT they: – Can create a DEPICT model, for each «Mask Control», verifying if related test cases have been covered. – Easily organize DEPICT models as a library of models ready to be used – Mantain a traceability from rules to tests – Document tests outcome – Check test cases coverage as new live data arrives 18

Main features DEPICT - DiscovEring Patterns and InteraCTions in databases Full Eclipse integration Graphical editor for classification tree and test cases Management of multiple data sources Display test case coverage in tabular and graphical way Automatically creates complex SQL queries out of simple classification trees 19

Future works DEPICT - DiscovEring Patterns and InteraCTions in databases Model comparison: look for differences between DBs (useful for example for regression testing) Managing multiple relationships between a pair of tables Improving the expressiveness of the model through the use of a Domain Specific Language (DSL): numerical values ranges, enumerated values,... Scheduled execution for time consuming tests that could run overnight. 20