- The document discusses model-driven testing using the UML 2.0 Testing Profile (U2TP). U2TP bridges the gap between system designers and testers by allowing tests to be specified using UML models.
- A methodology is presented for developing test designs from system models. This involves defining a test package, importing system classes and interfaces, and specifying test architecture and behavior.
- Test architecture defines concepts like the system under test, test components, test context, and test control. Test behavior is specified using interactions, state machines, and other UML behaviors.
- Model transformations are used to convert UML system models into U2TP-compliant test models. Transformation rules map
Paper presentation for my MSc @ UOM. The paper was "Model-Driven Testing with UML 2.0", Zhen Ru Dai Fraunhofer FOKUS, Kaiserin-Augusta-Allee 31, 10589 Berlin, Germany dai@fokus.fraunhofer.de
This presentation was prepared by Ishara Amarasekera based on the paper, Model-Driven Testing with UML 2.0 by Zhen Ru Dai.
This presentation contains a summary of the content provided in this research paper and was presented as a paper discussion for the course, Software Quality in Computer Science.
Paper presentation for my MSc @ UOM. The paper was "Model-Driven Testing with UML 2.0", Zhen Ru Dai Fraunhofer FOKUS, Kaiserin-Augusta-Allee 31, 10589 Berlin, Germany dai@fokus.fraunhofer.de
This presentation was prepared by Ishara Amarasekera based on the paper, Model-Driven Testing with UML 2.0 by Zhen Ru Dai.
This presentation contains a summary of the content provided in this research paper and was presented as a paper discussion for the course, Software Quality in Computer Science.
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...IAEME Publication
Metamorphic Testing is an attribute relations based testing, used to mitigate the test oracle problem in testing complex non-testable programs. MTAF stands for Metamorphic Testing Automation Framework, introduced to eliminate the human intervention in creating test cases, mapping the relations, executing the statements and identifying the errors from input programs. MTAF is especially designed to address the test oracle problem of two most popular non-testable program domains are Multi Precision Arithmetic (MPA) and Graph Theory (GT) applications. In this paper, the researcher explains the results of conducted experiments and identified bug information with MTAF. Several Multi Precision Arithmetic and Graph Theory related hidden bugs are discussed in this paper to show the performance of MTAF.
Benefits Of Implementing Test Management ToolsKovair
Testing is the procedure of exercising software in order to check whether it is capable of satisfying certain requirements and to detect errors. The key objectives of software testing is to recognize detects, non-conformance and other allied threats in a work product in order to communicate all known concerns to the project group and make sure that every issue is addressed in an apt manner prior to release.
This chapter discusses the most commonly applied software development models, test levels and test types. Maintenance can be seen as a specific instance of a development process.
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...IAEME Publication
Metamorphic Testing is an attribute relations based testing, used to mitigate the test oracle problem in testing complex non-testable programs. MTAF stands for Metamorphic Testing Automation Framework, introduced to eliminate the human intervention in creating test cases, mapping the relations, executing the statements and identifying the errors from input programs. MTAF is especially designed to address the test oracle problem of two most popular non-testable program domains are Multi Precision Arithmetic (MPA) and Graph Theory (GT) applications. In this paper, the researcher explains the results of conducted experiments and identified bug information with MTAF. Several Multi Precision Arithmetic and Graph Theory related hidden bugs are discussed in this paper to show the performance of MTAF.
Benefits Of Implementing Test Management ToolsKovair
Testing is the procedure of exercising software in order to check whether it is capable of satisfying certain requirements and to detect errors. The key objectives of software testing is to recognize detects, non-conformance and other allied threats in a work product in order to communicate all known concerns to the project group and make sure that every issue is addressed in an apt manner prior to release.
This chapter discusses the most commonly applied software development models, test levels and test types. Maintenance can be seen as a specific instance of a development process.
Generation and Optimization of Test cases for Object-Oriented Software Using ...cscpconf
The process of testing any software system is an enormous task which is time consuming and
costly. The time and required effort to do sufficient testing grow, as the size and complexity of
the software grows, which may cause overrun of the project budget, delay in the development of
software system or some test cases may not be covered. During SDLC (software development
life cycle), generally the software testing phase takes around 40-70% of the time and cost. Statebased
testing is frequently used in software testing. Test data generation is one of the key issues
in software testing. A properly generated test suite may not only locate the errors in a software
system, but also help in reducing the high cost associated with software testing. It is often
desired that test data in the form of test sequences within a test suite can be automatically generated to achieve required test coverage. This paper proposes an optimization approach to test data generation for the state-based software testing. In this paper, first state transition graph is derived from state chart diagram. Then, all the required information are extracted from the state chart diagram. Then, test cases are generated. Lastly, a set of test cases are minimized by calculating the node coverage for each test case. It is also determined that which test cases are covered by other test cases. The advantage of our test generation technique is that it optimizes test coverage by minimizing time and cost. The proposed test data generation scheme generates test cases which satisfy transition path coverage criteria, path coverage criteria and action coverage criteria. A case study on Automatic Ticket Machine ( ATM ) has been presented to illustrate our approach.
Prioritizing Test Cases for Regression Testing A Model Based ApproachIJTET Journal
Abstract— Testing is an important phase of quality control of Software Development Life Cycle (SDLC). There are various types of testing methodologies involved to test the application. Regression Testing is a type of testing, which is done to ensure whether the modified features or bug fix had an impact over the existing functionality. Defects are identified by executing the set of test cases. Regression Test case selection is not at all possible to conclude how much retesting is required to identify the deviation when the test suites are larger in size. Prioritization of test cases is done to change the order of test case execution based on the severity. In the proposed a model based approach prioritization of test cases are generated based on UML diagrams (Sequence and State Chart). The modified features have the reflection in the model generation and the number of states and transitions covered. Prioritized test cases are then clustered based upon the severities using dendragram approach. It leads to decrease in the time and cost of regression testing.
Real time implementation of the software system requires being more versatile. In the maintenance phase, the modified system under regression testing must assure that the existing system remains defect free. Test case prioritization technique of regression testing includes code as well as model based methods of prioritizing the test cases. System model based test case prioritization can detect the severe faults early as compare to the code based test case prioritization. Model based prioritization techniques based on requirements in a cost effective manner has not been taken for study so far. Model based testing used to test the functionality of the software system based on requirement. An effective model based approach is defined for prioritizing test cases and to generate the effective test sequence. The test cases are rescheduled based on requirement analysis and user view analysis. With the use of weighted approach the overall cost is estimated to test the functionality of the model elements. Here, the genetic approach has been applied to generate efficient test path. The regression cost in terms of effort has been reduced under model based prioritization approach.
How To Transform the Manual Testing Process to Incorporate Test AutomationRanorex
Although most testing organizations have some automation, it's usually a subset of their overall testing efforts. Typically the processes have been previously defined, and the automation team must adapt accordingly. The major issue is that test automation work and deliverables do not always fit into a defined manual testing process.
Learn how to transform your manual testing procedures and how to incorporate test automation into your overall testing process.
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODELijaia
Test case generation techniques are successfully employed to generate test cases from a formal model. A problem is that as the model evolves, test suites tend to grow in size, making it too costly to execute entire test suites. This paper aims to propose a practical approach to reduce the size of test suites for modified Simulink/Stateflow (SL/SF) model, which is popularly used for modeling software behavior in many industries like automobile manufacturers. The model for describing a system is frequently modified until it is fixed. The proposed technique is capable of extracting the minimized sized test suite in terms of test coverage, by taking into account both the modified and the affected portion of revised SL/SF model. Two real models for the ECUs deployed in a commercial car are used for an empirical study.
This is the chapter 3 of ISTQB Advance Test Automation Engineer certification. This presentation helps aspirants understand and prepare content of certification.
Configuration Navigation Analysis Model for Regression Test Case Prioritizationijsrd.com
Regression testing has been receiving increasing attention nowadays. Numerous regression testing strategies have been proposed. Most of them take into account various metrics like cost as well as the ability to find faults quickly thereby saving overall testing time. In this paper, a new model called the Configuration Navigation Analysis Model is proposed which tries to consider all stakeholders and various testing aspects while prioritizing regression test cases.
Similar to 11 Model-Driven Testing with UML 2 (20)
This presentation describe the importance of trade-off between software architecture quality attribute (NFR). Explain about Performance, Security, Availability and Scalability in depth and other in briefly.
Presented on tech talk @ DFN Technology.
Agile Requirements Engineering Practices: An Empirical StudyAsanka Dilruk
Paper presentation for my MSc @ UOM
Paper : "Agile Requirements
Engineering Practices:
An Empirical Study" on 2008
Lan Cao, Old Dominion University
Balasubramaniam Ramesh, Georgia State University
This presentation done for my MSc studies @ UOM. The presentation is related to the paper "Understanding Android Security" by William Enck, Machigar Ongtang, and Patrick McDaniel. Pennsylvania State University on 2009
1. Presented By :
Dilruk G.A. (148209B)
Jagoda S.D.
(148214K)
Tuesday, June 16, 2015 1
Model-Driven Testing with
UML 2.0
Zhen Ru Dai
Fraunhofer FOKUS, Kaiserin-Augusta-Allee 31, 10589 Berlin, Germany
dai@fokus.fraunhofer.de
2. Index …
Introduction
Approaches to Model-Driven Testing
The UML 2.0 Testing Profile (U2TP)
A Methodology on Model-Driven Test
Development
Test Design Model Transformation
Summary
Tuesday, June 16, 2015 2
3. Introduction
The Model-Driven Architecture (MDA) is not only
about system modeling.
The early integration of testing into the
development process becomes more and more
important.
U2TP bridges the gap between designers and
testers by providing a means for using UML for
both system modeling and test specification.
Tuesday, June 16, 2015 3
5. The UML 2.0 Testing Profile
(U2TP)
The Architecture Concepts
System Under Test (SUT) – One or More Object
Test Components – Objects within test system
Test Context - Message between components
Scheduler - Control the test execution and test components
The Behavior Concepts
State Machines and Activity Diagrams - define test stimuli,
observations, test control/invocations, coordination and
actions
Test Case – Normative test behavior is specified
Validation Action - performed by a local test component to
inform the arbiter about its local test verdict
Test Verdict – Result of the executed test (pass, inconclusive,
etc.) Tuesday, June 16, 2015 5
6. The UML 2.0 Testing Profile
(U2TP)
Test Data Concepts
Wildcards– Handle unexpected events, or events containing many
different values
Data pools – Associated with test context and include concrete test
data
Data Selectors - Operations to retrieve test data from the data pool or
data partitions
Coding Rules - Define the encoding and decoding of test data when
communicating with the SUT
Time Concepts
Group defines concepts to constrain and control test behavior with
regard to time
Timers – Needed to manipulate and control test behavior as well as to
ensure the termination of test cases
Time Zones – Used to group components within a distributed system,
allowing the comparison of time events within the same time zone
Tuesday, June 16, 2015 6
7. A Methodology on MDT Development
Following must consider when transforming system
design model to test design model
Define a new UML package as the test package of the system
Import the classes and interfaces from system design package to test
pkg.
Start with the test architecture and continue with test behavior
specification
Two categories of Issues regarding test architecture
and test behavior
Mandatories– Essential for a test design model with U2TP
E.g. : SUT, Test Context
Optional– Specific to test requirement and therefore not always
needed
E.g. : test control, timers
Additionally, there are optional and mandatory concepts which can
derive directly from existing system designTuesday, June 16, 2015 7
8. U2TP Concepts & Methodology
on Test Design Model
Development
Tuesday, June 16, 2015 8
9. A Methodology on MDT Development
Test Architecture
Mandatory
Assign the classes (in Class diagram) or objects (in Object Diagram) to SUT
Specify test context listing the test attributes and test cases, also possible test
control and test configuration
Optional
Group the classes/objects (except SUT) to define test component – Not needed
for Unit Tests
To Define the order of the test case execution use the test control
Activity Diagram – one activity means one test case and activity flow is test flow
in test control specification
Use Case Diagram – one use case means one test case
Interaction Diagram use for the Test configuration
Whenever two components exchange message each other, assign a channel
between them.
Assign time zones if the test system is a distributed one.
Provide Coding rule information
Tuesday, June 16, 2015 9
10. A Methodology on MDT Development
Test Behavior
Mandatory
Use Interaction Diagrams for the specification of test case. Change the
instances and assign them with stereotype according to their roles.
Assign verdicts at the end of each test case specification. Usually this is set to
pass
Optional
Define test objectives for each test case that is to be specified
System behavior which are not used for tests should be taken for default.
Interactions Diagrams like Sequence Diagrams, State Machiens or Activity
Diargrams should use to define this. Verdict Settings for this is either fail or
inconclusive.
Use wildcards to catch unexpected behavior
Timers should be derived from time constraint specifications within a State
Machine or Sequence Diagram
Tuesday, June 16, 2015 10
11. Test Design Model
Transformation
Meta-model based transformation
◦ Source meta model is the UML Meta-Model and
Target is the U2TP Meta-Model
Every mechanism cannot be performed by
transformation such as grouped the test
components or SUT
Hence use mechanism called test directives and
its meta-model is Test Directive Meta-Model.
Transformation rules applied to both UML & Test
Directive meta-model to create U2TP meta-
model
All 3 models are based on MOF (Meta-Object
Facility is an Object Management Group (OMG)
standard for model-driven engineering)
Tuesday, June 16, 2015 11
13. Test Design Model
Transformation
Used aspect-oriented, declarative or
pattern-based language to the
Transformation.
Transformation Rules used for describe
the correspondence between pattern of
elements in source model and target
model.
Patterns are reusable definitions.
When patterns are used in the source of
a rule it is an query, but when it is used
in the target, it acts as a template.
Tracking relationships associate the
source model elements and the target.
Tuesday, June 16, 2015 13
If I ask a question that how many of you aware about UML system modeling, probably all of you raised your hands saying we know. But when I ask how many of you aware about UML test profile and how to use UML for test modeling, most of you may not aware about this. So in this paper the main contribution is that describing a methodology for how to apply UML 2.0 Test profile concepts to an existing UML system design model effectively in order to retrieve a test design model.
So The MDA is not only about system modelling But also can be applied to test modelling.
As in the software development process steps, testing and test code generation is done at the last, but it is worth to have early integration of testing into development process. This allow reduction of time and cost.
So from the UML 2.0 version it was introduced UML test profile to model system testing, U2TP bridges ,..
platform independent system design models (PIM)
platform specific system design models (PSM)
platform independent test design model (PIT)
platform specific test design model (PST)
The UML 2.0 Testing Profile provides concepts to develop test specifications and test models for black-box testing. U2TP introduce four main logical concepts which are architeture concepts, behavir concepts, test data concepts and time concepts.
Together, these concepts define a modeling language for visualizing, specifying,analyzing, constructing and documenting a test system.
One or more objects can be identified as the System Under Test (SUT). Test components are objects within a test system
which can communicate with the SUT or other components to realize the test behavior. Test context …..
The scheduler controls the test execution and test components. It is responsible for the creation of test components, a synchronized
start of the different test components, and the detection of test case termination.