Sunteți pe pagina 1din 99

CyberGIS

ECY6489 Group Project (Final report)

Department of Electrical & Computer Engineering Faculty of Engineering Technology The Open University of Sri Lanka

September 2011

CyberGIS

Undergraduate Final project Report Submitted in partial fulfillment of the requirements for the Degree of Bachelor of Software Engineering in Department of Electrical & Computer Engineering The Open University of Sri Lanka

Supervisors Dr. L.S.K Udugama Dr. Uditha Ratnayake Mr.Chaminda Anandasiri

Project Group M.S.R Perera<209087374> D.S Kulasuriya<709087412> W.M.DJeewantha<509087436>

September 2011

Acknowledgement
We would like to thank our head of department Dr.L.S.K Udugama and our project supervisor Dr. (Mrs.) Uditha Rathnayake for their valuable guidance & advice. Also we would like to thank our parents for their support, encouragement and belief. We highly appreciate the support given by our employers and project heads by providing the industry exposure and study leaves. Finally we would like to thank all other parties for their support at least by an encouraging word.

Abstract
The main purpose of this project was to fulfill the credit requirement of ECY6489 module under the Bachelor of Software Engineering Degree. The goal of this project was to take the existing GIS based solution to the next level by providing more features and make more beneficial for potential geographically distributed domains. In this CyberGIS system we achieved this goal by introducing customizable domain maps, reporting and analysis features, and mobile based capabilities.

ii

Table of Contents
CHAPTER NO. TITLE PAGE NO.

acknowledgement abstract list of tables list of figures list of abbreviations 1. 2. INTRODUCTION LITERATURE SURVEY 2.1 Similar Systems 2.2 Theoretical Background 2.3 Required Components 3. PROPOSED METHOD 3.1 Introduction 3.2 System Requirements 3.3 Main Components and Flow 3.4 Project Plan and Approach 4. 5. 6. 7. 8. DESIGN OF SOFTWARE FABRICATION OF SOFTWARE TESTING AND IMPLEMENTATION RESULTS CONCLUSION AND FUTURE WORK 8.1 CyberGIS GUI Module. 8.2 CyberGIS Mobile Component. 8.3 CyberGIS Service Module. 9. PROJECT CONTRIBUTIONS 9.1 Project Contribution by: M.S.R Perera <209087374> 9.2 Contribution by: D.S Kulasuriya<709087412> 9.3 Contribution by: W.M.D.R Jeewantha<509087436> REFERENCES

I II VI VII VIII 1 2 2 3 3 4 4 4 7 8 11 23 25 35 36 36 37 37 38 38 39 40 41
iii

APPENDIX Appendix A Use case Diagrams Appendix A1 CyberGIS Admin User Use Case Diagram Appendix A2 CyberGIS Operative User Use Case Diagram Appendix B Class Diagrams Appendix B1 CyberGIS Mobile Component Class Diagrams Appendix B1.i GUI Package Appendix B1.ii Service Package Appendix B1.iii . Core Package Appendix B1.iv . Constants And Param Package Appendix B2 CyberGIS Service Module Class Diagrams AppendixB2.i:The RMI DTO Package Appendix B2.ii Service DTO Package Appendix B2.iii Business Logic Package Appendix B2.iv. JPA Package Appendix B2.v .Web Service Package Appendix B2.vi . Utility Package Appendix B3 CyberGIS GUI Module Class Diagrams Appendix B3.i . Logic Package Appendix B3.ii Service Package Appendix B3.iii. Param Package. Appendix B3.iv . MDB package Appendix B3.v . Filter Package Appendix B3.vi Utility Package. Appendix B3.vii . Test Package Appendix C Sequence Diagrams. Appendix C1: Add Domain Map Marker Appendix C2: Close Domain Map Marker Appendix C3: Create Snap shot Appendix C4: Generate CyberGIS Report Appendix C5: Send Operative Location Update Appendix C6: Send Operative Message Appendix C7: View Operative Message History Appendix C8: Send Operative Message Notification Appendix C9: View Current Operative Location On Map Appendix C10: Timeout CyberGIS Operative Message Appendix C11: Add Domain User Appendix C12: Login CyberGIS User Appendix D Activity Diagram Appendix D1: Load Main Console

42 42 42 43 44 44 44 45 46 47 48 48 49 50 51 52 53 54 54 55 56 56 56 57 58 59 59 60 61 62 63 64 65 65 66 67 68 69 70 70
iv

Appendix D2: Display Operative location Appendix D3: Add New Map Marker Appendix D4: Close Map Marker Appendix D5: Edit Map Marker Appendix D6: Send Operative Message Appendix D7: Load Main Console Appendix D8: Add New User Appendix E ER Diagram Appendix F Screen Designs Appendix F1: CyberGIS Main Console Appendix F2: CyberGIS Login Dialog Appendix F3: CyberGIS New Marker Dialog Appendix F4: CyberGIS New User Dialog Appendix F5: CyberGIS Map Marker Panel Appendix F6 : CyberGIS Report Wizard Dialog Appendix F7: CyberGIS Operative Message Dialog Appendix F8: CyberGIS Operative Message History Dialog Appendix F9: CyberGIS Mobile Login Appendix F10: CyberGIS Mobile Main Screen Appendix F11: CyberGIS Mobile Task List Appendix F12: CyberGIS Mobile Task Details Appendix F13: CyberGIS Mobile Task Notification Appendix F14: CyberGIS Mobile Task Status Update Appendix G : Test Cases

70 71 71 72 72 73 73 74 75 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82

List of Tables

Table ID Table 3.1 Table 3.2 Table 3.3 Table 6.1

Table Description Functional Requirements Project Deliverables Actual vs. Planned Severity Classification

Page No. 5 9 10 27

vi

List of Figures

Figure ID Figure 3.1 Figure 4.1 Figure 4.2 Figure 4.3 Figure 4.4 Figure 6.1

Figure Description CyberGIS System General Architecture CyberGIS Service Module High Level Design CyberGIS GUI Module High Level Design CyberGIS Mobile Module High Level Design Test Deliverables

Page No. 7 11 12 17 20 26

vii

List of Abbreviations
Abbreviations AJAX API DB GIS GUI IDE J2ME JMS JPA JSF mbps ORM OS QA RMI SRS UI URL WTK XML Description Asynchronous JavaScript And XML Application Programming Interface Data Base Geographic Information System Graphical User Interface Integrated Development Environment Java 2 Mobile Edition Java Messaging Services Java Persistent API Java Server Faces Mega Bits per Second Object Relational Mapping Operating System Quality Assurance Remote Method Invocation System Requirement Specification User Interface Universal Resource Locator Wireless Tool Kit Extensible Markup Language

viii

CHAPTER 01 INTRODUCTION
The CyberGIS system is designed based on the vision make use of existing GIS data providers and expand that technology into new levels, that the society can make more use of it in their domains. So we proposed and developed a web based system that users of this system can tag their geographically distributed domain entities on a map, customize these entity details and, store and share them only among other required and authorized parties within the domain. At the time when we were proposing the CyberGIS system there were GIS Systems either that required high GIS and mapping knowledge which bit complex (ESRI ArcGIS) or very simple with few functionalities (Google Map). Very Complex GIS Systems avoided the wide and general use by many potential domains as high costs, requirement of GIS professional and less usability. On the other hand very simple GIS Systems did the same thing by not providing authorized and secure data access, less customizability and no reporting and analysis features. As a solution to this problem we developed the CyberGIS system with capabilities as mapping entities, manipulating entity data, mobile operative command, reporting and analysis while ensuring customizability, usability, security and performance. So we would like to believe the CyberGIS is a concept rather than a system that will grow into higher levels that will help potential geographically distributed domain to store, track and coordinate their distributed entities and facts. Also this concept will assist decision making and planning by providing reporting and analysis capabilities.

CHAPTER 02 LITERATURE SURVEY


A GIS is a system that incorporates software, hardware, and data for collecting, managing, analyzing, and portraying geographically referenced information. It allows the user to view, understand, manipulate, and visualize data to reveal relationships and patterns that solve problems. The user can then present the data in easily understood and disseminated forms, such as maps, reports, or charts (http://www.gis.com/content/whatgis, 2011).

2.1 Similar Systems


During our literature survey of similar systems we studied about Google Maps (maps.google.com, 2010) and ESRI ArcGIS (http://www.esri.com/, 2010). Google Maps is a web based GIS system that built on HTML and Java scripts. They use spatial map data and satellite imagery that is provided by various authorities such as NASA, Tele Atlas, Map Link, Europa Technologies, etc They provide mapping data free for web based non commercial use, but charged for commercial use. When we compare CyberGIS system with Google maps, CyberGIS is also developed on Google Maps API and then inherited the features of it. But in the CyberGIS we tried to overcome the Google Maps disadvantages by providing features such as private and authenticated data domains, map data customization, storage and manipulation of offline map data, time series analysis and reporting of stored map data. But in the CyberGIS we have left to implement map data search and route finding features which is drawbacks form Google Maps (http://code.google.com/apis/maps/documentation/javascript/, 2010). ESRI ArcGIS from the other hand is a complete desktop based GIS suite that provides very complex functionalities. They also provide private and secure data access, customization of domains, data analysis and reporting. But ArcGIS has its disadvantage by been a very high rated license product and required specialized GIS professionals to map data in to the system and design and customize the system for private domain use.
2

But it has advantages over the CyberGIS by having a high feature set, engineering and architect level standards and its offline map storage (ESRI, 2002). But the CyberGIS system introduces a new level of features by providing mobile operative command and feedback, and real time mobile operative tracking which makes this a unique product.

2.2 Theoretical Background


During the literature survey of the theoretical background we did look into mainly two GIS information providers and they are: 1. Open Street Map: http://www.openstreetmap.org/ 2. Google Maps: http://maps.google.com/ After reviewing the above two external GIS providers we decided to go with Google Map V3 API due to their reliability, quality of map imagery /choices of different map image types as : hybrid ,satellite and their array of functions provided by them Free or charge (http://code.google.com/apis/maps/documentation/javascript/, 2010). We studied time series analysis techniques used in Statistics for the implementation of the CyberGIS analysis features (SPIEGEL, 1961).

2.3 Required Components


During the literature survey of the required software components of the project weve decided to choose the spring framework as our base enterprise we framework for building our business logic on. Other than spring we will be using the Java Persistence API (JPA) and Oracle (toplink) ORM for database access and database manipulation. For the mobile operative end user component of the CyberGIS system weve used the Java J2ME technology. Also we used Primefaces API to use with JSF because of its easy and high end look and feel UI component set (www.Primeface.org, 2010). Also in combination with that we used Java managed beans to implement the CyberGIS GUI module

CHAPTER 03 PROPOSED METHOD


3.1 Introduction
The CyberGIS system is basically provides the GIS solution with extended functionalities. The system will provide customizable web based domain maps. The system creates domains for separate users which are working with controlled and highly secured access to the CyberGIS web service. So a particular user can only access to their domain and view maps for their domain. Users can manage their domains as they want using granted access rights and customized capabilities. As any other GIS system, CyberGIS will provide the basic map operations like Search for locations, Find location using latitude and longitude, Zoom In and Zoom Out, Scroll the map, View location names and tags, Show Roads and Railways. Other than to these, users can create any tags, markers and locations as related to their business requirements. Those remarks are only visible to those particular domain users only. Past records are kept with the system for each user and can be retrieved as statistics in any situation. Those details are highly secured and provide controlled access. Those statistics are available to management decision making and planning processes of the clients.

3.2 System Requirements


System requirements for the CyberGIS system basically divided into two categories as functional requirements and non functional requirements. More details can be found in CyberGIS System Requirements Specification document.

Functional requirements:Title System Customization. Description User of the CyberGIS system will have private domains. So the users should be able to customize these domains as they want by defining data within it. Provide Map Information. CyberGIS system should provide basic map information as map details, marker details. Live and Updated Information. CyberGIS system should display live data feed by the domain users and mobile operatives as well as updates from map data providers. Statistics and Historical Data Analysis. CyberGIS system should support statistical analysis of stored data in the domain databases. Data Archival and Retention. Data input by the domain users as well as mobile operatives should be stored within the domain databases. Also transaction history should keep in the DB. User Profiles, Roles and Privileges. Domain user should be divided into several access levels on their roles and privilege. These access levels should be authenticated in order to access to the system. Reporting. CyberGIS system should support generation of reports based on stored data in the domain databases. Mobile Operative Command CyberGIS system should be capable of communicating with mobile operative using CyberGIS mobile component via internet.

This includes sending messages with map data to the operatives as well as gets feedbacks from them. Real-time Operative Tracking. CyberGIS system should be capable of tracking mobile operatives using built-in GPS devices on their mobiles. Table 3.1 Functional Requirements Non Functional Requirements:Non functional requirements are discussed under following categories. Please refer CyberGIS System Requirements Specification document. Performance and Load Requirements. Compatibility Requirements. External Interface Requirements. User Interfaces Requirements. Communications Interfaces Requirements. Security and Authentication requirements. Quality Assurance Requirements Development Requirements. Deployment Requirements Special Documentation Requirements Applicable Standards Requirements. Usability Requirements.

3.3 Main Components and Flow


The work flow of the CyberGIS system is illustrated in the following Figure 3.1. According to that there are main two components of the system. 1. Main console. 2. Mobile Device. The main console will get the map data by an existing map data provider like Google Maps. Those map data are displayed on the main console. Users can add customized domain markers on the map by specifying marker details. Those markers represent some domain entity or fact and marker data are saved on a database. So users can view saved markers on the map, manipulate marker details, generate historic trend reports and pattern analysis using stored data. There are registered domain operatives with the system and as they login with their mobile devices main console users can retrieve details of those operatives on the main map. This also allows the users to send messages to a selected operative via web with map instructions. So operatives can view those messages and send response feedbacks to main console that can be view by the users.

DB

Main Console

WEB

Mobile Device

GPS Device

User GIS Map provider

Operative

Figure 3.1 CyberGIS System

3.4 Project Plan and Approach


The project approach is based on the agile methodology and MSF (Microsoft Framework) and it allows requirement, environment and technological changes to reflect within product releases. CyberGIS is developed using the various tools chose by us and we consider free and open source software and tools. These tools include Eclipse and NetBeans IDEs for development, Tomcat server technology for deployment, MySQL for DB deployment and various 3rd party java tools, plug-ins and web services as required. Also JAVA and JSF with Primefaces API are used as the programming technologies. Then Google Map API and services are used for GIS manipulation. Also SVN is used for release management and version control. The project team consists of 3 members with initial roles but all were working on each role as required. Project plan consists all the project activities, schedule and deliverables of the project. Project activities are basically encapsulated as project deliverables and delivered in several phases. Also project plan is subdivided into several sub plans for each category. More details on this topic can be found in CyberGIS Master Project Plan document. Development Plan. Test Plan. Communication plan. Deployment plan. Training plan. Support plan. Purchasing & Facilities Plan. Budget plan.

Code CG1.1.1 CG1.1.2 CG1.1.3 CG1.2.1 CG1.2.2 CG1.2.3 CG1.2.4 CG1.2.5 CG1.3.1 CG1.3.2 CG1.4.1 CG1.4.2 CG1.4.3 CG1.4.4 CG1.4.5 CG1.4.6 CG1.4.7 CG1.5.1

Deliverable Vision document Project structure document Milestone review report Master project plan Functional specification Deployment plan Test plan Test specification Develop internal releases Traceability Audit document Functional testing UI stabilizing System testing Pre-production testing Release candidates User acceptance testing Testing and Bug Report Project Close-Out Report Table 3.2 Project Deliverables

Phase Envision

Plan Build Stabilize Close out

Code

Deliverable

Planned (hr.)

Actual (hr.) 6 13 6 14 100 8 4 44 535 13 43 38 29 3 16 31 903

Variance (hr.) +1 -2 +1 -1 -20 -2 -1 +4 +15 -2 +3 +8 -11 -2 -4 +21 +8

CG1.1.1 CG1.1.2 CG1.1.3 CG1.2.1 CG1.2.2 CG1.2.3 CG1.2.4 CG1.2.5 CG1.3.1 CG1.3.2 CG1.4.1 CG1.4.2 CG1.4.3 CG1.4.6 CG1.4.7 CG1.5.1

Vision document Project structure document Milestone review report Master project plan Functional specification Deployment plan Test plan Test specification Develop internal releases Traceability Audit document Functional testing UI stabilizing System testing User acceptance testing Testing and Bug Report Project Close-Out Report

5 15 5 15 120 10 5 40 520 15 40 30 40 5 20 10 Totals 895

Table 3.3 Actual vs. Planned

10

CHAPTER 04 DESIGN OF SOFTWARE

Figure 4.1 General Architecture


Overview of the CyberGIS General Architecture

When designing the CyberGIS System weve decided to choose the spring framework as our base enterprise we framework for building our business logic on. Other than spring we will be using the Java Persistence API (JPA) and Oracle (toplink) ORM for database access and database manipulation. For the mobile operative end user component of the CyberGIS system weve used the Java J2ME technology. The two web modules of the Cybergis GUI module and the CyberGIS service module will be hosted in the Apache Tomcat server 7.0.12 and the J2ME application will be run (for the development phase) on the sun java j2me standard development kit version 3.0. If the take the individual components of the cybergis system they could be mainly divided into 03 major modules. They are:

11

1. CyberGIS Service Module. 2. CyberGIS GUI Module. 3. CyberGIS Mobile Component.


CyberGIS Service Module High Level Design

Figure 4.2 CyberGIS Service Module High Level Design.

The CyberGIS Service Module is the Heart or the Central Hub of the entire cybergis application. It contains all the business logic classess, the JPA layer classes used to perform database operations using the ORM framework and manages the three JMS messages queues. The CyberGIS Service Module exposes its methods to be called by other modules by using Java RMI and SOAP based Document+Literal Style web services.
12

If we take a closer look at the CyberGIS Web Service Module It Consist of several packages and each of those packages consist of several classes. Therefore for us to be able to explain the entire system in a simple manner weve divided the class diagrams by their packages and presented below using their class names. For detailed information of each of the classes in the packages mentioned below please refer the appropriate appendix mentioned beside the classes.
i. The RMI DTO Package

These are the DTO classes that are responsible for transporting data via Java RMI between the CyberGIS GUI module and the CyberGIS Service Module. These classes are all serializable classes that support sending data through the wire/network in distributed applications. For a detailed inside look at these classes please refer to the diagram on Appendix B2.i.

13

ii. Service DTO Package

This set of classes is the DTO classes that are used to transfer data between the CyberGIS Service module and the CyberGIS mobile component using DOCUMENT+LITERAL style web services. These classes are all serializable classes that support sending data through the wire/network in distributed applications. For a detailed inside look at these classes please refer to the diagram on Appendix B2-ii.

iii. Business Logic Package

The Classes in this package are responsible for implementing the business logic of the CyberGIS system. The following diagrams show those classes with their respective hierarchies. For a detailed inside look at these classes please refer to the diagram on Appendix B2-iii.

14

iv. JPA Package.

These are the classes responsible for performing the database related operations using the JPA through the toplink ORM framework. Each of the following classes represent a single database table in the cybergis system. For a detailed inside look at these classes please refer to the diagram on Appendix B2-iv.

v. Web Service Package These are the set of classes responsible for implementing the web service component of the CyberGIS service module. This service module is mainly responsible for operations that occur between the cybergis mobile client and the cybergis web service module. For a detailed inside look at these classes please refer to the diagram on Appendix B2-v.

15

vi. Servlet Package. This is the package where the servlet responsible for retrieving the messages in the message queue by the mobile client. Due to the limitations in the J2ME web services api the J2ME mobile component of the cybergis system used this servlet to retrieve the messages in the cybergis operator message queue in xml format.

vii. Utility Package This is the package where all the utility classes responsible for all the cybergis operations are found. These classes are centrally defined in the utility package as the functionality of the classes are universally accessed by almost all the other classes in the cybergis service module packages. For a detailed inside look at these classes please refer to the diagram on Appendix B2.vi.

16

Figure 4.3 CyberGIS GUI Module High Level Design.


CyberGIS GUI Module High Level Design

This module provides the HTTP web interface of the cybergis system. This module allows the cybergis administrative user to centrally administer the cybergis system using a web based gui interface. As depicted in the above diagram the CyberGIS GUI module has its own business logic calling/processing classes for the GUI level rendering and calling the business logic in the CyberGIS Service module via RMI. The CyberGIS GUI module also has the receiving ends of two JMS messaging queues to receive CyberGIS Operative Location updates and CyberGIS Message Status Updating JMS Queues. If we take a closer look at the CyberGIS GUI Module It Consist of several packages and each of those packages consist of several classes. Therefore for us to be able to explain the entire system in a simple manner weve divided the class diagrams by their packages and presented below using their class names. For detailed information of each of the classes in the packages mentioned below please refer the appropriate appendix mentioned beside the classes.
17

i. Logic Package This package contains cybergis business logic that has no database interaction what so ever and have been implemented on the GUI side in order to reduce the response time due to RMI call delays. For a detailed inside look at these classes please refer to the diagram on Appendix B3-i.

ii. Service Package This package consist of the CyberGIS GUI module classes that are used to communicate with the service module and call the business logic method of the cybergis service module via RMI calls. For a detailed inside look at these classes please refer to the diagram on Appendix B2-ii.

iii. Param Package. This package consists of the parameter classes used in the cybergis gui module. For a detailed inside look at these classes please refer to the diagram on Appendix B3-iii.

18

iv. MDB package This package consists of the JMS message queue front end classes that receive messages from the JMS queues and process them. For a detailed inside look at these classes please refer to the diagram on Appendix B2-iv.

v.Filter Package This package consists of the classes that are used for user authentication and authorization filtering done throughout the application. For a detailed inside look at these classes please refer to the diagram on Appendix B3-v.

vi. Utility Package. This package contains the classes with the utility functions that are used throughout the cybergis gui application. For a detailed inside look at these classes please refer to the diagram on Appendix B3-vi.

vii. Test Package. This package consists of the unit testing classes used for unit testing the CyberGIS GUI module level business logic implementations. For a detailed inside look at these classes please refer to the diagram on Appendix B2-vii.

19

CyberGIS Mobile Component High Level Flow

Figure 4.4 CyberGIS Mobile Module High Level Design


This is the natively running J2ME application component of the CyberGIS System. The above diagram shows the basic flow of this mobile application. This component will communicate with the Cybergis service module using the HTTP and via DOCUMENT+LITERAL Style web service calls. If we take a closer look at the CyberGIS Mobile Componet It Consist of several packages and each of those packages consist of several classes. Therefore for us to be able to explain the entire system in a simple manner weve divided the class diagrams by their packages and presented below using their class names. For detailed information of each of the classes in the packages mentioned below please refer the appropriate appendix mentioned beside the classes.

20

i. GUI Package. This package contains the main GUI design class of the Mobile Application. For a detailed inside look at these classes please refer to the diagram on Appendix B1.i.

ii. Service Package This package consists of the classes that the CyberGIS mobile component uses to communicate with the CyberGIS web service via web service and HTTP calls. For a detailed inside look at these classes please refer to the diagram on Appendix B1-ii.

iii. Core Package This package consists of the core business logic classes that implement the business logic inside of the CyberGIS mobile component. For a detailed inside look at these classes please refer to the diagram on Appendix B1-iii.

21

iv. Constants Package. This package consists of the constants class used right throughout the cybergis mobile application component. . For a detailed inside look at these classes please refer to the diagram on Appendix B1.iv.

v. Param Package This package consists of the parameter classes used by the CyberGIS Mobile application component. . For a detailed inside look at these classes please refer to the diagram on Appendix B1.iv.

22

CHAPTER 05 FABRICATION OF SOFTWARE


For the development of the software weve used java as the core development language. All the components & technology frameworks used are mainly core java based implementations. When writing the software the 03 main software components of the system were used the following technologies and software to come up with a distributed web based cybergis software solution. Client Browser We could use any type of latest client browser like google chrome or IE7 to use the administrative web component of the cybergis system. HTTP/HTTPS Network The CyberGIS system is currently available via both HTTP network. And in the future it will support HTTPS based networking. Web Application Server The web application server used in developing the CyberGIS system is the apache tomcat 7.0.12 web application server. For our system weve configured this application server to have ActiveMQ embedded inside the application server. Database Server The Database server used in the CyberGIS system is the mysql database server. Integrated Development Environments The Intergrated Development Environments.NetBeans with J2ME development plugn & Eclipse have been for developing the cybergis system. Web Framework The Web framework used is the Spring Web framework to develop this system.
23

GUI Development Framework The GUI development framework used in the CyberGIS is called the primefaces (www.primefaces.org). This is a is a lightweight open source component suite for Java Server Faces 2.0 featuring 100+ rich set of JSF components. ORM Framework The ORM framework used in developing the CyberGIS System is the toplink oracle orm with the Java JPA framework.

24

CHAPTER 06 TESTING AND IMPLEMENTATION


Test Objectives
A primary objective of testing the system is to assure that the system meets the full requirements, including quality requirements (Non-functional requirements) and fit metrics for each quality requirement and satisfies the use case scenarios and maintain the quality of the product. At the end of the project development cycle, the user should find that the project has met or exceeded all of their expectations as detailed in the requirements. Any changes, additions, or deletions to the requirements document, Functional Specification, or Design Specification will be documented and tested at the highest level of quality allowed within the remaining time of the project and within the ability of the test team. The secondary objective of testing the system will be to identify and expose all issues and associated risks, communicate all known issues to the project team, and ensure that all issues are addressed in an appropriate matter before release. As an objective, this requires careful and methodical testing of the application to first ensure all areas of the system are scrutinized and, consequently, all issues (bugs) found are dealt with appropriately.

Assumptions for the Test Execution


For User Acceptance testing, the Developer team has completed unit, system and integration testing and met all the Requirements (including quality requirements) based on Requirement Traceability Matrix. User Acceptance testing will be conducted by End-users Test results will be reported on daily basis using reports. Failed scripts and defect list from reports with evidence will be sent to Developer directly. Use cases have been developed by Adopters for User Acceptance testing. Use cases are approved by test lead. Test scripts are developed and approved. 25

Test Team will support and provide appropriate guidance to Adopters and Developers to conduct testing Major dependencies should be reported immediately after the testing kickoff meeting.

Test Deliverables
Testing will provide specific deliverables during the project. These deliverables fall into three basic categories: Documents, Test Cases / Bug Write-ups, and Reports. Here is a diagram indicating the dependencies of the various deliverables:

Requirements [PM]

Test Case Results

Bug Results

Project Plan [PM]

Test Plan

Test Spec. / Outline

Test Cases

Bugs

Functional Spec [PM]

Detailed Design [Dev]

TC Coverage Reports Figure 6.1 Test Deliverables

Bug Reports

As the diagram above shows, there is a progression from one deliverable to the next. Each deliverable has its own dependencies, without which it is not possible to fully complete the deliverable.

Bug Classification Strategy


Bug Severity and Priority fields are both very important for categorizing bugs and prioritizing if and when the bugs will be fixed. The bug Severity and Priority levels will be defined as outlined in the following tables below. Testing will assign a severity level to all bugs. The Test Lead will be responsible to see that a correct severity level is assigned to each bug.

26

The Test Lead, Development Lead and Program Manager will participate in bug review meetings to assign the priority of all currently active bugs. This meeting will be known as Bug Triage Meetings. The Test Lead is responsible for setting up these meetings on a routine basis to address the current set of new and existing but unresolved bugs. Severity Severity Severity Description ID 1 Level Critical The module/product crashes or the bug causes non-recoverable conditions. System crashes, GUI Faults, or database or file corruption, or potential data loss, program hangs requiring reboot are all examples of a Severity. 1 bug. 2 High Major system component unusable due to failure or incorrect functionality. Severity. 2 bugs cause serious problems such as a lack of functionality, or insufficient or unclear error messages that can have a major impact to the user, prevents other areas of the app from being tested, etc. Severity. 2 bugs can have a work around, but the work around is inconvenient or difficult. 3 Medium Incorrect functionality of component or process. There is a simple work around for the bug if it is Severity. 3. 4 Minor Documentation errors or signed off severity 3 bugs.

Table 6.1 Severity Classification Test Coverage Unit Test Unit testing was carried out for each component in the CyberGIS GUI application and Mobile Client Application and for each service module in the web service.

27

Regression Test Regression testing was carried out to verify that any changes done as a bug fix will not affect the functionalities of the working components. Every time when we make bug fix we did the regression testing to all the system components. System Test The System tests will focus on the behavior of the CyberGIS system. User scenarios will be executed against the system as well as screen mapping and error message testing. Overall, the system tests will test the integrated system and verify that it meets the requirements defined in the requirements document.
Performance Test

Performance test will be conducted to ensure that the CyberGIS systems response time meet the user expectations and does not exceed the specified performance criteria. During these tests, response times will be measured under heavy stress and/or volume. Compatibility Test Compatibility testing was carried out to check the application compatibility with the browsers since the application is fully web based and check other software and hardware compatibility constraints. Stress and Volume Test We will subject the CyberGIS system to high input conditions and a high volume of data during the peak times. The System will be stress tested using twice (5 users) the number of expected users. Security Test Security tests will determine how secure the new CyberGIS system is. The tests will verify that unauthorized user access to confidential data is prevented.

28

Test cases are written and executed manually for the GUI and Mobile applications and automated test cases are used to test the service module. As results of the testing phase we generated the Test Case documents with the results and identified bugs. Implementation of the system mainly focuses on database implementation and application implementation. We used MySQL server as our database engine. So we need to implement the database in either the application server or a separate server. Application server needs tomcat server service to implement the Cyber GIS application. For the mobile clients we provide a separate executable .jar file to install in to the mobile device which may implement the CyberGIS application in the devices. When the tomcat server which contains the application and web service started, Users are imposed to the CyberGIS application. They can access the application console through any web browser through a provided URL. (i.e. http:// 127.0.0.1:8080/gis-app/) System Performance In software engineering, performance testing is testing that is performed, to determine how fast some aspect of a system performs under a particular workload. It can also serve to validate and verify other quality attributes of the system, such as scalability, reliability and resource usage. With related to performance testing there are few other types of tests which are correlated with it. Load Testing Load testing is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the application under a specific expected load. This load can be the expected concurrent number of users on the application performing a specific number of transactions within the set duration. This test will give out the response times of all the important business critical transactions. If the database and application server are also monitored, then this simple test can itself point towards any bottlenecks in the application software.

29

Stress Testing Stress testing is normally used to understand the upper limits of capacity within the application landscape. This kind of test is done to determine the application's robustness in terms of extreme load and helps application administrators to determine if the application will perform sufficiently if the current load goes well above the expected maximum. Endurance Testing (Soak Testing) Endurance testing is usually done to determine if the application can sustain the continuous expected load. During endurance tests, memory utilization is monitored to detect potential leaks. Also important, but often overlooked is performance degradation. That is, to ensure that the throughput and/or response times after some long period of sustained activity are as good as or better than at the beginning of the test. It essentially involves applying a significant load to a system for an extended, significant period of time. The goal is to discover how the system behaves under sustained use. Spike Testing Spike testing, as the name suggests is done by spiking the number of users and understanding the behavior of the application; whether performance will suffer, the application will fail, or it will be able to handle dramatic changes in load. Performance Measures Concurrency/Throughput Server response time Render response time Performance specifications

30

Performance Testing Methodology We have followed the following activities to conduct the performance testing:

Identify the Test Environment.

We have to identify our test environment first. We havent hosted the site in a real time application server. So we are unable to test some parts of the application with real working environment. So need to use simulators to simulate the system and test those components. Apache tomcat 7.0.12 is our application server. CyberGIS GUI module and web service modules are deployed on apache tomcat server. To test the CyberGIS mobile client we have used Remote Device Access provided by Nokia Developers as the simulator for mobile device. (http://www.developer.nokia.com/Devices/Remote_device_access/ ) As the network connection, mobile broadband connection is used with 3.2 mbps bandwidth. All types of web browsers available are taken as software. We used the available resources up to maximum level for testing. Having a thorough understanding of the entire test environment at the outset enables more efficient test design and planning and helps you identify testing challenges early in the project. In some situations, this process must be revisited periodically throughout the projects life cycle.

Identify Performance Acceptance Criteria.

The acceptance criteria for the CyberGIS are to provide a response time less than 30 seconds for any operation of functionality, allow concurrency access to the system for 100 mobile users and 10 administrative users. Message queue should capable of handling 1000 messages in the queue till message delivery. Expected throughput for the mobile operative message sending should be delivering 30 messages per minute. Zero down time should be maintained to provide efficient performance.

31

Plan and Design Tests.

Tests should design to check the following: - Check the loading time of any web page Allow concurrency access of 10 administrative users and 100 mobile users Send operative messages to the concurrent users within 30 seconds Check the network delays Stress handle In message queue Hardware or software failure handling Load balancing

For the above tests we defined the test data with 12 operative users, 36 mobile users, 840 map markers, 8 snap shots and 1290 operative messages with 210 responses. All administrative users and mobile operative users are going to use the system concurrently, 840 markers to be located in the map, 1290 operative messages to be delivered to mobile users and 910 feedbacks to be received during tests. There should be metrics to collect the responses for the page loading time, operative message delivery time, operative response receiving time, network delays and load and stress measures.

Configure the Test Environment.

To prepare the test environment, first we have to start the Apache tomcat application server and start the CyberGIS web module, GUI module and mobile client module. Then we need to start the web browsers and navigate to the application. Meanwhile the simulator should be started to test the mobile client. To measure the response time and other measurements we have to equipped with timers and calculators. Also other required resources should be properly allocated before executing the tests.

32

Implement the Test Design.

To measure the system performance we need to carry out the above mentioned Load testing, Stress testing, Soak testing and Spike testing. The goal is to identify the performance measures by conducting tests and measuring results and response times. We need to write a proper set of test cases to execute while testing. There is a set of manually written test cases and automated test cases (implemented using JUnit component) designed to test the system performance. Refer Appendix F for details.

Execute the Test.

We start the Apache tomcat server and deploy all three modules and create the test environment first. Administrative user login function for 12 users was carried out through several web browser instances. For mobile operative user login function, remote device access simulator was used provided by Nokia developers. Using several simulator instances we create 36 concurrent operative user logins. The logged in administrative users are assigned to add 840 map markers to make a huge load, stress and network traffic. Administrative users need to login again and load the added map makers. That is to check the page loading time. Also report generation wizard used to test the web page loading time. More administrative users are logged in to system and load the main panel at the same time to test the load balancing. 1290 operative messages were sent to 36 logged in mobile operative users by 12 administrative users consecutively within minutes. That is related to spike testing and stress testing. To check the response time mobile users are instructed to accept the messages and send responses. While running the above test items we monitor outcomes and following results are observed: It is possible to concurrently use the system for more administrative users and operative users than expected. Simultaneous operations done by the administrative users were holds the maximum network bandwidth.
33

Same operation by multiple users at the same time (more than 10 occurrences) will cause to network delays exceeding 30 seconds. Web page load gives immediate response within 08 seconds and takes 40 seconds to finish loading all components of the map. (840 map markers) Report generating wizard takes 24 seconds to respond with such amount of markers and 12 concurrent requests. While increasing the concurrent users than the expected level, page load time increases than performance specifications. (Load balancing takes place) Operative message takes 05 seconds to reach the destination. Responses for the operative messages received in 03 seconds. Message queue was able to handle 15 messages per minute when it exceeds expected queue length. Messages without accepted by mobile users are waiting in the queue more than 15 minutes and holds the resources. Throughput for browsing a web page with concurrent access is around 25 seconds. Failure in application software (web browser) will lose all non saved data with it.

Analyze Results, Tune, and Retest.

After collecting results for the tests, we have to analyze them and make some adjustments to improve the performance of some sections. Obviously we have to do a code change since we are unable to go beyond the recommended hardware or software configurations. To provide a response within 30 seconds, we changed the map zoom level in 12 as default. We have to timeout the mobile operative messages in the message queue if they are not accepted by mobile operators. This is to maintain the throughput. Providing a faster internet connection will keep the response time reduced. After doing changes we have to retest the functionality to check the improvements.

34

CHAPTER 07 RESULTS
As the results, we include the test results here. In all the test cases conducted through the testing phase about 85% of the tests are succeeded and only 15% of the tests come up with bugs. Please refer the table in Appendix F for details. Expected results of the test cases are appeared as the actual results. So the status of the test is Pass. Out of the bugs found, we have immediately fixed 80% of bugs which are highly related to functional and performance indices of the application. We are more focused on test results which are in Fail status with having high test priority when resolving the bugs immediately. There are few things remained found as minor issues and we need to address those as future works since those are currently not affected to the system performance and functionalities. At the end we found that all Unit testing, System Testing, Regression Testing, Performance Testing, Compatibility Testing and Security Testing which we have completed are succeeded. With the test results we can come to a conclusion that systems functional and non functional requirements are addressed properly.

35

CHAPTER 08 CONCLUSION AND FUTURE WORK


8.1 CyberGIS GUI Module.
The following features and functionalities have been identified as future works under the CyberGIS GUI module. Marker Proximity Ruler and Alerter :By the "Ruler" feature CyberGIS main console users will be able to measure the distance to each marker (including mobile markers) from a specified central origin point. So CyberGIS main console users will be able to specify the central point and get updated proximity measurement according to that. By the "Alerter" feature CyberGIS main console users will be able to view the details of markers, within a specified proximity circle from a specified central origin point. Both these features will work as a single unit. Automatic Real Time Operative Tracking :Currently operative tracking is not fully automated and the CyberGIS main console users have to refresh the operative location in order to get the update location. By this proposed feature operative tracking will be fully automated and updated locations will be refreshed on the CyberGIS main console map in a specified time intervals. Hardware Sensor Based Real Time Telemetry :By this functionality it is proposed to gather various data required by domain users through hardware sensors, attached to CyberGIS Mobile component and send them to the CyberGIS main console for real time monitoring. So the CyberGIS GUI module will include a dashboard component in order to support this feature.

36

8.2 CyberGIS Mobile Component.


In the future the system is expended to be expanded by porting the J2ME client software to newly available high end mobile phone operating systems like: Android & iPhone. Currently it supports all Symbian OS based mobile phones like S40 6th Edition & S60 3rd Edition Phones. Other than this we wish to expand the service end by adding a

dashboard for live monitoring services where the user will be able to monitor live statistics about the current functionality of the system.

8.3 CyberGIS Service Module.


As a conclusion we can say that, CyberGIS Service Module maintains the connectivity between Cyber GIS application and database. All user requests and operations are addressed through service methods provided in this module. Code optimization and further expansions of the available services can be done as the future works. The objective of this is to reduce the resources usage by the application during the execution. More code level validations can be implemented to provide additional security to the system. We are focusing to make the system available with live statistics with the use of service module improvements.

37

CHAPTER 09 PROJECT CONTRIBUTIONS


9.1 Project Contribution by: M.S.R Perera <209087374>
As the architect of the entire project Ive contributed to the CyberGIS project in doing the following: 1. Using the business scenarios /requirements given by Roshan (The person playing the project manager role) come up with a suitable architecture for the entire system. 2. Decide a suitable Java Based Technology stack for the CyberGIS system. 3. Create the initial 03 projects using the decided technology stacks by configurations and ensure the Spring based web flow between the initially created 03 projects. (i.e.: As the project is distributed system with 03 modules to make sure the request response flow works correctly via RMI & Web service interfaces between the modules) 4. Contributed in designing and implementing the CyberGIS Mobile Client Software from ground up. 5. Contributed in designing and implementing the GUI parts related to sending CyberGIS operative messages and receiving responses. 6. Contributed in writing all the Web Service Methods and exposing them via correct document + literal style web services to be called by the mobile client. 7. Provided Technical support and guidance for the team members (Roshan & Sanjeewa) in configuring the application server, implementing various business logic related GUI/Service parts & technical advice on the used Java Related technology stack. 8. Documented the CyberGIS project related architecture design diagrams (general architecture, ER-diagrams & Class diagrams).

38

9. Did Integration testing & bug fixing on all 03 modules upon various commits on different modules by the other two team members & ensured that the system was working smoothly as a whole 10. Facilitated the stream line distributed development process by creating the project in the Google SVN and providing software and support for the team to work with the SVN.
11. Prepared necessary project documents under the software architect role for each

milestone.

9.2 Contribution by: D.S Kulasuriya<709087412>


I have contributed to the CyberGIS project as the QA lead for my main role in the project and as a developer in following areas. 1. Contributed to develop the Login, password resetting and User Administration parts of the CyberGIS GUI module. 2. Design and implement the changes done to the basic database according to the Project Architectures requests and generate RMI objects to which are used to maintain the communication between Web Service and other modules. 3. Implement the service methods according to the requests of the GUI and Mobile Client developers. Services are developed on demand separately to access the database and feed or retrieve data according to the user request or operation. 4. Implement test cases to unit test each service methods to verify the operation results before releasing the service method for use by developers. 5. Improve the session tracking mechanism developed by Shehan, to maintain user login and domain details. Use the same session tracking mechanism to allow direct access the password reset component. 6. Completed the project documents related to QA. (Test Plan, Test Specification) Also contributed to document the SRS document, Functional Specification and Deployment Plan. 7. Test all the components of the CyberGIS GUI module for unit testing, security testing, & performance testing and includes the results as the Test Case
39

Document. All the service methods in the CyberGIS Service module are gone through unit testing before release for use.
8. Contribute to system development and bug fixing activities with Project

Managers request.

9.3 Contribution by: W.M.D.R Jeewantha<509087436>


As the Project Manager Ive contributed to the CyberGIS project in doing the following: 1. Played the Project manager role. 2. Proposed the main concept of the CyberGIS system. 3. Developed the vision and goals that the CyberGIS system based on. 4. Designed the conceptual level components and the main workflow of the CyberGIS system and refined it with system architects technical opinions. 5. Designed GUI Interfaces for both CyberGIS mobile and CyberGIS main console (CyberGIS GUI module) components and fine-tuned the all GUI implementations. 6. Developed CyberGIS main console (CyberGIS GUI module) GUI framework using JSF (Java Server Faces) with Primefaces component library. 7. Implemented the map and marker manipulation functionalities, and reporting and analysis functionalities on CyberGIS main console as Java Backing Beans and helper classes. 8. Developed Unit Test cases and performed unit testing for CyberGIS GUI module class methods using JUnit. 9. Implemented RMI Service module methods for reporting functionalities. 10. Developed Test cases and performed unit testing for RMI Service module methods for reporting functionalities using JUnit. 11. Prepared necessary project documents under the project manager role for each milestone.

40

REFERENCES
ESRI. 2010. ESRI home page. [Online]. Available at: http://www.esri.com/ [Accessed 10 October 2010]. Google Maps. 2010. Google Maps home page. [Online]. Available at: http:// maps.google.com/ [Accessed 05 October 2010]. Google Maps API. 2010. Google Maps API home page. [Online]. Available at: http://code.google.com/apis/maps/documentation/javascript/ [Accessed 20 October 2010]. Wikipedia. 2011. Tracking Analyst and Tracking Server. [Online]. Available at: http://en.wikipedia.org/wiki/Geographic_Information_Systems_in_Geospatial_Intelligen ce#Tracking_Analyst_and_Tracking_Server. GIS.COM. 2011. What is GIS?. [Online]. Available at: http://www.gis.com/content/whatgis [Accessed 15 August 2011]. Open Street Map. 2010. Open Street Map home page [Online]. Available at: http://www.openstreetmap.org/ [Accessed 05 October 2010]. Open Street Map. 2010. Open Street Map home page [Online]. Available at: http://www.Primeface.org [Accessed 15 December 2010]. Spiegel, M.R, 1961.Theory and Problems of Statistics. McGraw-Hill.

41

APPENDIX
Appendix A Use case Diagrams Appendix A1 CyberGIS Admin User Use Case Diagram

42

Appendix A2 CyberGIS Operative User Use Case Diagram

43

Appendix B Class Diagrams Appendix B1 CyberGIS Mobile Component Class Diagrams Appendix B1.i GUI Package

44

Appendix B1.ii Service Package

45

Appendix B1.iii . Core Package

46

Appendix B1.iv . Constants And Param Package

47

Appendix B2 CyberGIS Service Module Class Diagrams AppendixB2.i:The RMI DTO Package

48

Appendix B2.ii Service DTO Package

49

Appendix B2.iii Business Logic Package

50

Appendix B2.iv. JPA Package

51

Appendix B2.v .Web Service Package

52

Appendix B2.vi . Utility Package

53

Appendix B3 CyberGIS GUI Module Class Diagrams Appendix B3.i . Logic Package

54

Appendix B3.ii Service Package

55

Appendix B3.iii. Param Package.

Appendix B3.iv . MDB package

Appendix B3.v . Filter Package

56

Appendix B3.vi Utility Package.

57

Appendix B3.vii . Test Package

58

Appendix C Sequence Diagrams. Appendix C1: Add Domain Map Marker

59

Appendix C2: Close Domain Map Marker

60

Appendix C3: Create Snap shot

61

Appendix C4: Generate CyberGIS Report

62

Appendix C5: Send Operative Location Update

63

Appendix C6: Send Operative Message

64

Appendix C7: View Operative Message History

Appendix C8: Send Operative Message Notification

65

Appendix C9: View Current Operative Location On Map

66

Appendix C10: Timeout CyberGIS Operative Message

67

Appendix C11: Add Domain User

68

Appendix C12: Login CyberGIS User

69

Appendix D Activity Diagram Appendix D1: Load Main Console

Appendix D2: Display Operative location

70

Appendix D3: Add New Map Marker

Appendix D4: Close Map Marker

71

Appendix D5: Edit Map Marker

Appendix D6: Send Operative Message

72

Appendix D7: Load Main Console

Appendix D8: Add New User

73

Appendix E ER Diagram

74

Appendix F Screen Designs Appendix F1: CyberGIS Main Console

Appendix F2: CyberGIS Login Dialog

75

Appendix F3: CyberGIS New Marker Dialog

Appendix F4: CyberGIS New User Dialog

76

Appendix F5: CyberGIS Map Marker Panel

Appendix F6 : CyberGIS Report Wizard Dialog

77

Appendix F7: CyberGIS Operative Message Dialog

Appendix F8: CyberGIS Operative Message History Dialog

78

Appendix F9: CyberGIS Mobile Login

Appendix F10: CyberGIS Mobile Main Screen

79

Appendix F11: CyberGIS Mobile Task List

Appendix F12: CyberGIS Mobile Task Details

80

Appendix F13: CyberGIS Mobile Task Notification

Appendix F14: CyberGIS Mobile Task Status Update

81

Appendix G : Test Cases


Test Case Id
01

Test Case Name


Login to System With Correct Data

Test Case Description


Test Login Component with providing Correct User Name & Password Test Login Component with providing Incorrect User Name or Password Test Login Component with providing blank User Name or Password Test Login Page Reset Component

Test steps step


1. Visit Login Page 2. Enter Username & Password 3. Click Login 1. Visit Login Page 2. Enter Username & Password 3. Click Login

Expected Result
Auto Navigation to Main Panel

Actual Result
Auto Navigation to Main Panel

02

Login to System With Incorrect Data

Message indicating Login Failed

03

Login to System With Blank Password

1. Visit Login Page 2. Click Login

Message indicating Values Required.

Message saying Incorrect User Name and/or Password. Login Failed. Please try again. Separate Messages for all blank fields indicating Values Required. Clear Username & Password Field Values. Navigation to Reset Password Page

04

Login Details Resetting

05

Test Forgot Password Link

06-a

Password Reset with Correct Data

Test Forgot Password Link navigates to the Reset Password page Test the Forgot Password component with providing correct Username, Email and Password

1. Visit Login Page 2. Enter Username &/or Password 3. Click Login 1. Visit Login Page 2. Click Forgot Password? Link 1. Visit Login Page 2. Click Forgot Password? Link 3. Enter Username, Email , New Password & Repeat New Password 4. Click Submit 1. Visit Login Page 2. Click Forgot Password? Link 3. Enter Username, Email, New Password & Repeat New Password 4. Click Submit

Clear Username & Password Fields. Navigation to Reset Password Page.

Prompt a Link to Navigate to Login Page again.

Message appears as Internal Error Occurs.

06-b

Password Reset with Correct Data

Test the Forgot Password component with providing correct Username, Email and Password

Prompt a Link to Navigate to Login Page again.

Link appears to Navigate to Login page

82

07

Test Password Reset New Password not correctly Repeated

Test the Forgot Password component with providing correct Username, Email. But new password is incorrectly repeated Test the Forgot Password component with providing incorrect Username and/or Email. But new password is correctly repeated. Test the Forgot Password component with providing blank Username, Email, New Password, and Repeat Password. Test the Forgot Password component Cancel Button Functionality.

08

Test Password Reset with Correct Username and/or Email

09

Test Password Reset with blank details.

1. Visit Login Page 2. Click Forgot Password? Link 3. Enter Username, Email, New Password & Repeat New Password 4. Click Submit 1. Visit Login Page 2. Click Forgot Password? Link 3. Enter Username, Email, New Password & Repeat New Password 4. Click Submit 1. Visit Login Page 2. Click Forgot Password? Link 3. Click Submit

Message indicating Password Mismatch.

Message appears indicating Password Mismatch. Please enter new Password.

Message indicating Incorrect Username/ Email.

Message appears indicating Either you have entered an invalid User Name or invalid E-Mail address .

Message indicating Values Required.

Separate Messages for all blank fields indicating Values Required.

10

Test Forgot Password Component Cancel Button

11-a

Test Password Reset Message Link

Test the link used to navigate to the Login Page, appears after Password Reset. Test the link used to navigate to the Login Page, appears after Password Reset.

11-b

Test Password Reset Message Link

1. Visit Login Page 2. Click Forgot Password? Link 3. Enter Username, Email, New Password & Repeat New Password 4. Click Cancel 1. Visit Password Reset Page 2. Enter correct details. 3. Click Submit 4. Click Cyber-GIS link in appeared page. 1. Visit Password Reset Page 2. Enter correct details. 3. Click Submit 4. Click Cyber-GIS link in appeared page.

Clear all Fields.

Clear Username, Email, New Password & Repeat New Password Field Values.

Navigation to the login page.

Session Expired Message appears.

Navigation to the login page.

User Login Page Appears.

83

12

Create New User with Correct Data

Test Add New User Functionality with providing all requested data

1. Visit Domain Message indicating Administration Panel Successfully saved. 2. Click Add Domain User 3. Enter User Name, Email, Contact Mobile, Contact Telephone, Company, Access Level, Password and Repeat Password. 4. Click OK 1. Visit Administration Message indicating Panel Values Required. 2. Click Add New User 3. Click OK without providing values for all fields.

Message appears Indicating Successfully saved.

13

Create New User with blank details.

14

Test Create New User Component Cancel Button

Test Add New User Functionality with providing one or more blank field values for User Name, Email, Contact Mobile, Contact Telephone, Company, Access Level, Password and Repeat fields. Test Create New User components Cancel Button Functionality.

Separate Messages for all blank fields indicating Values Required.

15

Test Home Page Link Test Sign-out Confirmation Response

16

17

Test Sign-out Cancel Response

18

Test Map Data Panel

1. Visit Administration Panel 2. Click Add New User 3. Enter User Name, Email, Contact Mobile, Contact Telephone, Company, Access Level, Password and Repeat Password. 4. Click Cancel Test the Navigation 1. Visit Main Console Button to Go to 2. Go Inside to panels. Home Page 3. Click Home Button Test the Navigation 1. Visit Main Console Button used to Sign 2.Click Signout Button Out from the system 3. Confirm the Logout with User response decision. Confirm. Test the Navigation 1. Visit Main Console Button used to Sign 2.Click Signout Button Out from the system 3. Cancel the Logout with User response decision. Cancel. Test Map Data Panel 1. Visit Main Console for updating with 2. Zoom or Change map map changes view

Clear all Fields.

Clear User Name, Email, Contact Mobile, Contact Telephone, Company, Access Level, Password and Repeat Password Field Values.

Loading Main Console Page. Navigate to Login page

Load the Main Console Page. Load the User Login Page.

Remain unchanged in No Change to the Main Console. Current page.

Update new Details in Map Data Display Tab

Zoom Level, Center Longitude and Center Latitude Updated in Map Data Display Section

84

19

Test Save Snap Shot Button

Test the functionality of Save Snap Shot Button in Map Data Panel

1. Visit Main Console Save Snap shot data 2. Visit Map Data in to Database Panel 3. Click Save Snapshot Button

20

Add New Marker Location with Data

Test Add New Functionality in Map Markers Section with Providing all data.

21

Add New Marker Location without Providing Data Test Add New Marker Location Component Cancel Button

22

23

Edit Map Markers with Data

24

Edit Map Markers with Blank Field Data

1. Visit Main Console 2. Click New in Map Markers Section 3. Enter Marker Title, Marker Address, Longitude, Latitude, Type, Status and Info values in the Dialog Panel Appeared 4. Click OK. Test Add New 1. Visit Main Console Functionality in Map 2. Click New in Markers Section Map Markers Section without providing all 3. Click OK. data. Test Cancel Button 1. Visit Main Console Functionality of 2. Click New in Add New Marker Map Markers Section Location 3. Enter Marker Title, Component. Marker Address, Longitude, Latitude, Type, Status and Info values 4. Click Cancel. Test Edit 1. Visit Main Console Functionality in Map 2. Double Click on a Markers Section for Marker Icon in the map a selected marker. view. 3. Click Edit in Map Markers Section 4. Modify relevant details in the Dialog Panel Appeared 5. Click Save. Test Edit 1. Visit Main Console Functionality in Map 2. Double Click on a Markers Section for Marker Icon in the map a selected marker view. providing Blank 3. Click Edit in Data. Map Markers Section 4. Clear field details in the Dialog Panel Appeared 5. Click Save.

New record added to the Snapshot Table with the details of Center Longitude & Latitude, Zoom level and makers Dialog Panel will Data saved in Close. Save Data in Marker Location to Database and View Table in Database Marker in the Map. and New Icon Added to the map view.

Message indicating Values Required.

Separate Messages for all blank fields indicating Values Required. Add New Marker Location Dialog closed and Data entered are cleared without saving.

Dialog Box will Disappear.

Dialog Panel will Close and Save Data in to Database. Update the Marker Icon according to Change.

Data Updated in Marker Location Table in Database and Marker Icon changed if type changed.

Message indicating Separate Messages Values Required for all blank fields except Address Field. indicating Values Required except Address Field.

85

25

Test Edit Marker Component Cancel Button

Test Cancel Button Functionality of Edit Map Markers Component

26

Test Focus in Map Markers

27

Test Close Marker Button

28

Message Mobile Operatives Component Send Message to selected users.

29

Message Mobile Operatives Component View History Button Test

1. Visit Main Console 2. Double Click on a Marker Icon in the map view. 3. Click Edit in Map Markers Section 4. Modify relevant details in the Dialog Panel Appeared 5. Click Cancel. Test the Focus 1. Visit Main Console Functionality in Map 2. Double Click on a Markers Section. Marker Icon in the map view. 3. Visit Map Markers Section 4. Click Focus. Test Close Marker 1. Visit Main Console Button Functionality 2. Double Click on a in Marker Icon in the map view. 3. Visit Map Markers Section 4. Click Close Marker Test the Send 1. Visit Main Console Message 2. Double Click on a Functionality to the Marker Icon in the map selected operators of view. Message Mobile 3. Visit Operatives Tasks and Alerts Panel Component 4. Click Message Mobile Operatives 5. Enter Message Header and Content 6. Select operatives from the available list to send the message 7. Click Send Message Test the View 1. Visit Main Console Message History 2. Double Click on a Functionality of Marker Icon in the map Message Mobile view. Operatives 3. Visit Component Tasks and Alerts Panel 4. Click Message Mobile Operatives 5. Select operatives from the available list 7. Click View History

Dialog Box will Disappear.

Edit Marker Location Dialog closed and Data entered are cleared without saving.

Map will focus to the Map focused to the Maker. given Marker by setting the marker longitude and latitude as the center. Status of the selected marker will change to Closed and Marker will remove from the Map Selected marker status changed to Closed (Need to refresh the page to remove the marker from the Map) Message will send to Message sent to the the mobile device of queue of the mobile the selected operators client to send to the operators and saved the message in the Database.

Display details of the Sent Messages to the selected operators in a Dialog Panel

Message details (Status, Time, Header, Operator) are listed in to a grid which are sent to the selected operators.

86

30

Test Operative Messages Status Update

Test the status auto update Functionality of Message Mobile Operatives Component

31

Message Mobile Operatives Component Cancel Button Test

32

Message Mobile Operatives Component Send Message without selecting operators

33

Test Reports Generation with custom selections

34

Report Console Marker Selection Functionality

1. Send a Message to an available operator. 2. View Message History of that operator. 3. View Message History again after 5 minutes. Test the Cancel 1. Visit Main Console Functionality of 2. Double Click on a Message Mobile Marker Icon in the map Operatives view. Component 3. Visit Tasks and Alerts Panel 4. Click Message Mobile Operatives 5. Enter Message Header and Content 6. Select operatives from the available list to send the message 7. Click Cancel Test the Send 1. Visit Main Console Message 2. Double Click on a Functionality Marker Icon in the map of Message Mobile view. Operatives 3. Visit Component without Tasks and Alerts Panel selecting operators 4. Click Message to send Mobile Operatives 5. Enter Message Header and Content 6. Select NO operatives from the available list. 7. Click Send Message Test the Report 1. Visit Main Console Generation 2. Visit Basic Settings Functionality with of Reports Panel custom selections 3. Select Graph Type, Time Unit, Range Mode, Time Slot and Fact Type from the Lists 4. Click OK Test Marker 1. Report Console by Selection providing selection Functionality of criteria to filter the Report Console markers. 2. Click on a Marker Icon in the Report Map.

Message status will change from In Queue to Timed Out.

Dialog Panel will Disappear.

Status of the message is changed to Timed Out if not viewed by operator. If viewed Status changed to Completed. Send Operative Messages Dialog closed and Data entered are kept with the dialog without saving.

No message will send No message sent to to anybody and the queue of the dialog will disappear. mobile Dialog closed and Data entered are kept with the dialog without saving to the Database.

Navigation to Report Console. Display filtered markers in the Report Map and Statistics in Report statistics area.

Marker details will fill to fields automatically.

Navigated to the Report Console. Report Map contains the markers according to the filtration. Report statistics contains the tabular and listed representation. Details of the selected marker are appeared in the Report Map Fields.

87

35

Report Console Focus Functionality

Test Focus Functionality of Report Console

36

Report Console Export Functionality

Test Export to PDF Functionality of Report Console

37

Report Console Graph Generation Functionality

Test Graph Generation Functionality of Report Console

1. Report Console by providing selection criteria to filter the markers. 2. Double Click on a Marker Icon in the Report Map. 3. Click Focus. 1. Report Console by providing selection criteria to filter the markers. 2. Visit Report statistics Panel. 3. Click Export to PDF Link. 1. Report Console by providing selection criteria to filter the markers. 2. Visit Report statistics Panel.

Report Map will focus to the Maker.

Report Map focused to the given Marker by setting the marker longitude and latitude as the center.

PDF Document will Create with Marker Details.

PDF Document Created with Marker Details filled in to a Data Grid.

Line graph generated Line graph in the Statistic Graph generated by area. selecting Time Slot as X axis and Fact Type Occurrences as Y axis. Navigation to the Main Console Page. Load the Main Console Page with default settings. User ID and Sub Domain values are Missing. Message appears indicating succeeded and Data saved in Domain Marker Table in Database. Separate Messages for all blank fields indicating Values Required.

38

Report Console Back Button Functionality

Test Back Button Functionality of Report Console

39

Add New Domain Marker with provided data

40

Add New Domain Marker without providing Data

41

Test Add New Domain Marker, Cancel Button

1. Report Console by providing selection criteria to filter the markers. 2. Visit Report Map. 3. Click Back button. Test Add New 1. Visit Main Console Domain Marker 2. Visit Functionality in Map Map Markers Section Markers Section 3. Enter Marker Type with Providing all and Marker Icon Name data. 4. Click OK. Test Add New 1. Visit Main Console Domain Marker 2. Visit Functionality in Map Map Markers Section Markers Section 3. Click OK. without providing all data. Test Add New 1. Visit Main Console Domain Markers 2. Visit Cancel Button Map Markers Section Functionality in Map 3. Enter Marker Type Markers Section. and Marker Icon Name 4. Click Cancel.

Message indicating Successfully saved and Save Data in to Database.

Message indicating Values Required.

Dialog Panel will Disappear.

Add New Domain Marker Dialog closed and Data entered are cleared without saving.

88

42

Browser Compatibility Test

Test the browser compatibility of the Cyber-GIS Application

43

Test Concurrency Access

1. Load the application in Internet Explorer 2. Visit the Main Console 3. Load the application in Mozilla Firefox 4. Visit the Main Console 5. Load the application in Google Chrome 6. Visit the Main Console Test the concurrency 1. Load the application use of the Cyberin Internet Explorer GIS Application. 2. Login to the system as User 01 3. Load the application in Mozilla Firefox 4. Login to the system as User 02 5. Load the application in Google Chrome 6. Login to the system as User 03

Load the main console in any of the browser.

Application loaded in Internet Explorer, Mozilla Firefox, Google Chrome browsers and main console page appeared. (Styles are loaded in slight differently.)

All users can work concurrent-ly

Users can login to the system any time and work separately without having effects or delays. (Same resource can be used concurrently)

89

S-ar putea să vă placă și