PRE2017 3 Group 17 Test Cases
Layout with nodes
Below are a couple of very basic initial test layouts can be found. These layouts are used to test the parser, the model and the UI.
- Circles (or Nodes) represent the junctions in a building.
- Solid Circles (or solid Nodes) represent the beginning and end junction of the drone path.
- Solid lines between junctions (or Edges) represent the paths between junctions on the same floor.
- Dashed lines between junctions (or dashed Edges) represent paths between junctions on a different floor. For instance, an elevator shaft or staircase.
- Other solid lines represent walls. In the case that an edge passes a wall, there is an opening in that wall with sufficient space for a drone to fly through. For instance, a door or large window.
Test Case 1
Test 1 is simple test to check the basics of loading in an environment and nodes. Any path without self-loops from the start to the goal will be the shortest path.
Test Case 2
The test below was created to test an edge-case scenario, where the end node is not reachable. This test also illustrates very well that it is not desired that the drone simply flies back. In this case it is useful if the nearest node would become the final destination. "How does the drone choose these new final destinations", or "does the user himself need to pick a new reachable final destination for the system" are interesting questions that can be considered in this case.
Test Case 3
A simple test to see if a path can be found. In this case the path length from the final node to the destination node is larger than the Manhattan Distance between these nodes.
Test Case 4
Similar to Test Case 3 in the sense that the path distance from start node to end node is larger than the Manhattan Distance. This time this scenario is applied to a larger and more realistic building: one with a hallway.
Test Case 5
A test to see if boundaries are respected. However, since the drones follow the nodes this test case has less relevance.
Test Case 6
An example of how a circular building consists of nodes. Also a boundary case; depending on an algorithm's implementation it can get stuck on searching for the optimal path, since there are always combinations that cannot be scouted.
Test Case 7
A basic test case of how a path can be found on a building with multiple floors.
Test Case 8
Also a test case with mulitple floors, however, this time there are multiple paths:
- Stay on the same floor, but fly a longer path.
- Switch floors, but take a shorter path.
This test case is made to make us think about how we want to handle different floors. Do we always require the absolute shortest flight path, or do we take battery life into account, since lifting a heavy object requires more force than keeping it on the same floor.
Avoiding Obstacles and Actors
The drones should avoid actors and other obstacles. In case they detect one, they will pass that information to the model and ask it an alternative path to fly. These tests were performed in the main test building, rather than is multiple separate buildings as well. The main test building provided enough scenarios to test the drone-obstacle-human interaction and was already available once this testing-stage was reached, which is why smaller test cases like the ones above were not made for this part.