2013 17th European Conference on Software Maintenance and Reengineering
The OMG UML Testing Profile in use - An industrial case study for the Future Internet testing. Alessandra Bagnato, Andrey Sadovykh, Etienne Brosse
Tanja E.J. Vos Centro de Métodos de Producción de Software (ProS) Universitat Politècnica de València Valencia, Spain
[email protected]
Softeam Paris, France {alessandra.bagnato, andrey.sadovykh, etienne.brosse}@softeam.fr Abstract — The EU funded FITTEST FP7 project aims to address the Future Internet (FI) testing challenges. FITTEST will be integrated in three pilot applications provided by three industrial partners, IBM, Sulake and Softeam. This paper presents the Modelio SaaS product and case study context selected by Softeam as FITTEST Project industrial application and the usage of the Object Management Group (OMG) UML Testing Profile module. In the paper, researchers present the advanced software engineering methods proposed by FITTEST 1 and the usage of the OMG UML Testing Profile (UTP) in a real industrial environment within Softeam Modelio SaaS.
This paper describe the pilot within FITTEST that will involve the Softeam Modelio SaaS (Software as a Service), an extension of the Modelio modeling tool [6] and the UML Testing profile modeling techniques applied within the project. Modelio has been in development for 20 years. Modelio SaaS is a proof-of-concept project at Softeam that will make the distributed environment configuration transparent to users. Modelio SaaS will be run in virtualized environments on different cloud platforms presenting high number of configurations to challenge testing. The PHP Web Use Interface (UI) of the Modelio SaaS system is the focus of the Softeam case study. This paper describes how the UML Testing Profile (UTP) was used to model the first planned test cases to be executed within the Softeam case study. Prior to the development of the UML Testing Profile (UTP), OMG UML [12] (which is the most popular modeling language) did not have support for testing-related activities. [11]. UML technology focuses primarily on the definition of system structure and behaviour. Since July 2005, UTP has become an official OMG standard and provides extensions to UML to support the design, visualization, specification, analysis, construction, and documentation the artifacts of test systems. As from the UTP specification [10], UTP “is a test modeling language that can be used with all major object and component technologies and applied to testing systems in various application domains.” The rest of the paper is organized as follows: Section II presents the FITTEST Project and Section III presents the Softeam Modelio SaaS system. The UTP profile implementation in Modelio and its usage are addressed in Section IV and V respectively. Finally, Section VI presents some conclusions and outlines future work.
Keywords-softeware testing, case study, UML testing profile, model-based testing, UML, future internet .
I.
INTRODUCTION
Effectively testing Future Internet (FI) applications is the driving goal of the EU funded FP7 FITTEST project [1], which started in September 2010. To this end, FITTEST will develop an integrated environment for automated testing, which can monitor the FI applications under test and adapt the testing to the dynamic changes observed. The environment will implement continuous post-release testing since a FI application does not remain fixed after its release. Services and components could be dynamically added by customers and the intended use could change significantly. The environment will integrate, adapt and automate various techniques for continuous FI testing (e.g. model-based testing, log-based diagnosis, dynamic model inference, oracle learning, combinatorial testing, concurrent testing, regression testing, etc.)[5]. Within the project, three case studies are executed to evaluate testing techniques and tools developed in FITTEST project results in real industrial settings with the objective of obtening empirical evaluation to provide valuable results and feedback to developers as well as contributions to the state of the art of future Internet testing [7]. The systems where case studies will be performed are real products of project’s industrial partners IBM [3], Softeam [4] and Sulake[2]. 1
II.
The FITTEST project (June 2010-2013) [2] is being carried out by seven partners: x Universidad politécnica de Valencia. x Berner & Mattner systemtechnik gmbh. x University College London. x IBM Israel.
FITTEST (Future Internet Testing) (FP7- ICT257574) is an FP7 project.
1534-5351/13 $26.00 © 2013 IEEE DOI 10.1109/CSMR.2013.71
FITTEST PROJECT
457
x Fondazione Bruno Kessler. x Softeam x Universiteit Utrecht x Sulake corporation oy The overall purpose of FITTEST is to address the Future Internet (FI) testing challenges, by developing and evaluating an integrated environment for continuous evolutionary automated testing, which can monitor the FI application under test and adapt to the dynamic changes observed [5]. The FITTEST Integrated Testing Environment (ITE) for Continuous Testing allows testing continuously Web applications running in Web browsers (e.g. Flash and PHP applications) in a continuous way. Testing means that the environment is able to execute test cases, which describe some interactions with the Web applications. Continuously means that the environment is able to record the behavior of a Web application after this application has been delivered to its end-users - provided that this application has been instrumented with the FITTEST libraries available for the technology used by the application [7]. Figure 1 shows the FITTEST global picture, FITTEST ITE integrated testing tools developed and/or improved as result of FITTEST EU project, including B&M CTE for Combinatorial testing[16], FITTEST Continuous Testing [ ] for GUI crash testing. g Tool and GUITEST tool[15]
III.
The case study system selected by Softeam for the FITTEST project, Modelio SaaS (Software as a Service), is an extension of the Modelio modeling tool. Modelio[6], the successor of Objecteering, is a modelling tool that has been at the cutting edge of innovation and model-driven development for 20 years. Modelio is dedicated to professional modelling and development activities. It provides complete support of UML2 modelling, as well as support of Enterprise Architecture modeling, BPM models and SOA modeling. It supports MDA customization, XMI import and export and can be extended through a wide range of modules covering the entire life-cycle of technical or business systems or software. One of the main modules put forward by Modelio is the Teamwork Manager module. This module endows Modelio with a distributed collaborative modelling environment. The environment allows a team of designers and developers to work on the same modelling project by sharing it through a Subversion repository. Moreover, as for each project a set of modules can be required, the Teamwork Manager also ensures that each member of the team uses the same version of these modules. Nevertheless, setting the distributed environment requires administrative skills in order to set the repository, to configure the user access rights and to deploy for a Modelio project its template tree structure. In this setting, Modelio SaaS is a proof-of-concept project whose goal is to extend Modelio project sharing facilities by making the distributed environment configuration transparent for its users. Figure 2 environment.
Figure 1.
THE SOFTEAM SCENARIO
illustrates
the
Softeam
Modelio
SaaS
FITTEST global picture .
The FITTEST ITE for Continuous Testing is able to generate test cases by using the logs coming from production clients and to execute these test cases on the test clients. The FITTEST Integrated Testing Environment (FITTEST ITE) will integrate, adapt and automate various techniques for continuous FI testing (e.g. dynamic model inference, model-based test case derivation, log-based diagnosis, oracle learning, classification trees and combinatorial testing, concurrent testing, regression testing, coverage testing, etc.)[8].
Figure 2. Softeam Modelio SaaS environment.
Modelio’s case study will evaluate the following FITTEST challenges/requirements: x FI Applications low observability, where Modelio SaaS is composed by different components and services, accessed as a black box, we will maximize users‘ interaction coverage of our test suite through FITTEST B&M CTE Combinatorial testing [16];
458
x
FI Applications Autonomic behavior, where the precise behavior of the application cannot be specified ahead of time we will explore possible inputs dynamically and look for suspicious behavior by using FITTEST GUI Testing tool to evaluate the unexpected ways that users use the Modelio SaaS services [15]. x FI Applications Asynchronous interactions, where multiple clients run in parallel and server-side computation is distributed over the network we will generate a model of the system that is humanreadable through the Fittest continuous testing ITE environment and through the UTP modeling. The UTP modeling facilities provided within FITTEST and their usage are described in detail in the following sections. More details on GUI Testing Tool can be found at [15], more details on CTE Combinatorial Testing can be found at [16]. IV.
THE MODELIO UTP PROFILE IMPLEMENTATION
A dedicated Modelio UTP Module, implementing the OMG UML Testing Profile standard [9], was developed by Softeam during FITTEST Project and was used within the case study described in this paper. The UML Testing Profile [9], extends UML with test specific concepts like test components, verdicts and defaults. These concepts are grouped into concepts for test architecture, test data, test behavior, and time. The test behavior sub-package addresses the observations and activities during a test; the test architecture sub-package contains the elements, and their relationships, involved in a test; the test data sub-package contains the structures and meaning of values to be processed in a test, while the time sub-package addresses the time constraints and time observation for test execution. The Modelio UTP Profile implementation includes all the OMG UML Testing Profile stereotypes and all the feedback received from the FITTEST consortium to include proper specific commands within the Modelio Graphical user interface. [9], Particular attention was paid during the implementation to provide user-friendliness of the modeling environment in order to ease the adoption of the standard by industries. As shown in Figure 3. , through the specific TestPackage commands, Modelio allows to create a Package intended to contain test elements. When several UML packages are selected, the command automatically imports all the dependencies to the selected UML packages and generates a class diagram showing the imports between the test package and the UML packages.
Figure 3.
Modelio UTP Profile commands
The Modelio UTP Module is released under GPL v3 license and fully compatible with Modelio 2.x open source UML/BPMN modeler [6] and is available at [13]. The following section will provide details on how the UTP modeling allowed capturing, in a human readable way, all the needed information for a black-box testing approach to evaluate the correctness of the Modelio SaaS system implementation. V.
THE UTP PROFILE IN USE
This section shows the usage of the UML Testing Profile to model the Softeam Modelio SaaS PHP Web User Interface (UI) and its test suite. A test context specification was designed using the UTP Profile. All the controllers involved in Modelio SaaS were modeled as UTP Test Components and for each one of them the UTP text objectives on which we focused were specified. As from the UTP specification [10] “A test component is commonly an active class with a set of ports and interfaces. Test components are used to specify test cases as interactions between a numbers of test components.” As shown in Figure 4. , for each identified Test Component, corresponding to each Modelio SaaS PHP User Interface controller, the proper Test Cases were defined. In the UML testing profile, the test architecture package imports the complete design (UML) model of the System Under Test (SUT) in order to get the right to access to the elements to be tested. The test architecture package of our case study, the PHPModelio SaaS, is shown in Figure 4.
459
the UTP Task Force, to which Softeam belongs, to solicit ideas, discussion, comments, recommendations, product information, user needs, and user experiences regarding the modeling of test specifications aspects such as test environments, test case specification, test case generation, test data, test objectives and test management aspects such as test processes, test plans, test schedules, test results, roles and responsibilities etc. and test documentation aspects. The information of the responses will be used by the OMG UTP Task Force, to which Softeam belongs, to issue a Request For Proposal (RFP) for a UML Testing Profile 2 specification during the OMG Technical Meeting in June, 2013. ACKNOWLEDGMENT Figure 4.
The research leading to these results has received funding from the European Com-munity`s Seventh Framework Programme (FP7/2007-2013) under the grant agreement FP7- ICT257574.
UML Testing Profile in ModelioSaaS VM Workgroup.
Through the Modelio graphical user interface, to each test case was associated a proper Test Objective to be tested, and in particular, the proper teardown and the proper setup, of each UI Controller. The TestCases were then executed with PHPUnit[14] as shown in the Class Diagram in Figure 5.
REFERENCES [1] [2] [3] [4] [5]
[6] [7]
[8]
[9]
Figure 5.
ModelioSaaS PHP Unit Tests executed in ModelioSaaS.
VI.
[10]
CONCLUSION AND FUTURE WORK
[11]
The paper describes the EU FITTEST FP7 project and describes its goals and its expected achievements. In this article, we have summarized one of the case studies where the FITTEST tools[1] will be introduced and the usage of the UML Testing Profile within the Modelio SaaS PHP Web UI FITTEST Case Study. FITTEST Project will also identify the requirements of the industry and academics involved in the project with respect to test modeling, test generation, test documentation and will make them available through the OMG Standardization UTP Community for a successor specification of the UML Testing Profile. In particular we are planning to provide helpful contributions to the current OMG UTP Request for information. The RFI was issued by
[12]
[13]
[14] [15] [16]
460
"FITTEST: EU FP7 Project," 2012. [Online]. Available: https://www.facebook.com/FITTESTproject "Sulake [Online]. Available: http:// www.sulake.com/. November 2012. "IBM [Online]. Available: http:// www.ibm.com/. November 2012. "Softeam”[Online]. Available http://www.softeam.fr/. November 2012. Alessandra Bagnato, Anna Esparcia Alcazar, Tanja E. J. Vos, Beatriz Marín, José Oliver Murillo, Salvador I. Folgado, Auxiliadora Carlos Alberola: Testing and Remote Maintenance of Real Future Internet Scenarios, Towards FITTEST and FastFix Advanced Software Engineering. FedCSIS 2011: 925-932 "Modelio.org," [Online]. Available: http://www,modelio.org/. Tanja E. J. Vos, Elisa Puoskari and Peter M. Kruse. Evaluating Combinatorial Testing in an Industrial Environment: a case study. 35th IEEE Software Engineering Workshop, Greece 2012 Tanja Vos, Paolo Tonella, Joachim Wegener, Mark Harman, Wishnu Prasetya, Yarden Nir-Buchbinder and Shmuel Ur. Testing Future Internet Applications Running in the Cloud, STITC, 2012. Object Management Group. UML Testing Profile (UTP) Specification v1.0, July 2005, OMG document number: formal/200507-07. [Online] http://www.omg.org/spec/UTP/1.0/ Object Management Group. UML Testing Profile (UTP) Specification v1.1, April 2012, OMG document number: formal/2012-04-01. [Online] http://www.omg.org/spec/UTP/1.1/ UML Testing Profile (UTP) Web site. [OnLine]. Available: http://utp.omg.org/ Object Management Group. OMG Unified Modeling Language (OMG UML), UML Version 2.3 Superstructure Specification. Technical report, OMG, 2010. formal/2010-05-03 http://www.omg.org/spec/UML/2.3/Superstructure/PDF/. Modelio implementation of the UML Testing Profile. [Online] http://www.modeliosoft.com/en/modelio-store/modules/modelingextensions/utp.html PhPUnit. [Online] https://github.com/sebastianbergmann/phpunit/ Sebastian Bauersfeld, Tanja E. J. Vos: GUITest: a Java library for fully automated GUI robustness testing. ASE 2012: 330-333 Peter M. Kruse, Joachim Wegener: Test Sequence Generation from Classification Trees, A-MOST 2012@ICST 2012, Montreal, Canada, April 2012.