From fdc9f7792a56a29394bbe25e1b366ca27c363e53 Mon Sep 17 00:00:00 2001 From: Rami Sellami Date: Wed, 18 Dec 2019 10:53:37 +0100 Subject: [PATCH 01/29] Adding the cockburns and test scripts specification in the repository fadi/tests/doc and a Readme for the test --- tests/README.md | 0 tests/doc/Cockburns-specification | 3267 ++++++++++++++++++++++ tests/doc/Test-scripts-specifications.md | 436 +++ 3 files changed, 3703 insertions(+) create mode 100644 tests/README.md create mode 100644 tests/doc/Cockburns-specification create mode 100644 tests/doc/Test-scripts-specifications.md diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..e69de29 diff --git a/tests/doc/Cockburns-specification b/tests/doc/Cockburns-specification new file mode 100644 index 0000000..87611eb --- /dev/null +++ b/tests/doc/Cockburns-specification @@ -0,0 +1,3267 @@ +# General definitions + +In this section, the main concepts and technologies are introduced in order to ease the understanding of the different test use cases. + + + +* **FADI platform** is a Cloud Native platform for Big Data based on mature open source tools. The FADI project is dedicated to making the deployment of Big Data tools simple, portable and scalable. The goal is to provide a straightforward way to deploy open-source systems for Big Data to various infrastructures (private and public clouds). +* **FADI dashboard** is actually the Kubernetes dashboard that enables to have an idea about the status of the Kubernetes pods by launching the command “minikube dashboard”. +* **Apache Nifi** is an open source tool designed to automate the flow of data between software systems. It used in the FADI platform in order to collect data, to extract it, to transform it and to store it in the appropriate data store. +* **PostgreSQL** is an open source relational database management system and it is used to store the data in the FADI platform. +* **PgAdmin** is an open source graphical administration tool for PostgreSQL databases. It is used in FADI in order to ease the management of the PostgreSQL databases. +* **Grafana** is an open source tool enabling the visualization and the formatting of metrics data coming from different type of databases. It can play the role of the FADI dashboard. +* **Apache Superset** is an open source tool to visualize big data and it can play the role of th FADI dashboard. +* **Spark** is an open source analytics engine for large-scale data processing. It is used in the FADI platform to analyse data. +* **Jupyter** is a notebook that provides an easy interface to the Spark processing engine that runs on your cluster. It is used in the FADI platform to enable the use of Spark and explore data. + + +# Abbreviations list + + + + + + + + + + + +
Abbreviation + Meaning +
+ +
+ + + +# Actors + + + + + + + + + + + +
The client side + +
    + +
  • Operator (Fraiseur/responsable de maintenance) (co): operator on machine. He must understand information given by analysis dashboards to achieve his work. + +
  • Factory Leader (cfl): he manages the factory (Tenant) and the Operators. + +
  • Business Analyst (cba): he builds BI analysis dashboard based on the data warehouse. + +
  • Business Leader (cbl): He manages the business of the factory (Tenant) and the Business Analysts. + +
  • Data Scientist (cds): he defines algorithms to analyse data for trends identification. He defines the data warehouse structure and content. + +
  • Data Engineer (cde): he configures the resources the Data Scientist needs and the ingestion process from the factories to the datalake. + +
  • Tenant Admin (cta): it is the user in charge of the Tenant. +
  • +
+
The backend side + +
    + +
  • Platform Admin (hpa): he manages tenants. + +
  • System Admin (hsa): he installs and maintains the platform. + +
  • Stakeholders (hs): board of directors. + +
  • ICT manager (hm): he manages the project, the Platform Admin and the System Admin. +
  • +
+
+ + + +# Test case list + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test case ID + Test case name + Primary Actor + Scope +
TC-1 + Authentication to a given tool via LDAP + all actors + Authentication +
TC-2 + Access to the FADI dashboard + Platform Admin, System Admin, Stakeholders, ICT manager + IHM +
TC-3 + Defining the Nifi workflow + Data Scientist, Data Engineer + Data ingestion +
TC-4 + Defining the Nifi workflow by uploading a template + Data Scientist, Data Engineer + Data ingestion +
TC-5 + Creating a database server in pgAdmin + Data Engineer + Data storage +
TC-6 + Creating a table in pgAdmin + Data Engineer + Data storage +
TC-7 + Deleting a table in pgAdmin + Data Engineer + Data storage +
TC-8 + Deleting a database in pgAdmin + Data Engineer + Data storage +
TC-9 + Inserting data in a given table + Data Engineer + Data storage +
TC-10 + Configuring a data source in the Grafana dashboard + Business Analyst, Business Leader + Exploring and displaying data +
TC-11 + Defining dashboards based on the analyzed data using Grafana + Business Analyst, Business Leader + Exploring and displaying data +
TC-12 + Defining alerts using Grafana + Business Analyst, Business Leader + Exploring and displaying data +
TC-13 + Configuring a database in Superset + Business Analyst, Business Leader + Exploring and displaying data +
TC-14 + Configuring a table in Superset + Business Analyst, Business Leader + Exploring and displaying data +
TC-15 + Creating a chart in Superset + Business Analyst, Business Leader + Exploring and displaying data +
TC-16 + Saving a dashboard in Superset + Business Analyst, Business Leader + Exploring and displaying data +
TC-17 + Preparing reports using Superset + Business Analyst, Business Leader + Exploring and displaying data +
TC-18 + Loading data in Jupyter + Business Analyst, Business Leader + Exploring and displaying data +
TC-19 + Analyzing data using Jupyter + Business Analyst, Business Leader + Data processing +
TC-20 + Loading data in Spark + Business Analyst, Business Leader + Exploring and displaying data +
TC-21 + Analyzing data using Spark + Business Analyst, Business Leader + Data processing +
+ + + +## TC-1:Authentication to a given tool via LDAP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-1 +
Use case name + Authentication to a given tool via LDAP +
Actors + +
    + +
  • All actors +
  • +
+
Trigger + The actor wants to use one service of the FADI platform for the first time +
Short Description + This use case denotes the process of the authentication to the FADI platform. +
Pre-Conditions + +
    + +
  • The actor credentials should exist in the LDAP repository + +
  • The FADI platform is already installed + +
  • The actor already knows the URL address of the desired service (e.g grafana, pgAdmin, etc.) +
  • +
+
Post-Conditions + +
    + +
  • The actor is authenticated +
  • +
+
Steps + 1 + The actor access to a given service via its URL address +
2 + The actor enter his/her credentials +
3 + The actor is authenticated +
Exceptions + +
    + +
  • The actor credentials does’t not exist in the LDAP repository + +
  • The actor makes an error when entering his/her credentials +
  • +
+
Frequency + +
    + +
  • Every time the use is not logged-in in the FADI platform +
  • +
+
+ + + +## TC-2: Access to the FADI dashboard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-2 +
Use case name + Access to the FADI dashboard +
Actors + +
    + +
  • Platform Admin + +
  • System Admin + +
  • Stakeholders + +
  • ICT manager +
  • +
+
Trigger + +
    + +
  • Check the state of a given pod + +
  • Check the installation of the FADI framework +
  • +
+
Short Description + The dashboard of FADI enables the actor to access to a web interface in order to check the status of the installed services (called also pods). +
Pre-Conditions + +
    + +
  • The FADI is already installed + +
  • The actor knows the namespace of FADI (e.g. fadi) +
  • +
+
Post-Conditions + +
    + +
  • The actor checks the status of a service +
  • +
+
Steps + 1 + Access to the dashboard of FADI platform +
2 + Select the appropriate dashboard +
3 + Check if there is some dashboards and information about the installed services +
Exceptions + +
    + +
  • The actor does not find the service +
  • +
+
Frequency + +
    + +
  • Everytime an actor wants to check the status of a given service +
  • +
+
+ + + +## TC-3: Defining the Nifi workflow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-3 +
Use case name + Defining the Nifi workflow +
Actors + +
    + +
  • Data Scientist + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Adding a new industrial partner + +
  • Adding a new data type + +
  • Adding a new database +
  • +
+
Short Description + The Fadi platform enables the actors to define a workflow denoting how to collect and store data stream/batch. For this purpose, it integrates Nifi which is an open source tool to automate the flow of data between software systems. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Nifi service + +
  • The actor is already authenticated in the FADI platform + +
  • The actor knows the authentication credentials of the target database (e.g. the username and the password of the PostgreSQL database) + +
  • The actor knows +
      + +
    • the name of the target database and the table + +
    • the database connection URL, the database driver class name, database driver location, etc. +
    • +
    + +
  • The actor knows the source sending the data (e.g. data stream, a CSV file, etc.) +
  • +
+
Post-Conditions + +
    + +
  • The Nifi workflow is created and is successfully launched +
  • +
+
Steps + 1 + Access to the Nifi interface +
2 + Create the desired Nifi workflow +
3 + Launch the created workflow to start storing the data in the target database +
Exceptions + +
    + +
  • +
  • +
+
Frequency + +
    + +
  • Everytime the actor has new data coming to the FADI framework +
  • +
+
+ + + +## TC-4: Defining the Nifi workflow by uploading a template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-4 +
Use case name + Defining the Nifi workflow by uploading a template +
Actors + +
    + +
  • Data Scientist + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Adding a new industrial partner + +
  • Adding a new data type + +
  • Adding a new database +
  • +
+
Short Description + The Fadi platform enables the actors to define a workflow denoting how to collect and store data stream/batch. For this purpose, it integrates Nifi which is an open source tool to automate the flow of data between software systems. In this use case, the actor will upload an existing template to create the Nifi workflow +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Nifi service + +
  • The actor is already authenticated in the FADI platform + +
  • The actor knows the source sending the data (e.g. data stream, a CSV file, etc.) + +
  • The actor has the Nifi template +
  • +
+
Post-Conditions + +
    + +
  • The Nifi workflow is created and is successfully launched +
  • +
+
Steps + 1 + Access to the Nifi interface +
2 + Upload the Nifi template +
3 + Drag and Drop the imported template +
4 + Configure the password to connect to the database +
5 + Enable both the required controller services. +
6 + Select the whole workflow and start the process +
7 + Launch the created workflow to start storing the data in the target database +
8 + Check that the data is correctly stored +
Exceptions + +
    + +
  • Error when upload the Nifi template +
  • +
+
Frequency + +
    + +
  • Everytime the actor has new data coming to the FADI framework +
  • +
+
+ + + +## TC-5: Creating a database server in pgAdmin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-5 +
Use case name + Creating a database server in pgAdmin +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Adding a new industrial partner + +
  • Adding a new data type +
  • +
+
Short Description + The FADI platform enables to create database server using the tool pgAdmin. This use case allows to test if the database creation is successfully achieved. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the pgAdmin service + +
  • The actor is connected to pgAdmin + +
  • The actor knows the credentials of PostreSQL +
      + +
    • Host name: fadi-postgresql + +
    • Port: 5432 + +
    • Maintenance database: postgres + +
    • Username: admin + +
    • Password: password1 +
    • +
    +
  • +
+
Post-Conditions + +
    + +
  • The database is created +
  • +
+
Steps + 1 + Access to the interface to create a database server +
2 + Enter the name of the database server in the “General” tab +
3 + Enter the credentials of PostgreSQL in the “Connection” tab +
4 + Save the edited information +
5 + Check the existence of the new database +
Exceptions + +
    + +
  • The credentials of PostgreSQL are not correct +
  • +
+
Frequency + +
    + +
  • Every time a new database needs to be created +
  • +
+
+ + + +## TC-6: Creating a table in pgAdmin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-6 +
Use case name + Creating a table in pgAdmin +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Creating a new table in the PostgreSQL database + +
  • Adding a new industrial partner + +
  • Adding a new data type +
  • +
+
Short Description + The FADI platform enables to create a new table via the interface of the pgAdmin tool. This use case allows to test whether the table creation is successfully achieved. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the pgAdmin service + +
  • The database in which the table will be created already exists + +
  • The actor is connected to pgAdmin + +
  • The actor knows the name of the table to be created + +
  • The actor knows the name of the target database +
  • +
+
Post-Conditions + +
    + +
  • The table is created +
  • +
+
Steps + 1 + Access to the interface to create a table +
2 + Execute the creation query +
3 + Check the existence of the new table +
Exceptions + +
    + +
  • The table already exists + +
  • There is an error in the creation query +
  • +
+
Frequency + +
    + +
  • Everytime the actor wants to create a new table +
  • +
+
+ + + +## TC-7: Deleting a table in pgAdmin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-7 +
Use case name + Deleting a table in pgAdmin +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Removing a table from the PostgreSQL database +
  • +
+
Short Description + The FADI platform enables to delete a table via the interface of the pgAdmin tool. This use case allows to test whether the table deletion is successfully achieved. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the pgAdmin service + +
  • The actor is connected to pgAdmin + +
  • The table to delete already exists + +
  • The database in which the table will be deleted already exists + +
  • The actor knows the name of the table to be deleted + +
  • The actor knows the name of the database containing the table +
  • +
+
Post-Conditions + +
    + +
  • The table is deleted +
  • +
+
Steps + 1 + Access to the interface to delete a table +
2 + Execute the deletion query +
3 + Check the existence of the table (i.e. it should be deleted) +
Exceptions + +
    + +
  • The table does not exist + +
  • There is an error in the deletion query +
  • +
+
Frequency + +
    + +
  • Every time the actor wants to delete a table +
  • +
+
+ + + +## TC-8: Deleting a database in pgAdmin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-8 +
Use case name + Deleting a database in pgAdmin +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Removing a database from PostgreSQL +
  • +
+
Short Description + The FADI platform enables to delete a database via the interface of the pgAdmin tool. This use case allows to test whether the database deletion is successfully achieved. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the pgAdmin service + +
  • The actor is connected to pgAdmin + +
  • The database to delete already exists + +
  • The actor knows the name of the database to be deleted +
  • +
+
Post-Conditions + +
    + +
  • The database is deleted +
  • +
+
Steps + 1 + Access to the interface to delete a database +
2 + Execute the deletion query +
3 + Check the existence of the database (i.e. it should be deleted) +
Exceptions + +
    + +
  • The database does not exist + +
  • There is an error in the deletion query +
  • +
+
Frequency + +
    + +
  • Every time the actor wants to delete a database +
  • +
+
+ + + +## TC-9: Inserting data in a given table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-9 +
Use case name + Inserting data in a given table +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Collecting stream data + +
  • Collecting batch data + +
  • Storing analyzed data + +
  • Storing results (etc. analysis, dashboards, etc.) +
  • +
+
Short Description + The FADI platform enables to collect data and to store it in a given database either via the pgAdmin interface or by defining a data workflow using Nifi. This use case allows to test whether the data insertion is successfully achieved. +

+In this use case, we will implement the case of data insertion using Nifi. +

Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Nifi service + +
  • The actor is connected to the FADI platform + +
  • The target table already exists + +
  • The actor knows the name of the table to be deleted + +
  • The actor knows the name of the database containing the table +
  • +
+
Post-Conditions + +
    + +
  • The data is correctly inserted +
  • +
+
Steps + 1 + Access to the Nifi service +
2 + Upload a Nifi template +
3 + Drag and Drop the imported template +
4 + Configure the password to connect to the database +
5 + Enable both the required controller services. +
6 + Select the whole workflow and start the process +
7 + Check that the data is correctly inserted in the database by verifying the success connection. +
Exceptions + +
    + +
  • Error in the password of the database + +
  • The controller services are enabled + +
  • The data is not stored +
  • +
+
Frequency + +
    + +
  • Everytime data (stream or batch) is collected by the FADI platform +
  • +
+
+ + + +## TC-10: Configuring a data source in the Grafana dashboard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-10 +
Use case name + Configuring a data source in the Grafana dashboard +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualizing results coming from a new database + +
  • Connecting Grafana to a database +
  • +
+
Short Description + The FADI platform enables to visualize data and results in various types of dashboards (e.g. curves, heatmaps, etc.) either by directly querying the databases or by collecting stream data. +

+In this use case, the Grafana tool will be used and the way to connect this tool to a database is defined. +

Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Grafana service + +
  • The actor knows the credentials to connect to the Grafana service + +
  • The actor knows the required credentials to connect to the database (i.e. host, database, user, password, SSL mode, Version) +
  • +
+
Post-Conditions + +
    + +
  • The Grafana tool is connected to the database +
  • +
+
Steps + 1 + Access to the Grafana service +
2 + Authenticate to the Grafana service +
3 + Add a data source and choose the type “PostgreSQL” +
4 + Configure the following elements: +
    + +
  • Host: fadi-postgresql:5432 + +
  • database: postgres + +
  • user: admin + +
  • password: password1 + +
  • SSL Mode: disable + +
  • Version: 10 +
  • +
+
5 + Check that the database is correctly created +
Exceptions + +
    + +
  • An error in the credentials +
  • +
+
Frequency + +
    + +
  • Every time a new database should be connected to the Grafana tool +
  • +
+
+ + + +## TC-11: Defining dashboards based on the analyzed data using Grafana + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-11 +
Use case name + Defining dashboards based on the analyzed data using Grafana +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualizing results in dashboards + +
  • Realizing a global overview about the results +
  • +
+
Short Description + The FADI platform enables to visualize data and results in various types of dashboards (e.g. curves, heatmaps, etc.) either by directly querying the databases or by collecting stream data. +

+In this use case, the Grafana tool will be used. +

Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Grafana service + +
  • The actor knows the credentials to connect to the Grafana service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) +
  • +
+
Post-Conditions + +
    + +
  • The actor visualizes dashboards +
  • +
+
Steps + 1 + Access to the Grafana service +
2 + Authenticate to the Grafana service +
3 + Choose the source of data +
4 + Edit a new dashboard +
5 + Select the type of a dashboard from the Visualization dropdown list (e.g. graph, heatmap, etc.) +
6 + Edit the query +
7 + Configure the time frame (if needed) +
+ 8 + Press on the Query inspector button to execute the query and visualize the dashboard +
Exceptions + +
    + +
  • An error in the query +
  • +
+
Frequency + +
    + +
  • Every time the actor wants to visualize his/her results +
  • +
+
+ + + +## TC-12: Defining alerts using Grafana + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-12 +
Use case name + Defining alerts using Grafana +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Controlling visualized data + +
  • Detecting anomalies +
  • +
+
Short Description + The FADI platform enables to visualize data and results in various types of dashboards (e.g. curves, heatmaps, etc.). In addition, it allows users to define alerts and rules in order to automatically detect misbehaviours, anomalies and errors when analyzing data. +

+In this use case, the Grafana tool will be used +

Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Grafana service + +
  • The actor knows the credentials to connect to the Grafana service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) +
  • +
+
Post-Conditions + +
    + +
  • The actor visualizes the defined alert +
  • +
+
Steps + 1 + Access to the Grafana service +
2 + Authenticate to the Grafana service +
3 + Add a data source and choose the type “PostgreSQL” +
4 + Configure the following elements: +
    + +
  • Host: fadi-postgresql:5432 + +
  • database: postgres + +
  • user: admin + +
  • password: password1 + +
  • SSL Mode: disable + +
  • Version: 10 +
  • +
+
5 + Edit a new dashboard +
6 + Select the type of a dashboard from the Visualization dropdown list (e.g. graph, heatmap, etc.) +
7 + Configure the query +
8 + Configure the time frame (if needed) +
9 + Press on the Query inspector button to execute the query and visualize the dashboard +
10 + Go to the “Alert” tab +
11 + Create a new alert by specifying the alert threshold +
12 + Visualize the alert in the dashboard +
Exceptions + N/A +
Frequency + +
    + +
  • Every time the actor wants to defines alerts +
  • +
+
+ + + +## TC-13: Configuring a database in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-13 +
Use case name + Configuring a database in Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualize results coming from a new database + +
  • Visualize results for the first time +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used. The first thing to do is to link Superset to a data source. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the credentials of the database (i.e. the database name, SQLAlchemy URI) +
  • +
+
Post-Conditions + +
    + +
  • The database is linked to the Superset +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + Create a new database by entering the following information: +

+the Database and the SQLAlchemy URI +

4 + Confirm the creation by clicking on the “Test Connection” button to check the connection to the database +
Exceptions + +
    + +
  • Error in the entered information + +
  • The connection to the database failed +
  • +
+
Frequency + +
    + +
  • Every time an actor wants to visualize data coming from a database which is not connected to Superset +
  • +
+
+ + + +## TC-14: Configuring a table in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-14 +
Use case name + Configuring a table in Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualize results coming from a new table + +
  • Visualize results for the first time +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used to configure a table in a given database. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the schema of the database + +
  • The actor knows the name of the table +
  • +
+
Post-Conditions + +
    + +
  • The table is configured +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + Create a new table by editing the following information: the database name and the table name +
4 + Save the edited values +
5 + Edit the columns of the created table by +
6 + Save the edited information +
7 + Check that the table and the columns are correctly configured +
Exceptions + +
    + +
  • Error in the entered information +
  • +
+
Frequency + +
    + +
  • Every time an actor wants to visualize data coming from a given table +
  • +
+
+ + + +## TC-15: Creating a chart in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-15 +
Use case name + Creating a chart in Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualize results in a chart +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this use case, the Superset tool is used to create a chart in order to visualize the results. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the schema of the database +
  • +
+
Post-Conditions + +
    + +
  • A chart is created +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + On the top menu, click on “Chart” +
4 + Add a new record +
5 + Choose the datasource +
6 + Choose the visualization type +
7 + Click “Create new chart” +
8 + Configure the chart by defining the time requirements and the query +
9 + Click “Run query” to fetch the data from the database +
10 + Check the chart is correctly created +
Exceptions + +
    + +
  • Error during the authentication + +
  • Error in the edited information + +
  • Error in the query +
  • +
+
Frequency + +
    + +
  • Every time the user wants to create a chart +
  • +
+
+ + + +## TC-16: Saving a dashboard in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-16 +
Use case name + Saving a dashboard in Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Save a new dashboard + +
  • Save a dashboard after a modification +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this use case, the Superset tool is used to create and save a dashboard. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the schema of the database +
  • +
+
Post-Conditions + +
    + +
  • The dashboard is saved +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + Create/modify a dashboard +
4 + Click on “save” and edit the following information +
    + +
  • Save as: Basic example + +
  • Add to new dashboard: Basic example dashboard +
  • +
+
5 + Click on Save & go to dashboard. +
6 + Visualize the saved dashboard +
Exceptions + +
    + +
  • Error during the authentication + +
  • Error editing the information +
  • +
+
Frequency + +
    + +
  • Every time the user creates or modifies a chart +
  • +
+
+ + + +## TC-17: Preparing reports using Superet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-17 +
Use case name + Preparing reports using Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualize and report the results +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) +
  • +
+
Post-Conditions + +
    + +
  • A report is generated +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + Create a new database +
4 + Create a new table in the database +
5 + Create and configure a new chart by using the created database and table +
6 + Visualize the resulted chart +
7 + Export the resulted chard in a report +
Exceptions + +
    + +
  • Error when creating the database + +
  • Error when creating the table +
  • +
+
Frequency + +
    + +
  • Every time an actor wants to visualize data and export results in reports +
  • +
+
+ + + +## TC-18: Loading data in Jupyter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-26 +
Use case name + Loading data in Jupyter +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Using data for the first time + +
  • Having a new database +
  • +
+
Short Description + The FADI platform enables to process analysis techniques on the collected data. It provides to do simple analysis using the Jupyter tool. In this use case, the loading of the scripts is checked. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Jupyter service + +
  • The actor know the credentials to connect to the Jupyter service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) + +
  • The actor possesses the two code scripts to upload +
  • +
+
Post-Conditions + +
    + +
  • Data is loaded +
  • +
+
Steps + 1 + Access to the Jupyter service +
2 + Authenticate to the Jupyter service +
3 + Choose the “Minimal environment” option and click on “Spawn” +
4 + Import the script(s) +
5 + Check that the script is correctly loaded +
Exceptions + +
    + +
  • The connection to the database fails + +
  • The authentication fails +
  • +
+
Frequency + +
    + +
  • Everytime the user wants to load scripts in Jupyter +
  • +
+
+ + + +## TC-19: Analyzing data using Jupyter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-17 +
Use case name + Analyzing data using Jupyter +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • The actor wants to analyse data +
  • +
+
Short Description + The FADI platform enables to process analysis techniques on the collected data. It provides to do simple analysis using the Jupyter tool. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Jupyter service + +
  • The actor know the credentials to connect to the Jupyter service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) + +
  • The actor possesses the two code scripts to upload +
  • +
+
Post-Conditions + +
    + +
  • The data is analyzed +
  • +
+
Steps + 1 + Access to the Jupyter service +
2 + Authenticate to the Jupyter service +
3 + In the option “Minimal environment”, go the “Files” tab +
4 + Select the loaded script (i.e. module) +
5 + Run the scripts to configure the connection to the database and visualize temperature curve as function of date +
6 + Check that the scripts are executed with success +
Exceptions + +
    + +
  • The connection to the database fails + +
  • The authentication fails +
  • +
+
Frequency + +
    + +
  • Everytime the user wants to process analysis on data +
  • +
+
+ + + +## TC-20: Loading data in Spark + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-27 +
Use case name + Loading data in Spark +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Using data for the first time + +
  • Having a new database +
  • +
+
Short Description + The FADI platform enables to process analysis techniques on the collected data. It provides to do complex analysis using the Spark tool. In this use case, the script loading is described. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Spark service + +
  • The actor know the credentials to connect to the Spark service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) + +
  • The actor possesses the scripts to upload +
  • +
+
Post-Conditions + +
    + +
  • The data is analyzed +
  • +
+
Steps + 1 + Access to the Spark service +
2 + Authenticate to the Spark service +
3 + Choose the option “Spark environment” and Click the “Spawn” button +
4 + Upload the code script to explore Spark +
5 + Check that script is correctly uploaded +
Exceptions + +
    + +
  • The connection to the database fails + +
  • The authentication fails +
  • +
+
Frequency + +
    + +
  • Everytime the user wants to load scripts in Spark +
  • +
+
+ + + +## TC-21: Analyzing data using Spark + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-18 +
Use case name + Analyzing data using Spark +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • The actor wants to analyse data +
  • +
+
Short Description + The FADI platform enables to process analysis techniques on the collected data. It provides to do complex analysis using the Spark tool. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Spark service + +
  • The actor know the credentials to connect to the Spark service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) + +
  • The actor possesses the scripts to upload +
  • +
+
Post-Conditions + +
    + +
  • The data is analyzed +
  • +
+
Steps + 1 + Access to the Spark service +
2 + Authenticate to the Spark service +
3 + Choose the option “Spark environment” and Click the “Spawn” button +
4 + Launch the uploaded scripts to analyze data +
5 + Check that the scripts are executed with success +
Exceptions + +
    + +
  • The connection to the database fails + +
  • The authentication fails +
  • +
+
Frequency + +
    + +
  • Everytime the actor wants to process analysis on data +
  • +
+
diff --git a/tests/doc/Test-scripts-specifications.md b/tests/doc/Test-scripts-specifications.md new file mode 100644 index 0000000..a4b180f --- /dev/null +++ b/tests/doc/Test-scripts-specifications.md @@ -0,0 +1,436 @@ +# Abbreviations list + + + + + + + + + +
Abbreviation + Meaning +
+ +
+ +# Actors abbreviations list + + + + + + + + + + + + + +
Abbreviation + Meaning +
JEST + The test runner +
PUP + The API controlling operations on Google Chrome +
+ +# Description of the content of the table + + + + + + + + + + + + + + + + + + + + + + + + + +
Column + Meaning +
Test script ID + The identifier of the test script +
Test script name + The name of the test script +
Actions + The action(s) to do for testing an assertion +
Assertion + Test to do once the actions have been realized +
Comment + Issues found / comment +
+ +# Test scripts list + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test script ID + Related use case + Test script name + Primary Actor + Scope +
TS-4 + TC-4 + Defining the Nifi workflow by uploading a template + Data Scientist, Data Engineer + Data ingestion +
TS-11 + TC-11 + Defining dashboards based on the analyzed data using Grafana + Business Analyst, Business Leader + Exploring and displaying data +
TS-15 + TC-15 + Creating a chart in Superset + Business Analyst, Business Leader + Exploring and displaying data +
+ +## TS-4: Defining the Nifi workflow by uploading a template +### User story +* **As a** data scientist/engineer **I want to** define a data workflow management **So I can** consider data coming from a new data source +* **As a** data scientist/engineer **I want to** define a data workflow management **So I can** support a new data type +* **As a** data scientist/engineer **I want to** define a data workflow management **So I can** integrate a new industrial partner +### Initial data/state: +* The FADI platform is installed +* The actor is already authenticated in the FADI platform +* The database is already created +### TS dependencies: +* No dependencies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Test script ID + Test Actions + Assertion +
Sequence + Actor + Action + Automatic/ Manual +
TS-4 + 1 + JEST + Launch the Nifi page + automatic + - Stop the data workflow once the data are correctly stored +
2 + PUP + Upload the Nifi template + automatic +
3 + PUP + Drag and drop the Nifi template + automatic +
4 + PUP + Configure the password to connect to the database + automatic +
5 + PUP + Enable both the required controller services. + automatic +
6 + PUP + Start the process + automatic +
+ +## TS-11: Defining dashboards based on the analyzed data using Grafana +### User story +* **As a** Business Analyst/Leader **I want to** define a dashboard **So I can** visualize the results of the analyzed data +* **As a** Business Analyst/Leader **I want to** define a dashboard **So I can** realize a global overview about the results of the analyzed data +### Initial data/state: +* The FADI platform is installed +* The actor is authenticated to the Grafana service +### TS dependencies: +* TS-10 : Configuring a data source in the Grafana dashboard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Test script ID + Test Actions + Assertion +
Sequence + Actor + Action + Automatic/ Manual +
TS-11 + 1 + JEST + Launch the Grafana page + automatic + - Exit from Grafana +
2 + PUP + Choose the data source + automatic +
3 + PUP + Edit the dashboard + automatic +
4 + PUP + Choose the type of the dashboard + automatic +
5 + PUP + Edit the query + automatic +
6 + PUP + Press on the Query inspector button to execute the query and visualize the dashboard + automatic +
+ +## TS-15: Creating a chart in Superset +### User story +* **As a** Business Analyst/Leader **I want to** create a chart in Superset **So I can** visualize the results of the analyzed data +### Initial data/state: +* The FADI platform is installed +* The actor is authenticated to the Superset service +### TS dependencies: +* TS-13 : Configuring a database in Superset +* TS-14 : Configuring a table in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Test script ID + Test Actions + Assertion +
Sequence + Actor + Action + Automatic/ Manual +
TS-15 + 1 + JEST + Launch the Superset page + automatic + - Exit from Superset +
2 + PUP + Choose the Chart option menu + automatic +
3 + PUP + Add a new record + automatic +
4 + PUP + Choose the datasource + automatic +
5 + PUP + Choose the visualization type + automatic +
6 + PUP + Click “Create new chart” + automatic +
7 + PUP + Configure the chart by defining the time requirements and the query + automatic +
8 + PUP + Run the query + automatic +
\ No newline at end of file From 786eb76e18f38dcb5999cc16e3f69eb597ea9018 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 11:02:40 +0100 Subject: [PATCH 02/29] Adding the links to the tes scripts specifications --- tests/doc/Test-scripts-specifications.md | 313 +---------------------- 1 file changed, 3 insertions(+), 310 deletions(-) diff --git a/tests/doc/Test-scripts-specifications.md b/tests/doc/Test-scripts-specifications.md index a4b180f..2f844dc 100644 --- a/tests/doc/Test-scripts-specifications.md +++ b/tests/doc/Test-scripts-specifications.md @@ -95,7 +95,7 @@ TC-4 - Defining the Nifi workflow by uploading a template + [Defining the Nifi workflow by uploading a template](test-scripts/TS-4.md) Data Scientist, Data Engineer @@ -107,7 +107,7 @@ TC-11 - Defining dashboards based on the analyzed data using Grafana + [Defining dashboards based on the analyzed data using Grafana](test-scripts/TS-11.md) Business Analyst, Business Leader @@ -119,7 +119,7 @@ TC-15 - Creating a chart in Superset + [Creating a chart in Superset](test-scripts/TS-15.md) Business Analyst, Business Leader @@ -127,310 +127,3 @@ - -## TS-4: Defining the Nifi workflow by uploading a template -### User story -* **As a** data scientist/engineer **I want to** define a data workflow management **So I can** consider data coming from a new data source -* **As a** data scientist/engineer **I want to** define a data workflow management **So I can** support a new data type -* **As a** data scientist/engineer **I want to** define a data workflow management **So I can** integrate a new industrial partner -### Initial data/state: -* The FADI platform is installed -* The actor is already authenticated in the FADI platform -* The database is already created -### TS dependencies: -* No dependencies - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Test script ID - Test Actions - Assertion -
Sequence - Actor - Action - Automatic/ Manual -
TS-4 - 1 - JEST - Launch the Nifi page - automatic - - Stop the data workflow once the data are correctly stored -
2 - PUP - Upload the Nifi template - automatic -
3 - PUP - Drag and drop the Nifi template - automatic -
4 - PUP - Configure the password to connect to the database - automatic -
5 - PUP - Enable both the required controller services. - automatic -
6 - PUP - Start the process - automatic -
- -## TS-11: Defining dashboards based on the analyzed data using Grafana -### User story -* **As a** Business Analyst/Leader **I want to** define a dashboard **So I can** visualize the results of the analyzed data -* **As a** Business Analyst/Leader **I want to** define a dashboard **So I can** realize a global overview about the results of the analyzed data -### Initial data/state: -* The FADI platform is installed -* The actor is authenticated to the Grafana service -### TS dependencies: -* TS-10 : Configuring a data source in the Grafana dashboard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Test script ID - Test Actions - Assertion -
Sequence - Actor - Action - Automatic/ Manual -
TS-11 - 1 - JEST - Launch the Grafana page - automatic - - Exit from Grafana -
2 - PUP - Choose the data source - automatic -
3 - PUP - Edit the dashboard - automatic -
4 - PUP - Choose the type of the dashboard - automatic -
5 - PUP - Edit the query - automatic -
6 - PUP - Press on the Query inspector button to execute the query and visualize the dashboard - automatic -
- -## TS-15: Creating a chart in Superset -### User story -* **As a** Business Analyst/Leader **I want to** create a chart in Superset **So I can** visualize the results of the analyzed data -### Initial data/state: -* The FADI platform is installed -* The actor is authenticated to the Superset service -### TS dependencies: -* TS-13 : Configuring a database in Superset -* TS-14 : Configuring a table in Superset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Test script ID - Test Actions - Assertion -
Sequence - Actor - Action - Automatic/ Manual -
TS-15 - 1 - JEST - Launch the Superset page - automatic - - Exit from Superset -
2 - PUP - Choose the Chart option menu - automatic -
3 - PUP - Add a new record - automatic -
4 - PUP - Choose the datasource - automatic -
5 - PUP - Choose the visualization type - automatic -
6 - PUP - Click “Create new chart” - automatic -
7 - PUP - Configure the chart by defining the time requirements and the query - automatic -
8 - PUP - Run the query - automatic -
\ No newline at end of file From 6175c2da49793ca88ae89f6a1ae3e20cf37fc3d3 Mon Sep 17 00:00:00 2001 From: Rami Sellami Date: Wed, 18 Dec 2019 11:03:33 +0100 Subject: [PATCH 03/29] Adding the test scripts repository --- tests/doc/test-scripts/TS-11.md | 94 ++++++++++++++++++++++++++ tests/doc/test-scripts/TS-15.md | 114 ++++++++++++++++++++++++++++++++ tests/doc/test-scripts/TS-4.md | 96 +++++++++++++++++++++++++++ 3 files changed, 304 insertions(+) create mode 100644 tests/doc/test-scripts/TS-11.md create mode 100644 tests/doc/test-scripts/TS-15.md create mode 100644 tests/doc/test-scripts/TS-4.md diff --git a/tests/doc/test-scripts/TS-11.md b/tests/doc/test-scripts/TS-11.md new file mode 100644 index 0000000..a0037e9 --- /dev/null +++ b/tests/doc/test-scripts/TS-11.md @@ -0,0 +1,94 @@ +## TS-11: Defining dashboards based on the analyzed data using Grafana +### User story +* **As a** Business Analyst/Leader **I want to** define a dashboard **So I can** visualize the results of the analyzed data +* **As a** Business Analyst/Leader **I want to** define a dashboard **So I can** realize a global overview about the results of the analyzed data +### Initial data/state: +* The FADI platform is installed +* The actor is authenticated to the Grafana service +### TS dependencies: +* TS-10 : Configuring a data source in the Grafana dashboard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Test script ID + Test Actions + Assertion +
Sequence + Actor + Action + Automatic/ Manual +
TS-11 + 1 + JEST + Launch the Grafana page + automatic + - Exit from Grafana +
2 + PUP + Choose the data source + automatic +
3 + PUP + Edit the dashboard + automatic +
4 + PUP + Choose the type of the dashboard + automatic +
5 + PUP + Edit the query + automatic +
6 + PUP + Press on the Query inspector button to execute the query and visualize the dashboard + automatic +
\ No newline at end of file diff --git a/tests/doc/test-scripts/TS-15.md b/tests/doc/test-scripts/TS-15.md new file mode 100644 index 0000000..f533b22 --- /dev/null +++ b/tests/doc/test-scripts/TS-15.md @@ -0,0 +1,114 @@ +## TS-15: Creating a chart in Superset +### User story +* **As a** Business Analyst/Leader **I want to** create a chart in Superset **So I can** visualize the results of the analyzed data +### Initial data/state: +* The FADI platform is installed +* The actor is authenticated to the Superset service +### TS dependencies: +* TS-13 : Configuring a database in Superset +* TS-14 : Configuring a table in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Test script ID + Test Actions + Assertion +
Sequence + Actor + Action + Automatic/ Manual +
TS-15 + 1 + JEST + Launch the Superset page + automatic + - Exit from Superset +
2 + PUP + Choose the Chart option menu + automatic +
3 + PUP + Add a new record + automatic +
4 + PUP + Choose the datasource + automatic +
5 + PUP + Choose the visualization type + automatic +
6 + PUP + Click “Create new chart” + automatic +
7 + PUP + Configure the chart by defining the time requirements and the query + automatic +
8 + PUP + Run the query + automatic +
\ No newline at end of file diff --git a/tests/doc/test-scripts/TS-4.md b/tests/doc/test-scripts/TS-4.md new file mode 100644 index 0000000..2745801 --- /dev/null +++ b/tests/doc/test-scripts/TS-4.md @@ -0,0 +1,96 @@ +## TS-4: Defining the Nifi workflow by uploading a template +### User story +* **As a** data scientist/engineer **I want to** define a data workflow management **So I can** consider data coming from a new data source +* **As a** data scientist/engineer **I want to** define a data workflow management **So I can** support a new data type +* **As a** data scientist/engineer **I want to** define a data workflow management **So I can** integrate a new industrial partner +### Initial data/state: +* The FADI platform is installed +* The actor is already authenticated in the FADI platform +* The database is already created +### TS dependencies: +* No dependencies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Test script ID + Test Actions + Assertion +
Sequence + Actor + Action + Automatic/ Manual +
TS-4 + 1 + JEST + Launch the Nifi page + automatic + - Stop the data workflow once the data are correctly stored +
2 + PUP + Upload the Nifi template + automatic +
3 + PUP + Drag and drop the Nifi template + automatic +
4 + PUP + Configure the password to connect to the database + automatic +
5 + PUP + Enable both the required controller services. + automatic +
6 + PUP + Start the process + automatic +
\ No newline at end of file From 4433ff5a0fcb4fb8f8389c7d4d0c5005562dd97a Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 11:25:36 +0100 Subject: [PATCH 04/29] Adding links to the test scripts in the table --- tests/doc/Test-scripts-specifications.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/doc/Test-scripts-specifications.md b/tests/doc/Test-scripts-specifications.md index 2f844dc..0d7757a 100644 --- a/tests/doc/Test-scripts-specifications.md +++ b/tests/doc/Test-scripts-specifications.md @@ -95,7 +95,7 @@ TC-4 - [Defining the Nifi workflow by uploading a template](test-scripts/TS-4.md) + Defining the Nifi workflow by uploading a template Data Scientist, Data Engineer @@ -107,7 +107,7 @@ TC-11 - [Defining dashboards based on the analyzed data using Grafana](test-scripts/TS-11.md) + Defining dashboards based on the analyzed data using Grafana Business Analyst, Business Leader @@ -119,7 +119,7 @@ TC-15 - [Creating a chart in Superset](test-scripts/TS-15.md) + Creating a chart in Superset Business Analyst, Business Leader From 1f5892af339cbbdf60bfab375ac2053f1f12d32a Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 11:31:15 +0100 Subject: [PATCH 05/29] Update Test-scripts-specifications.md --- tests/doc/Test-scripts-specifications.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/tests/doc/Test-scripts-specifications.md b/tests/doc/Test-scripts-specifications.md index 0d7757a..32e893e 100644 --- a/tests/doc/Test-scripts-specifications.md +++ b/tests/doc/Test-scripts-specifications.md @@ -1,19 +1,3 @@ -# Abbreviations list - - - - - - - - - -
Abbreviation - Meaning -
- -
- # Actors abbreviations list From 8c5f68bff27ef581d00b0218883a795c7c3c0dd6 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 11:34:52 +0100 Subject: [PATCH 06/29] Rename Cockburns-specification to Cockburns-specification.md --- tests/doc/{Cockburns-specification => Cockburns-specification.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/doc/{Cockburns-specification => Cockburns-specification.md} (100%) diff --git a/tests/doc/Cockburns-specification b/tests/doc/Cockburns-specification.md similarity index 100% rename from tests/doc/Cockburns-specification rename to tests/doc/Cockburns-specification.md From 9a7efa481d69003374876aa3c306275450d627e0 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 12:01:51 +0100 Subject: [PATCH 07/29] Update Cockburns-specification.md --- tests/doc/Cockburns-specification.md | 2957 -------------------------- 1 file changed, 2957 deletions(-) diff --git a/tests/doc/Cockburns-specification.md b/tests/doc/Cockburns-specification.md index 87611eb..dd2adfb 100644 --- a/tests/doc/Cockburns-specification.md +++ b/tests/doc/Cockburns-specification.md @@ -308,2960 +308,3 @@ In this section, the main concepts and technologies are introduced in order to e
- - - -## TC-1:Authentication to a given tool via LDAP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-1 -
Use case name - Authentication to a given tool via LDAP -
Actors - -
    - -
  • All actors -
  • -
-
Trigger - The actor wants to use one service of the FADI platform for the first time -
Short Description - This use case denotes the process of the authentication to the FADI platform. -
Pre-Conditions - -
    - -
  • The actor credentials should exist in the LDAP repository - -
  • The FADI platform is already installed - -
  • The actor already knows the URL address of the desired service (e.g grafana, pgAdmin, etc.) -
  • -
-
Post-Conditions - -
    - -
  • The actor is authenticated -
  • -
-
Steps - 1 - The actor access to a given service via its URL address -
2 - The actor enter his/her credentials -
3 - The actor is authenticated -
Exceptions - -
    - -
  • The actor credentials does’t not exist in the LDAP repository - -
  • The actor makes an error when entering his/her credentials -
  • -
-
Frequency - -
    - -
  • Every time the use is not logged-in in the FADI platform -
  • -
-
- - - -## TC-2: Access to the FADI dashboard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-2 -
Use case name - Access to the FADI dashboard -
Actors - -
    - -
  • Platform Admin - -
  • System Admin - -
  • Stakeholders - -
  • ICT manager -
  • -
-
Trigger - -
    - -
  • Check the state of a given pod - -
  • Check the installation of the FADI framework -
  • -
-
Short Description - The dashboard of FADI enables the actor to access to a web interface in order to check the status of the installed services (called also pods). -
Pre-Conditions - -
    - -
  • The FADI is already installed - -
  • The actor knows the namespace of FADI (e.g. fadi) -
  • -
-
Post-Conditions - -
    - -
  • The actor checks the status of a service -
  • -
-
Steps - 1 - Access to the dashboard of FADI platform -
2 - Select the appropriate dashboard -
3 - Check if there is some dashboards and information about the installed services -
Exceptions - -
    - -
  • The actor does not find the service -
  • -
-
Frequency - -
    - -
  • Everytime an actor wants to check the status of a given service -
  • -
-
- - - -## TC-3: Defining the Nifi workflow - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-3 -
Use case name - Defining the Nifi workflow -
Actors - -
    - -
  • Data Scientist - -
  • Data Engineer -
  • -
-
Trigger - -
    - -
  • Adding a new industrial partner - -
  • Adding a new data type - -
  • Adding a new database -
  • -
-
Short Description - The Fadi platform enables the actors to define a workflow denoting how to collect and store data stream/batch. For this purpose, it integrates Nifi which is an open source tool to automate the flow of data between software systems. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Nifi service - -
  • The actor is already authenticated in the FADI platform - -
  • The actor knows the authentication credentials of the target database (e.g. the username and the password of the PostgreSQL database) - -
  • The actor knows -
      - -
    • the name of the target database and the table - -
    • the database connection URL, the database driver class name, database driver location, etc. -
    • -
    - -
  • The actor knows the source sending the data (e.g. data stream, a CSV file, etc.) -
  • -
-
Post-Conditions - -
    - -
  • The Nifi workflow is created and is successfully launched -
  • -
-
Steps - 1 - Access to the Nifi interface -
2 - Create the desired Nifi workflow -
3 - Launch the created workflow to start storing the data in the target database -
Exceptions - -
    - -
  • -
  • -
-
Frequency - -
    - -
  • Everytime the actor has new data coming to the FADI framework -
  • -
-
- - - -## TC-4: Defining the Nifi workflow by uploading a template - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-4 -
Use case name - Defining the Nifi workflow by uploading a template -
Actors - -
    - -
  • Data Scientist - -
  • Data Engineer -
  • -
-
Trigger - -
    - -
  • Adding a new industrial partner - -
  • Adding a new data type - -
  • Adding a new database -
  • -
-
Short Description - The Fadi platform enables the actors to define a workflow denoting how to collect and store data stream/batch. For this purpose, it integrates Nifi which is an open source tool to automate the flow of data between software systems. In this use case, the actor will upload an existing template to create the Nifi workflow -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Nifi service - -
  • The actor is already authenticated in the FADI platform - -
  • The actor knows the source sending the data (e.g. data stream, a CSV file, etc.) - -
  • The actor has the Nifi template -
  • -
-
Post-Conditions - -
    - -
  • The Nifi workflow is created and is successfully launched -
  • -
-
Steps - 1 - Access to the Nifi interface -
2 - Upload the Nifi template -
3 - Drag and Drop the imported template -
4 - Configure the password to connect to the database -
5 - Enable both the required controller services. -
6 - Select the whole workflow and start the process -
7 - Launch the created workflow to start storing the data in the target database -
8 - Check that the data is correctly stored -
Exceptions - -
    - -
  • Error when upload the Nifi template -
  • -
-
Frequency - -
    - -
  • Everytime the actor has new data coming to the FADI framework -
  • -
-
- - - -## TC-5: Creating a database server in pgAdmin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-5 -
Use case name - Creating a database server in pgAdmin -
Actors - -
    - -
  • Data Engineer -
  • -
-
Trigger - -
    - -
  • Adding a new industrial partner - -
  • Adding a new data type -
  • -
-
Short Description - The FADI platform enables to create database server using the tool pgAdmin. This use case allows to test if the database creation is successfully achieved. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the pgAdmin service - -
  • The actor is connected to pgAdmin - -
  • The actor knows the credentials of PostreSQL -
      - -
    • Host name: fadi-postgresql - -
    • Port: 5432 - -
    • Maintenance database: postgres - -
    • Username: admin - -
    • Password: password1 -
    • -
    -
  • -
-
Post-Conditions - -
    - -
  • The database is created -
  • -
-
Steps - 1 - Access to the interface to create a database server -
2 - Enter the name of the database server in the “General” tab -
3 - Enter the credentials of PostgreSQL in the “Connection” tab -
4 - Save the edited information -
5 - Check the existence of the new database -
Exceptions - -
    - -
  • The credentials of PostgreSQL are not correct -
  • -
-
Frequency - -
    - -
  • Every time a new database needs to be created -
  • -
-
- - - -## TC-6: Creating a table in pgAdmin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-6 -
Use case name - Creating a table in pgAdmin -
Actors - -
    - -
  • Data Engineer -
  • -
-
Trigger - -
    - -
  • Creating a new table in the PostgreSQL database - -
  • Adding a new industrial partner - -
  • Adding a new data type -
  • -
-
Short Description - The FADI platform enables to create a new table via the interface of the pgAdmin tool. This use case allows to test whether the table creation is successfully achieved. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the pgAdmin service - -
  • The database in which the table will be created already exists - -
  • The actor is connected to pgAdmin - -
  • The actor knows the name of the table to be created - -
  • The actor knows the name of the target database -
  • -
-
Post-Conditions - -
    - -
  • The table is created -
  • -
-
Steps - 1 - Access to the interface to create a table -
2 - Execute the creation query -
3 - Check the existence of the new table -
Exceptions - -
    - -
  • The table already exists - -
  • There is an error in the creation query -
  • -
-
Frequency - -
    - -
  • Everytime the actor wants to create a new table -
  • -
-
- - - -## TC-7: Deleting a table in pgAdmin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-7 -
Use case name - Deleting a table in pgAdmin -
Actors - -
    - -
  • Data Engineer -
  • -
-
Trigger - -
    - -
  • Removing a table from the PostgreSQL database -
  • -
-
Short Description - The FADI platform enables to delete a table via the interface of the pgAdmin tool. This use case allows to test whether the table deletion is successfully achieved. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the pgAdmin service - -
  • The actor is connected to pgAdmin - -
  • The table to delete already exists - -
  • The database in which the table will be deleted already exists - -
  • The actor knows the name of the table to be deleted - -
  • The actor knows the name of the database containing the table -
  • -
-
Post-Conditions - -
    - -
  • The table is deleted -
  • -
-
Steps - 1 - Access to the interface to delete a table -
2 - Execute the deletion query -
3 - Check the existence of the table (i.e. it should be deleted) -
Exceptions - -
    - -
  • The table does not exist - -
  • There is an error in the deletion query -
  • -
-
Frequency - -
    - -
  • Every time the actor wants to delete a table -
  • -
-
- - - -## TC-8: Deleting a database in pgAdmin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-8 -
Use case name - Deleting a database in pgAdmin -
Actors - -
    - -
  • Data Engineer -
  • -
-
Trigger - -
    - -
  • Removing a database from PostgreSQL -
  • -
-
Short Description - The FADI platform enables to delete a database via the interface of the pgAdmin tool. This use case allows to test whether the database deletion is successfully achieved. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the pgAdmin service - -
  • The actor is connected to pgAdmin - -
  • The database to delete already exists - -
  • The actor knows the name of the database to be deleted -
  • -
-
Post-Conditions - -
    - -
  • The database is deleted -
  • -
-
Steps - 1 - Access to the interface to delete a database -
2 - Execute the deletion query -
3 - Check the existence of the database (i.e. it should be deleted) -
Exceptions - -
    - -
  • The database does not exist - -
  • There is an error in the deletion query -
  • -
-
Frequency - -
    - -
  • Every time the actor wants to delete a database -
  • -
-
- - - -## TC-9: Inserting data in a given table - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-9 -
Use case name - Inserting data in a given table -
Actors - -
    - -
  • Data Engineer -
  • -
-
Trigger - -
    - -
  • Collecting stream data - -
  • Collecting batch data - -
  • Storing analyzed data - -
  • Storing results (etc. analysis, dashboards, etc.) -
  • -
-
Short Description - The FADI platform enables to collect data and to store it in a given database either via the pgAdmin interface or by defining a data workflow using Nifi. This use case allows to test whether the data insertion is successfully achieved. -

-In this use case, we will implement the case of data insertion using Nifi. -

Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Nifi service - -
  • The actor is connected to the FADI platform - -
  • The target table already exists - -
  • The actor knows the name of the table to be deleted - -
  • The actor knows the name of the database containing the table -
  • -
-
Post-Conditions - -
    - -
  • The data is correctly inserted -
  • -
-
Steps - 1 - Access to the Nifi service -
2 - Upload a Nifi template -
3 - Drag and Drop the imported template -
4 - Configure the password to connect to the database -
5 - Enable both the required controller services. -
6 - Select the whole workflow and start the process -
7 - Check that the data is correctly inserted in the database by verifying the success connection. -
Exceptions - -
    - -
  • Error in the password of the database - -
  • The controller services are enabled - -
  • The data is not stored -
  • -
-
Frequency - -
    - -
  • Everytime data (stream or batch) is collected by the FADI platform -
  • -
-
- - - -## TC-10: Configuring a data source in the Grafana dashboard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-10 -
Use case name - Configuring a data source in the Grafana dashboard -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Visualizing results coming from a new database - -
  • Connecting Grafana to a database -
  • -
-
Short Description - The FADI platform enables to visualize data and results in various types of dashboards (e.g. curves, heatmaps, etc.) either by directly querying the databases or by collecting stream data. -

-In this use case, the Grafana tool will be used and the way to connect this tool to a database is defined. -

Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Grafana service - -
  • The actor knows the credentials to connect to the Grafana service - -
  • The actor knows the required credentials to connect to the database (i.e. host, database, user, password, SSL mode, Version) -
  • -
-
Post-Conditions - -
    - -
  • The Grafana tool is connected to the database -
  • -
-
Steps - 1 - Access to the Grafana service -
2 - Authenticate to the Grafana service -
3 - Add a data source and choose the type “PostgreSQL” -
4 - Configure the following elements: -
    - -
  • Host: fadi-postgresql:5432 - -
  • database: postgres - -
  • user: admin - -
  • password: password1 - -
  • SSL Mode: disable - -
  • Version: 10 -
  • -
-
5 - Check that the database is correctly created -
Exceptions - -
    - -
  • An error in the credentials -
  • -
-
Frequency - -
    - -
  • Every time a new database should be connected to the Grafana tool -
  • -
-
- - - -## TC-11: Defining dashboards based on the analyzed data using Grafana - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-11 -
Use case name - Defining dashboards based on the analyzed data using Grafana -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Visualizing results in dashboards - -
  • Realizing a global overview about the results -
  • -
-
Short Description - The FADI platform enables to visualize data and results in various types of dashboards (e.g. curves, heatmaps, etc.) either by directly querying the databases or by collecting stream data. -

-In this use case, the Grafana tool will be used. -

Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Grafana service - -
  • The actor knows the credentials to connect to the Grafana service - -
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) -
  • -
-
Post-Conditions - -
    - -
  • The actor visualizes dashboards -
  • -
-
Steps - 1 - Access to the Grafana service -
2 - Authenticate to the Grafana service -
3 - Choose the source of data -
4 - Edit a new dashboard -
5 - Select the type of a dashboard from the Visualization dropdown list (e.g. graph, heatmap, etc.) -
6 - Edit the query -
7 - Configure the time frame (if needed) -
- 8 - Press on the Query inspector button to execute the query and visualize the dashboard -
Exceptions - -
    - -
  • An error in the query -
  • -
-
Frequency - -
    - -
  • Every time the actor wants to visualize his/her results -
  • -
-
- - - -## TC-12: Defining alerts using Grafana - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-12 -
Use case name - Defining alerts using Grafana -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Controlling visualized data - -
  • Detecting anomalies -
  • -
-
Short Description - The FADI platform enables to visualize data and results in various types of dashboards (e.g. curves, heatmaps, etc.). In addition, it allows users to define alerts and rules in order to automatically detect misbehaviours, anomalies and errors when analyzing data. -

-In this use case, the Grafana tool will be used -

Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Grafana service - -
  • The actor knows the credentials to connect to the Grafana service - -
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) -
  • -
-
Post-Conditions - -
    - -
  • The actor visualizes the defined alert -
  • -
-
Steps - 1 - Access to the Grafana service -
2 - Authenticate to the Grafana service -
3 - Add a data source and choose the type “PostgreSQL” -
4 - Configure the following elements: -
    - -
  • Host: fadi-postgresql:5432 - -
  • database: postgres - -
  • user: admin - -
  • password: password1 - -
  • SSL Mode: disable - -
  • Version: 10 -
  • -
-
5 - Edit a new dashboard -
6 - Select the type of a dashboard from the Visualization dropdown list (e.g. graph, heatmap, etc.) -
7 - Configure the query -
8 - Configure the time frame (if needed) -
9 - Press on the Query inspector button to execute the query and visualize the dashboard -
10 - Go to the “Alert” tab -
11 - Create a new alert by specifying the alert threshold -
12 - Visualize the alert in the dashboard -
Exceptions - N/A -
Frequency - -
    - -
  • Every time the actor wants to defines alerts -
  • -
-
- - - -## TC-13: Configuring a database in Superset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-13 -
Use case name - Configuring a database in Superset -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Visualize results coming from a new database - -
  • Visualize results for the first time -
  • -
-
Short Description - The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used. The first thing to do is to link Superset to a data source. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Superset service - -
  • The actor knows the credentials to connect to the Superset service - -
  • The actor knows the credentials of the database (i.e. the database name, SQLAlchemy URI) -
  • -
-
Post-Conditions - -
    - -
  • The database is linked to the Superset -
  • -
-
Steps - 1 - Access to the Superset service -
2 - Authenticate to the Superset service -
3 - Create a new database by entering the following information: -

-the Database and the SQLAlchemy URI -

4 - Confirm the creation by clicking on the “Test Connection” button to check the connection to the database -
Exceptions - -
    - -
  • Error in the entered information - -
  • The connection to the database failed -
  • -
-
Frequency - -
    - -
  • Every time an actor wants to visualize data coming from a database which is not connected to Superset -
  • -
-
- - - -## TC-14: Configuring a table in Superset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-14 -
Use case name - Configuring a table in Superset -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Visualize results coming from a new table - -
  • Visualize results for the first time -
  • -
-
Short Description - The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used to configure a table in a given database. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Superset service - -
  • The actor knows the credentials to connect to the Superset service - -
  • The actor knows the schema of the database - -
  • The actor knows the name of the table -
  • -
-
Post-Conditions - -
    - -
  • The table is configured -
  • -
-
Steps - 1 - Access to the Superset service -
2 - Authenticate to the Superset service -
3 - Create a new table by editing the following information: the database name and the table name -
4 - Save the edited values -
5 - Edit the columns of the created table by -
6 - Save the edited information -
7 - Check that the table and the columns are correctly configured -
Exceptions - -
    - -
  • Error in the entered information -
  • -
-
Frequency - -
    - -
  • Every time an actor wants to visualize data coming from a given table -
  • -
-
- - - -## TC-15: Creating a chart in Superset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-15 -
Use case name - Creating a chart in Superset -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Visualize results in a chart -
  • -
-
Short Description - The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this use case, the Superset tool is used to create a chart in order to visualize the results. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Superset service - -
  • The actor knows the credentials to connect to the Superset service - -
  • The actor knows the schema of the database -
  • -
-
Post-Conditions - -
    - -
  • A chart is created -
  • -
-
Steps - 1 - Access to the Superset service -
2 - Authenticate to the Superset service -
3 - On the top menu, click on “Chart” -
4 - Add a new record -
5 - Choose the datasource -
6 - Choose the visualization type -
7 - Click “Create new chart” -
8 - Configure the chart by defining the time requirements and the query -
9 - Click “Run query” to fetch the data from the database -
10 - Check the chart is correctly created -
Exceptions - -
    - -
  • Error during the authentication - -
  • Error in the edited information - -
  • Error in the query -
  • -
-
Frequency - -
    - -
  • Every time the user wants to create a chart -
  • -
-
- - - -## TC-16: Saving a dashboard in Superset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-16 -
Use case name - Saving a dashboard in Superset -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Save a new dashboard - -
  • Save a dashboard after a modification -
  • -
-
Short Description - The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this use case, the Superset tool is used to create and save a dashboard. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Superset service - -
  • The actor knows the credentials to connect to the Superset service - -
  • The actor knows the schema of the database -
  • -
-
Post-Conditions - -
    - -
  • The dashboard is saved -
  • -
-
Steps - 1 - Access to the Superset service -
2 - Authenticate to the Superset service -
3 - Create/modify a dashboard -
4 - Click on “save” and edit the following information -
    - -
  • Save as: Basic example - -
  • Add to new dashboard: Basic example dashboard -
  • -
-
5 - Click on Save & go to dashboard. -
6 - Visualize the saved dashboard -
Exceptions - -
    - -
  • Error during the authentication - -
  • Error editing the information -
  • -
-
Frequency - -
    - -
  • Every time the user creates or modifies a chart -
  • -
-
- - - -## TC-17: Preparing reports using Superet - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-17 -
Use case name - Preparing reports using Superset -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Visualize and report the results -
  • -
-
Short Description - The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Superset service - -
  • The actor knows the credentials to connect to the Superset service - -
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) -
  • -
-
Post-Conditions - -
    - -
  • A report is generated -
  • -
-
Steps - 1 - Access to the Superset service -
2 - Authenticate to the Superset service -
3 - Create a new database -
4 - Create a new table in the database -
5 - Create and configure a new chart by using the created database and table -
6 - Visualize the resulted chart -
7 - Export the resulted chard in a report -
Exceptions - -
    - -
  • Error when creating the database - -
  • Error when creating the table -
  • -
-
Frequency - -
    - -
  • Every time an actor wants to visualize data and export results in reports -
  • -
-
- - - -## TC-18: Loading data in Jupyter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-26 -
Use case name - Loading data in Jupyter -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Using data for the first time - -
  • Having a new database -
  • -
-
Short Description - The FADI platform enables to process analysis techniques on the collected data. It provides to do simple analysis using the Jupyter tool. In this use case, the loading of the scripts is checked. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Jupyter service - -
  • The actor know the credentials to connect to the Jupyter service - -
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) - -
  • The actor possesses the two code scripts to upload -
  • -
-
Post-Conditions - -
    - -
  • Data is loaded -
  • -
-
Steps - 1 - Access to the Jupyter service -
2 - Authenticate to the Jupyter service -
3 - Choose the “Minimal environment” option and click on “Spawn” -
4 - Import the script(s) -
5 - Check that the script is correctly loaded -
Exceptions - -
    - -
  • The connection to the database fails - -
  • The authentication fails -
  • -
-
Frequency - -
    - -
  • Everytime the user wants to load scripts in Jupyter -
  • -
-
- - - -## TC-19: Analyzing data using Jupyter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-17 -
Use case name - Analyzing data using Jupyter -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • The actor wants to analyse data -
  • -
-
Short Description - The FADI platform enables to process analysis techniques on the collected data. It provides to do simple analysis using the Jupyter tool. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Jupyter service - -
  • The actor know the credentials to connect to the Jupyter service - -
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) - -
  • The actor possesses the two code scripts to upload -
  • -
-
Post-Conditions - -
    - -
  • The data is analyzed -
  • -
-
Steps - 1 - Access to the Jupyter service -
2 - Authenticate to the Jupyter service -
3 - In the option “Minimal environment”, go the “Files” tab -
4 - Select the loaded script (i.e. module) -
5 - Run the scripts to configure the connection to the database and visualize temperature curve as function of date -
6 - Check that the scripts are executed with success -
Exceptions - -
    - -
  • The connection to the database fails - -
  • The authentication fails -
  • -
-
Frequency - -
    - -
  • Everytime the user wants to process analysis on data -
  • -
-
- - - -## TC-20: Loading data in Spark - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-27 -
Use case name - Loading data in Spark -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • Using data for the first time - -
  • Having a new database -
  • -
-
Short Description - The FADI platform enables to process analysis techniques on the collected data. It provides to do complex analysis using the Spark tool. In this use case, the script loading is described. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Spark service - -
  • The actor know the credentials to connect to the Spark service - -
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) - -
  • The actor possesses the scripts to upload -
  • -
-
Post-Conditions - -
    - -
  • The data is analyzed -
  • -
-
Steps - 1 - Access to the Spark service -
2 - Authenticate to the Spark service -
3 - Choose the option “Spark environment” and Click the “Spawn” button -
4 - Upload the code script to explore Spark -
5 - Check that script is correctly uploaded -
Exceptions - -
    - -
  • The connection to the database fails - -
  • The authentication fails -
  • -
-
Frequency - -
    - -
  • Everytime the user wants to load scripts in Spark -
  • -
-
- - - -## TC-21: Analyzing data using Spark - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use case ID - TC-18 -
Use case name - Analyzing data using Spark -
Actors - -
    - -
  • Business Analyst - -
  • Business Leader -
  • -
-
Trigger - -
    - -
  • The actor wants to analyse data -
  • -
-
Short Description - The FADI platform enables to process analysis techniques on the collected data. It provides to do complex analysis using the Spark tool. -
Pre-Conditions - -
    - -
  • The actor knows either the URL address or the command to access to the Spark service - -
  • The actor know the credentials to connect to the Spark service - -
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) - -
  • The actor possesses the scripts to upload -
  • -
-
Post-Conditions - -
    - -
  • The data is analyzed -
  • -
-
Steps - 1 - Access to the Spark service -
2 - Authenticate to the Spark service -
3 - Choose the option “Spark environment” and Click the “Spawn” button -
4 - Launch the uploaded scripts to analyze data -
5 - Check that the scripts are executed with success -
Exceptions - -
    - -
  • The connection to the database fails - -
  • The authentication fails -
  • -
-
Frequency - -
    - -
  • Everytime the actor wants to process analysis on data -
  • -
-
From 696a4131f18dc491cfff67eb9b90db2d8f36eb70 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 13:25:56 +0100 Subject: [PATCH 08/29] Update Cockburns-specification.md --- tests/doc/Cockburns-specification.md | 42 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/tests/doc/Cockburns-specification.md b/tests/doc/Cockburns-specification.md index dd2adfb..a3a90e4 100644 --- a/tests/doc/Cockburns-specification.md +++ b/tests/doc/Cockburns-specification.md @@ -100,7 +100,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-1 - Authentication to a given tool via LDAP +
Authentication to a given tool via LDAP all actors @@ -110,7 +110,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-2 - Access to the FADI dashboard + Access to the FADI dashboard Platform Admin, System Admin, Stakeholders, ICT manager @@ -120,7 +120,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-3 - Defining the Nifi workflow + Defining the Nifi workflow Data Scientist, Data Engineer @@ -130,7 +130,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-4 - Defining the Nifi workflow by uploading a template + Defining the Nifi workflow by uploading a template Data Scientist, Data Engineer @@ -140,7 +140,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-5 - Creating a database server in pgAdmin + Creating a database server in pgAdmin Data Engineer @@ -150,7 +150,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-6 - Creating a table in pgAdmin + Creating a table in pgAdmin Data Engineer @@ -160,7 +160,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-7 - Deleting a table in pgAdmin + Deleting a table in pgAdmin Data Engineer @@ -170,7 +170,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-8 - Deleting a database in pgAdmin + Deleting a database in pgAdmin Data Engineer @@ -180,7 +180,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-9 - Inserting data in a given table + Inserting data in a given table Data Engineer @@ -190,7 +190,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-10 - Configuring a data source in the Grafana dashboard + Configuring a data source in the Grafana dashboard Business Analyst, Business Leader @@ -200,7 +200,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-11 - Defining dashboards based on the analyzed data using Grafana + Defining dashboards based on the analyzed data using Grafana Business Analyst, Business Leader @@ -210,7 +210,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-12 - Defining alerts using Grafana + Defining alerts using Grafana Business Analyst, Business Leader @@ -220,7 +220,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-13 - Configuring a database in Superset + Configuring a database in Superset Business Analyst, Business Leader @@ -230,7 +230,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-14 - Configuring a table in Superset + Configuring a table in Superset Business Analyst, Business Leader @@ -240,7 +240,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-15 - Creating a chart in Superset + Creating a chart in Superset Business Analyst, Business Leader @@ -250,7 +250,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-16 - Saving a dashboard in Superset + Saving a dashboard in Superset Business Analyst, Business Leader @@ -260,7 +260,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-17 - Preparing reports using Superset + Preparing reports using Superset Business Analyst, Business Leader @@ -270,7 +270,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-18 - Loading data in Jupyter + Loading data in Jupyter Business Analyst, Business Leader @@ -280,7 +280,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-19 - Analyzing data using Jupyter + Analyzing data using Jupyter Business Analyst, Business Leader @@ -290,7 +290,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-20 - Loading data in Spark + Loading data in Spark Business Analyst, Business Leader @@ -300,7 +300,7 @@ In this section, the main concepts and technologies are introduced in order to e TC-21 - Analyzing data using Spark + Analyzing data using Spark Business Analyst, Business Leader From b6f53139d85620fa2104260842e9f4a61461ca6d Mon Sep 17 00:00:00 2001 From: Rami Sellami Date: Wed, 18 Dec 2019 13:29:59 +0100 Subject: [PATCH 09/29] Adding the cockburn repository --- tests/doc/cockburns/TC-1.md | 110 +++++++++++++++++++++ tests/doc/cockburns/TC-10.md | 146 ++++++++++++++++++++++++++++ tests/doc/cockburns/TC-11.md | 151 +++++++++++++++++++++++++++++ tests/doc/cockburns/TC-12.md | 183 +++++++++++++++++++++++++++++++++++ tests/doc/cockburns/TC-13.md | 127 ++++++++++++++++++++++++ tests/doc/cockburns/TC-14.md | 143 +++++++++++++++++++++++++++ tests/doc/cockburns/TC-15.md | 161 ++++++++++++++++++++++++++++++ tests/doc/cockburns/TC-16.md | 144 +++++++++++++++++++++++++++ tests/doc/cockburns/TC-17.md | 141 +++++++++++++++++++++++++++ tests/doc/cockburns/TC-18.md | 133 +++++++++++++++++++++++++ tests/doc/cockburns/TC-19.md | 137 ++++++++++++++++++++++++++ tests/doc/cockburns/TC-2.md | 118 ++++++++++++++++++++++ tests/doc/cockburns/TC-20.md | 133 +++++++++++++++++++++++++ tests/doc/cockburns/TC-21.md | 131 +++++++++++++++++++++++++ tests/doc/cockburns/TC-3.md | 130 +++++++++++++++++++++++++ tests/doc/cockburns/TC-4.md | 151 +++++++++++++++++++++++++++++ tests/doc/cockburns/TC-5.md | 140 +++++++++++++++++++++++++++ tests/doc/cockburns/TC-6.md | 123 +++++++++++++++++++++++ tests/doc/cockburns/TC-7.md | 121 +++++++++++++++++++++++ tests/doc/cockburns/TC-8.md | 117 ++++++++++++++++++++++ tests/doc/cockburns/TC-9.md | 153 +++++++++++++++++++++++++++++ 21 files changed, 2893 insertions(+) create mode 100644 tests/doc/cockburns/TC-1.md create mode 100644 tests/doc/cockburns/TC-10.md create mode 100644 tests/doc/cockburns/TC-11.md create mode 100644 tests/doc/cockburns/TC-12.md create mode 100644 tests/doc/cockburns/TC-13.md create mode 100644 tests/doc/cockburns/TC-14.md create mode 100644 tests/doc/cockburns/TC-15.md create mode 100644 tests/doc/cockburns/TC-16.md create mode 100644 tests/doc/cockburns/TC-17.md create mode 100644 tests/doc/cockburns/TC-18.md create mode 100644 tests/doc/cockburns/TC-19.md create mode 100644 tests/doc/cockburns/TC-2.md create mode 100644 tests/doc/cockburns/TC-20.md create mode 100644 tests/doc/cockburns/TC-21.md create mode 100644 tests/doc/cockburns/TC-3.md create mode 100644 tests/doc/cockburns/TC-4.md create mode 100644 tests/doc/cockburns/TC-5.md create mode 100644 tests/doc/cockburns/TC-6.md create mode 100644 tests/doc/cockburns/TC-7.md create mode 100644 tests/doc/cockburns/TC-8.md create mode 100644 tests/doc/cockburns/TC-9.md diff --git a/tests/doc/cockburns/TC-1.md b/tests/doc/cockburns/TC-1.md new file mode 100644 index 0000000..c9cbfa5 --- /dev/null +++ b/tests/doc/cockburns/TC-1.md @@ -0,0 +1,110 @@ +## TC-1:Authentication to a given tool via LDAP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-1 +
Use case name + Authentication to a given tool via LDAP +
Actors + +
    + +
  • All actors +
  • +
+
Trigger + The actor wants to use one service of the FADI platform for the first time +
Short Description + This use case denotes the process of the authentication to the FADI platform. +
Pre-Conditions + +
    + +
  • The actor credentials should exist in the LDAP repository + +
  • The FADI platform is already installed + +
  • The actor already knows the URL address of the desired service (e.g grafana, pgAdmin, etc.) +
  • +
+
Post-Conditions + +
    + +
  • The actor is authenticated +
  • +
+
Steps + 1 + The actor access to a given service via its URL address +
2 + The actor enter his/her credentials +
3 + The actor is authenticated +
Exceptions + +
    + +
  • The actor credentials does’t not exist in the LDAP repository + +
  • The actor makes an error when entering his/her credentials +
  • +
+
Frequency + +
    + +
  • Every time the use is not logged-in in the FADI platform +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-10.md b/tests/doc/cockburns/TC-10.md new file mode 100644 index 0000000..0006fba --- /dev/null +++ b/tests/doc/cockburns/TC-10.md @@ -0,0 +1,146 @@ +## TC-10: Configuring a data source in the Grafana dashboard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-10 +
Use case name + Configuring a data source in the Grafana dashboard +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualizing results coming from a new database + +
  • Connecting Grafana to a database +
  • +
+
Short Description + The FADI platform enables to visualize data and results in various types of dashboards (e.g. curves, heatmaps, etc.) either by directly querying the databases or by collecting stream data. +

+In this use case, the Grafana tool will be used and the way to connect this tool to a database is defined. +

Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Grafana service + +
  • The actor knows the credentials to connect to the Grafana service + +
  • The actor knows the required credentials to connect to the database (i.e. host, database, user, password, SSL mode, Version) +
  • +
+
Post-Conditions + +
    + +
  • The Grafana tool is connected to the database +
  • +
+
Steps + 1 + Access to the Grafana service +
2 + Authenticate to the Grafana service +
3 + Add a data source and choose the type “PostgreSQL” +
4 + Configure the following elements: +
    + +
  • Host: fadi-postgresql:5432 + +
  • database: postgres + +
  • user: admin + +
  • password: password1 + +
  • SSL Mode: disable + +
  • Version: 10 +
  • +
+
5 + Check that the database is correctly created +
Exceptions + +
    + +
  • An error in the credentials +
  • +
+
Frequency + +
    + +
  • Every time a new database should be connected to the Grafana tool +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-11.md b/tests/doc/cockburns/TC-11.md new file mode 100644 index 0000000..765a9b5 --- /dev/null +++ b/tests/doc/cockburns/TC-11.md @@ -0,0 +1,151 @@ +## TC-11: Defining dashboards based on the analyzed data using Grafana + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-11 +
Use case name + Defining dashboards based on the analyzed data using Grafana +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualizing results in dashboards + +
  • Realizing a global overview about the results +
  • +
+
Short Description + The FADI platform enables to visualize data and results in various types of dashboards (e.g. curves, heatmaps, etc.) either by directly querying the databases or by collecting stream data. +

+In this use case, the Grafana tool will be used. +

Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Grafana service + +
  • The actor knows the credentials to connect to the Grafana service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) +
  • +
+
Post-Conditions + +
    + +
  • The actor visualizes dashboards +
  • +
+
Steps + 1 + Access to the Grafana service +
2 + Authenticate to the Grafana service +
3 + Choose the source of data +
4 + Edit a new dashboard +
5 + Select the type of a dashboard from the Visualization dropdown list (e.g. graph, heatmap, etc.) +
6 + Edit the query +
7 + Configure the time frame (if needed) +
+ 8 + Press on the Query inspector button to execute the query and visualize the dashboard +
Exceptions + +
    + +
  • An error in the query +
  • +
+
Frequency + +
    + +
  • Every time the actor wants to visualize his/her results +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-12.md b/tests/doc/cockburns/TC-12.md new file mode 100644 index 0000000..c563392 --- /dev/null +++ b/tests/doc/cockburns/TC-12.md @@ -0,0 +1,183 @@ +## TC-12: Defining alerts using Grafana + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-12 +
Use case name + Defining alerts using Grafana +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Controlling visualized data + +
  • Detecting anomalies +
  • +
+
Short Description + The FADI platform enables to visualize data and results in various types of dashboards (e.g. curves, heatmaps, etc.). In addition, it allows users to define alerts and rules in order to automatically detect misbehaviours, anomalies and errors when analyzing data. +

+In this use case, the Grafana tool will be used +

Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Grafana service + +
  • The actor knows the credentials to connect to the Grafana service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) +
  • +
+
Post-Conditions + +
    + +
  • The actor visualizes the defined alert +
  • +
+
Steps + 1 + Access to the Grafana service +
2 + Authenticate to the Grafana service +
3 + Add a data source and choose the type “PostgreSQL” +
4 + Configure the following elements: +
    + +
  • Host: fadi-postgresql:5432 + +
  • database: postgres + +
  • user: admin + +
  • password: password1 + +
  • SSL Mode: disable + +
  • Version: 10 +
  • +
+
5 + Edit a new dashboard +
6 + Select the type of a dashboard from the Visualization dropdown list (e.g. graph, heatmap, etc.) +
7 + Configure the query +
8 + Configure the time frame (if needed) +
9 + Press on the Query inspector button to execute the query and visualize the dashboard +
10 + Go to the “Alert” tab +
11 + Create a new alert by specifying the alert threshold +
12 + Visualize the alert in the dashboard +
Exceptions + N/A +
Frequency + +
    + +
  • Every time the actor wants to defines alerts +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-13.md b/tests/doc/cockburns/TC-13.md new file mode 100644 index 0000000..9a4fd92 --- /dev/null +++ b/tests/doc/cockburns/TC-13.md @@ -0,0 +1,127 @@ +## TC-13: Configuring a database in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-13 +
Use case name + Configuring a database in Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualize results coming from a new database + +
  • Visualize results for the first time +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used. The first thing to do is to link Superset to a data source. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the credentials of the database (i.e. the database name, SQLAlchemy URI) +
  • +
+
Post-Conditions + +
    + +
  • The database is linked to the Superset +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + Create a new database by entering the following information: +

+the Database and the SQLAlchemy URI +

4 + Confirm the creation by clicking on the “Test Connection” button to check the connection to the database +
Exceptions + +
    + +
  • Error in the entered information + +
  • The connection to the database failed +
  • +
+
Frequency + +
    + +
  • Every time an actor wants to visualize data coming from a database which is not connected to Superset +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-14.md b/tests/doc/cockburns/TC-14.md new file mode 100644 index 0000000..45750ef --- /dev/null +++ b/tests/doc/cockburns/TC-14.md @@ -0,0 +1,143 @@ +## TC-14: Configuring a table in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-14 +
Use case name + Configuring a table in Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualize results coming from a new table + +
  • Visualize results for the first time +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used to configure a table in a given database. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the schema of the database + +
  • The actor knows the name of the table +
  • +
+
Post-Conditions + +
    + +
  • The table is configured +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + Create a new table by editing the following information: the database name and the table name +
4 + Save the edited values +
5 + Edit the columns of the created table by +
6 + Save the edited information +
7 + Check that the table and the columns are correctly configured +
Exceptions + +
    + +
  • Error in the entered information +
  • +
+
Frequency + +
    + +
  • Every time an actor wants to visualize data coming from a given table +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-15.md b/tests/doc/cockburns/TC-15.md new file mode 100644 index 0000000..f4b938c --- /dev/null +++ b/tests/doc/cockburns/TC-15.md @@ -0,0 +1,161 @@ +## TC-15: Creating a chart in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-15 +
Use case name + Creating a chart in Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualize results in a chart +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this use case, the Superset tool is used to create a chart in order to visualize the results. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the schema of the database +
  • +
+
Post-Conditions + +
    + +
  • A chart is created +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + On the top menu, click on “Chart” +
4 + Add a new record +
5 + Choose the datasource +
6 + Choose the visualization type +
7 + Click “Create new chart” +
8 + Configure the chart by defining the time requirements and the query +
9 + Click “Run query” to fetch the data from the database +
10 + Check the chart is correctly created +
Exceptions + +
    + +
  • Error during the authentication + +
  • Error in the edited information + +
  • Error in the query +
  • +
+
Frequency + +
    + +
  • Every time the user wants to create a chart +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-16.md b/tests/doc/cockburns/TC-16.md new file mode 100644 index 0000000..3f8772a --- /dev/null +++ b/tests/doc/cockburns/TC-16.md @@ -0,0 +1,144 @@ +## TC-16: Saving a dashboard in Superset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-16 +
Use case name + Saving a dashboard in Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Save a new dashboard + +
  • Save a dashboard after a modification +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this use case, the Superset tool is used to create and save a dashboard. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the schema of the database +
  • +
+
Post-Conditions + +
    + +
  • The dashboard is saved +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + Create/modify a dashboard +
4 + Click on “save” and edit the following information +
    + +
  • Save as: Basic example + +
  • Add to new dashboard: Basic example dashboard +
  • +
+
5 + Click on Save & go to dashboard. +
6 + Visualize the saved dashboard +
Exceptions + +
    + +
  • Error during the authentication + +
  • Error editing the information +
  • +
+
Frequency + +
    + +
  • Every time the user creates or modifies a chart +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-17.md b/tests/doc/cockburns/TC-17.md new file mode 100644 index 0000000..3796ece --- /dev/null +++ b/tests/doc/cockburns/TC-17.md @@ -0,0 +1,141 @@ +## TC-17: Preparing reports using Superet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-17 +
Use case name + Preparing reports using Superset +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Visualize and report the results +
  • +
+
Short Description + The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Superset service + +
  • The actor knows the credentials to connect to the Superset service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) +
  • +
+
Post-Conditions + +
    + +
  • A report is generated +
  • +
+
Steps + 1 + Access to the Superset service +
2 + Authenticate to the Superset service +
3 + Create a new database +
4 + Create a new table in the database +
5 + Create and configure a new chart by using the created database and table +
6 + Visualize the resulted chart +
7 + Export the resulted chard in a report +
Exceptions + +
    + +
  • Error when creating the database + +
  • Error when creating the table +
  • +
+
Frequency + +
    + +
  • Every time an actor wants to visualize data and export results in reports +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-18.md b/tests/doc/cockburns/TC-18.md new file mode 100644 index 0000000..d50ad94 --- /dev/null +++ b/tests/doc/cockburns/TC-18.md @@ -0,0 +1,133 @@ +## TC-18: Loading data in Jupyter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-26 +
Use case name + Loading data in Jupyter +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Using data for the first time + +
  • Having a new database +
  • +
+
Short Description + The FADI platform enables to process analysis techniques on the collected data. It provides to do simple analysis using the Jupyter tool. In this use case, the loading of the scripts is checked. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Jupyter service + +
  • The actor know the credentials to connect to the Jupyter service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) + +
  • The actor possesses the two code scripts to upload +
  • +
+
Post-Conditions + +
    + +
  • Data is loaded +
  • +
+
Steps + 1 + Access to the Jupyter service +
2 + Authenticate to the Jupyter service +
3 + Choose the “Minimal environment” option and click on “Spawn” +
4 + Import the script(s) +
5 + Check that the script is correctly loaded +
Exceptions + +
    + +
  • The connection to the database fails + +
  • The authentication fails +
  • +
+
Frequency + +
    + +
  • Everytime the user wants to load scripts in Jupyter +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-19.md b/tests/doc/cockburns/TC-19.md new file mode 100644 index 0000000..5e658a8 --- /dev/null +++ b/tests/doc/cockburns/TC-19.md @@ -0,0 +1,137 @@ +## TC-19: Analyzing data using Jupyter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-17 +
Use case name + Analyzing data using Jupyter +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • The actor wants to analyse data +
  • +
+
Short Description + The FADI platform enables to process analysis techniques on the collected data. It provides to do simple analysis using the Jupyter tool. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Jupyter service + +
  • The actor know the credentials to connect to the Jupyter service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) + +
  • The actor possesses the two code scripts to upload +
  • +
+
Post-Conditions + +
    + +
  • The data is analyzed +
  • +
+
Steps + 1 + Access to the Jupyter service +
2 + Authenticate to the Jupyter service +
3 + In the option “Minimal environment”, go the “Files” tab +
4 + Select the loaded script (i.e. module) +
5 + Run the scripts to configure the connection to the database and visualize temperature curve as function of date +
6 + Check that the scripts are executed with success +
Exceptions + +
    + +
  • The connection to the database fails + +
  • The authentication fails +
  • +
+
Frequency + +
    + +
  • Everytime the user wants to process analysis on data +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-2.md b/tests/doc/cockburns/TC-2.md new file mode 100644 index 0000000..d04c229 --- /dev/null +++ b/tests/doc/cockburns/TC-2.md @@ -0,0 +1,118 @@ +## TC-2: Access to the FADI dashboard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-2 +
Use case name + Access to the FADI dashboard +
Actors + +
    + +
  • Platform Admin + +
  • System Admin + +
  • Stakeholders + +
  • ICT manager +
  • +
+
Trigger + +
    + +
  • Check the state of a given pod + +
  • Check the installation of the FADI framework +
  • +
+
Short Description + The dashboard of FADI enables the actor to access to a web interface in order to check the status of the installed services (called also pods). +
Pre-Conditions + +
    + +
  • The FADI is already installed + +
  • The actor knows the namespace of FADI (e.g. fadi) +
  • +
+
Post-Conditions + +
    + +
  • The actor checks the status of a service +
  • +
+
Steps + 1 + Access to the dashboard of FADI platform +
2 + Select the appropriate dashboard +
3 + Check if there is some dashboards and information about the installed services +
Exceptions + +
    + +
  • The actor does not find the service +
  • +
+
Frequency + +
    + +
  • Everytime an actor wants to check the status of a given service +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-20.md b/tests/doc/cockburns/TC-20.md new file mode 100644 index 0000000..255fdaa --- /dev/null +++ b/tests/doc/cockburns/TC-20.md @@ -0,0 +1,133 @@ +## TC-20: Loading data in Spark + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-27 +
Use case name + Loading data in Spark +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • Using data for the first time + +
  • Having a new database +
  • +
+
Short Description + The FADI platform enables to process analysis techniques on the collected data. It provides to do complex analysis using the Spark tool. In this use case, the script loading is described. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Spark service + +
  • The actor know the credentials to connect to the Spark service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) + +
  • The actor possesses the scripts to upload +
  • +
+
Post-Conditions + +
    + +
  • The data is analyzed +
  • +
+
Steps + 1 + Access to the Spark service +
2 + Authenticate to the Spark service +
3 + Choose the option “Spark environment” and Click the “Spawn” button +
4 + Upload the code script to explore Spark +
5 + Check that script is correctly uploaded +
Exceptions + +
    + +
  • The connection to the database fails + +
  • The authentication fails +
  • +
+
Frequency + +
    + +
  • Everytime the user wants to load scripts in Spark +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-21.md b/tests/doc/cockburns/TC-21.md new file mode 100644 index 0000000..d391ace --- /dev/null +++ b/tests/doc/cockburns/TC-21.md @@ -0,0 +1,131 @@ +## TC-21: Analyzing data using Spark + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-18 +
Use case name + Analyzing data using Spark +
Actors + +
    + +
  • Business Analyst + +
  • Business Leader +
  • +
+
Trigger + +
    + +
  • The actor wants to analyse data +
  • +
+
Short Description + The FADI platform enables to process analysis techniques on the collected data. It provides to do complex analysis using the Spark tool. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Spark service + +
  • The actor know the credentials to connect to the Spark service + +
  • The actor knows the schema of the target database (i.e. name of tables, name of attributes, etc.) + +
  • The actor possesses the scripts to upload +
  • +
+
Post-Conditions + +
    + +
  • The data is analyzed +
  • +
+
Steps + 1 + Access to the Spark service +
2 + Authenticate to the Spark service +
3 + Choose the option “Spark environment” and Click the “Spawn” button +
4 + Launch the uploaded scripts to analyze data +
5 + Check that the scripts are executed with success +
Exceptions + +
    + +
  • The connection to the database fails + +
  • The authentication fails +
  • +
+
Frequency + +
    + +
  • Everytime the actor wants to process analysis on data +
  • +
+
diff --git a/tests/doc/cockburns/TC-3.md b/tests/doc/cockburns/TC-3.md new file mode 100644 index 0000000..fcc3972 --- /dev/null +++ b/tests/doc/cockburns/TC-3.md @@ -0,0 +1,130 @@ +## TC-3: Defining the Nifi workflow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-3 +
Use case name + Defining the Nifi workflow +
Actors + +
    + +
  • Data Scientist + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Adding a new industrial partner + +
  • Adding a new data type + +
  • Adding a new database +
  • +
+
Short Description + The Fadi platform enables the actors to define a workflow denoting how to collect and store data stream/batch. For this purpose, it integrates Nifi which is an open source tool to automate the flow of data between software systems. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Nifi service + +
  • The actor is already authenticated in the FADI platform + +
  • The actor knows the authentication credentials of the target database (e.g. the username and the password of the PostgreSQL database) + +
  • The actor knows +
      + +
    • the name of the target database and the table + +
    • the database connection URL, the database driver class name, database driver location, etc. +
    • +
    + +
  • The actor knows the source sending the data (e.g. data stream, a CSV file, etc.) +
  • +
+
Post-Conditions + +
    + +
  • The Nifi workflow is created and is successfully launched +
  • +
+
Steps + 1 + Access to the Nifi interface +
2 + Create the desired Nifi workflow +
3 + Launch the created workflow to start storing the data in the target database +
Exceptions + +
    + +
  • +
  • +
+
Frequency + +
    + +
  • Everytime the actor has new data coming to the FADI framework +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-4.md b/tests/doc/cockburns/TC-4.md new file mode 100644 index 0000000..856530f --- /dev/null +++ b/tests/doc/cockburns/TC-4.md @@ -0,0 +1,151 @@ +## TC-4: Defining the Nifi workflow by uploading a template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-4 +
Use case name + Defining the Nifi workflow by uploading a template +
Actors + +
    + +
  • Data Scientist + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Adding a new industrial partner + +
  • Adding a new data type + +
  • Adding a new database +
  • +
+
Short Description + The Fadi platform enables the actors to define a workflow denoting how to collect and store data stream/batch. For this purpose, it integrates Nifi which is an open source tool to automate the flow of data between software systems. In this use case, the actor will upload an existing template to create the Nifi workflow +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Nifi service + +
  • The actor is already authenticated in the FADI platform + +
  • The actor knows the source sending the data (e.g. data stream, a CSV file, etc.) + +
  • The actor has the Nifi template +
  • +
+
Post-Conditions + +
    + +
  • The Nifi workflow is created and is successfully launched +
  • +
+
Steps + 1 + Access to the Nifi interface +
2 + Upload the Nifi template +
3 + Drag and Drop the imported template +
4 + Configure the password to connect to the database +
5 + Enable both the required controller services. +
6 + Select the whole workflow and start the process +
7 + Launch the created workflow to start storing the data in the target database +
8 + Check that the data is correctly stored +
Exceptions + +
    + +
  • Error when upload the Nifi template +
  • +
+
Frequency + +
    + +
  • Everytime the actor has new data coming to the FADI framework +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-5.md b/tests/doc/cockburns/TC-5.md new file mode 100644 index 0000000..3a6a918 --- /dev/null +++ b/tests/doc/cockburns/TC-5.md @@ -0,0 +1,140 @@ +## TC-5: Creating a database server in pgAdmin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-5 +
Use case name + Creating a database server in pgAdmin +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Adding a new industrial partner + +
  • Adding a new data type +
  • +
+
Short Description + The FADI platform enables to create database server using the tool pgAdmin. This use case allows to test if the database creation is successfully achieved. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the pgAdmin service + +
  • The actor is connected to pgAdmin + +
  • The actor knows the credentials of PostreSQL +
      + +
    • Host name: fadi-postgresql + +
    • Port: 5432 + +
    • Maintenance database: postgres + +
    • Username: admin + +
    • Password: password1 +
    • +
    +
  • +
+
Post-Conditions + +
    + +
  • The database is created +
  • +
+
Steps + 1 + Access to the interface to create a database server +
2 + Enter the name of the database server in the “General” tab +
3 + Enter the credentials of PostgreSQL in the “Connection” tab +
4 + Save the edited information +
5 + Check the existence of the new database +
Exceptions + +
    + +
  • The credentials of PostgreSQL are not correct +
  • +
+
Frequency + +
    + +
  • Every time a new database needs to be created +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-6.md b/tests/doc/cockburns/TC-6.md new file mode 100644 index 0000000..61ea140 --- /dev/null +++ b/tests/doc/cockburns/TC-6.md @@ -0,0 +1,123 @@ +## TC-6: Creating a table in pgAdmin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-6 +
Use case name + Creating a table in pgAdmin +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Creating a new table in the PostgreSQL database + +
  • Adding a new industrial partner + +
  • Adding a new data type +
  • +
+
Short Description + The FADI platform enables to create a new table via the interface of the pgAdmin tool. This use case allows to test whether the table creation is successfully achieved. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the pgAdmin service + +
  • The database in which the table will be created already exists + +
  • The actor is connected to pgAdmin + +
  • The actor knows the name of the table to be created + +
  • The actor knows the name of the target database +
  • +
+
Post-Conditions + +
    + +
  • The table is created +
  • +
+
Steps + 1 + Access to the interface to create a table +
2 + Execute the creation query +
3 + Check the existence of the new table +
Exceptions + +
    + +
  • The table already exists + +
  • There is an error in the creation query +
  • +
+
Frequency + +
    + +
  • Everytime the actor wants to create a new table +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-7.md b/tests/doc/cockburns/TC-7.md new file mode 100644 index 0000000..715e099 --- /dev/null +++ b/tests/doc/cockburns/TC-7.md @@ -0,0 +1,121 @@ +## TC-7: Deleting a table in pgAdmin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-7 +
Use case name + Deleting a table in pgAdmin +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Removing a table from the PostgreSQL database +
  • +
+
Short Description + The FADI platform enables to delete a table via the interface of the pgAdmin tool. This use case allows to test whether the table deletion is successfully achieved. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the pgAdmin service + +
  • The actor is connected to pgAdmin + +
  • The table to delete already exists + +
  • The database in which the table will be deleted already exists + +
  • The actor knows the name of the table to be deleted + +
  • The actor knows the name of the database containing the table +
  • +
+
Post-Conditions + +
    + +
  • The table is deleted +
  • +
+
Steps + 1 + Access to the interface to delete a table +
2 + Execute the deletion query +
3 + Check the existence of the table (i.e. it should be deleted) +
Exceptions + +
    + +
  • The table does not exist + +
  • There is an error in the deletion query +
  • +
+
Frequency + +
    + +
  • Every time the actor wants to delete a table +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-8.md b/tests/doc/cockburns/TC-8.md new file mode 100644 index 0000000..2f63844 --- /dev/null +++ b/tests/doc/cockburns/TC-8.md @@ -0,0 +1,117 @@ +## TC-8: Deleting a database in pgAdmin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-8 +
Use case name + Deleting a database in pgAdmin +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Removing a database from PostgreSQL +
  • +
+
Short Description + The FADI platform enables to delete a database via the interface of the pgAdmin tool. This use case allows to test whether the database deletion is successfully achieved. +
Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the pgAdmin service + +
  • The actor is connected to pgAdmin + +
  • The database to delete already exists + +
  • The actor knows the name of the database to be deleted +
  • +
+
Post-Conditions + +
    + +
  • The database is deleted +
  • +
+
Steps + 1 + Access to the interface to delete a database +
2 + Execute the deletion query +
3 + Check the existence of the database (i.e. it should be deleted) +
Exceptions + +
    + +
  • The database does not exist + +
  • There is an error in the deletion query +
  • +
+
Frequency + +
    + +
  • Every time the actor wants to delete a database +
  • +
+
\ No newline at end of file diff --git a/tests/doc/cockburns/TC-9.md b/tests/doc/cockburns/TC-9.md new file mode 100644 index 0000000..10436be --- /dev/null +++ b/tests/doc/cockburns/TC-9.md @@ -0,0 +1,153 @@ +## TC-9: Inserting data in a given table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + TC-9 +
Use case name + Inserting data in a given table +
Actors + +
    + +
  • Data Engineer +
  • +
+
Trigger + +
    + +
  • Collecting stream data + +
  • Collecting batch data + +
  • Storing analyzed data + +
  • Storing results (etc. analysis, dashboards, etc.) +
  • +
+
Short Description + The FADI platform enables to collect data and to store it in a given database either via the pgAdmin interface or by defining a data workflow using Nifi. This use case allows to test whether the data insertion is successfully achieved. +

+In this use case, we will implement the case of data insertion using Nifi. +

Pre-Conditions + +
    + +
  • The actor knows either the URL address or the command to access to the Nifi service + +
  • The actor is connected to the FADI platform + +
  • The target table already exists + +
  • The actor knows the name of the table to be deleted + +
  • The actor knows the name of the database containing the table +
  • +
+
Post-Conditions + +
    + +
  • The data is correctly inserted +
  • +
+
Steps + 1 + Access to the Nifi service +
2 + Upload a Nifi template +
3 + Drag and Drop the imported template +
4 + Configure the password to connect to the database +
5 + Enable both the required controller services. +
6 + Select the whole workflow and start the process +
7 + Check that the data is correctly inserted in the database by verifying the success connection. +
Exceptions + +
    + +
  • Error in the password of the database + +
  • The controller services are enabled + +
  • The data is not stored +
  • +
+
Frequency + +
    + +
  • Everytime data (stream or batch) is collected by the FADI platform +
  • +
+
\ No newline at end of file From 60ef77543dec9ec4c48e0e0e8b387040e65ce059 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 13:31:54 +0100 Subject: [PATCH 10/29] Update TC-18.md --- tests/doc/cockburns/TC-18.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/doc/cockburns/TC-18.md b/tests/doc/cockburns/TC-18.md index d50ad94..f11b5e9 100644 --- a/tests/doc/cockburns/TC-18.md +++ b/tests/doc/cockburns/TC-18.md @@ -5,7 +5,7 @@ Use case ID - TC-26 + TC-18 @@ -130,4 +130,4 @@ - \ No newline at end of file + From 443229dbcffd89429d1f3046922e5c59ba6521de Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 13:32:10 +0100 Subject: [PATCH 11/29] Update TC-19.md --- tests/doc/cockburns/TC-19.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/doc/cockburns/TC-19.md b/tests/doc/cockburns/TC-19.md index 5e658a8..8c37e0d 100644 --- a/tests/doc/cockburns/TC-19.md +++ b/tests/doc/cockburns/TC-19.md @@ -5,7 +5,7 @@ Use case ID - TC-17 + TC-19 @@ -134,4 +134,4 @@ - \ No newline at end of file + From eb727f102d5a63c82477b667b14a7285c276e19a Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 13:32:22 +0100 Subject: [PATCH 12/29] Update TC-20.md --- tests/doc/cockburns/TC-20.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/doc/cockburns/TC-20.md b/tests/doc/cockburns/TC-20.md index 255fdaa..b482798 100644 --- a/tests/doc/cockburns/TC-20.md +++ b/tests/doc/cockburns/TC-20.md @@ -5,7 +5,7 @@ Use case ID - TC-27 + TC-20 @@ -130,4 +130,4 @@ - \ No newline at end of file + From a340d0129d51c24bdfbbfd7ecd8d3b0240f01999 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 13:32:36 +0100 Subject: [PATCH 13/29] Update TC-21.md --- tests/doc/cockburns/TC-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/doc/cockburns/TC-21.md b/tests/doc/cockburns/TC-21.md index d391ace..6838933 100644 --- a/tests/doc/cockburns/TC-21.md +++ b/tests/doc/cockburns/TC-21.md @@ -5,7 +5,7 @@ Use case ID - TC-18 + TC-27 From d16199659e72a1597ebf9b1e63dea5f721471abb Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 13:35:34 +0100 Subject: [PATCH 14/29] Update TC-21.md --- tests/doc/cockburns/TC-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/doc/cockburns/TC-21.md b/tests/doc/cockburns/TC-21.md index 6838933..a95bb45 100644 --- a/tests/doc/cockburns/TC-21.md +++ b/tests/doc/cockburns/TC-21.md @@ -5,7 +5,7 @@ Use case ID - TC-27 + TC-21 From d0260ae66acfd920d58c6ee3f46794b6e8523db1 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 13:46:32 +0100 Subject: [PATCH 15/29] Adding a README file for the doc repository --- tests/doc/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 tests/doc/README.md diff --git a/tests/doc/README.md b/tests/doc/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/doc/README.md @@ -0,0 +1 @@ + From 2ca931bff6bc9d05682d6f98fb6b6af499053a96 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 13:47:01 +0100 Subject: [PATCH 16/29] Delete README.md --- tests/README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tests/README.md diff --git a/tests/README.md b/tests/README.md deleted file mode 100644 index e69de29..0000000 From 969e1bc85813764a4e7e86831f8aafcd4776d7c0 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 13:47:25 +0100 Subject: [PATCH 17/29] Adding a README file for the tests repository --- tests/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 tests/README.md diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/README.md @@ -0,0 +1 @@ + From ae727167829a03a010cf3cb022c0bd184026571f Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 14:04:14 +0100 Subject: [PATCH 18/29] Adding a template to create a new test case --- tests/doc/cockburns/TC-template.md | 89 ++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 tests/doc/cockburns/TC-template.md diff --git a/tests/doc/cockburns/TC-template.md b/tests/doc/cockburns/TC-template.md new file mode 100644 index 0000000..bb063e9 --- /dev/null +++ b/tests/doc/cockburns/TC-template.md @@ -0,0 +1,89 @@ +## TC-X: Title of the test case + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Use case ID + +
Use case name + +
Actors + +
    +
+
Trigger + +
Short Description + +
Pre-Conditions + +
    +
+
Post-Conditions + +
    +
+
Steps + 1 + +
2 + A template to be completed +
3 + +
Exceptions + +
    +
+
Frequency + +
    +
+
From 4d1509cedf7215b3d801af30663b01854b87f0b9 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 14:08:21 +0100 Subject: [PATCH 19/29] Adding a template to create a new test script --- tests/doc/test-scripts/TS-template.md | 62 +++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/doc/test-scripts/TS-template.md diff --git a/tests/doc/test-scripts/TS-template.md b/tests/doc/test-scripts/TS-template.md new file mode 100644 index 0000000..1f7250a --- /dev/null +++ b/tests/doc/test-scripts/TS-template.md @@ -0,0 +1,62 @@ +## TS-X: Title of the test script +### User story +* **As a** ..... **I want to** ..... **So I can** +### Initial data/state: +* +### TS dependencies: +* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Test script ID + Test Actions + Assertion +
Sequence + Actor + Action + Automatic/ Manual +
TS-X + 1 + + + + +
2 + + + +
3 + + + +
From b79b03cbb123c4bd326cabb88375b07604a8669e Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 14:35:58 +0100 Subject: [PATCH 20/29] Defining a README for the test repository --- tests/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/README.md b/tests/README.md index 8b13789..5c5bfb5 100644 --- a/tests/README.md +++ b/tests/README.md @@ -1 +1,21 @@ +# Automatied tests +This repository contains materials to define functional test cases and to run functional test about FADI. + +## Defining a new test case + +Two templates are available in order to define a new [test case](doc/cockburns/TC-template.md) and a new [test script](doc/test-scripts/TS-template.md) + +## Running a single test +Explain how to run a single test + +```bash +Give an example +``` + +## Running an end-to-end test +Explain how to run an end-to-end test + +```bash +Give an example +``` From 310553a6e251a92e86b28766a1da05f8ec9dddf9 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 14:44:07 +0100 Subject: [PATCH 21/29] Update README.md --- tests/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/README.md b/tests/README.md index 5c5bfb5..bb8bb15 100644 --- a/tests/README.md +++ b/tests/README.md @@ -1,6 +1,10 @@ # Automatied tests This repository contains materials to define functional test cases and to run functional test about FADI. +Test cases specification using cockburns is available [here](doc/Cockburns-specification.md). + +Test scripts specification is available [here](doc/Test-scripts-specifications.md). + ## Defining a new test case From 914b0ea16ff7aeb2321c662d8af9ee100ca76063 Mon Sep 17 00:00:00 2001 From: SellamiRami Date: Wed, 18 Dec 2019 14:45:38 +0100 Subject: [PATCH 22/29] Update README.md --- tests/doc/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/doc/README.md b/tests/doc/README.md index 8b13789..470a916 100644 --- a/tests/doc/README.md +++ b/tests/doc/README.md @@ -1 +1,5 @@ +# Test specification +Test cases specification using cockburns is available [here](doc/Cockburns-specification.md). + +Test scripts specification is available [here](doc/Test-scripts-specifications.md). From a7b979aa3ef853510668969c4b6afe08441df42b Mon Sep 17 00:00:00 2001 From: Faiez Zalila Date: Thu, 2 Jan 2020 12:07:01 +0100 Subject: [PATCH 23/29] fix some typos and add reference. --- tests/README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/README.md b/tests/README.md index bb8bb15..67673a0 100644 --- a/tests/README.md +++ b/tests/README.md @@ -1,25 +1,27 @@ -# Automatied tests -This repository contains materials to define functional test cases and to run functional test about FADI. +# Automated tests +This repository contains materials to define functional test cases and to run functional tests of FADI platform. -Test cases specification using cockburns is available [here](doc/Cockburns-specification.md). +Test cases specification using cockburns[1] is available [here](doc/Cockburns-specification.md). Test scripts specification is available [here](doc/Test-scripts-specifications.md). ## Defining a new test case -Two templates are available in order to define a new [test case](doc/cockburns/TC-template.md) and a new [test script](doc/test-scripts/TS-template.md) +Two templates are available in order to define a new [test case](doc/cockburns/TC-template.md) and a new [test script](doc/test-scripts/TS-template.md). ## Running a single test -Explain how to run a single test +Explain how to run a single test. ```bash Give an example ``` ## Running an end-to-end test -Explain how to run an end-to-end test +Explain how to run an end-to-end test. ```bash Give an example ``` +## References +[1] Alistair Cockburn. 2000. Writing Effective Use Cases (1st. ed.). Addison-Wesley Longman Publishing Co., Inc., USA. From c295d40413e1450b76a2bdb5edb429198587e828 Mon Sep 17 00:00:00 2001 From: Faiez Zalila Date: Tue, 7 Jan 2020 13:13:15 +0100 Subject: [PATCH 24/29] Fix URLs. --- tests/doc/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/doc/README.md b/tests/doc/README.md index 470a916..580439c 100644 --- a/tests/doc/README.md +++ b/tests/doc/README.md @@ -1,5 +1,5 @@ # Test specification -Test cases specification using cockburns is available [here](doc/Cockburns-specification.md). +Test cases specification using cockburns is available [here](./Cockburns-specification.md). -Test scripts specification is available [here](doc/Test-scripts-specifications.md). +Test scripts specification is available [here](./Test-scripts-specifications.md). From ffe96f8bcf3125e84118aa7915b426579ec9bdb0 Mon Sep 17 00:00:00 2001 From: Faiez Zalila Date: Mon, 13 Jan 2020 18:21:48 +0100 Subject: [PATCH 25/29] Add reference to the test. --- tests/doc/test-scripts/TS-4.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/doc/test-scripts/TS-4.md b/tests/doc/test-scripts/TS-4.md index 2745801..3da6f22 100644 --- a/tests/doc/test-scripts/TS-4.md +++ b/tests/doc/test-scripts/TS-4.md @@ -30,7 +30,7 @@ - TS-4 + TS-4 1 @@ -93,4 +93,4 @@ automatic - \ No newline at end of file + From 8869fd0bf1ec8b197c60852f967557beb0112adf Mon Sep 17 00:00:00 2001 From: Faiez Zalila Date: Mon, 13 Jan 2020 18:24:04 +0100 Subject: [PATCH 26/29] Add reference to the test. --- tests/doc/cockburns/TC-4.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/doc/cockburns/TC-4.md b/tests/doc/cockburns/TC-4.md index 856530f..5050f73 100644 --- a/tests/doc/cockburns/TC-4.md +++ b/tests/doc/cockburns/TC-4.md @@ -5,7 +5,7 @@ Use case ID - TC-4 + TC-4 @@ -148,4 +148,4 @@ - \ No newline at end of file + From 4169f75977acf65f832637b90c704b6f77bde103 Mon Sep 17 00:00:00 2001 From: Faiez Zalila Date: Tue, 14 Jan 2020 11:23:04 +0100 Subject: [PATCH 27/29] Refer to the test. --- tests/doc/Cockburns-specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/doc/Cockburns-specification.md b/tests/doc/Cockburns-specification.md index a3a90e4..bdbe423 100644 --- a/tests/doc/Cockburns-specification.md +++ b/tests/doc/Cockburns-specification.md @@ -128,7 +128,7 @@ In this section, the main concepts and technologies are introduced in order to e - TC-4 + TC-4 Defining the Nifi workflow by uploading a template From add3dc241eb4a3cc52879de2705ed6ffca7c4c5f Mon Sep 17 00:00:00 2001 From: Faiez Zalila Date: Tue, 14 Jan 2020 11:34:51 +0100 Subject: [PATCH 28/29] Refer to the test. --- tests/doc/Test-scripts-specifications.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/doc/Test-scripts-specifications.md b/tests/doc/Test-scripts-specifications.md index 32e893e..9699175 100644 --- a/tests/doc/Test-scripts-specifications.md +++ b/tests/doc/Test-scripts-specifications.md @@ -75,9 +75,9 @@ - TS-4 + TS-4 - TC-4 + TC-4 Defining the Nifi workflow by uploading a template From 649eace637d02c91e41d83219810a115c432c70f Mon Sep 17 00:00:00 2001 From: Faiez Zalila Date: Tue, 14 Jan 2020 12:01:57 +0100 Subject: [PATCH 29/29] Refer to the different elements of the test. --- tests/doc/test-scripts/TS-4.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/doc/test-scripts/TS-4.md b/tests/doc/test-scripts/TS-4.md index 3da6f22..509554b 100644 --- a/tests/doc/test-scripts/TS-4.md +++ b/tests/doc/test-scripts/TS-4.md @@ -36,7 +36,7 @@ JEST - Launch the Nifi page + Launch the Nifi page automatic @@ -48,7 +48,7 @@ PUP - Upload the Nifi template + Upload the Nifi template automatic @@ -58,7 +58,7 @@ PUP - Drag and drop the Nifi template + Drag and drop the Nifi template automatic @@ -68,7 +68,7 @@ PUP - Configure the password to connect to the database + Configure the password to connect to the database automatic @@ -78,7 +78,7 @@ PUP - Enable both the required controller services. + Enable both the required controller services automatic @@ -88,7 +88,7 @@ PUP - Start the process + Start the process automatic