Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


At the moment, all test scripts of each track will be stored separately.

When the project is completed and this web page is publicly available, the use cases will be reordered.

Children Display

1 Test Architecture

1.1 Logical view

In this view, the logic components - static and dynamic - of the architecture are described, independently from any technical implementation. The logic view allows to enumerate the software components of the system to realize, identifying the service each of them has to provide, whatever the way they are implemented.

Image Removed

The use-cases are divided into user story. Each user story is split into 3 parts:  checking initial data, creating user request and testing if the result of the request is correct.

The vendor application could be hosted on a website, on a mobile application or on a desktop application (application used by a practitioner). In the scope of the project only the mobile application will be implemented.

These applications get data from their own backend server or directly from the eHealth services (logic implemented into the application)

The application connector allows to make generic test scripts. The test script tests functionalities and the device connector allows to run these script on any platform (Android version, iOS version, Windows desktop application,...)

1.2 Implementation view

The implementation view is used to describe the components of the architecture, focusing on the tools and technologies used to implement them (development environment, programming languages, protocols, third party software, …).

Image Removed

Citrus Project

The Citrus project is a Java project using the Citrus libraries. 

Citrus is a test framework written in Java that enables automated integration testing of message-based EAI applications. The tool can easily simulate surrounding systems across various transports and protocols (e.g. JMS, SOAP WebServices, Http, TCP/IP, …) in order to perform end-to-end use case testing. Citrus provides strong validation mechanisms for XML message contents and allows to build complex testing logic.

The structure of the Java project will be split into use case and each use case will be split into user stories. A user story defines a functionality that must be tested. These user stories must be configured using capabilities (about the application apk, about the targeted platform: android, iOS,... chromeBrowser).

Testing framework

Citrus Admin is a GUI interface allowing to run and configure a Citrus Project.

Application connector

Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol.

Appium receives HTTP requests from test script and translates these HTTP requests into actions on the application. Applications are controlled via the WebDriver protocol (formerly JSON Wire Protocol).Appium could be considered as Selenium but for application

It exists 2 versions of Appium:

  • Appium Server: command line interface only
  • Appium desktop: application for Mac/windows allowing to launch an Appium server and inspecting an application. While inspecting an application, Appium generates a client code to automatise action of users. These client code could be imported into your test script.

Because of the functionality of inspecting an Application, Appium desktop is integrated into the test architecture.

/!\ If you want to test a website from the browser of your mobile, you have to use a driver related to the browser you use. The driver depends of the type of the browser and of his version 

WebSite connector

todo (not implemented for now - no need)

Mobile connector

Android Debug Bridge (adb) is a versatile command-line tool that lets you communicate with a device. The adb command facilitates a variety of device actions, such as installing and debugging apps, and it provides access to a Unix shell that you can use to run a variety of commands on a device.

Adb is included in the Android SDK Platform-Tools package. Adb allows you to connect to a physical device or virtual device (e.g. emulated by Android Studio)

/!\ using Android 4.2.2 or higher, you need the system shows a dialog asking whether to accept an RSA key that allows debugging through this computer

more information: https://developer.android.com/studio/command-line/adb

Verdor services

Are linked to a backend

TODO

eHealth services

TODO

1.3 Deployment view

Its role is to describe the IT infrastructure where the whole system resulting from the architecture will be run. The descriptions includes, but is not restricted to, IT resources, servers characteristics, network configuration and processing and storage capacities needed for normal operation. The deployment view is used for deployment and maintenance of the system.

Image Removed

The tests run on a Imec laptop using a virtual or a physical device. The tests embed the testing the Citrus framework. The tests are packaged as a Java Maven project stored into the Gitlab repository in Imec.

To build the test environment to run the test, connectors are needed (Appium, ABD Server, Selenium?) these connectors are installed with an installation script.

A Jenkins server is used to deploy the backend and the frontend server.