Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing GeoNode instances #120

Open
amyburness opened this issue Sep 10, 2024 · 5 comments
Open

Testing GeoNode instances #120

amyburness opened this issue Sep 10, 2024 · 5 comments
Assignees
Labels
📆 8 - 12 hours I’m going to need about a day and a half to do this.

Comments

@amyburness
Copy link

We need to test the following on the 3 subscription types of GeoNode and report back on the findings.

1. Functional Testing
Data Upload and Management:

  • Test uploading various geospatial data formats (e.g., shapefiles, GeoJSON, GeoTIFF, KML).
  • Ensure metadata is correctly captured and editable.
  • Check the versioning of datasets.
    Data Visualization:
  • Confirm that layers are correctly visualized on the map.
  • Test the styling options (e.g., symbology, color schemes).
  • Verify that layers can be overlaid and combined correctly.
    Search and Filter:
  • Test the search functionality for datasets based on keywords, metadata, and location.
  • Verify filtering options to narrow down search results.
    User Management:
  • Test user roles and permissions (e.g., admin, editor, viewer).
  • Verify that users can be created, modified, and deleted.
  • Check the collaboration features, such as sharing datasets with specific users or groups.
    Map Composer:
  • Test the creation and publication of maps using different layers.
  • Verify map export options (e.g., PDF, PNG).
  • Ensure that embedded maps work correctly on external websites.
    API Testing:
  • Test the GeoNode API for uploading, downloading, and querying data.
  • Ensure API endpoints are functioning as expected.
    Interoperability:
  • Verify the integration with external services (e.g., WMS/WFS services, GeoServer).
  • Test compatibility with GIS tools (e.g., QGIS, ArcGIS).
    2. Performance Testing
    Load Testing:
  • Simulate multiple users uploading and accessing datasets simultaneously.
  • Measure the response time for various operations (e.g., data upload, map rendering).
    Scalability:
  • Test how the system handles increasing amounts of data and users.
    Latency:
  • Measure the time it takes for data to be retrieved and displayed on the map.
    Resource Usage:
  • Monitor CPU, memory, and storage usage under different loads.
    3. Security Testing
    Authentication and Authorization:
  • Test login mechanisms (e.g., username/password, OAuth).
  • Verify that users cannot access data or functions beyond their permissions.
    Data Security:
  • Test data encryption during upload/download.
  • Ensure secure communication between the client and server (e.g., HTTPS).
    Vulnerability Scanning:
  • Perform scans to detect common vulnerabilities (e.g., SQL injection, XSS).
    Backup and Recovery:
  • Test backup processes for datasets and configurations.
  • Verify that data can be restored from backups.
    4. Usability Testing
    User Interface:
  • Test the ease of navigation within the GeoNode interface.
  • Check for consistency and clarity in UI elements.
  • Verify that help and documentation are easily accessible and understandable.
    Accessibility:
  • Ensure the platform is accessible to users with disabilities (e.g., screen reader compatibility).
    5. Integration Testing
    GeoServer Integration:
  • Verify the seamless integration between GeoNode and GeoServer.
    Third-Party Services:
  • Test integration with external GIS services and databases (e.g., PostGIS).
    6. Compliance Testing
    Standards Compliance:
  • Verify compliance with OGC standards (e.g., WMS, WFS, CSW).
  • Ensure metadata standards are met (e.g., ISO 19115).
    7. Localization and Internationalization
    Language Support:
  • Test the platform's ability to switch between different languages.
    Date/Time Formats:
  • Ensure correct formatting according to the locale.
    8. Backup and Disaster Recovery
    Backup Testing:
  • Verify that backups can be created and restored without data loss.
    Disaster Recovery:
  • Test the recovery process after a simulated failure or data corruption.
@Jeremy-Prior
Copy link

Jeremy-Prior commented Sep 12, 2024

We need to test the following on the 3 subscription types of GeoNode and report back on the findings.

1. Functional Testing

Data Upload and Management:

  • Test uploading various geospatial data formats (e.g., shapefiles, GeoJSON, GeoTIFF, KML).
    - The size1 site sometimes crashes when trying to view newly uploaded datasets (on the upload screen, if the user clicks view one the uploaded data then the site crashes) Size1 no longer available
  • Ensure metadata is correctly captured and editable.
  • Check the versioning of datasets.

Data Visualization:

  • Confirm that layers are correctly visualized on the map.
  • Test the styling options (e.g., symbology, colour schemes).
  • Test uploading styles to various layers
  • Verify that layers can be overlaid and combined correctly.
  • Test GeoStory Creation
    GeoStories can be created, saved and shared using different permissions
    testing-geostory1

Search and Filter:

  • Test the search functionality for datasets based on keywords, metadata, and location.
  • Verify filtering options to narrow down search results.

User Management:

  • Test user roles and permissions (e.g., admin, editor, viewer).
  • Verify that users can be created, modified, and deleted.
  • Check the collaboration features, such as sharing datasets with specific users or groups.

Map Composer:

  • Test the creation and publication of maps using different layers.
  • Verify map export options (e.g., PDF, PNG).
    Error occurs when trying export a map, additionally only PDF is available as a format choice: Error_on_printing_Error.txt
    image
  • Ensure that embedded maps work correctly on external websites.

API Testing:

  • Test the GeoNode API for uploading, downloading, and querying data.
    The suggested basic auth method in the documentation works but is longer than using a curl command:
    image
    Using token example is a bit more challenging as it is not clear what token needs to be generated/provided in the command:
    image
    curl commands return results when structured correctly:
    image
    Upload works using example command in documentation with basic auth:
    image
    Download still untested due to being unable to set up a working command.
  • Ensure API endpoints are functioning as expected.

Interoperability:

  • Verify the integration with external services (e.g., WMS/WFS services, GeoServer).

  • Test compatibility with GIS tools (e.g., QGIS, ArcGIS).

    Using this link: https://size2.sta.do.kartoza.com/geoserver/ows in QGIS, WMS, WFS layers are rendered in QGIS without any errors produced.
    image
    image

2. Performance Testing

Load Testing:

  • Simulate multiple users uploading and accessing datasets simultaneously.
  • Measure the response time for various operations (e.g., data upload, map rendering).

Scalability:

  • Test how the system handles increasing amounts of data and users.

Latency:

  • Measure the time it takes for data to be retrieved and displayed on the map.

Resource Usage:

  • Monitor CPU, memory, and storage usage under different loads.

3. Security Testing

Authentication and Authorization:

  • Test login mechanisms (e.g., username/password, OAuth).
  • Verify that users cannot access data or functions beyond their permissions.

Data Security:

  • Test data encryption during upload/download.
  • Ensure secure communication between the client and server (e.g., HTTPS).

Vulnerability Scanning:

  • Perform scans to detect common vulnerabilities (e.g., SQL injection, XSS).

Backup and Recovery:

  • Test backup processes for datasets and configurations.
  • Verify that data can be restored from backups.

4. Usability Testing

User Interface:

  • Test the ease of navigation within the GeoNode interface.
  • Check for consistency and clarity in UI elements.
  • Verify that help and documentation are easily accessible and understandable.
    • The help documentation in GeoNode is easily accessible and available
      image

Accessibility:

  • Ensure the platform is accessible to users with disabilities (e.g., screen reader compatibility).

5. Integration Testing

GeoServer Integration:

  • Verify the seamless integration between GeoNode and GeoServer.

Third-Party Services:

  • Test integration with external GIS services and databases (e.g., PostGIS).

6. Compliance Testing

Standards Compliance:

  • Verify compliance with OGC standards (e.g., WMS, WFS, CSW).
  • Ensure metadata standards are met (e.g., ISO 19115).
    • Metadata form for both documents and layer follows the ISO 19115
      image

7. Localization and Internationalization

Language Support:

  • Test the platform's ability to switch between different languages.
    • The platform is able to switch between languages, but not all the text changes
      image

Date/Time Formats:

  • Ensure correct formatting according to the locale.
    If a user views the information of a dataset on the dataset visualisation page, the time is correct (i.e. GMT +2):
    image
    However, if the user views the entire metadata for the layer, the time defaults back (i.e. to GMT):
    image

8. Backup and Disaster Recovery

Backup Testing:

  • Verify that backups can be created and restored without data loss.

Disaster Recovery:

  • Test the recovery process after a simulated failure or data corruption.

@seabilwe
Copy link

seabilwe commented Sep 16, 2024

1. Functional Testing

Testing Area Task Status Image/Screenshot
Data Upload and Management Upload various geospatial data formats (e.g., shapefiles, GeoJSON, GeoTIFF, KML). 🟢 The size1 site sometimes crashes when trying to view newly uploaded datasets (on the upload screen, if the user clicks view one the uploaded data then the site crashes) Size1 no longer a site
Ensure metadata is captured and editable. 🟢
Check dataset versioning. 🟢
Data Visualization Confirm correct layer visualization on the map. 🟢
Test styling options (e.g., symbology, colour schemes). 🟢
Test uploading styles to various layers 🟢
Test GeoStory creation 🟢
Verify layers can be overlaid and combined. 🟢
Search and Filter Test dataset search by keywords, metadata, and location. 🟢
Verify filtering options. 🟢
User Management Test roles and permissions (e.g., admin, editor, viewer). 🟢
Verify user creation, modification, and deletion. 🟢 : Users can register accounts, Admin can modify accounts and delete users
Check dataset sharing with users/groups. 🟢
Map Composer Test map creation and publication with different layers. 🟢
Verify map export options (e.g., PDF, PNG). 🔴 : Error occurs when trying export a map, additionally only PDF is available as a format choice: Error_on_printing_Error.txt image
Ensure embedded maps work on external websites. 🟠 : Unable to test
API Testing Test GeoNode API for uploading, downloading, and querying data. 🟠 Simple get queries and upload queries work, however the documentation for how to download datasets do not explain enough to yield viable tests
Ensure API endpoints function as expected. 🟢 : if a user utilises the correct the end points function as expected
Interoperability Verify integration with external services (e.g., WMS/WFS, GeoServer). 🟢 Using this link: https://size2.sta.do.kartoza.com/geoserver/ows in QGIS, WMS, WFS layers are rendered in QGIS without any errors produced. image
Test compatibility with GIS tools (e.g., QGIS, ArcGIS). 🟢 Using this link: https://size2.sta.do.kartoza.com/geoserver/ows in QGIS, WMS, WFS layers are rendered in QGIS without any errors produced. image

2. Performance Testing

Testing Area Task Status Image/Screenshot
Load Testing Simulate multiple users uploading and accessing data. 🟠
Measure response time for operations (e.g., uploads, map rendering). 🟢 : Seems good from the user's side (may depend on the user's bandwidth). A baseline may need to be established.
Scalability Test system performance with increased data and users. 🔴
Latency Measure data retrieval and display time on the map. 🟢 : Using the inspect tool in browsers, the responses were timely (may depend on the user's bandwidth). A baseline may need to be established.
Resource Usage Monitor CPU, memory, and storage usage under load. 🔴

3. Security Testing

Testing Area Task Status Image/Screenshot
Authentication & Authorization Test login mechanisms (e.g., username/password, OAuth). 🟢
Ensure users cannot access unauthorized data or functions. 🟢
Data Security Test data encryption during upload/download. 🟢
Verify secure communication (e.g., HTTPS). 🟢
Vulnerability Scanning Perform scans for vulnerabilities (e.g., SQL injection, XSS). 🔴
Backup and Recovery Test dataset and configuration backups. 🔴
Verify data recovery from backups. 🔴

4. Usability Testing

Testing Area Task Status Image/Screenshot
User Interface Test ease of navigation in GeoNode. 🟢
Check consistency and clarity of UI elements. 🟢 : Having gone through site for many hours, no noticeable variations in UI elements
Verify help and documentation accessibility. 🟢 The help documentation in GeoNode is easily accessible and available image
Accessibility Ensure compatibility with screen readers for users with disabilities. 🟢 : Tested with accessibility settings on Linux and Windows, worked on both systems. Differing accessibility applications may affect user's experience though.

5. Integration Testing

Testing Area Task Status Image/Screenshot
GeoServer Integration Verify seamless integration with GeoServer. 🟢 : Connection between GeoNode and GeoServer works, applicable changes on either side reflect on the other.
Third-Party Services Test integration with external GIS services/databases (e.g. PostGIS). 🔴

6. Compliance Testing

Testing Area Task Status Image/Screenshot
Standards Compliance Verify compliance with OGC standards (e.g., WMS, WFS, CSW). 🟢
Ensure metadata standards (e.g., ISO 19115). 🟢 Metdata form for documents and layers follows the ISO 19115 image

7. Localization & Internationalization

Testing Area Task Status Image/Screenshot
Language Support Test platform language switching. 🟠 The platform is able to switch between languages, but not all the text changes image
Date/Time Formats Ensure correct locale-based formatting. 🟠 If a user views the information of a dataset on the dataset visualisation page, the time is correct (i.e. GMT +2): image However, if the user views the entire metadata for the layer, the time defaults back (i.e. to GMT): image

8. Backup & Disaster Recovery

Testing Area Task Status Image/Screenshot
Backup Recovery Verify creation and restoration of backups without data loss. 🔴
Disaster Recovery Test recovery processes. 🔴

@amyburness
Copy link
Author

@Jeremy-Prior and @seabilwe is this finished?

@amyburness amyburness added the 📆 8 - 12 hours I’m going to need about a day and a half to do this. label Sep 19, 2024
@Jeremy-Prior
Copy link

@amyburness we’ve completed the testing. The remaining tasks are primarily for DevOps to handle, such as load testing, which we’re unable to do on our end.

  • Red items are for DevOps.
  • Green items are completed and tested.
  • Yellow items are issues we've encountered that may require DevOps' attention.

If any of the issues are resolved, please let us know so we can retest and update the status in the table. For now, testing is complete unless there are new developments.

CC: @seabilwe

@seabilwe
Copy link

@LokoMoloko98 please have a look at the list above and check out the item from the list that you tested so that we know what still needs testing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📆 8 - 12 hours I’m going to need about a day and a half to do this.
Projects
None yet
Development

No branches or pull requests

4 participants