General

  • Tester: Christoph K with testuser_t@permaplant.net
  • Date/Time: 04.11.2024 14:00
  • Duration: 3h
  • Commit/Tag: 8a6d20667511b7017848913fed35efe93a310bcb
  • Setup: dev.permaplant
  • Planned tests: -63
  • Executed tests: -63
  • ✔️Passed tests: -62
  • ⚠️Problematic tests: -0
  • ❌Failed tests: -1

General Test Cases

  • Description: Show a selection of plants if the search input is empty.
  • Given I am on a map page with the plant layer active
  • When i click on the magnifying glass icon next to the 'Pflanzen' titel
  • When I have an empty search box
  • Then I can see various plants as results
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Heatmap

  • Description: Test whether the heatmap endpoints generates the image correctly.
  • Given I am on a map page with the plant layer active
  • When I start planting a plant
  • Then I see suitable places for that plant
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Layer opacity

  • Description: Check whether the opacity of a layer changes.
  • Given I am on a map page with a base layer image configured
  • When dragging the slider for the base layer in the layer section of the toolbar to 50%
  • Then I can see the change in opacity of the base layer image
  • When I change the size of the toolbar
  • Then I can see the slider and the filling change in size proportionally. Therefore 50% of the slider should be filled.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Base Layer

  • Description: Check whether the maps background image is displayed correctly.
  • Given I am on a map page with the base layer active
  • When I select a base layer image
  • Then I can see the base layer image on the canvas
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Base Layer: move image

  • Description: Check whether the maps background image is displayed correctly.
  • Given I am on a map page with the base layer active
  • When I select a base layer image
  • When I increase the base layers x position in steps of 1, 1.1 and 1.11 (or other decimal numbers)
  • Then I can see the base layer image is moved to the right
  • When I decrease the base layers x position in steps of -1, -1.1 and -1.11 (or other negative decimal numbers)
  • Then I can see the base layer image is moved to the left
  • When I increase the base layers y position in steps of 1, 1.1 and 1.11 (or other decimal numbers)
  • Then I can see the base layer image is moved up
  • When I decrease the base layers y position in steps of -1, -1.1 and -1.11 (or other negative decimal numbers)
  • Then I can see the base layer image is moved down
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Base Layer: autoscaling

  • Description: Check whether the maps background image is scaled according to distance entered.
  • Given I am on a map page with the base layer active
  • When I click on the autoscaling button
  • Then I am prompted to select two points with a known distance
  • When I click anywhere on the map inside the map bounds
  • Then a red dot indicating the selected position appears
  • When I select the end of the known distance
  • Then a second red dot indicating the second selected position appears and additionally a line connecting the dots appears
  • Then a window asking me to enter the selected real-life distance in meters and centimeters appears
  • When I enter the value(s) for the distance and click the ok button
  • Then the background image is correctly re-scaled to the distance shown in the grid
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Grid

  • Description: Display a point grid on the screen.
  • Given I am on a map page
  • When I Zoom in or out
  • Then the grid spacing is changing
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Map Editor Guided Tour

  • Description: Check whether the Guided Tour leaves the Map Editor in its original state.
  • Given I am on a map page
  • When I do the Guided Tour
  • Then after I have done the Guided Tour the map is the same as before
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes: Check if all actions can be done as described.

Additional name on map: plant labels

  • Description: Test additional names being displayed properly.
  • Given I am on the map page with the plants layer active
  • When I create a new plant from the inventory.
  • Then I can see the additional name on the label when hovering over the plant.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes: The additional name must also be visible when a different account views the same map in parallel.

Additional name on map: left toolbar

  • Description: Test additional names being displayed properly.
  • Given I am on the map page with the plants layer active
  • When I create a new plant from the inventory.
  • When I click on the new plant icon.
  • Then I can see the additional name in the left toolbars heading.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes: The additional name must also be visible when a different account views the same map in parallel.

Additional name on map: updates

  • Description: Test additional names being displayed properly.
  • Given I am on the map page with the plants layer active
  • When I create a new plant from the inventory.
  • When I go to the inventory page and change the seeds name.
  • Then I can see the changes in the plant label and left toolbar.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes: The additional name must also be visible when a different account views the same map.

Measurement: Measure a distance

  • Description: Test whether distance can be measured successfully
  • Given I am on a map page
  • When I click on the measurement button
  • When I measure a distance
  • Then I see a measurement line
  • Then I see the measured distance
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Measurement: Cancel measurement without deleting measurements

  • Description: Verify that measured distances don't disappear when the measurement mode is canceled using the button in the status panel.
  • Given I am on a map page
  • When I click on the measurement button
  • When I measure a distance
  • When I cancel the measurement mode using the status panel
  • Then the measurement layer is no longer active
  • Then I can still see the measured distance
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Measurement: Cancel measurement and delete all measurement lines

  • Description: Verify that measured distances disappear when the measurement mode is canceled using the measurement button.
  • Given I am on a map page
  • When I click on the measurement button
  • When I measure a distance
  • When I cancel the measurement mode using the measurement button in the toolbar
  • Then I can no longer see the measured distance
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Measurement: Delete measurements after measurement mode is deactivated

  • Description: Verify that measured distances don't disappear when the measurement mode is canceled using the button in the status panel.
  • Given I am on a map page
  • When I click on the measurement button
  • When I measure a distance
  • When I cancel the measurement mode using the status panel
  • When I click on the measurement button
  • Then I can no longer see the measured distance
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Map Overview: More than 30 Layers should be visible

  • Description: Test that pagination works on the map overview screen
  • Given I am on the map overview screen
  • When I create more than 30 maps
  • Then I can see all maps after scrolling to the bottom of the page.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:
  • Description: Appropriate maps should be displayed for each search term
  • Given I am on a map overview page
  • When I search for a map using the search field
  • Then the maps are filtered appropriately
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Map Deletion

  • Description: A map should no longer be available after it has been deleted.
  • Given I am on a map overview page
  • When I delete a map
  • Then the map is no longer available in the overview
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Seed creation

  • Description: Adding more entries to the inventory overview
  • Given I am logged in and have already added entries
  • When I submit the form for seed creation
  • Then I see my newly added entry in the overview
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Seed creation with more than 30 objects

  • Description: After creating 30 seeds, everything should be shown correctly on the overview page.
  • Given I am logged in and add 30 valid seeds.
  • When I go to my inventory
  • Then I see all my newly added seeds in the overview.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Edit seed name

  • Description: After renaming a seed, the new name should be visible in the seed overview.
  • Given I am logged in and edit a seed name.
  • When I go to my inventory
  • Then I see the new name of the edited seed.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Archive seed

  • Description: After archiving a seed, it should be removed from the overview or marked as archived
  • Given I am logged in and archive a seed.
  • When I go to my inventory
  • Then I don't see the archived seed anymore, or it is marked as archived.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Restore an archived seed

  • Description: After restoring an archived seed, it should be added to the overview again
  • Given I am logged in and visited the inventory page
  • When I archive a seed and then restore it
  • Then I see the restored seed again.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Heatmap

Heatmap Test Cases

Plant layer should be above heatmap

  • Description: Verify that the PLant Layer is above the Heatmap Layer
  • Given I am on a map page
  • When I place some tomatoes on the map
  • When I select a potato and try to place it near the tomatoes so that heatmap is shown
  • Then I can see that the heatmap is below the plants
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Change position of plant layer

  • Description: Verify that the heatmap changes its position when the plant layer is moved in priority
  • Given I am on a map page where plant layer is above an drawing layer
  • When I place some tomatoes on the plant layer
  • When I draw a filled rectangle on the drawing layer so that it overlaps with the tomatoes
  • When I select a potato and try to place it near the tomatoes so that heatmap is shown
  • Then I can see that the heatmap is below the plants and above the rectangle
  • When I move the plant layer below the drawing layer
  • Then I can see that the heatmap is below the rectangle and below the plants
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

All Shade types and Allium ursinum

  • Description: Verify heatmap colors for all three shade types for the plant named Wild garlic (Allium ursinum)
  • Given I am on a map where three shades are drawn with one being a light shade, one being a partial shade and one being a permanent shade
  • When I select the plant with the name "Allium ursinum" for planting in the plant layer
  • Then I can see that the heatmap shows green areas for all three shades
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

All Shade types and Allium pendulinum

  • Description: Verify heatmap colors for all three shade types for the plant named Allium pendulinum (Allium pendulinum)
  • Given I am on a map where three shades are drawn with one being a light shade, one being a partial shade and one being a permanent shade
  • When I select the plant with the name "Allium pendulinum" for planting in the plant layer
  • Then I can see that the heatmap shows two green areas for light and partial shades and red for the permanent shade
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

All Shade types and Malus domestica

  • Description: Verify heatmap colors for all three shade types for the plant named Apple (Malus domestica)
  • Given I am on a map where three shades are drawn with one being a light shade, one being a partial shade and one being a permanent shade
  • When I select the plant with the name "Malus domestica" for planting in the plant layer
  • Then I can see that the heatmap shows one green area for the light shade, orange for the partial shade and red for the permanent shade
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

All Shade types and Tomato

  • Description: Verify heatmap colors for all three shade types for the plant named Tomato
  • Given I am on a map where three shades are drawn with one being a light shade, one being a partial shade and one being a permanent shade
  • When I select the plant with the name "Tomato" for planting in the plant layer
  • Then I can see that the heatmap shows red areas for all three shades
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Negative temporal relation within min duration

  • Description: Verify heatmap colors for temporal relation between two plantings of "Allium cepa"
  • Given I am on a map where a planting of "Allium cepa" has existed 6 months ago (remove_date = current date - 6 Months)
  • When I select the plant with the name "Allium cepa" for planting in the plant layer
  • Then I can see that the heatmap shows a red indication on the spot the previous planting of "Allium cepa" has been
  • Actual Result: No red indication, no heatmap shadow.
  • Test Result: ❌
  • Notes: I planted a plant at 18.4.2025. I jump forward to 18.10.2025. I select the plant "Allium cepa" and the heatmap shows no red indication. BUT. i jump back to 18.4.2025 (1 day before planting) and select the plant "Allium cepa" and the heatmap shows a black indicatesion.

Negative temporal relation exactly at min duration

  • Description: Verify heatmap colors for temporal relation between two plantings of "Allium cepa"
  • Given I am on a map where a planting of "Allium cepa" has existed 1 year ago (remove_date = current date - 1 year)
  • When I select the plant with the name "Allium cepa" for planting in the plant layer
  • Then I can see that the heatmap shows an orange indication on the spot the previous planting of "Allium cepa" has been
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Negative temporal relation between min and max duration

  • Description: Verify heatmap colors for temporal relation between two plantings of "Allium cepa"
  • Given I am on a map where a planting of "Allium cepa" has existed 2 years ago (remove_date = current date - 2 years)
  • When I select the plant with the name "Allium cepa" for planting in the plant layer
  • Then I can see that the heatmap shows an orange indication on the spot the previous planting of "Allium cepa" has been
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Negative temporal relation within min duration

  • Description: Verify heatmap colors for temporal relation between "Allium fistulosum" and "Allium cepa"
  • Given I am on a map where a planting of "Allium fistulosum" has existed 5 months ago (remove_date = current date - 5 months)
  • When I select the plant with the name "Allium cepa" for planting in the plant layer
  • Then I can see that the heatmap shows a red indication on the spot the previous planting of "Allium fistulosum" has been
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Positive temporal relation within min duration

  • Description: Verify heatmap colors for temporal relation between plantings of "Allium sativum" and "Lactuca sativa"
  • Given I am on a map where a planting of "Allium sativum" has existed 6 months ago (remove_date = current date - 6 months)
  • When I select the plant with the name "Lactuca sativa" for planting in the plant layer
  • Then I can see that the heatmap shows a green indication on the spot the previous planting of "Allium sativum" has been
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Hydrology wet area and Great Water Dock

  • Description: Verify heatmap color for hydrology type wet for the plant named Great Water Dock (Rumex hydrolapathum)
  • Given I am on a map where a hydrology area is drawn with the type wet
  • When I select the plant with the name "Rumex hydrolapathum" for planting in the plant layer
  • Then I can see that the heatmap shows a green area for the hydrology area
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Hydrology wet area and Tomato

  • Description: Verify heatmap color for hydrology type wet for the plant named Tomato (Solanum lycopersicum)
  • Given I am on a map where a hydrology area is drawn with the type wet
  • When I select the plant with the name "Solanum lycopersicum" for planting in the plant layer
  • Then I can see that the heatmap shows a red area for the hydrology area
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes: The soil has to contain enough nutrients and be watered properly.

Soil texture sandy area and Tomato

  • Description: Verify heatmap color for soil texture type sandy for the plant named Tomato (Solanum lycopersicum)
  • Given I am on a map where a soil texture area is drawn with the type sandy
  • When I select the plant with the name "Solanum lycopersicum" for planting in the plant layer
  • Then I can see that the heatmap shows a green area for the soil texture area
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Soil texture clay area and Watermelon

  • Description: Verify heatmap color for soil texture type clay for the plant named Watermelon (Citrullus lanatus)
  • Given I am on a map where a soil texture area is drawn with the type clay
  • When I select the plant with the name "Citrullus lanatus" for planting in the plant layer
  • Then I can see that the heatmap shows a red area for the soil texture area
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Soil texture clay area and Cauliflower

  • Description: Verify heatmap color for soil texture type clay for the plant named Cauliflower (Brassica oleracea botrytis)
  • Given I am on a map where a soil texture area is drawn with the type clay
  • When I select the plant with the name "Brassica oleracea botrytis" for planting in the plant layer
  • Then I can see that the heatmap shows a green area for the soil texture area
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Occupied space with plants in the future

  • Description: Verify that the heatmap indicates an occupied space with black
  • Given I am on a map where any plant and an area of plants is planted
  • When I go into the past one day before these exist and select any plant for planting in the plant layer
  • Then I can see that the heatmap shows a black area on the spot these plants will be in the future
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Layer Management Test Cases

Initial Order of Layers

  • Description: Test initial order of layers
  • When I create a new map
  • Then Base Layer is at bottom of layer list and Plant Layer is on top of layer list
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Correct konva rendering of layer order on new map

  • Description: Test correct rendering order of konva layers.
  • Given I am on a new map
  • When I add a background image in Base Layer
  • When I add an overlapping rectangle in Drawing Layer
  • When I add an overlapping plant in plant layer
  • Then Plant in is front of rectangle and rectangle is in front of background image
  • Actual Result:
  • Test Result: ✔️
  • Notes: ✔️

Renaming of layer

  • Description: Test if Drawing Layer can be renamed.
  • Given I am on a new map
  • When I rename the Drawing Layer
  • Then The new name is visible in the layer list
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Creation of new layer

  • Description: Test if new layer can be created.
  • Given I am on a new map
  • When I select a layer and create a new one
  • Then The new layer is visible above currently selected layer
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Change order of layers

  • Description: Test if the order of layers can be updated correctly.
  • Given I am on a map with 2 drawing layers with overlapping rectangles
  • When I select the upper Drawing Layer and move it below the other one
  • Then The order in the layer list is updated and the rectangle of the new upper drawing layer is shown in front of the lower one on the map.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Delete Drawing Layer

  • Description: Test if Drawing Layer can be deleted
  • Given I am on a map with some drawing on a Drawing Layer.
  • When I delete the Drawing Layer
  • Then The layer disappears from layer list and drawings are deleted from map
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Deletion of Plant Layer not possible

  • Description: Test if deletion of Plant layer is disabled
  • Given I am on a new map.
  • When I select the Plant Layer
  • Then Button to delete layer is disabled
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Deletion of Base Layer not possible

  • Description: Test if Deletion of Base layer is disabled
  • Given I am on a new map.
  • When I select the Base Layer
  • Then Button to delete layer is disabled
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Undo deletion

  • Description: Test if deleted layer can be restored
  • Given I am on a map with some drawing on a drawing layer.
  • When I delete the drawing layer
  • Then Layer disappears from layer list and drawings are deleted from map
  • When I press undo
  • Then Layer appears again at same position as it was before deletion and drawings are visible again.
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Top layer cannot be moved up

  • Description: Test if the top layer cannot be moved up
  • Given I am on a new map.
  • When I select the top layer.
  • Then Button to to move layer up is disabled
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Bottom layer cannot be moved down

  • Description: Test if the bottom layer cannot be moved down
  • Given I am on a new map.
  • When I select the bottom layer.
  • Then Button to to move layer down is disabled
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Renaming of Plant Layer not possible

  • Description: Test if Renaming of Plant layer is not possible
  • Given I am on a new map.
  • When I select the Plant Layer
  • Then Button to rename layer is disabled
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Renaming of Base Layer not possible

  • Description: Test if Renaming of Base layer is not possible
  • Given I am on a new map.
  • When I select the Base Layer
  • Then Button to rename layer is disabled
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Read Only Test Cases

Go Offline

  • Description: Put Browser Offline
  • Given I am on a map
  • When I put the browser to the offline mode (Firefox: Alt, Datei -> Offline Arbeiten)
  • Then I see the message "You are offline. The read-only mode was activated." and everything but measurement is read-only (see other test cases).
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes:

Shade Layer Test Cases

Add Shading

  • Description: Add a new Shading to the map.
  • Given I am on the map page with the shade layer active
  • When I click on the 'Light' button
  • When I draw on the map
  • Then I can see that a new shading was added
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes: Repeat this test for all Shading types

Remove Shading

  • Description: Remove a Shading from the map.
  • Given I am on the map page with the shade layer active and a Shading is selected
  • When I click on 'Delete shading' in the left toolbar
  • Then I can see that a new shading was deleted
  • Actual Result: ✔️
  • Test Result: ✔️

Edit Shade Type

  • Description: Change the shade of a shading.
  • Given I am on the map page with the shade layer active and a Shading is selected
  • When I select different shade from the drop-down menu in the left toolbar
  • Then I can see that the shade is changed successfully
  • Actual Result: ✔️
  • Test Result: ✔️
  • Notes: select each shading type at least once

Set Creation Date in the Future

  • Description: Update the date from which the shading should be active
  • Given I am on the map page with the shade layer active and a Shading is selected
  • When I select the current date in the timeline
  • When I select a creation date in the future
  • Then I can see that the shading is no longer shown on the map
  • Actual Result: ✔️
  • Test Result: ✔️

Set Removal Date in the Future

  • Description: Update the date from which the shading should be active
  • Given I am on the map page with the shade layer active and a Shading is selected
  • When I select the current date in the timeline
  • When I select a creation date in the past
  • When I select a removal date in the future
  • Then I can see that the shading is shown on the map
  • Actual Result: ✔️
  • Test Result: ✔️

Set Removal date in the Past

  • Description: Update the date until which the shading should be active
  • Given I am on the map page with the shade layer active and a Shading is selected
  • When I select the current date in the timeline
  • When I select a creation date in the past
  • When I select a removal date in the past after the creation date
  • Then I can see that the shading is no longer shown on the map
  • Actual Result: ✔️
  • Test Result: ✔️

Closing remarks

  • How is the current state of the software?
    Solid. However, missing authenticated test users are causing some tests to fail. It was not possible to prepare a map with a background image as a test user.

  • Have the quality objectives been achieved?
    Yes.

  • What are the consequences drawn from the current state, including: how can future errors be avoided, how can the development process be improved?
    The main issue was with authentication for test users.
    To prevent this and improve the process, we should start automating E2E tests to reduce the growing number of manual tests.