${taskforce.name} Avatar
  1. OMG Task Force

UML Testing Profile 1.2 (UTP) RTF — Open Issues

  • Key: UTP12
  • Issues Count: 24
Open Closed All
Issues not resolved

Issues Descriptions

Issue in the UTP 1.2 normative XMI file

  • Key: UTP12-3
  • Legacy Issue Number: 19084
  • Status: open  
  • Source: INRIA ( Juan Cadavid)
  • Summary:

    I’d like to report on an issue on the normative files for the UML Testing Profile version 1.2.
    According to the PDF spec, section 11.4 « Test Result Analysis », the TestLog stereotype extends the Behavior metaclass. This extension relationship is not specified in the utp_1.2.xmi file.

  • Reported: UTP 1.2 — Thu, 14 Nov 2013 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Verdict should be renamed to VerdictKind

  • Key: UTP12-4
  • Legacy Issue Number: 17228
  • Status: open  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    The enumeration Verdict should be renamed to VerdictKind, to be consistent with UML and all other UML profiles.

  • Reported: UTP 1.1 — Tue, 13 Mar 2012 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Constraints on superclasses needs to be overwritable for test data specifications

  • Key: UTP12-11
  • Legacy Issue Number: 16905
  • Status: open  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    UML supports the substitution principle of the object-oriented paradigm among other by not allowing the violation of constraints on superclasses in specialized subclasses. This is fine for the definition of system specifications. Testing, however, has to deal with invalid situations and data types. The most common test design/test data design technique relies on that fundamental principle of identifying "invalid" partitions of data types - the equivalence classes. Invalid means that the data partition does not comply with the constraints that is either applied to an interface operation or the data type itself.

    In UTP, data partitions are defined as stereotypes on classifier, hence it is possible to reuse existing type definition (from an existing system model) and to create data partitions for that type (let's called it base type) that divides the base type into several different data partitions.

    As an example, consider the following:

    class A{
    + i : Integer

    {i >= 0 and i <= 100}

    }

    Applying the equivalence class method, this base data type would result in three equivalence classes/data partitions:

    1. DP_1 = i >= 0 and <= 100 //valid
    2. DP_2 = i < 0 //invalid
    3. DP_3 = i > 100 //invalid

    If we want to reuse the base data type for the design of test specifications, we would have to generalize the already existing class A by three different data partitions like:

    DP_1 extends A{ //valid
    + a : Integer

    {i >= 0 and i <=100}

    } //constraint inherited by class A

    DP_2 extends A{ //invalid
    + a : Integer

    {i < 0}

    }

    DP_3 extends A{ //invalid
    + a : Integer

    {i > 0}

    }

    Creating DP_2 and DP_3 would result in a contradiction, since UML disallows constraints to be deactivated or overwritten. DP_2 would look like this:

    DP_2 extends A{ //invalid
    + a : Integer

    {i < 0 and i >= 0 and i <=100}

    }

    This requires a mechanism to explicitly target constraints in superclasses which are overwritten (not redefined) in subclasses with <<DataParition>> applied.

    To summarize: Test specifications address a larger set of data types than sytem specification, since they have to stimulate the system with data which are invalid by the system specification.

    A possible and minimal inversive solution could the following be:

    Introduce a new stereotype <<OverwritingConstraint>> or <<TestConstraint>> that has at least one tag definition, namely:

    + overwrittenConstraints : Constraint [1..*]

    whereas each Constraint being referenced by the tag definition must be a constraint initially introduced by the base type of the data partition or one of its subclasses.

  • Reported: UTP 1.1 — Wed, 14 Dec 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

TestComponent stereotype should extend Property

  • Key: UTP12-13
  • Legacy Issue Number: 16901
  • Status: open  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    In situations where components already exist which shall be reused for the test architecture, it is contra-productive that test component only extends StructuredClassifier. This requires always the creation of a completely new test component (maybe using generalization) for the test architecture.

    Treating TestComponent, in addition to its current representation, similar to <<SUT>> (which extends Property) would result in more flexibility since existing classifier can be reused for being both the SUT and a TestComponent in different tets context.
    This is in particular helpful for reusing existing classifier.

    This way would ot restrict the situation where completely new tets component classifiers must be created (maybe though generalization from already existing classifier in the system model). Current approaches would not become invalid, in contrast, this would result in a more precise and clear test configuration.

  • Reported: UTP 1.1 — Wed, 14 Dec 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Attribute CodingRule::coding should be typed by ValueSpecification

  • Key: UTP12-14
  • Legacy Issue Number: 16899
  • Status: open  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    The specification states that coding rules should be defined outside of the utp model and just being referred from the utp model.

    In some situations, it can might be required to include a precise coding and decoding of values already in the model.

    Therefore, the coding attribute should be typed by ValueSpecification, which would allow both merely naming the coding rule that should be used by an external test execution environment (LiteralString) and a formal representation of the coding/decoding mechanism itself (Expression/InstanceValue/OpaqueExpression)

  • Reported: UTP 1.1 — Wed, 14 Dec 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Unnecessary Comment in the normative XMI representation of UTP

  • Key: UTP12-1
  • Legacy Issue Number: 19018
  • Status: open  
  • Source: mit.bme.hu ( Zoltan Micskei)
  • Summary:

    In the normative XMI representation of the UML Testing Profile version 1.2 (http://www.omg.org/spec/UTP/20120801/utp_1.2.xmi) there is the following ownedComment element:

    <packagedElement xmi:type="uml:Stereotype" xmi:id="_PsR94OVOEeG84fBOY39c0g" name="TestCase">
    <ownedComment xmi:type="uml:Comment" xmi:id="_ZvGtsOVOEeG84fBOY39c0g">
    <body>[09.08.2012 09:16:54] ... my choice would be: Scandic Palace Tallinn, 3 VABADUSE VALJAK SQUARE, TALLINN, EE10141</body>
    </ownedComment>

    It seems to me that comment is by mistake, and not necessary in the profile definition.

  • Reported: UTP 1.1 — Wed, 16 Oct 2013 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Figure B.28 - Transaction detail - is erroneous

  • Key: UTP12-2
  • Legacy Issue Number: 17230
  • Status: open  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    Figure B.28 depicts an interaction between a tect component lifeline and several SUT lifeline. The first two and the last two messages invoke an operation called checkBalance with a actual parameter p.euAccount/p.usAccount, where p is of type TrxnData.

    The type TrxnData is specified in Figure B.23, and in this Figure (which is the only Figure for the definition of TrxnData) there are no attributes for TrxnData called euAccount or usAccount, but account.

  • Reported: UTP 1.1 — Tue, 13 Mar 2012 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Invalid Figure B.14

  • Key: UTP12-12
  • Legacy Issue Number: 16568
  • Status: open  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    Given by constraint 6 of UML::Message (Section 14.3.18 in UML 2.4 Superstructure), messages are not allowed to cross boundaries of a CombinedFragment. Gates manage the connection of messages outside of a CombinedFragment to messages inside the CombinedFragment. So, in general, a cfragmentGate should be used in this Figure.

    However, in picture B.14 a Default is depicted. Defaults express behavior for exceptional situation within a test case specfication, so actually, the behavior of a Default is added to the receiving test component lifeline for a particular message (shown in Figure B.13), or for a set of messages (not mentioned in the spec at all). Thus, the two boundary-crossing messages shown in B.14 do not have a real counterpart in Figure B.13 (they are just additional messages).

    For resolution, I suggest to use found messages (UML::Message with MessageKind::Found) within the InteractionOperands of the determAlt CombinedFragment, to indicate they are additional message for which no real counterparts exists in the interaction applying a Default.

  • Reported: UTP 1.1 — Thu, 29 Sep 2011 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Align test-related actions for Interactions with UML 2.4

  • Key: UTP12-5
  • Legacy Issue Number: 15999
  • Status: open  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    In the current UTP specification, the different test actions (StartTimerAction, ValidationAction, etc.) are indirectly bound to a lifeline by being referenced from an ActionExecutionSpecification that covers a lifeline, representing a structured classifier with <<TestComponent>> stereotype applied. This was necessary because there was no adequate meta model element in Interactions for placing a single action onto a lifeline. With UML 2.4, the meta model of Interactions have been reworked significantly in the way that the meta model element OccurrenceSpecification became a concrete class, specializing InteractionFragment. An OccurrenceSpecification has a reference to exactly one lifeline it covers. This the precise redefinition of test actions for Interactions, using the new UML 2.4 semantics.

    Therefore, each test action (StartTimerAction, StopTimerAction, ValidationAction, etc.) shall extend UML::OccurrenceSpecification directly. Since OccurrenceSpecifications do not have a notation a priori, each test action has to define a dedicated notation (for some actions, there is already a notation defined, e.g. TimeOutMessage). This makes the actions easily and freely positionable on the lifelines. By doing so, the applicability of UTP would be significantly simplified. Besides, the memory footprint in the background would be extremly decreased, due to the fact that the event would be bound directly to the OccurrenceSpecification instead of creating a lot of elements (ActionExecutionSpecification, Action, Event, Input/OutputPins...)

  • Reported: UTP 1.0 — Mon, 31 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Alter predefined interfaces to stereotypes with constraints

  • Key: UTP12-6
  • Legacy Issue Number: 15998
  • Status: open  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    The UTP predefines three interfaces, that are Scheduler, Arbiter and Timer. Mixing interfaces and stereotypes, which are supposed to work with those interfaces, is confusing and complicates the implementation of the profile. The idea of those interfaces is straight forward, however, the technical realization is hard to achieve due to mixed meta layers. UML::Interfaces instances are located at meta layer M1 (model layer), whereas Stereotype instances are located at meta layer M2 (meta-model layer).

    Since the profile mechanism allows the definition of constraints for the base class of a stereotype, it is possible to express the semantics of the predefined interfaces with stereotypes and constraints, being applied on them. Even if a UML profile tool does not include OCL evaluation, the profile would be still easily implementable. The key point is here: Including OCL constraints into the semantics of a stereotype does not restrict the technical feasibility of the profile. Rather, the modeler would be responsible to respect the constraints of the stereotype. If a tool makes use of OCL expressions, the validity of the model would be checked automatically.

  • Reported: UTP 1.0 — Mon, 31 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Test scheduling should be supported explecitely

  • Key: UTP12-16
  • Legacy Issue Number: 15914
  • Status: open  
  • Source: sepp.med ( Armin Metzger)
  • Summary:

    Some test cases might required additional hardware that is only available in specific timeframes. This means the test cases must be scheduled in detail and in certain sequences. Also, test cases may depend on each other.

    Corresponding model element assignments can be established in principle with the current UTP specification, but a corresponding rule-set or a basic standard is missing.

    Such kind of rule-set standard is necessary for potential tooling support of scheduling aspects coming out of an UTP test model.

  • Reported: UTP 1.0 — Wed, 5 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

OCL expressions should be used for precise description of constraints

  • Key: UTP12-15
  • Legacy Issue Number: 15726
  • Status: open  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    Rational
    #####################
    OCL is the OMG’s formal, MOF-based language to express fine-grained constraints in MOF-based models. OCL expressions are unambiguous, precise and computable.

    Issue
    #####################
    All constraints in UTP specification are defined with natural language. In order to help readers (tool vendors, tester, modeler) to implement, understand and apply the stereotypes of UTP properly, it would be helpful to use formal OCL expressions for these constraints. The natural language description may remain in the specification, meaning the OCL supplements the already existing description. The benefits would be two-folded: Both readers with and without OCL knowledge would be able to understand the specification.
    UML 2.3 Superstructure, section 18.3.2 Extension, subsection Semantics explains how OCL constraints can be exploited to define restriction on the extended metaclass.

  • Reported: UTP 1.0 — Thu, 14 Oct 2010 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

term data value issue

  • Key: UTP12-18
  • Legacy Issue Number: 15933
  • Status: open  
  • Source: Grand Software Testing ( Jon Hagar)
  • Summary:

    Source: Lockheed Martin, Jon Hagar
    Specification: UML Testing Profile
    Section: term data value
    Nature: Issue
    Severity: med
    Summary:

    The term data value is used many places and seems to be a root for data definitions, e.g. pools, but is not semantically defined.

    Resolution:

    Create a semantic definition for data values

  • Reported: UTP 1.0 — Thu, 13 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Test Cases as an Operation

  • Key: UTP12-17
  • Legacy Issue Number: 15927
  • Status: open  
  • Source: Grand Software Testing ( Jon Hagar)
  • Summary:

    Source: Lockheed Martin, Jon Hagar

    Specification: UML Testing Profile
    Section: fig 6.2

    Nature: Issue
    Severity: med
    Summary:

    Test Cases as an Operation
    There isn’t a formal diagram notation for an operation in the UTP; therefore you can’t show it on a diagram using a standard notation. Tool vendors have provided solutions but they are not part of the standard. Figure 6.2 shows test case and operation (metaclass)

    Resolution:

    Provide notation definition of operation to be used throughout the standard.

    Revised Text:

  • Reported: UTP 1.0 — Tue, 11 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Visual & Standalone Test Cases

  • Key: UTP12-24
  • Legacy Issue Number: 15937
  • Status: open  
  • Source: KnowGravity Inc. ( Mr. Markus Schacher)
  • Summary:

    A common early step in specifying test cases is identifying a set of test cases. Today, «TestCase» is a stereotype of an "Operation" or a "Behavior" which is a specialization of a "Class". To support test case identification a test case should be a first-class model element that may exist standalone and that may visually be recognized as a test case.

  • Reported: UTP 1.0 — Wed, 12 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Anatomy of a Test Case

  • Key: UTP12-22
  • Legacy Issue Number: 15936
  • Status: open  
  • Source: KnowGravity Inc. ( Mr. Markus Schacher)
  • Summary:

    A single test case must be stateful as it controls the sequence of the individual test steps and may need to store temporary data while being executed. These requirements make it difficult to have test cases based on operations. On the other hand, test cases need to be parameterized to achieve some level of genericity, which is less common to behaviors.

  • Reported: UTP 1.0 — Wed, 12 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Test Case Types & Instances

  • Key: UTP12-23
  • Legacy Issue Number: 15935
  • Status: open  
  • Source: KnowGravity Inc. ( Mr. Markus Schacher)
  • Summary:

    A single test case is a type that needs to be instantiable (i.e. executed) many times. Instances of a single test case may either be executed in a sequence or in parallel (in which case multiple instances of the same test case exist at the same time). When a single instance of a test case has been executed it should mainly be frozen but may be retained for historical reasons.

  • Reported: UTP 1.0 — Wed, 12 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Test Context

  • Key: UTP12-19
  • Legacy Issue Number: 15934
  • Status: open  
  • Source: KnowGravity Inc. ( Mr. Markus Schacher)
  • Summary:

    Today, «TestContext» is a stereotype of a "StructuredClassifier". However, test contexts must be able to contain anything that is useful to model test specifications, including other test contexts, test cases, test components, and even different kinds of diagrams.

  • Reported: UTP 1.0 — Wed, 12 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Test Maps

  • Key: UTP12-7
  • Legacy Issue Number: 15940
  • Status: open  
  • Source: KnowGravity Inc. ( Mr. Markus Schacher)
  • Summary:

    When identifying test cases one of the most important goals is to minimize the number of test cases while maximizing the test coverage. The core approach to achieve this is to employ various mechanism that facilitate reusability. Therefore, it is very helpful to visualize families of related test cases and their associations on dedicated diagrams.

  • Reported: UTP 1.0 — Wed, 12 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Associations among Test Cases

  • Key: UTP12-8
  • Legacy Issue Number: 15938
  • Status: open  
  • Source: KnowGravity Inc. ( Mr. Markus Schacher)
  • Summary:

    Test cases must support various associations among them so that they may be organized into families of related test cases.

  • Reported: UTP 1.0 — Wed, 12 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

getDistributionInterval

  • Key: UTP12-9
  • Legacy Issue Number: 15944
  • Status: open  
  • Source: KnowGravity Inc. ( Mr. Markus Schacher)
  • Summary:

    The role of operation "getDistributionInterval" on class "DataPool" (in figures 6.39 and 6.41) is not clear.

  • Reported: UTP 1.0 — Wed, 12 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Default

  • Key: UTP12-10
  • Legacy Issue Number: 15943
  • Status: open  
  • Source: KnowGravity Inc. ( Mr. Markus Schacher)
  • Summary:

    The wildcard * to indicate any kind of default is particularly on state machines uncommon and inflexible.

  • Reported: UTP 1.0 — Wed, 12 Jan 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Grey box testing

  • Key: UTP12-21
  • Legacy Issue Number: 6956
  • Status: open  
  • Source: Motorola ( Paul Baker)
  • Summary:

    Monitoring of interfaces between components within the SUT.

  • Reported: UTP 1.0b1 — Fri, 13 Feb 2004 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT

Data guards on observations

  • Key: UTP12-20
  • Legacy Issue Number: 6955
  • Status: open  
  • Source: Motorola ( Paul Baker)
  • Summary:

    For each operand the guard has to be on each leading event within an alternative

  • Reported: UTP 1.0b1 — Fri, 13 Feb 2004 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:59 GMT