Towards an automated testing framework to manage variability using the UML Testing Profile



Similar documents
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

Automatic generation of fully-executable code from the Domain tier of UML diagrams

INFO ABOUT THE ODDS BETTING ON LOTTO, LOTTERIES OR KENO?

Lotto! Online Product Guide

Software Product Lines

Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

UML TUTORIALS THE USE CASE MODEL

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

The New Mexico Lottery

Systematic Management of Variability in UML-based Software Product Lines

Association. Serbia: Gaming Industry Market Report Jakta Association Research Team Research period for Serbia: 2013

Using UML Part Two Behavioral Modeling Diagrams

MINNESOTA STATE LOTTERY GAME PROCEDURES SLOTS PROGRESSIVE PRINT-N-PLAY LOTTO GAME ADOPTED: AUGUST 23, 2010 AMENDED: SEPTEMBER 8, 2010

A Variability Viewpoint for Enterprise Software Systems

Week 5: Expected value and Betting systems

Business Process Modeling Information Systems in Industry ( )

MINNESOTA STATE LOTTERY GAME PROCEDURES BINGO PROGRESSIVE PRINT-N-PLAY LOTTO GAME ADOPTED: AUGUST 23, 2010 AMENDED: SEPTEMBER 8, 2010

(SEE IF YOU KNOW THE TRUTH ABOUT GAMBLING)

Sofware Requirements Engineeing

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Software Architecture

NAPCS Product List for NAICS 7132: Gambling Industries

AMS 5 CHANCE VARIABILITY

CIM to PIM Transformation: A criteria Based Evaluation

Model Driven Benchmark Generation for Web Services

pool together SYNDICATE PACK

KENO TRAINING MANUAL

The Specific Text Analysis Tasks at the Beginning of MDA Life Cycle

DEPARTMENT OF REVENUE. Lottery Commission. Colorado Lottery Guideline

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Code of Practice. Queensland responsible gambling Code of Practice. Section I V

Guidelines on sales promotion measures when providing gambling

Elementary Statistics and Inference. Elementary Statistics and Inference. 17 Expected Value and Standard Error. 22S:025 or 7P:025.

Use Cases. Massimo Felici. Massimo Felici Use Cases c

The SPES Methodology Modeling- and Analysis Techniques

POKER LOTTO LOTTERY GAME CONDITIONS These Game Conditions apply, until amended or revised, to the POKER LOTTO lottery game.

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

Is it possible to beat the lottery system?

Code of Practice. September 2012 Version 4. Queensland Responsible Gambling. Office of Liquor and Gaming Regulation

Modelling the Railway Control Domain rigorously with a UML 2.0 Profile

Generating the PIM Behavioral Model from the CIM using QVT

Lotteries in Europe EL Sustainable Gambling Conference Sports Integrity in Europe and the Role of Lotteries 12 November Brussels

You can place bets on the Roulette table until the dealer announces, No more bets.

LOTTO PLUS CONTRACT ANNOUNCEMENTS, FALL 2000

Basic Unified Process: A Process for Small and Agile Projects

Example: Find the expected value of the random variable X. X P(X)

From slot machines to gaming terminals experiences with regulatory changes in Norway Vienna September 2010

Additional information >>> HERE <<< Getting Free Silver Lotto System Review

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

UML Modelling of Automated Business Processes with a Mapping to BPEL4WS

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

MDA Transformations Applied to Web Application Development 1

Service Oriented Architectures Using DoDAF1

Section 7C: The Law of Large Numbers

Expected Value. 24 February Expected Value 24 February /19

Data Modeling Basics

Dr. Jana Koehler IBM Zurich Research Laboratory

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2006/ A1 Kane et al. (43) Pub. Date: Mar.

(a) FLORIDA LOTTO is a lottery online terminal game in which players select six (6) numbers from a field of

Designing a Semantic Repository

Generating Enterprise Applications from Models

GAME CONDITIONS Implementation: July 23, Lottery Corporation Inc. ("ALC") and shall apply to the ibingo lottery scheme until amended by ALC.

All Gambling is Illegal Unless Specifically Excluded from Illegality.

Software Development in the Large!

Applying 4+1 View Architecture with UML 2. White Paper

Reactive Variability Realization with Test-Driven Development and Refactoring

Development of a Feature Modeling Tool using Microsoft DSL Tools.

Texas Hold em. From highest to lowest, the possible five card hands in poker are ranked as follows:

Probability and Expected Value

D. Remuneration: Starting Basic Salary of Nu.18,635 plus 25% Corporate allowance and other benefits as per the service rules of RBLL

Communication Diagrams

An MDA Approach for the Development of Web applications

CDC UNIFIED PROCESS PRACTICES GUIDE

Recent Advances in Eclipse QVTO!

Introduction to Discrete Probability. Terminology. Probability definition. 22c:19, section 6.x Hantao Zhang

BPMN Fundamentals. BPMI Meeting #12. London, United Kingdom May 13-14, Stephen A. White, IBM Notation Working Group Chair

Business Day commences on or after 4:09 a.m. and ends at 4:08 a.m. on the following calendar date.

Bookmaker Bookmaker Online Bookmaker Offline

Design principles in Test Suite Architecture

Analysis and Design with UML

OFFICIAL PALMETTO CASH 5 GAME RULES. I. Palmetto Cash 5 Drawings

AMENDED: February 21, 2013 Effective: April 29, 2013 PICK - 6 LOTTO GAME RULES (6 OUT OF 49 LOTTERY)

BUILD YOUR OWN WINNING TEAM SYNDICATES PACK

HOW THE GAME IS PLAYED

THE QUIZ ANSWER SHEET

Transcription:

Automation of Software Test (AST 09) May 18, Vancouver, Canada Towards an automated testing framework to manage variability using the UML Testing Profile Beatriz Pérez Lamancha Software Testing Centre (CES) School of Engineering University of the Republic Montevideo, Uruguay bperez@fing.edu.uy Macario Polo, Mario Piattini Alarcos Research Group Information Systems and Technologies Department University of Castilla-La Mancha Ciudad Real, Spain {macario.polo,mario.piattini}@uclm.es

Outline Introduction Software Product Line Orthogonal Variability Model (OVM) UML Testing Profile Proposal: automated testing in SPL Variability in test case behaviour Variability in test architecture Conclusions and future work

Software Product Lines A software product line (SPL) is a set of software intensive systems sharing a common, managed set of features which satisfy the specific needs of a particular market segment or mission and which are developed from a common set of core assets in a prescribed way (Clements and Northrop, 2002)

Commonality and Variability Commonalities: are assumptions that are true for each member of the SPL Variabilities: are assumptions on how family members differ A variation point locates a variability and its variants. Each variant is one way to realize a particular variability in a specific way. Variability management plays a central role in software product lines

Example - Lottery SPL Manages the bets and payments for different lotterytype games. There are many versions of lotteries: Lotto: player chooses six numbers from 1 to 49

Example - Lottery SPL Manages the bets and payments for different lotterytype games. There are many versions of lotteries: Lotto: player chooses six numbers from 1 to 49 Keno: the player win when get the numbers in a row

Example - Lottery SPL Manages the bets and payments for different lotterytype games. There are many versions of lotteries: Lotto: player chooses six numbers from 1 to 49 Keno: the player win when get five numbers in a row Instant lottery: player can remove the silver layer and see if won or not

Example - Lottery SPL Manages the bets and payments for different lotterytype games. There are many versions of lotteries: Lotto: player chooses six numbers from 1 to 49 Keno: the player win when get five numbers in a row Instant lottery: player can remove the silver layer and see if won or not Can be played in: Web site or POS Method of payment can be: Cash or credit card

Orthogonal Variability Model (OVM) (Pohl et al., 2006) Defines the variability information in a separate model Associates the Variation Point and its variants Constrains the association between them These constraints can be include or exclude

Example: Lottery SPL VP Game of chance VP Place VP Method of payment V Keno V Instant lottery V Lotto V WEB V POS V Credit Card V Cash OVM Graphical notation exclude_v_v Variation Point VP Variation Point include_v_v Variant V Variant Mandatory association Optional association Constraint association (include, exclude)

UML Testing Profile (UML-TP) Extends UML 2.0 with test specific concepts for testing TestContext is a class that organize the test artifacts and contains the test cases (as operations)

UML Testing Profile (UML-TP) Extends UML 2.0 with test specific concepts for testing SUT represents the system under test TestComponents interacts with the SUT to realize the test behaviour.

UML Testing Profile (UML-TP) Extends UML 2.0 with test specific concepts for testing Arbiter provides a means for evaluating test results. DataPool: contains the test data. Data partition: contains the equivalence classes and data sets.

UML Testing Profile (UML-TP) Extends UML 2.0 with test specific concepts for testing The test case behaviour is described using the Behavior concept In this work, is represented with UML sequence diagrams.

Outline Introduction Software Product Line Orthogonal Variability Model (OVM) UML Testing Profile Proposal: automated testing in SPL Variability in test case behaviour Variability in test architecture Conclusions and future work

Our proposal A methodology is defined to derivation of test cases in SPL context describes test cases using UML models extends both UML 2.0 and the UML Testing Profile to support variability and to allow model transformation. This work has two main points: 1. The inclusion of extensions in UML and UML-TP for managing variability. 2. The definition of the test cases behaviour to manage variation points in the SPL.

Standarized proposal In SPL, the best practices are intensively applied and the use of standards and tools becomes essential. Our proposal makes a significant contribution, since the proposal is completely framed within well-known OMG standards. UML 2.0 UML Testing Profile Query/View/Transformation (QVT)

Extension to UML sequence diagram To represent variability in sequence diagram, the CombinedFragment is extended. In the extension, CombinedFragment represents the Variation Point and the InteractionOperand represents the Variants. EXTENSION FOR SPL OVM

Extension to UML sequence diagram as a UML Profile

Example CheckPrize functionality Player wants to know if his previously purchased ticket is a prizewinner.

Example CheckPrize functionality VARIANT VARIATION POINT VARIANT VARIANT

Combined Fragment extension In the UML 2.0, the CombinedFragment and its operands are part of the final product In execution time the actor selects the option to execute In SPL, the variants parts can be not included in the final product. In our extension, a CombinedFragment stereotyped as «Variation Point», the functionality in each option can be part of the product or not If it is not part, then the functionality will not be present in the final product.

UML-TP Extension OVM

UML-TP Extension

Test case behaviour in SPL Functional testing (black box) The steps to generate the test case behaviour are: 1. Test the common features in the entire SPL 2. Test the variant features in each product 3. Compare the results between 1 and 2

Example - Test Case TEST CASE Steps to obtain the test case: Obtain the ticket prize from the SUT representing the entire SPL. Test the variability in another test case The prizes resulting from the first and second part are compared and the test case is considered to be successful if both prizes are equal.

Example - Test Case Steps to obtain the test case: Obtain the ticket prize from the SUT representing the entire SPL. Test the variability in another test case The prizes resulting from the first and second part are compared and the test case is considered to be successful if both prizes are equal.

Referenced test case

Referenced test case

Referenced test case

Referenced test case The actual result is returned by the SUT The expected result is stored in the datapartition (test data or oracle)

Conclusion This paper defines a model to handle the variability in SPL testing, reusing the metamodel defined by the UML Testing Profile. The test case behavior is modeled with sequence diagrams. An extension to the UML interactions to manage variability has been defined.

Future work Generate automated test models for SPL using the model transformation language Query/View/Transformation (QVT) Source models: UML sequence diagram using the Profile for variability defined Target model: Test model conforms UML Testing Profile using the Profile for variability defined These transformations are being successfully developed

Questions? Thank you for your attention Beatriz Pérez Lamancha Software Testing Centre (CES) School of Engineering University of the Republic Montevideo, Uruguay bperez@fing.edu.uy Macario Polo, Mario Piattini Alarcos Research Group Information Systems and Technologies Department University of Castilla-La Mancha Ciudad Real, Spain {macario.polo,mario.piattini}@uclm.es