subscribe. Once registered, the visitor becomes a
client of the Agency. A client must authenticate in
the system to search for available cars and book a
car by indicating the reservation date and time.
• Manager: A Manager must also authenticate to
view all cars, add, edit or remove cars and view
the bookings made by customers waiting for vali-
dation to decide to accept or decline them.
• Administrator: Once authenticated into the sys-
tem, the administrator has the privilege of modify-
ing and deleting a customer account, as well as the
management of managers account (add, change or
delete).
We can define some management rules as below:
• A customer can rent several cars.
• A car can be rented by 0 or several customers.
• A manager can manage 1 or more cars.
• A car is managed by 1 or more managers.
• An administrator can manage 1 or several cus-
tomer accounts.
• An administrator can manage 1 or more account
managers.
The first step in our approach is to model the
system requirements following our approach as de-
scribed in the previous section of this paper:
• Modeling CIM Level and Generating Valida-
tion Tests: In this step we model the system re-
quirements using SBVR (Semantic Business Vo-
cabulary and Business Rules) and UCD (Use Case
Diagram) to represent the CIM level, from where
we tend to generate Validation tests.
From this level we will generate validation tests.
The table 2 bellow describes the application of vali-
dation test generation rule on RentalCarAgency sys-
tem (we will focus in this part on Use Cases elements
specified for ”Customer” actor).
• Modeling PIM Level and Generating Integra-
tion Tests: The second step consists on gener-
ating PIM level represented by BCD (Business
Class Diagram) and SSD (System Sequence Dia-
gram) and then generating Integration Tests from
PIM level, the table 3 describes the application of
this rule on RentalCarAgency system.
The generation of PIM level was automated using
an eclipse plugin that we developed and presented
in our previous works (Essebaa and al, 2017)
• Modeling PSM Level and Generating Unit
Tests: The last step consists on generating PSM
level that we aim to model it by CD (Class Di-
agram) and DSD (Detailed Sequence Diagram)
ansd then generating Unit Tests from PSM level,
the table 4 describes the application of this rule on
Rental Car Agency system.
The generation of PSM level will be discussed and
detailed in our future works
• Evolution of Rental Car agency system
In this section we will make some evolu-
tions to the system (addition, deletion and
modification of features) in order to visualize
generation tests attitude in evolutionary system.
– Modifications: ”View car catalog” feature will
be available for all users not only customers,
this modification engender a new actor ”User”
that it will be a generalization of ”Customer”
actor.
The modification of this feature will necessi-
tate to make some modification to test cases.
Indeed as in our method we use MBT approach
we tend to generate automatically the new set
of tests according to the new models after mod-
ification, we call these tests T
m
for ”Tests of
modification” At this stage of work we propose
a manual definition of the tests affected because
of the change, the table 5 describes these tests
– Addition: In the new system, ”Customer”
will be able to validate its rental by pay-
ment, ”payment” feature will generate new
test cases that we will call T
a
for ”Tests
of addition”. The addition of a feature
may engender some modifications in old
ones, in table 5 we define new tests added
to test payment feature and describes if
other tests was affected due to addition.
– Deletion: The addition of ”payment” feature
requires to delete ”manage rental” feature of
”Manager” that allowed him to accept or reject
the rental, in the new system the customer can
validate its rental from the system, before pro-
ceeding to payment option the system must be
able to check if the chosen car is available for
date specified by the customer. We note that
deleting feature may also add or modify tests,
otherwise tests corresponding to deleted feature
that we represent T
d
, the table 5 describes these
tests.
Definition of Set of Tests of the New System Under
Test After Evolution: After defining evolution and
generating new tests for each evolution, we have to
define the new set of tests that we will apply on the
A Combination of V Development Life Cycle and Model-based Testing to Deal with Software System Evolution Issues
533