Final Project Report - CankayaUniversity/ceng-407-408-2020-2021-Monitoring-System-of-Water-Quality-and-Efficiency-of-Wastewater-Treatment GitHub Wiki

CENG408: Project Report

ÇANKAYA UNIVERSITY

FACULTY OF ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

Project Report (CENG-408), Version 1 (3 June 2021)

Monitoring System of Water Quality and Efficiency of Wastewater Treatment Plants

CENG 408: Innovative System Design and Development II
Team ID 202005
Alp Özeren 201711051
Abdulkerim Güven 201711033
Oğuzhan Saltık 201611048
Mustafa Kayhan Arıcan 201611004

Literature Review

Abstract

In this project, we aim to design a web-based monitoring system for water quality and efficiency to be used for decision-making involving wastewater treatment plants. The current and present water quality data will be visualized by our web-based system. With our project, the quality of water will be predictable using machine learning algorithms. There are two parts to this project. Analyzing the water quality data for rivers, lakes, seas all around Turkey and analyzing the data for water treatment plants. The data for water treatment plants include samples taken from both the inlets and outlets of these plants.

Introduction

Water is the most important source of life. Water covers %71 of the earth and only %3 of water is fresh. Humankind always settled down near freshwater sources. Water has an enormous effect on human life throughout history. Even in ancient times, people found ways to purify water or to keep it clean [1]. Considering people drink about 2-3 liters of water per day, they need to be sure that the water is clean and drinkable. Water is the home for the microorganism if there are no toxic chemicals in it. Although most microorganisms are harmless, there can be viruses or bacteria that can cause health damage [2]. Also, there are toxic inorganic matters that can not be tolerated.

The effect of climate change and increasing demand for water by rapidly increasing population, industrialization, agricultural and other sectors is putting serious pressure on quality and quantity of water resources. For those reasons, managing and monitoring water, and detecting potential dangers before they affect water is highly important for protection and cleansing of water resources.

Therefore, The Ministry of Environment and Urban Planning is monitoring physical, chemical and biological parameters of important rivers, lakes, drainage channels and seas inside the Special Environmental Protection Area (SEPA).

There are 19 wastewater plants which analyze samples taken from 254 SEPA spots. The data gathered are stored in a database. However, data access, processing or visualizing is not done by a front-end software. Hence, often changing needs of institutions are not satisfied in respect of what data needs to be collected and how to report the findings.

Managers and analysts need operational tools that help understanding the complex information about quality of water. Tools based on statistical approaches are often unable to conduct a detailed analysis due to sparse data and the invisible interactions of analysis results. In this project, samples taken in this area with cooperation of public institutes since 2005, this big and complex data will be visualized. This module will include basic data management functions such as time series management, spatial selection and representation, data availability assessment and data series comparison (visual and statistical).

Improved water quality prediction, accuracy and reduced computational complexity are vital for precise control over water quality. For this purpose, our aim is to develop a machine learning model that effectively predicts water quality and establishes an early warning system for water pollution. In this study, it will be possible to train a model with high prediction sensitivity by using artificial neural networks (such as WNN, BPNN) algorithms on the collected data. Also, the parameters of each treatment plant and the performance of artificial intelligence techniques (e.g. transfer learning) will be evaluated in order to create a water quality prediction model for that plant and plants with similar parameters.

Related Work

Machine Learning Methods for Better Water Quality Prediction

In this research paper [3], the dataset was created with 4 monitoring states on Johor River, a river at Johor State in Malaysia. A comparison is made between the following machine learning algorithms: WDT-ANFIS, ANFIS, RBF-ANN, and MLP-ANN. Due to the presence of noise in the data, it is relatively difficult to make an accurate prediction. Hence, a Neuro-Fuzzy Inference System based augmented wavelet de-noising technique has been recommended that depends on historical data of the water quality parameter.

Dataset and Data Processing

Selecting the input variables for a model is very important for Artificial Neural Networks. The following water quality parameters were chosen for ANN modelling: temperature, electrical conductivity, salinity, nitrate(NO3), turbidity, phosphate(PO4), chloride(Cl), potassium(K), sodium(Na), magnesium(Mg), iron(Fe) and Escherichia coli(E-coli). These input parameters were used in many previous studies for ANN models [4,5,6]. Using these parameters the prediction of pH, suspended solids (SS), and ammoniacal nitrogen (AN) is made possible.

Model Performance

There are in total 3 models for three primary water quality parameters: AN, SS, and pH. The performance of the models is measured with the Coefficient of Efficiency (CE). Mean Square Error (MSE) is used to see the level of fitness between the network output and the desired output. Performance is better with smaller MSE values. Coefficient of Correlation (CC) is employed to inspect the linear relationship between the measured and predicted dissolved oxygen in the water. Using this methodology, the WDT-ANFIS models outperformed others.

Study of Short-Term Water Quality Prediction Model Based on Wavelet Neural Network

This research paper [7] combines the wavelet transform with a Back Propagation (BP) neural network to build a short- term water prediction model. The trained model is used to predict the water quality on freshwater pearl breeding ponds in Duchang County, Jiangxi province, China. Also, a comparison has been made between Elman Neural Network, Wavelet Neural Network (WNN), and a BP network. The proposed model also features a high learning speed and improved accuracy.

Dataset and Data Processing

The dataset consists of measurements taken from Jishan Lake in Duchang Country, Jiangxi province, China. The research took the ecological environment monitoring data of the mussel aquaculture pond as research samples; each sample includes solar radiation, water temperature, dissolved oxygen, pH, humidity, and wind speed. The sampling period was from July 21 to July 27, 2010. Data were collected every 60 minutes for a total of 168 samples. 144 of the samples were used as training sets and 24 of them were used as test sets. Data was normalized because the dimensions of the sample data were different. This normalization step reduced the influence of the prediction performance. As for model input, the first half-hour of dissolved oxygen, PH, temperature, humidity, wind speed, and solar radiation were used. The subsequent dissolved oxygen predictive values were used as outputs. After properly training the model, the prediction of dissolved oxygen in freshwater pearl aquaculture ponds as possible.

Model Performance

Model performance was measured by Absolute Percentage Error (APE) and Mean Absolute Percentage Error(MAPE). The Wavelet Neural Network (WNN) outperformed BPNN and Elman NN by significantly lower APE. The model accuracy was greater than 90%. As shown in Figure 1, WNN also has higher prediction precision, stronger learning, and generalization ability compared to BPNN and Elman NN. [7]

Figure 1 Figure 1: WNN compared to BPNN, Elman NN, and Actual Data. (x axis: time in minutes and seconds, y axis: Predicted dissolved oxygen mg/L)

Prediction of water quality time series data based on least squares support vector machine

This paper [8] proposes using least squares support vector machine (LS-SVM) algorithm to construct a non-linear time series forecasting model for predicting water quality.

Dataset and Data Processing

They use the small number of samples (actual number not shared) provided by the Beijing Water Authority and after normalizing data points, a variance of 0.01 as random white noise was introduced to training samples.

Model Performance

A comparative study of prediction is performed using the LS-SVM algorithm, Backpropagation (BP), and Radial basis function (RBF) network methods. Predicted values from three models and the true models are compared by examining the percent of deviation. Since the LS-SVM model has the lowest average deviation from the true value, it is considered the best of three. The paper argues that the LS-SVM model can take full advantage of the distribution of the training samples and has a better ability to process small samples. It is concluded that LS-SVM has a lower root mean square error and mean relative error than other methods and has high prediction accuracy, and applicable to real-time water quality data with a small sample.

Proposed System

The Wastewater Monitoring project will consist of two modules. The first module will be responsible for monitoring the water quality by providing visualizations of physical, chemical and biological factors taken from the dataset. The second module will be responsible for predicting the water quality using machine learning, based on the current data.

In the following sections, the properties of the dataset are given and the two planned modules are explained.

Dataset

The dataset contains the data gathered from testing important rivers, lakes, drainage channels, and marine areas in 245 Special Environmental Protection Areas in Turkey in terms of physical, inorganic - chemical, and organic parameters since 2005.

In the dataset, we have samples from rivers, seas, lakes, and water treatment plants. Samples taken from water treatment plants started in 2011. The number of samples taken from all of the water sources is increased each year. In 2005, 15 samples were taken from rivers and in 2006 the number of samples was 32. In dataset there are informations that defines the sample code, location, place and coordinates where sample was taken. Althoug it recorded as different column names, all the test results has informations of the location. Test result parameters changes regarding the water source of the sample. Parameters of the sample that taken from rivers include pH, Temperature, Dissolved Oxygen, Salinity, Total Coliform, Fecal Coliform, Nitrite Nitrogen, Nitrate Nitrogen etc. Whereas, the parameters of the sample taken from seas include pH, Temperature, Dissolved Oxygen, Salinity, Total Coliform, Fecal Coliform, Ammonia, Color, Scent etc. However, the dataset has some null values in alternating years and sometimes there are extra sample parameters for the same sample location.

The data is provided as multiple datasets in Microsoft Access 2003 (.mdb) and Microsoft Excel 2007 (.xlsx & .xlsm) formats. To be able to visualize the data and train Machine Learning algorithms, we need to access the data inside these Access and Excel files.

Since this file formats are proprietary and have no public specifications, there are only a couple of methods to programmatically obtain the data inside. The method we applied is using the Microsoft's "Access SQL Driver" to extract the data into tab-seperated values (TSV) files. The PyOpenXL library is also used for extracting the data inside Excel files into TSV files.

After extraction, we do data engineering and clean-up work on these TSV files and generate final CSV files for ML subsystem's comsumption.

Water Quality Monitoring System

The governmental agency, The Ministry of Environment and Urban Planning, needs a reporting system that visualizes the observations from important rivers, lakes, and marine special environmental protection areas (SEPA) in Turkey.

The reports are then used for decision making. In the past, the reports and visualizations in these reports were prepared manually. Our goal is to develop a web-based reporting system for SEPA that will automatically read the observation data set and present test results to decision-makers. This system will have detailed filtering features and will be able to perform data visualization. The data collected from the field will be used to produce visualizations for statistical modeling. Data visualization is helpful to decision-makers in identifying features that are not easily noticed by statistical models or humans, such as detection of outlier values of parameters, missing values. Visualizations enable doing correlation analysis, determination of the relationship between dependent variables [9].

In the reports prepared for the years 2005-2009 provided to us by the agency, the tables were often plotted with a bar chart. The graphics were created from samples taken from the inlets and outlets of wastewater treatment plants, as well as from different points of seas, lakes, and rivers. The charts parameters vary by year and region, but generally depend on the parameters of pH, Temperature (0C), Light Transmittance (m), Dissolved Oxygen (mg / L), O2 (%), Ammonia (mg / L), Total Phenol (mg / L), Total Coliform (CFU / 100mL), Fecal Coliform (CFU / 100mL), Fecal Streptococcus(CFU / 100mL), Oil-Grease (mg / L), Color (Pt-Co), Fragrance (TON).

There are some studies on water quality visualization. One of them used old-fashioned interactive maps and various types of plotting [10]. Besides, tables are used, which contain somewhat similar to the parameters used to determine water quality in the reports provided to us by the agency, sorted by years with parameter values of total phosphorus, total nitrogen, electrical conductivity, pH, dissolved oxygen.

A modern user-friendly interface, more effective and easy-to-understand graphics will be produced by considering the types of graphics and parameters used previously. Also, the locations where the test sample was taken will be displayed on the interactive maps.

Tools and Frameworks

We've decided to use a frontend/backend architecture. We're using React.js, Bootstrap, Chart.js on the frontend side. On the backend side, we're using Django and Django REST Framework.

Water Quality Prediction

The second goal of the project is to predict the future properties of a water sample. These predicted properties can then be used to predict the water quality and inform the water treatment plant.

For the problem of forecasting how to treat the water, since the quality of water can be affected by various parameters and such parameters show a complex non-linear relationship with each other and water quality, traditional techniques for data processing are no longer efficient enough.

Tools and Frameworks

For this project, we decided to use the Python programming language for implementing machine learning algorithms. The machine learning models will be trained locally. As for machine learning framework, we decided to use Tensorflow with Keras.

Software Requirement Specification

Introduction

The following subsections are an overview of the entire Software Requirements Specification document of Water Quality Prediction and Monitoring System (WQPMS) for The Ministry of Environment and Urban Planning.

Purpose

The purpose of this document is to provide the technical description of all software requirements of this system. It explains interfaces and the usage of the system. In addition, the document describes in what conditions the system will work.

Scope

Water Quality Prediction and Monitoring System will be a web based system that is intended to be used by employees of The Ministry of Environment and Urban Planning. Its goal is to visualize water quality parameters from water sample readings entered to the system by data entry operators. The data visualized by the front-end will facilitate the decision making process for the employees of the agency.

WQPMS will also be able to predict the future water quality parameters using previously gathered data using machine learning algorithms. Thereby, it may reveal hidden patterns and maximizing work efficiency.

Glossary

The Agency The Ministry of Environment and Urban Planning
WQPMS Water Quality Prediction and Monitoring System
SEPA Special Environmental Protection Areas
WQP Water Quality Prediction
ML Machine Learning
GUI Graphical User Interface

Overview

This document is prepared in accordance with the IEEE Std 1016-2009 [11], IEEE Recommended Practice for Software Requirements Specifications [12].

Overall Description

The Water Quality Monitoring system is created for the use of decision-makers at the agency. They will be the main users of the software and therefore the software will be hosted on the agency’s servers.

Product Perspective

The system is self-contained and independent from other software.

The previous workflow of decision making related to water quality was a manual workflow, by this we mean, water quality readings were provided to the decision makers at the agency and a report including charts of the readings were produced manually. The system described in this document is the automated alternative to this workflow.

System Interfaces

Since the software is entirely self-contained, there are no external system interfaces needed.

User Interfaces

There will be three different user interfaces for different types of users. The types are the administrator, decision-maker, and the data entry operator.

The administrator will be able to add users, remove users, and update permissions of a user.Administrators may add new location information for “Data Entry Operators” may enter the values of newly added locations. Also, they might be able to change the current value of previously entered data.

The data entry operator will be able to enter new water quality readings to the system, but will not be able to see past readings.

The decision-makers will be able to see the water quality readings in the system, both by examining the raw data provided by the data entry operators and the visualizations automatically generated by the software. They will also be able to access the future water quality predictions provided by the ML subsystem.

Hardware Interfaces

For users, there are no hardware interfaces required to run the software other than a computer capable of serving and displaying web pages because parameter prediction will be handled by a server.

For the server, a CUDA capable GPU is needed to make predictions as quickly as possible.

Software Interfaces

The system depends on PostgreSQL 13.1 for persistent data storage. For serving web pages and communicating with database Django Framework version 3.1 is used. The system will include a SQL definition file that describes data tables for the first time setup that will be performed by the agency’s database admin.

Communication Interfaces

An internet connection is required to run the data entry subsystem of the software. The prediction and visualization subsystems can be accessed through a local network connection.

Product Functions

Data Entry Subsystem

The water quality measurement survey is not directly conducted by the agency employees. A company is contracted to do the survey travels around Turkey, taking measurements and inserting all the measured data inside a Microsoft Access database. This workflow has some disadvantages.

The first disadvantage is that the data provided by the contractor company is not always validated, sometimes more than a few entries in the database can be missing. The second disadvantage is that the data is sent to the agency only 1 or 2 times a year, not at the time they’re taken. By creating a data entry subsystem for the contractors to use, we’ll be able to make sure the data entered will be on time and up to standards.

Prediction of Future Water Quality

The data entered to the system by data entry operators will be used to forecast the future water quality by running a ML model in the background. The decision makers will be able to access these predictions through their visualizations GUI.

Visualization of Measurements

The decision makers will mainly use the system for visualizing the data obtained by measuring several water sources across Turkey. To be able to decide how to treat water in each source, the users need visualizations of different measurements such as pH value, dissolved oxygen, total coliform, fecal coliform, temperature and so on.

User Characteristics

The users in decision maker and data entry operator user groups must have basic computer knowledge, such as knowing how to operate a computer and a web browser.

The administrator is expected to have knowledge of database systems and servers, since the setup of the system will require these skills.

Constraints

Users should open the system using a web browser.

The database should have enough space to hold data and have enough space for future data entries.

Prediction must be done in accordance with The Regulations of Water Quality Management.

Risks

Due to missing, redundant and noisy data, the dataset should be cleaned before training the model. After cleaning, some information is lost. In machine learning, more data is usually better with a well implemented machine learning algorithm. Therefore, with less data, the trained model’s prediction accuracy could be lower than expected and lower prediction accuracy on training sets always results in poor performance in real-world situations.

Assumptions and Dependencies

For the software to run reliably, servers must be able to run docker containers and PostgreSQL. When these requirements are met, the operating system or other software should not affect the operation of the software.

The users must use the latest version of the Google Chrome web browser to be able to reliably operate the user interface of the software.

Requirements Specification

  • Users must have connected to the internet.
  • The system should be able to be opened by a web-browser.
  • Information of users should be stored in a database.
  • The database must be able to store data for the past 15 years and should have enough space for future data entry.
  • New users should be able to be created by contacting an admin.
  • Data entry operators should have different interfaces than User or Admin.
  • Data entry operators should not be able to see previously entered data.
  • The system should be able to visualize or show raw data to users in a selected time and place.
  • The system should be able to predict a selected value in the selected place.
  • New resources should be added if needed.
  • The system may show a map where the samples taken from.

External Interface Requirements

User Interfaces

Users should be able to open the system using a web-browser. The system should be opened by any operating system.

Hardware Interfaces

There are no external hardware interfaces needed.

Software Interfaces

There are no external software interfaces needed.

Communications Interfaces

There are no external communication interfaces needed.

Functional Requirements

Administrator Use Case

Actor : Administrator

Use Case:

  • Manage Users
    • Create User
    • Delete User
  • Manage User Permissions
  • Edit Database
    • Create New Data
    • Change Data
    • Delete Data

Diagram:

use case Figure 1: Management System Use Case Diagram

Brief Description:

Figure 1 shows the management system use case diagram. The administrator has authority to manage the system*.* Administrators are able to add and delete users, manage user permissions and edit database.

Initial Step by Step Description:

  1. Users can not register.
  2. Administrators are able to create users.
  3. Administrators can give users specific permissions and prohibitions.
    1. Administrators can assign the user to the data entry operators group or decision makers group.
  4. Administrators can delete users.
  5. Administrators may edit database.
    1. Administrators may add new locations, parameters and values.
    2. Administrators may change the existing locations, parameters and values.
    3. Administrators may add delete the locations and values.
Data Entry Operator Use Case

Actor: Data Entry Operator

Use Case:

  • Enter Data
    • Validation
    • Save to Database

Diagram:

use case Figure 2: Data Entry System Use Case Diagram

Brief Description:

Figure 2 shows the data entry system use case diagram. Data entry operators do not have the same permissions as Decision Makers, therefore they can only enter data in appropriate format to aid decision making.

Initial Step by Step Description:

  1. Data entry operator can insert data to system
    1. If data is not entered in the proper format, a request will be sent to a user to enter the data in proper format.
    2. If data is in proper format, data can be inserted to the database.
Decision Maker Use Case

Actor: Decision Maker

Use case:

  • Visualize Data
    • Show Graph
      • Export
    • Show Table
      • Export
    • Show Predicted Graph
      • Export

Diagram:

use case Figure 3: Decision Maker Use Case

Description: Decision Makers are allowed to use the system for visualizing selected samples. The graph of a sample includes, time, water quality parameters and prediction results of the selected sample. As you can see in Figure 3, Decision Makers select which graph they want to see. The system displays the actual and predicted results of a sample. Also, the reports can be exported.

Initial Step by Step Description:

  1. Decision Maker log in to the system with username and password.
  2. The decision maker can select Visualize Data.
    1. The decision maker can choose parameters to see the graph.
      1. These parameters can be a place, time and value.
      2. If Decision Maker selects “Bar”:
        1. The system shows a bar-chart value over time.
        2. The graph can be exported as an image or pdf.
      3. If Decision Maker selects “Line”:
        1. The system shows a line-chart value over time.
        2. The graph can be exported as an image or pdf.
      4. If decision Maker selects “Table”:
        1. The system shows a table of selected place and time.
        2. The graph can be exported as an image or pdf.
      5. If decision Maker selects “Predicted Graph”:
        1. The system shows a bar-chart value over time that ends with predicted value.
        2. The graph can be exported as an image or pdf.

Performance Requirements

Response Time

Response time is highly dependent on internet connection speed. Considering an internet connection with at least 8Mbps, the system should respond to requests in less than 3 seconds.

Workload

The system should support at least 15 concurrent users.

Software System Attributes

Availability

The software will run and be available as long as the hardware and the Docker environment it runs on works correctly. In a crashing event such as a system crash, as long as the database is not corrupted, software will run without problems when restarted.

Security

Most subsystems in the monitoring software will not be connected to the internet, since the users will be able to use the software through the local network of the agency.

The data entry system, however, must be connected to the internet so that the contractors are able to enter the new measurements after they’re taken. Since this data entry system can be used as an attack vector, we will validate the user input rigorously using both custom software and Django’s validation module.

Maintainability

Since the database is independent from the server software, administrators are free to update them, as long as they're compatible. The agency will provide a development environment for the testing of WQPMS, this will allow us to make sure the software will work for many years into the future with as little maintenance as possible.

Usability

The GUI will be designed to be similar to the previous workflow for both the Data Entry Operators and the Decision Makers. For the decision makers, charts will be designed to be similar to the charts contained in previous years’ reports. For the data entry operators, since the previous workflow involved Microsoft Access, a similar Table-like data entry UI will be produced.

Software Design Description

Introduction

Purpose

The Water Quality Prediction and Monitoring System aims to visualize and predict water quality parameters from a given water sample. Collected data from various different rivers, seas, lakes and underwater sources are uploaded to the database by data entry operators. Using the collected data, future values of water quality parameters will be predicted and visualised along with the present parameter readings for use by the decision makers.

Scope

The scope of this document is to elucidate the essential components of the system. Existing data structure of administrator, data entry operator and decision maker defined on SRS document will be used. This document comprises WQPMS design principles with its specifications, functionalities and meanings.

Glossary

The Agency The Ministry of Environment and Urban Planning
WQPMS Water Quality Prediction and Monitoring System
WQP Water Quality Prediction
ML Machine Learning
GUI Graphical User Interface

Overview

  • In the “Design Considerations” section, tools used while designing the system and why we decided to use them are explained.
  • “Architecture” section includes software and hardware architecture diagrams.
  • In the “System Interfaces” section, information about the database and application framework is given.
  • “User Interface Design” section includes figures and their explanations about GUI design.
  • “Process Design” section has use case and sequence diagrams for each type of user.
  • “Database Design” section includes an ER diagram of the database and explanations of fields in tables.

Design Considerations

Approach

  • Data will be broken into several different categories depending on water quality parameters, location and name of the sample that was taken from a specific water source.
  • Attributes listed above that belong to each data sample will be stored in the database.
  • Administrators will be able to add new parameters to be entered by the Data Entry Operators.
  • The specific ML algorithm that will be used is going to be decided upon reviewing similar projects and research papers.
  • The ML algorithm that achieves the highest accuracy, precision, recall and F1 score will be used for the prediction.
  • User selected water quality parameters of a sample will be visualized as bar-charts line-charts or tables.

Tools Used

  • React will be used for front-end programming. React helps to building user interfaces or UI components.
  • React-Bootstrap will be used for design of the webpage. React-Bootstrap saves a lot of time in terms of designing the site.
  • Chart.js will be used to generate box plots and other graphs.
  • Django web framework will be used for back-end programming. Django provides useful features such as easy communication with the database, generating web pages from template files and so on.
  • PostgreSQL will be used for persistent data storage. The database connection is handled by Django.
  • Docker will be used for distributing the WQPMS to the Agency’s servers as an image that needs a minimal amount of work to set up.
  • Python and Tensorflow will be used for training and deploying Machine Learning and Deep Learning models to predict future values of water quality parameters.

Constraints

Data Entry Operator should not be able to see previously entered data.

Assumptions and Dependencies

There are no assumptions nor dependencies for the design of WQPMS.

Architecture

Software Architecture

Software Architecture Figure 1: Software Architecture

Hardware Architecture

Hardware Architecture Figure 2: Hardware Architecture

System Interfaces

For persistent data storage, the system uses PostgreSQL 13.1. Django framework version 3.1 is used to serve web pages and communicate with the database. The system will be distributed with a SQL definition file detailing the first configuration of data tables that will be used to configure the persistent data storage by the administrator at the agency.

External System Interfaces

There are no external system interfaces needed.

User Interface Design

Water Quality Monitoring and Prediction System is a web-based recommendation system that has 3 different types of user. Decision Maker, Data Entry Operator and Admin. Therefore, system will include 3 different interfaces:

  • An interface of visualizing and predicting data for only Decision Makers to see.
  • An interface of entering data for only Data Entry Operators to see.
  • An interface of managing users for Admin.

Screen Definitions

Login

The WQPMS is only reachable with a registered account. Accounts contain a username and a password. There are two input areas for that purpose and a button to log in. Accounts can only be created by an administrator. Therefore, there is no “Create a User” button. The logo and the name of the system which is “Water Quality Prediction and Monitoring System” is shown in the login page top of the input boxes.

login page screenshot Figure 3: Login Page
Decision Maker
Decision Maker screenshot Figure 4: Decision Maker Page After Successful Login

Decision Maker page is a single page that has 3 parts. Nav-bar, Search container, Graph container.

First part is the nav-bar at the top of the page. There are the logo and “WQMP” on the left of the nav-bar and when clicked, it should clear the search container, graphs and return the welcome page as shown in figure 4. On the right of the nav-bar there is a button “Log out”. When clicked the system should return to the login page and the user should be logged out. Between logo and the logout button there are 4 water source types. After selecting one of the water types, search container will show up. Each one of the dropdown list options should be part of the selected water type.

The second part is the search box between the nav-bar and the graph box. In order to see the graph, table or the predicted value, decision makers must select the water source, region, location, value and the year.

When “Akarsu” is clicked, options of the “Bolge” should be only the river locations. After selecting location, options of the “Yer” should be only the places that inside selected location. “Parametre” contains only parameters that are tested according to the water source type. Also, decision makers can select the option “Hepsi” inside “Parametre” for system to draw graph of all parameters in selected year. “Yıl” options will contain from 2005 to present year if there are recorded data.

Below dropdown lists there are button group. Button group contains “Bar”, “Çizgi”, “Tablo” and “Tahmin” buttons. “Bar” button will draw the bar-chart with selected values. “Çizgi” button will draw the line-chart with selected values. “Tablo” will bring the data in table from the first month to the last month of the selected year. “Tahmin” button will draw a bar-chart with predicted value at the end with a label that shows which values are predicted.

The third part is the graph container. System should draw the graph or show a table in this container. In order to read and understand the data graph, there should be a reference range of the water quality classes that shows which value is in which class. This reference range may be a horizontal line in the chart or a table next to the chart. There should also be a button for exporting the graph or table as an image or pdf.

Data Entry Operator
DEO screenshot Figure 5: Data Entry Operator Page With Selected “River” to Enter Data

The Data Entry Operator page is also a single page with 3 parts. Nav-bar, Water Source Selection, Data Entry Box. After the Data Entry Operator logged in to the system, there should be the nav-bar at the top of the page and the water source selection box.

The Nav-bar should be at the top of the page with similar features in Decision Maker Page. There are the logo and name of the system at the left of the nav-bar and “Logout” button at the right of the nav-bar.

The Water Source Selection part only contains a selection box. Data Entry Operators should select between the options “River”, “Waste Water”, “Sea”, “Lake”. After selection of the water source, the system brings the data entry box.

The Data Entry Box part will change according to the selected water source. The input may change between different water sources. Therefore, the system should bring predetermined data entry boxes. Also, in order to prevent wrong input all the inputs should be checked to see the entered value is between the determined interval. If it is not in the given internal system should give warning about it that shows the acceptable interval. After every data has been entered correctly, the Data Entry Operator clicks the “Enter Data” button in the bottom of the data entry part.

Admin

Admin interface is automatically generated by Django. Since it is automatically generated, it is subject to constant change. Admin page may be able to select and show raw data and make changes.

Process Design

Use Cases

Administrator Use Case

Actor : Administrator

Use Case:

  • Manage Users
    • Create User
    • Delete User
  • Manage User Permissions
  • Update Data

Diagram:

Management Use Case Figure 6: Management System Use Case Diagram

Brief Description:

Figure 6 shows the management system use case diagram. The administrator has authority to manage the system. Administrators are able to add and delete users and manage user permissions.

Initial Step by Step Description:

  • Users can not register.
  • Administrators are able to create users.
  • Administrators can give users specific permissions and prohibitions.
    • Administrators can assign the user to the data entry operators group or decision makers group.
  • Administrators can delete users.
  • Administrators may update data.
    • Administrators may add new locations.
    • Administrators may change the existing values.
    • Administrators may delete the locations.
Data Entry Operator Use Case

Actor: Data Entry Operator

Use Case:

  • Enter Data
    • Validation
    • Save to Database

Diagram:

Data Entry Use Case Figure 7: Data Entry System Use Case Diagram

Brief Description:

Figure 7 shows the data entry system use case diagram. Data entry operators do not have the same permissions as Decision Makers, therefore they can only enter data in appropriate format to aid decision making.

Initial Step by Step Description:

  • Data entry operator can insert data to system
    • If data is not entered in the proper format, a request will be sent to a user to enter the data in proper format.
    • If data is in proper format, data can be inserted to the database.
Decision Maker Use Case

Actor: Decision Maker

Use case:

  • Visualize Data
    • Show Graph
      • Export
    • Show Table
      • Export
    • Show Predicted Graph
      • Export

Diagram:

Decision Maker Use Case Figure 8: Decision Maker Use Case

Description: Decision Makers are allowed to use the system for visualizing selected samples. The graph of a sample includes, time, water quality parameters and prediction results of the selected sample. As you can see in Figure 8, Decision Makers select which graph they want to see. The system displays the actual and predicted results of a sample. Also, the reports can be exported.

Initial Step by Step Description:

  • Decision Maker log in to the system with username and password.
  • The Decision maker can select Visualize Data.
    • The Decision maker can choose parameters to see the graph.
      • These parameters can be a place, time and value.
      • If Decision Maker selects “Bar”:
        • The system shows a bar-chart value over time.
        • The graph can be exported as an image or pdf.
      • If Decision Maker selects “Line”:
        • The system shows a line-chart value over time.
        • The graph can be exported as an image or pdf.
      • If Decision Maker selects “Table”:
        • The system shows a table of selected place and time.
        • The graph can be exported as an image or pdf.
      • If Decision Maker selects “Predicted Graph”:
        • The system shows a bar-chart value over time that ends with predicted value.
        • The graph can be exported as an image or pdf.

Sequence Diagrams

Administrator Scenario Sequence Diagram
Administrator Scenario Sequence Diagram Figure 9: Administrator Scenario Sequence Diagram
Monitoring Scenario Sequence Diagram
Monitoring Scenario Sequence Diagram Figure 10: Monitoring Scenario Sequence Diagram
Data Entry Scenario Sequence Diagram
Data Entry Scenario Sequence Diagram Figure 11: Data Entry Scenario Sequence Diagram

Database Design

There are 4 tables in the planned database of the system. The tables are User, Reading, Location and Reading Type. Their content is explained in their respective table definition sections.

Table Definitions

User
Field Type Description
id AutoField Auto generated positive integer id for table entry
email EmailField Email address for the user
first_name CharField First name of the user
last_name CharField Last name of the user
username CharField Username of the user
password CharField Password of the user
last_login DateTimeField Last login time
is_dmaker BooleanField True if user is a decision maker
is_dataent BooleanField True if user is a data entry operator
is_superuser BooleanField True if user is an administrator
Reading
Field Type Description
id AutoField Auto generated positive integer id for table entry
added_by ForeignKey(id) FK to User table
location ForeignKey(id) FK to Location table
reading_type ForeignKey(id) FK to ReadingType table
date DateField The date that reading has been taken
reading_string_value TextField The reading in string format
reading_value FloatField The reading in floating point format, if possible
Location
Field Type Description
id AutoField Auto generated positive integer id for table entry
bolge_adi CharField The general location name
numune_adi CharField The code for a reading taken at this location
yer CharField Specific location
utm_x PositiveIntegerField Universal Transverse Mercator x coordinate
utm_y PositiveIntegerField Universal Transverse Mercator y coordinate
Reading Type
Field Type Description
id AutoField Auto generated positive integer id for table entry
name CharField Can be “pH”, “Toplam Koliform”, etc.
max_value FloatField Maximum value for a reading of this type
min_value FloatField Minimum value for a reading of this type

ER Diagram

ER Diagram Figure 12: ER Diagram

Test Plan and Results

Introduction

Version Control

Version Number Description of Changes Date
1.0 First Version 16/04/2021
1.1 Test Results Added 27/05/2021

Overview

We have three different modes in our system we have specified in our Project Report document, which are Administrator, Data Entry Operator and Decision Maker. GUI’s of every user mode will be tested.

Scope

This document provides a brief explanation about the test plan of use cases, test cases and design features.

Terminology

Acronym Definition
GUI Graphical User Interface
UI User Interface
DM Decision Maker
DE Data Entry
AD Administrator

Features To Be Tested

Graphical User Interface (GUI)

GUI contains all buttons, drop-down lists and charts. We used different GUI’s for each user mode.

Administrator Mode (AD)

Admin mode is automatically generated by Django hence it is subject to constant change. Admin mode may be able to select and show raw data and make changes.

Data Entry Operator Mode (DE)

Data Entry Operator mode contains input text fields, drop-down list to select which water source to input data for, a submit button and a logout button.

Decision Maker Mode (DM)

Decision Maker mode contains a top navigation bar, a logout button, four drop-down lists to select water sources, 3 buttons to select which type of visualization to use and the visualization area. The visualization contains bar charts, line plots and a table for a given water sample.

Item Pass/Fail Criteria

Exit Criteria

  • %100 of the test cases are executed

  • %95 of the test cases are passed

  • All High (H) and Medium (M) priorities of test cases passed

Test Design Specifications

Graphical User Interface

Subfeatures to be tested
Login Button (UI.LG.BT)

All users have to log in to the system. After login, the user will be presented with a GUI depending on the user mode.

Test Cases
TC ID Requirements Priority Scenario Description
UI.LG.BT.01 - H Successful login to system after pressing login button
UI.LG.BT.02 - M Invalid user email or password is entered.
UI.LG.BT.03 - H Redirect to Decision Maker Mode after successful login
UI.LG.BT.04 - H Redirect to Admin Mode after successful login
UI.LG.BT.05 - H Redirect to Data Entry Operator mode after successful login

Decision Maker Mode

Subfeatures to be tested
Navbar Logo and WQPMS (DM.NVB.LG)

User returns the welcome page by clicking the logo or the “WQPMS” in the navbar.

Navbar Logout Button (DM.NVB.LO)

User logs out and returns to the login page by clicking the “Çıkış Yap” button in the navbar.

Navbar Akarsu Button (DM.NVB.AK)

User selects the water source type by clicking the “Akarsu” button in the navbar.

Navbar Deniz Button (DM.NVB.DN)

User selects the water source type by clicking the “Deniz” button in the navbar.

Navbar Göl Button (DM.NVB.GL)

User selects the water source type by clicking the “Göl” button in the navbar.

Navbar Arıtma Button (DM.NVB.AR)

User selects the water source type by clicking the “Arıtma” button in the navbar.

Search Container Bölge Dropdown (DM.SRC.BL)

User selects the location of the selected water source type by clicking the “Bölge” dropdown button.

Search Container Yer Dropdown (DM.SRC.YR)

User selects the place of the selected location by clicking the “Yer” dropdown button.

Search Container Parametre Dropdown (DM.SRC.PR)

User selects the parameter of the selected place by clicking the “Parametre” dropdown button.

Search Container Yıl Dropdown (DM.SRC.YL)

User selects the year of the selected parameter by clicking the “Yıl” dropdown button.

Bar Button (DM.BR.BT)

User selects the “Bar” button to see the bar graph of selected options.

Çizgi Button (DM.CZ.BT)

User selects the “Çizgi” button to see the line graph of selected options.

Tablo Button(DM.TB.BT)

User selects the “Tablo” button to see the table of selected options.

Test Cases
TC ID Requirements Priority Scenario Description
DM.NVB.LG UI.LG.BT.03 L Click the logo and “WQPMS”. After clicking, the user will be returned to the welcome page.
DM.NVB.LO UI.LG.BT.03 H Click the “Çıkış Yap” button. After clicking, the user will be logged out and returned to the login page.
DM.NVB.AK UI.LG.BT.03 H Select “Akarsu”. After selection options will be in the selected water source type.
DM.NVB.DN UI.LG.BT.03 H Select “Deniz”. After selection options will be in the selected water source type.
DM.NVB.GL UI.LG.BT.03 H Select “Göl”. After selection options will be in the selected water source type.
DM.NVB.AR UI.LG.BT.03 H Select “Arıtma”. After selection options will be in the selected water source type.
DM.SRC.BL DM.NVB.AK - DM.NVB.DN - DM.NVB.GL - DM.NVB.AR H Select any option of selected water source type.
DM.SRC.YR.01 DM.SRC.BL H Select any option of selected location.
DM.SRC.YR.02 DM.NVB.AK - DM.NVB.DN - DM.NVB.GL - DM.NVB.AR L Select any option without selecting location.
DM.SRC.PR.01 DM.SRC.YR.01 H Select any option of selected place.
DM.SRC.PR.02 DM.NVB.AK - DM.NVB.DN - DM.NVB.GL - DM.NVB.AR L Select any option without selecting place.
DM.SRC.YL.01 DM.SRC.PR.01 H Select any option of selected parameter.
DM.SRC.YL.02 DM.NVB.AK - DM.NVB.DN - DM.NVB.GL - DM.NVB.AR L Select any option without selecting parameter.
DM.SRC.YL.03 DM.SRC.YL.01 M Select the second option after selecting first option.
DM.BR.BT.01 DM.SRC.YL.01 H Click the “Bar” button.
DM.BR.BT.02 DM.SRC.YL.01 H Click the “Bar” button when option “Hepsi” in the parameter dropdown is selected.
DM.BR.BT.03 DM.SRC.YL.01 H Click the “Bar” button when option “Hepsi” in the year dropdown is selected.
DM.CZ.BT.01 DM.SRC.YL.01 H Click the “Çizgi” button.
DM.CZ.BT.02 DM.SRC.YL.01 H Click the “Çizgi” button when option “Hepsi” in the parameter dropdown is selected.
DM.CZ.BT.03 DM.SRC.YL.01 H Click the “Çizgi” button when option “Hepsi” in the year dropdown is selected.
DM.TB.BT.01 DM.SRC.YL.01 H Click the “Tablo” button.
DM.TB.BT.02 DM.SRC.YL.01 H Click the “Tablo” button when option “Hepsi” in the parameter dropdown is selected.
DM.TB.BT.03 DM.SRC.YL.01 H Click the “Tablo” button when option “Hepsi” in the year dropdown is selected.

Data Entry Mode

Subfeatures to be tested
Navbar Logo and WQPMS (DE.NVB.LG)

User returns the welcome page by clicking the logo or the “WQPMS” in the navbar.

Logout Button (DM.NVB.LO)

User logs out and returns to the login page by clicking the “Çıkış Yap” button in the navbar.

Navbar Akarsu Button (DE.NVB.AK)

User selects the water source type by clicking the “Akarsu” button in the navbar.

Navbar Deniz Button (DE.NVB.DN)

User selects the water source type by clicking the “Deniz” button in the navbar.

Navbar Göl Button (DE.NVB.GL)

User selects the water source type by clicking the “Göl” button in the navbar.

Navbar Arıtma Button (DE.NVB.AR)

User selects the water source type by clicking the “Arıtma” button in the navbar.

Location Input Table (DE.LC.IN)

User selects the predetermined locations of the selected water source type.

Parameter Input Table (DE.PR.IN)

User enters value of the relevant parameter.

Submit Button (DE.SB.BT)

User enters test result values into the database.

Test Cases
TC ID Requirements Priority Scenario Description
DE.NVB.LG UI.LG.BT.05 L Click the logo and “WQPMS”. After clicking, the user will be returned to the welcome page.
DE.NVB.LO UI.LG.BT.05 H Click the “Çıkış Yap” button. After clicking, the user will be logged out and returned to the login page.
DE.NVB.AK UI.LG.BT.05 H Select “Akarsu”. After selection, options will be in the selected water source type.
DE.NVB.DN UI.LG.BT.05 H Select “Deniz”. After selection, options will be in the selected water source type.
DE.NVB.GL UI.LG.BT.05 H Select “Göl”. After selection, options will be in the selected water source type.
DE.NVB.AR UI.LG.BT.05 H Select “Arıtma”. After selection, options will be in the selected water source type.
DE.LC.IN DE.NVB.AK - DE.NVB.DN - DE.NVB.GL - DE.NVB.AR H Enter location information.
DE.PR.IN.01 DE.NVB.AK - DE.NVB.DN - DE.NVB.GL - DE.NVB.AR H Enter test result value for each parameter.
DE.PR.IN.02 DE.NVB.AK - DE.NVB.DN - DE.NVB.GL - DE.NVB.AR H Enter test result value for each parameter with one or more missing information.
DE.SB.BT.01 DE.PR.IN.01 & DE.LC.IN H Click the “Veri Gir” button with valid values of test results have entered.
DE.SB.BT.02 DE.NVB.AK - DE.NVB.DN - DE.NVB.GL - DE.NVB.AR H Click the “Veri Gir” button with invalid values of test results have entered.

Admin Mode

Subfeatures to be tested
Add User Button(AD.US.AD)

Admin registers a new user by clicking the “Add User” button.

Update User Button (AD.US.UP)

Admin updates information of a user by clicking the “Update User” button.

Delete User Button (AD.US.DL)

Admin deletes a user by clicking the “Delete User” button.

Add New Location Button (AD.LC.AD)

Admin creates a new location by clicking the “Add New Location” button.

Update Data Button (AD.DT.UP)

Admin updates information of a location by clicking the “Update Data” button.

Delete Data Button (AD.DT.DL)

Admin deletes data in the database by clicking the “Delete Data” button.

Test Cases
TC ID Requirements Priority Scenario Description
AD.US.AD.01 UI.LG.BT.04 H Click the “Add User” button.
AD.US.AD.02 UI.LG.BT.04 H Click the “Add User” button with one or more missing information.
AD.US.UP.01 UI.LG.BT.04 L Click the “Update User” button.
AD.US.UP.02 UI.LG.BT.04 H Click the “Update User” button with deleting an information and leave it blank.
AD.US.DL UI.LG.BT.04 M Click the “Delete User” button.
AD.LC.AD.01 UI.LG.BT.04 H Click the “Add New Location” button.
AD.LC.AD.02 UI.LG.BT.04 H Click the “Add New Location” button with one or more missing information.
AD.DT.UP.01 UI.LG.BT.04 M Click the “Update Data” button.
AD.DT.UP.02 UI.LG.BT.04 H Click the “Update Data” button with one or more missing information.
AD.DT.DL UI.LG.BT.04 M Click the “Delete Data” button.

Detailed Test Cases

UI.LG.BT.01

TC ID UI.LG.BT.01
Purpose Sign in to the system.
Requirements -
Priority H
Estimated Time Needed 1 min
Dependency A valid user account
Setup Sign in to system
Procedure [A01] Enter a valid username.
Cleanup [A02] Enter the valid password of this user.
[A03] Click “Giriş Yap” button.
[V01] Observe that the user is logged in and a message about successful login show up.
Cleanup Logout.

UI.LG.BT.02

TC ID UI.LG.BT.02
Purpose Click “Giriş Yap” button with invalid or missing information entered.
Requirements -
Priority M
Estimated Time Needed 1 min
Dependency -
Setup Sign in to system
Procedure [A01] Enter a invalid or missing username or password.
[A02] Click “Giriş Yap” button
[V01] Observe that the a warning about invalid or missing information show up.
Cleanup Logout

UI.LG.BT.03

TC ID UI.LG.BT.03
Purpose Decision Maker user login.
Requirements -
Priority H
Estimated Time Needed 1 min
Dependency User account should be Decision Maker.
Setup Sign in to system
Procedure [A01] Enter a valid Decision Maker username.
[A02] Enter the valid password of this user.
[A03] Click “Giriş Yap” button.
[V01] Observe that the user is logged in and redirected to Decision Maker page.
Cleanup Logout.

UI.LG.BT.04

TC ID UI.LG.BT.04
Purpose Admin user login.
Requirements -
Priority H
Estimated Time Needed 1 min
Dependency User account should be Admin.
Setup Sign in to system
Procedure [A01] Enter a valid Admin username.
[A02] Enter the valid password of this user.
[A03] Click “Giriş Yap” button.
[V01] Observe that the user is logged in and redirected to Admin page.
Cleanup Logout.

UI.LG.BT.05

TC ID UI.LG.BT.05
Purpose Data Entry Operator user login.
Requirements -
Priority H
Estimated Time Needed 1 min
Dependency User account should be Data Entry Operator.
Setup Sign in to system
Procedure [A01] Enter a valid Data Entry Operator username.
[A02] Enter the valid password of this user.
[A03] Click “Giriş Yap” button.
[V01] Observe that the user is logged in and redirected to Data Entry Operator page.
Cleanup Logout.

DM.NVB.LG

TC ID DM.NVB.LG
Purpose Return to the welcome page.
Requirements UI.LG.BT.03
Priority L
Estimated Time Needed 1 min
Dependency Admin should create the user.
Setup Return to the welcome page.
Procedure [A01] Click the logo or the “WQPMS”
[V01] Observe that welcome page shows up.
Cleanup Logout.

DM.NVB.LO

TC ID DM.NVB.LO
Purpose Logout from the system.
Requirements UI.LG.BT.03
Priority H
Estimated Time Needed 1 min
Dependency User should be logged in to the system.
Setup Logout from the system.
Procedure [A01] Click the “Çıkış Yap” button.
[V01] Observe that the user is logged out and the login page appears.
Cleanup -

DM.NVB.AK

TC ID DM.NVB.AK
Purpose Select water source type.
Requirements UI.LG.BT.03
Priority H
Estimated Time Needed 10 seconds.
Dependency User should be logged in to the system.
Setup Select water source type.
Procedure [A01] Click the “Akarsu” button
[V01] Observe that “Akarsu” button is selected and search containers appear.
Cleanup Click the logo or the “WQPMS”.

DM.NVB.DN

TC ID DM.NVB.DN
Purpose Select water source type.
Requirements UI.LG.BT.03
Priority H
Estimated Time Needed 10 seconds.
Dependency User should be logged in to the system.
Setup Select water source type.
Procedure [A01] Click the “Deniz” button
[V01] Observe that “Deniz” button is selected and search containers appear.
Cleanup Click the logo or the “WQPMS”.

DM.NVB.GL

TC ID DM.NVB.GL
Purpose Select water source type.
Requirements UI.LG.BT.03
Priority H
Estimated Time Needed 10 seconds.
Dependency User should be logged in to the system.
Setup Select water source type.
Procedure [A01] Click the “Göl” button
[V01] Observe that “Göl” button is selected and search containers appear.
Cleanup Click the logo or the “WQPMS”.

DM.NVB.AR

TC ID DM.NVB.AR
Purpose Select water source type.
Requirements UI.LG.BT.03
Priority H
Estimated Time Needed 10 seconds.
Dependency User should be logged in to the system.
Setup Select water source type.
Procedure [A01] Click the “Arıtma” button
[V01] Observe that “Arıtma” button is selected and search containers appear.
Cleanup Click the logo or the “WQPMS”.

DM.SRC.BL

TC ID DM.SRC.BL
Purpose Select location.
Requirements DM.NVB.AK - DM.NVB.DN - DM.NVB.GL - DM.NVB.AR
Priority H
Estimated Time Needed 10 seconds.
Dependency Water source type should be selected
Setup Select location.
Procedure [A01] Select the dropdown labeled as “Bölge”.
[V01] Observe that the options of the dropdown are in the selected water source type.
[A02] Select one option.
[V01] Observe that the option is selected.
Cleanup Select different water source type.

DM.SRC.YR.01

TC ID DM.SRC.YR.01
Purpose Select place.
Requirements DM.SRC.BL
Priority H
Estimated Time Needed 10 seconds.
Dependency Location option should be selected.
Setup Select place.
Procedure [A01] Select the dropdown labeled as “Yer”.
[V01] Observe that the options of the dropdown are in the selected location.
[A02] Select one option.
[V02] Observe that the option is selected.
Cleanup Select different option of dropdown “Bölge”

DM.SRC.YR.02

TC ID DM.SRC.YR.02
Purpose Select place without selecting location.
Requirements DM.NVB.AK - DM.NVB.DN - DM.NVB.GL - DM.NVB.AR
Priority L
Estimated Time Needed 10 seconds.
Dependency Water source type should be selected
Setup Select place without selecting location.
Procedure [A01] Select the dropdown labeled as “Yer”.
[V01] Observe that there is no option show up.
Cleanup Select different option of dropdown “Bölge”

DM.SRC.PR.01

TC ID DM.SRC.PR.01
Purpose Select parameter.
Requirements DM.SRC.YR.01
Priority H
Estimated Time Needed 10 seconds.
Dependency Place option should be selected.
Setup Select parameter.
Procedure [A01] Select the dropdown labeled as “Parametre”.
[V01] Observe that the options of the dropdown are in the selected place.
[A02] Select one option.
[V02] Observe that the option is selected.
Cleanup Select different option of dropdown “Yer”

DM.SRC.PR.02

TC ID DM.SRC.PR.02
Purpose Select parameter without selecting option of place dropdown.
Requirements DM.NVB.AK - DM.NVB.DN - DM.NVB.GL - DM.NVB.AR
Priority L
Estimated Time Needed 10 seconds.
Dependency Water source type should be selected
Setup Select parameter without selecting option of place dropdown.
Procedure [A01] Select the dropdown labeled as “Parametre”.
[V01] Observe that there is no option show up.
Cleanup Select different option of dropdown “Yer”

DM.SRC.YL.01

TC ID DM.SRC.YL.01
Purpose Select year.
Requirements DM.SRC.PR.01
Priority H
Estimated Time Needed 10 seconds.
Dependency Parameter option should be selected.
Setup Select year.
Procedure [A01] Select the dropdown labeled as “Yıl”.
[V01] Observe that the options of the dropdown are in the selected parameter.
[A02] Select one option.
[V02] Observe that the option is selected.
Cleanup Select different option of dropdown “Parametre”

DM.SRC.YL.02

TC ID DM.SRC.YL.02
Purpose Select year without selecting option of parameter dropdown.
Requirements DM.NVB.AK - DM.NVB.DN - DM.NVB.GL - DM.NVB.AR
Priority L
Estimated Time Needed 10 seconds.
Dependency Water source type should be selected
Setup Select year without selecting option of parameter dropdown.
Procedure [A01] Select the dropdown labeled as “Yıl”.
[V01] Observe that there is no option show up.
Cleanup Select different option of dropdown “Parametre”

DM.SRC.YL.03

TC ID DM.SRC.YL.03
Purpose Select the second year value.
Requirements DM.SRC.YL.01
Priority M
Estimated Time Needed 10 seconds.
Dependency First year value should be selected.
Setup After selecting the option of the dropdown labeled “Yıl”, there will be a box for selecting the second year value.
Procedure [A01] Select the second dropdown labeled as “Yıl”
[V01] Observe that the options of the dropdown are in the selected parameter.
[A02] Select one option.
[V02] Observe that the option is selected.
Cleanup Select different option of dropdown “Parametre”

DM.BR.BT.01

TC ID DM.BR.BT.01
Purpose Draw bar graph of the selected options.
Requirements DM.SRC.YL.01
Priority H
Estimated Time Needed 15 seconds.
Dependency User should select all options.
Setup Draw bar graph of the selected options.
Procedure [A01] Click the “Bar” button
[V01] Observe that bar graph of the selected options show up.
Cleanup Select different water source type.

DM.BR.BT.02

TC ID DM.BR.BT.02
Purpose Draw a bar graph of the selected options for each parameter.
Requirements DM.SRC.YL.01
Priority H
Estimated Time Needed 15 seconds.
Dependency All the options are selected without missing information with parameter “Hepsi” selected.
Setup Draw a bar graph of the selected options for each parameter.
Procedure [A01] Click the “Bar” button
[V01] Observe that bar graphs of the selected options for each parameter show up.
Cleanup Select different water source type.

DM.BR.BT.03

TC ID DM.BR.BT.03
Purpose Draw a bar graph of the selected options which contains data of the all years.
Requirements DM.SRC.YL.01
Priority H
Estimated Time Needed 15 seconds.
Dependency All the options are selected without missing information with year “Hepsi” selected.
Setup Draw a bar graph of the selected options which contains data of the all years.
Procedure [A01] Click the “Bar” button
[V01] Observe that a single bar graphs of the selected options show up where contains data of all years available.
Cleanup Select different water source type.

DM.CZ.BT.01

TC ID DM.BR.BT.01
Purpose Draw line graph of the selected options.
Requirements DM.SRC.YL.01
Priority H
Estimated Time Needed 15 seconds.
Dependency User should select all options.
Setup Draw line graph of the selected options.
Procedure [A01] Click the “Çizgi” button
[V01] Observe that line graph of the selected options show up.
Cleanup Select different water source type.

DM.CZ.BT.02

TC ID DM.CZ.BT.02
Purpose Draw a line graph of the selected options for each parameter.
Requirements DM.SRC.YL.01
Priority H
Estimated Time Needed 15 seconds.
Dependency All the options are selected without missing information with parameter “Hepsi” selected.
Setup Draw a line graph of the selected options for each parameter.
Procedure [A01] Click the “Çizgi” button
[V01] Observe that line graphs of the selected options for each parameter show up.
Cleanup Select different water source type.

DM.CZ.BT.03

TC ID DM.CZ.BT.03
Purpose Draw a line graph of the selected options which contains data of the all years.
Requirements DM.SRC.YL.01
Priority H
Estimated Time Needed 15 seconds.
Dependency All the options are selected without missing information with year “Hepsi” selected.
Setup Draw a line graph of the selected options which contains data of the all years.
Procedure [A01] Click the “Çizgi” button
[V01] Observe that a single line graphs of the selected options show up where contains data of all years available.
Cleanup Select different water source type.

DM.TB.BT.01

TC ID DM.TB.BT.01
Purpose Draw table of the selected options.
Requirements DM.SRC.YL.01
Priority H
Estimated Time Needed 15 seconds.
Dependency User should select all options.
Setup Draw table of the selected options.
Procedure [A01] Click the “Tablo” button
[V01] Observe that button is disabled.
Cleanup Select different water source type.

DM.TB.BT.02

TC ID DM.TB.BT.02
Purpose Draw a table of the selected options which contains all parameters.
Requirements DM.SRC.YL.01
Priority H
Estimated Time Needed 15 seconds.
Dependency All the options are selected without missing information with parameter “Hepsi” selected.
Setup Draw a table of the selected options which contains all parameters.
Procedure [A01] Click the “Tablo” button
[V01] Observe that table of the selected options which contains all parameters show up.
Cleanup Select different water source type.

DM.TB.BT.03

TC ID DM.TB.BT.03
Purpose Draw a table of the selected options for each year.
Requirements DM.SRC.YL.01
Priority H
Estimated Time Needed 15 seconds.
Dependency All the options are selected without missing information with year “Hepsi” selected.
Setup Draw a table of the selected options for each year.
Procedure [A01] Click the “Tablo” button
[V01] Observe that button is disabled.
Cleanup Select different water source type.

DE.NVB.LG

TC ID DE.NVB.LG
Purpose Return to the welcome page.
Requirements UI.LG.BT.05
Priority L
Estimated Time Needed 1 min
Dependency Admin should create the user.
Setup Return to the welcome page.
Procedure [A01] Click the logo or the “WQPMS”
[V01] Observe that welcome page shows up.
Cleanup Logout.

DE.NVB.LO

TC ID DE.NVB.LO
Purpose Logout from the system.
Requirements UI.LG.BT.05
Priority H
Estimated Time Needed 1 min
Dependency User should be logged in to the system.
Setup Logout from the system.
Procedure [A01] Click the “Çıkış Yap” button.
[V01] Observe that the user is logged out and the login page appears.
Cleanup -

DE.NVB.AK

TC ID DE.NVB.AK
Purpose Select water source type.
Requirements UI.LG.BT.05
Priority H
Estimated Time Needed 10 seconds.
Dependency User should be logged in to the system.
Setup Select water source type.
Procedure [A01] Click the “Akarsu” button
[V01] Observe that “Akarsu” button is selected and parameters of the selected water source type appear.
Cleanup Click the logo or the “WQPMS”.

DE.NVB.DN

TC ID DE.NVB.DN
Purpose Select water source type.
Requirements UI.LG.BT.05
Priority H
Estimated Time Needed 10 seconds.
Dependency User should be logged in to the system.
Setup Select water source type.
Procedure [A01] Click the “Deniz” button
[V01] Observe that “Deniz” button is selected and parameters of the selected water source type appear.
Cleanup Click the logo or the “WQPMS”.

DE.NVB.GL

TC ID DE.NVB.GL
Purpose Select water source type.
Requirements UI.LG.BT.05
Priority H
Estimated Time Needed 10 seconds.
Dependency User should be logged in to the system.
Setup Select water source type.
Procedure [A01] Click the “Göl” button
[V01] Observe that “Göl” button is selected and parameters of the selected water source type appear.
Cleanup Click the logo or the “WQPMS”.

DE.NVB.AR

TC ID DE.NVB.AR
Purpose Select water source type.
Requirements UI.LG.BT.05
Priority H
Estimated Time Needed 10 seconds.
Dependency User should be logged in to the system.
Setup Select water source type.
Procedure [A01] Click the “Arıtma” button
[V01] Observe that “Arıtma” button is selected and parameters of the selected water source type appear.
Cleanup Click the logo or the “WQPMS”.

DE.LC.IN

TC ID DE.LC.IN
Purpose Select location.
Requirements DE.NVB.AK - DE.NVB.DN - DE.NVB.GL - DE.NVB.AR
Priority H
Estimated Time Needed 30 seconds.
Dependency Water source type should be selected.
Setup Select location.
Procedure [A01] Select the dropdown labeled as “Numune Adı”.
[V01] Observe that location information of the selected sample name show up.
Cleanup Select different water source type.

DE.PR.IN.01

TC ID DE.PR.IN.01
Purpose Enter valid result values.
Requirements DE.NVB.AK - DE.NVB.DN - DE.NVB.GL - DE.NVB.AR
Priority H
Estimated Time Needed 5 minutes.
Dependency Water source type should be selected.
Setup Enter valid result values.
Procedure [A01] Enter test result value for each parameters.
[V01] Observe that entered value is valid.
Cleanup Select different water source type.

DE.PR.IN.02

TC ID DE.PR.IN.02
Purpose Enter invalid result values.
Requirements DE.NVB.AK - DE.NVB.DN - DE.NVB.GL - DE.NVB.AR
Priority H
Estimated Time Needed 5 minutes.
Dependency Water source type should be selected.
Setup Enter missing or invalid result values.
Procedure [A01] Enter test result value with missing or invalid value.
[V01] Observe that a warning about invalid values show up.
Cleanup Select different water source type.

DE.SB.BT.01

TC ID DE.SB.BT.01
Purpose Click the “Veri Gir” button with valid values of test results have entered.
Requirements DE.PR.IN.01 & DE.LC.IN
Priority H
Estimated Time Needed 30 seconds.
Dependency User should have entered valid values for each parameters.
Setup Click the “Veri Gir” button with valid values of test results have entered.
Procedure [A01] Click the “Veri Gir” button.
[V01] Observe that data has been added to the database and a successful massage show up.
Cleanup Select different water source type.

DE.SB.BT.02

TC ID DE.SB.BT.02
Purpose Click the “Veri Gir” button with invalid values of test results have entered.
Requirements DE.NVB.AK - DE.NVB.DN - DE.NVB.GL - DE.NVB.AR
Priority H
Estimated Time Needed 30 seconds.
Dependency User should have entered invalid or missing values.
Setup Click the “Veri Gir” button with invalid or missing values of test results have entered.
Procedure [A01] Click the “Veri Gir” button.
[V01] Observe that a warning about invalid values show up.
Cleanup Select different water source type.

AD.US.AD.01

TC ID AD.US.AD.01
Purpose Add a new user to the system
Requirements UI.LG.BT.04
Priority H
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Add new user to the system
Procedure

[A01] Select “Add new user” button

[A02] Input user credentials and user type

[A03] Select “Save” button

[V01] Observe that new user is created

Cleanup Close page or log out

AD.US.AD.02

TC ID AD.US.AD.02
Purpose Generate an error message if there is missing information present when adding a user
Requirements UI.LG.BT.04
Priority H
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Generate an error message if there is missing information present when adding a user
Procedure

[A01] Select “Add new user” button

[A02] Input user credentials and user type with missing information

[A03] Select “Save” button

[V01] Observe that error message shown

Cleanup Close page or log out

AD.US.UP.01

TC ID AD.US.UP.01
Purpose Update user information
Requirements UI.LG.BT.04
Priority L
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Update user information
Procedure

[A01] Select “Users” button

[A02] Input user credentials and user type

[A03] Select “Save” button

[V01] “User successfully updated” message shown

Cleanup Close page or log out

AD.US.UP.02

TC ID AD.US.UP.02
Purpose Generate an error message if there is invalid information present when updating user information
Requirements UI.LG.BT.04
Priority H
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Generate an error message if there is invalid information present when updating user information
Procedure

[A01] Select “User” button

[A02] Input user credentials and user type with invalid information

[A03] Select “Save” button

[V01] Observe that error message shown

Cleanup Close page or log out

AD.US.DL

TC ID AD.US.DL
Purpose Delete a user from the system
Requirements UI.LG.BT.04
Priority M
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Delete a user from the system
Procedure

[A01] Select “User” button

[A02] Select “Delete” button

[A03] Select “Yes I’m sure” button

[V01] “User successfully deleted” message shown

Cleanup Close page or log out

AD.LC.AD.01

TC ID AD.LC.AD.01
Purpose Add a new location to the system
Requirements UI.LG.BT.04
Priority H
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Add a new location to the system
Procedure

[A01] Select “Add location” button

[A02] Input required information

[A03] Select “Save” button

[V01] “Location successfully added” message shown

Cleanup Close page or logout

AD.LC.AD.02

TC ID AD.LC.AD.02
Purpose Generate an error message if there is missing information present when adding a new location
Requirements UI.LG.BT.04
Priority H
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Generate an error message if there is missing information present when adding a new location
Procedure

[A01] Select “Add location” button

[A02] Input missing information

[A03] Select “Save” button

[V01] Observe that error message shown

Cleanup Close page or log out

AD.DT.UP.01

TC ID AD.DT.UP.01
Purpose Update data
Requirements UI.LG.BT.04
Priority M
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Update data
Procedure

[A01] Select “Update data” button

[A02] Input required information

[A03] Select “Save” button

[V01] “Data successfully updated” message shown

Cleanup Close page or log out

AD.DT.UP.02

TC ID AD.DT.UP.02
Purpose Generate an error message if there is missing information present when updating data
Requirements UI.LG.BT.04
Priority H
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Generate an error message if there is missing information present when updating data
Procedure

[A01] Select “Update” button

[A02] Input missing information

[A03] Select “Save” button

[V01] Observe that error message shown

Cleanup Close page or log out

AD.DT.DL

TC ID AD.DT.DL
Purpose Delete data from the system
Requirements UI.LG.BT.04
Priority M
Estimated Time Needed 1 min
Dependency Admin should be logged in to the system
Setup Delete data from the system
Procedure

[A01] Select “Delete data” button

[A02] Select data from drop-down list

[A03] Select “Submit” button

[V01] “Data successfully deleted” message shown

Cleanup Close page or log out

Test Results

Individual Test Results

Tables of Individual Test Results

TC ID Priority Date Run Run By Result Explanation
UI.LG.BT.01 H 27.05.2021 Oğuzhan Saltık Pass User logged in.
UI.LG.BT.02 M 27.05.2021 Oğuzhan Saltık Pass Error message shown.
UI.LG.BT.03 H 27.05.2021 Oğuzhan Saltık Pass User logged in and directed to the Decision Maker page.
UI.LG.BT.04 H 27.05.2021 Oğuzhan Saltık Pass User logged in and directed to admin page.
UI.LG.BT.05 H 27.05.2021 Oğuzhan Saltık Pass User logged in and directed to the Data Entry page.
TC ID Priority Date Run Run By Result Explanation
DM.NVB.LG L 26.05.2021 Oğuzhan Saltık Pass Returned to the welcome page.
DM.NVB.LO H 26.05.2021 Oğuzhan Saltık Pass User logged out and returned to login page.
DM.NVB.AK H 26.05.2021 Oğuzhan Saltık Pass Dropdowns appeared according to the selected water type.
DM.NVB.DN H 26.05.2021 Oğuzhan Saltık Pass Dropdowns appeared according to the selected water type.
DM.NVB.GL H 26.05.2021 Oğuzhan Saltık Pass Dropdowns appeared according to the selected water type.
DM.NVB.AR H 26.05.2021 Oğuzhan Saltık Pass Dropdowns appeared according to the selected water type.
DM.SRC.BL H 26.05.2021 Oğuzhan Saltık Pass Options appeared according to the selected water type.
DM.SRC.YR.01 H 26.05.2021 Oğuzhan Saltık Pass Options appeared according to the selected location.
DM.SRC.YR.02 L 26.05.2021 Oğuzhan Saltık Pass No option showed up.
DM.SRC.PR.01 H 26.05.2021 Oğuzhan Saltık Pass Options appeared according to the selected place.
DM.SRC.PR.02 L 26.05.2021 Oğuzhan Saltık Pass No option showed up.
DM.SRC.YL.01 H 26.05.2021 Oğuzhan Saltık Pass Options appeared according to the selected parameter.
DM.SRC.YL.02 L 26.05.2021 Oğuzhan Saltık Pass No option showed up.
DM.SRC.YL.03 M 26.05.2021 Oğuzhan Saltık Pass After selecting second year, two years showed as selected.
DM.BR.BT.01 H 26.05.2021 Oğuzhan Saltık Pass Bar graph of the selected values showed up.
DM.BR.BT.02 H 26.05.2021 Oğuzhan Saltık Pass Bar graphs of the selected values showed up for every parameter.
DM.BR.BT.03 H 26.05.2021 Oğuzhan Saltık Pass Bar graph of the selected values showed up that shows values of every year.
DM.CZ.BT.01 H 26.05.2021 Oğuzhan Saltık Pass Line graph of the selected values showed up.
DM.CZ.BT.02 H 26.05.2021 Oğuzhan Saltık Pass Line graphs of the selected values showed up for every parameter.
DM.CZ.BT.03 H 26.05.2021 Oğuzhan Saltık Pass Button is disabled.
DM.TB.BT.01 H 26.05.2021 Oğuzhan Saltık Pass Button is disabled.
DM.TB.BT.02 H 26.05.2021 Oğuzhan Saltık Pass Table of the selected values showed up.
DM.TB.BT.03 H 26.05.2021 Oğuzhan Saltık Pass Button is disabled.
TC ID Priority Date Run Run By Result Explanation
DE.NVB.LG L 26.05.2021 Oğuzhan Saltık Pass Returned to the welcome page.
DE.NVB.LO H 26.05.2021 Oğuzhan Saltık Pass User logged out and returned to login page.
DE.NVB.AK H 26.05.2021 Oğuzhan Saltık Pass Dropdowns appeared according to the selected water type.
DE.NVB.DN H 26.05.2021 Oğuzhan Saltık Pass Dropdowns appeared according to the selected water type.
DE.NVB.GL H 26.05.2021 Oğuzhan Saltık Pass Dropdowns appeared according to the selected water type.
DE.NVB.AR H 26.05.2021 Oğuzhan Saltık Pass Dropdowns appeared according to the selected water type.
DE.LC.IN H 26.05.2021 Oğuzhan Saltık Pass Options appeared according to the selected water type.
DE.PR.IN.01 H 26.05.2021 Oğuzhan Saltık Pass Valid values entered.
DE.PR.IN.02 H 26.05.2021 Oğuzhan Saltık Pass Warning message about the value being invalid showed up.
DE.SB.BT.01 H 26.05.2021 Oğuzhan Saltık Pass Success message is shown under the button.
DE.SB.BT.02 H 26.05.2021 Oğuzhan Saltık Pass Error message is shown under the button.
TC ID Priority Date Run Run By Result Explanation
AD.US.AD.01 H 26.05.2021 Oğuzhan Saltık Pass New user created.
AD.US.AD.02 H 26.05.2021 Oğuzhan Saltık Pass “Please correct the error below” message showed up.
AD.US.UP.01 L 26.05.2021 Oğuzhan Saltık Pass “The user was changed successfully.” message showed up.
AD.US.UP.02 H 26.05.2021 Oğuzhan Saltık Pass “Please correct the error below” message showed up.
AD.US.DL M 26.05.2021 Oğuzhan Saltık Pass “The user was deleted successfully.” message showed up.
AD.LC.AD.01 H 26.05.2021 Oğuzhan Saltık Pass “The location was added successfully.” message showed up.
AD.LC.AD.02 H 26.05.2021 Oğuzhan Saltık Pass “Please correct the error below” message showed up.
AD.DT.UP.01 M 26.05.2021 Oğuzhan Saltık Pass Admin updated the data.
AD.DT.UP.02 H 26.05.2021 Oğuzhan Saltık Pass “Please correct the error below” message showed up.
AD.DT.DL M 26.05.2021 Oğuzhan Saltık Pass “The data was deleted successfully.” message showed up.

Summary of Test Results

All of the test cases have been executed and evaluated.

Priority Number of TCs Executed Passed
High 34 34 34
Medium 4 4 4
Low 6 6 6
Total 44 44 44

Exit Criteria

Criteria Result
%100 of the test cases are executed Met
%95 of the test cases are passed Met
All High (H) and Medium (M) priorities of test cases passed Met

REFERENCES

⚠️ **GitHub.com Fallback** ⚠️