Designing Fulfilling
Test Cases withTest Aspect Model
Akiharu SatohShizuka Ban

NPO ASTER

NPO ASTER

Minato-ku, Tokyo, Japan

Minato-ku, Tokyo, Japan

Yuzuru Harayama

Kunio Yamamoto

Panasonic ITS Co., Ltd.

NPO ASTER

Yokohama, Kanagawa, Japan

Minato-ku, Tokyo, Japan

Contents
1. Introduction
2. Use case of Test Aspect Model
3. Definition of Test Aspect and relationships
4. Examples of Test Aspect Model
5. Conclusion

21. Introduction

3

Background of our proposal
UML testing profile 2.0(UTP2) allows test engineers to describe the architecture of test systems inmore detail. However, UTP2 is not sufficient to describe the architecture of test suites.

Architectureof Test Suites

Architectureof Test Systems
4

Background of our proposal
So, a year ago, we proposed the test aspect, which reveals the aspect to be tested in InSTA 2018.
One of the features of the test aspect is it has UTP-enhanced notation.

+<<TestAspect>>
XXX

5Our new proposal
In InSTA 2018, our proposal gave examples of a test aspect model only, but not use cases which
derive test cases from a test aspect model.
We will give more examples of the use cases of a test aspect model, and show the merit ofconsidering a test aspect model in the test design process.

Sharing knowledge about test objects

Test Aspect
Model

Extracting new test requirements
and making test cases fulfilling
Complementing development models( These use cases are shown later. )6

2. Use case ofTest Aspect Model

7

Usual test analysis and design process
Context ofthe project

Development
Model

Test
Objectives
Define Test
Requirements

Tacit
Knowledge

Test
Requirements
DesignTest Cases

ProjectConstraints,etc.

explanatory notes
ActionTest Cases

input/output flow
Deliverables /Knowledge8

A problem of the process

Context ofthe project

Development
Model

Test
Objectives
Define Test
Requirements

Tacit
Knowledge

lacking

Test
Requirements
DesignTest Cases

Project
Constraints,etc.

explanatory notes

insufficient
ActionTest Cases

input/output flow
Deliverables /Knowledge

9Solution: making tacit knowledge explicit
Test engineers have various concerns for the development model from their own tacit knowledge.
These concerns helps in extracting aspects to be tested.
information onbugs found inthe pastexperiences
as developertacitknowledge
experiences
as userlook in detailconcerns
whether the websystem allows
multiple login

development
model(ex. login pagespecification)

what will happen
if a user enters an
expired password
whether user
input isencrypted

10

The test aspect and test aspect model
The test aspect is the aspect to be tested derived from the test engineers' concerns.
The test aspect model is the set of test aspects equipped with their relationships.

test
aspecttest
aspectdevelopment
model

test
aspecttest
aspecttest
aspect

Test aspect model
11

The generic test aspect model
Sharing knowledge more effectively, test aspect model should not be specialized in a certain test
project. Then, we propose the generic test aspect model.
The generic test aspect model does not contain the information about certain test projects.
concretetest aspectmodel on
ABC system

concretetest aspectmodel onXYZ software

generalize
generalize

generic test
aspect model

concretetest aspectmodel on123 service

generalize

12Use cases of test aspect model
Use case A.
Sharing knowledge
about test objects

Use case B.
Extracting new test
requirements
and making test cases
fulfilling

testsuites

NEW
test case

Use case C.
Complementing
development models

dev.
model

additional
specification

13

Proposal of new test analysis and design
process
withtest
aspectmodel
DA
Development
Model

AAAnalysis of theDevelopment
Model as a
Test BasisDD

AC

Test Aspect Model
conforming toDevelopment
Model

DE

Tacit
Knowledge
Generic
Test Aspect
Model

Test
Objectives

Define Test
Requirements

DBDC

Context ofthe project

Test
Requirements

Generalizationof Test
Aspects

ABDesign
Test Cases

ADProject
Constraints,etc.

DF
Test Cases

14

3. Definition of Test Aspect
and relationships

15Notation of test aspect
The test aspect is the aspect to be tested derived from the test engineers' concerns.
In the UML notation, a test aspect is represented by class with stereotype <<TestAspect>>16

Relationships between two test aspects
is-a"B is a A"

part-of (has-a)"A has a B"

A and B are
in the relation oftaxonomic hierarchy

A and B are
in the relation ofpossessive hierarchy
17

Relationships between test aspects
and other elements
We define two kinds of relationships, extract and suggest, as relationships between a test aspect
and one of other model elements.

18

4. Examples ofTest Aspect Model

19

The test base
The test base of our example is the ATM in the InterBank Exchange Network (IBEN) shown in the UTP2
document.
We assume that the test level is the integration test.

country A
bank
network
ATMATM

SWIFT
network

country B
banknetwork

Test scope
20

The Development Model of the ATM
The ATM software consists of 5 packages as follows.
Then, class diagrams are given for every package.

・・・・・・・・・

21

The Development Model of the ATM

behavior when a user
enters a valid pin-code22

Trivial test requirements and test cases
These are trivial test requirements and test cases lead from the development model without the test
aspect model.

The hardware terminal (HWControl)
provides user's card and user's pin-code.
The ATM shall authorize this card and its
pin-code.

After a successful authorization of user's data,
money shall be deposited into the bank.
The ATM shall ensure a correct transaction
communication with the Bank.

23

Trying the improved test analysis processDADevelopment
ModelAAAnalysis of theDevelopment
Model as aTest BasisDDAC

Test Aspect Model
conforming toDevelopment
ModelDE

Tacit
Knowledge
Generic
Test Aspect
ModelTest
Objectives

Define Test
Requirements

DBDC

Context ofthe project

Test
Requirements

Generalizationof Test
Aspects

AB

DesignTest Cases

ADProject
Constraints,etc.

DF
Test Cases

24

Discovering concerns
Looking at the specifications described in the test base, test engineers indicate their concerns.

concernlooking in detail

Test base25

From concerns to test aspects
Test engineers indicate their concerns as test aspects in the class diagram.

How is the response speed ofeach method such asisPinCorrect appropriate?
What is "invalid" of an invalid
card? And how does an invalid
card behave?
Is it possible to conjecture
personal information from error
messages or not?
and so on ...

26

Creating a test aspect model

A part of the test aspect model conforming to the ATM software

27

Creating a test aspect model

A part of the test aspect model conforming to the ATM software

28

Use case 1: Extracting new test
requirements
The consideration of test aspects extracts new test requirements.

If one of the methods returns
neither true nor false, anappropriate exception handlingwill occur.

If an incompatible card isentered in ATM, ATM software will
return false.

29Use case 1: Extracting new test
requirements
In this way, test engineers can enhance the test context.

new test
requirements

30

Use case 2: Extracting new test cases
Looking at test aspects in detail, we sometimes find the aspects that show factors and levels ofparameters. Test engineers can use such test aspects when designing test cases.

New test case
Test aspects about card
31

Use case 3: Complementing thedevelopment model
The consideration of test aspects complements the shortcoming of the development model.

complement thespecification on
response speed

OriginalImproved32

5. Conclusion

33

Utilizing tacit knowledge with UTP
Test engineers' concerns on a test object is important to prevent from insufficient testing.
We gave the methodology of explicating these concerns with UTP, that is the test aspect and thetest aspect model.
The effects of considering test aspects will be as follows:

Test Aspect
Model

Extracting new test requirements
and making test cases fulfilling
Sharing knowledge about test objectsComplementing development models

34

Future tasks• Examination of relationships between other methodologies.
• We will examine the relationship between the test aspect model andother methodologies of the test development.

• How to create a better test aspect model.
• Where, we think "better" means as follows:• the model leads to more fulfilling test cases• the model can be used in a more general purpose

35

Special Thanks

Satomi-Juku
What is Satomi-Juku？

"Satomi-Juku" is a research group of test architecture in NPO ASTER.
It is a place to disclose more advanced test development methodologies
through debate, and share them.

36