PRE2017 3 Group 17 Test Cases: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
(Image layout fixed. Test case Descriptions updated and/or extended)
Line 7: Line 7:
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.<br>
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.<br>


Test 1 is simple test to check the basics of loading in an environment and nodes.<br>
===Test Case 1===
[[File:Test1.jpg|thumb|alt=Test1.|The Palace of Westminster|upright=0.9|right|From the Thames]]
[[File:Test1.jpg|thumb|alt=Test1.|Testcase 1|upright=1.0|left|Test 1: Any Path]]
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 usefull if the nearest node would become the target. How does the drone choose these target nodes, or does the user need to pick a reachable target node for the system.<br>
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.
[[File:Test2.jpg]]<br><br>
<br><br><br><br><br><br><br>
A simple test to see if the optimal path was chosen.<br>
 
[[File:Test3.jpg]]<br><br>
===Test Case 2===
Another test to see if the optimal path was chosen.<br>
[[File:Test2.jpg|thumb|alt=Test2.|Testcase 2|upright=1.0|left|Test 2: Unreachable]]
[[File:Test4.jpg]]<br><br>
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.
A test to see if boundaries are respected. However, since the drones follow the nodes this test case has less relevance.<br>
<br><br><br><br><br>
[[File:Test5.jpg]]<br><br>
 
A circular test case. Also a boundary case, depending on your implementation of an algorithm can get stuck on searching for the optimal path, since there are always combinations that cannot be scouted.<br>
===Test Case 3===
[[File:Test6.jpg]]<br><br>
[[File:Test3.jpg|thumb|alt=Test3.|Testcase 3|upright=1.0|left|Test 3: Manhatten Distance]]
A very besic test case to make us think about difference in floors and how this will be implemented.<br>
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 [[wikipedia:Taxicab_geometry|Manhattan Distance]] between these nodes.
[[File:Test7.jpg]]<br><br>
<br><br><br><br><br>
 
 
===Test Case 4===
[[File:Test4.jpg|thumb|alt=Test4.|Testcase 4|upright=1.0|left|Test 4: Manhatten Distance Hallway]]
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.
<br><br><br><br><br>
 
===Test Case 5===
[[File:Test5.jpg|thumb|alt=Test5.|Testcase 5|upright=1.0|left|Test 5: Boundaries]]
A test to see if boundaries are respected. However, since the drones follow the nodes this test case has less relevance.
<br><br><br><br><br><br><br><br><br>
 
===Test Case 6===
[[File:Test6.jpg|thumb|alt=Test6.|Testcase 6|upright=1.0|left|Test 6: Circular Building]]
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.
<br><br><br><br><br><br><br><br>
 
===Test Case 7===
[[File:Test7.jpg|thumb|alt=Test7.|Testcase 7|upright=1.0|left|Test 7: Multiple Floors]]
A basic test case of how a path can be found on a building with multiple floors.
<br><br><br><br><br><br><br>
 
===Test Case 8===
[[File:Test8.jpg|thumb|alt=Test8.|Testcase 8|upright=1.0|left|Test 8: Changing Floors]]
Also a test case with mulitple floors, however, this time there are multiple paths:
Also a test case with mulitple floors, however, this time there are multiple paths:
*Stays on the same level, but has more nodes
*Stay on the same floor, but fly a longer path.
*Different level, but with less nodes
*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 energy into account? (since lifting a heavy object requires more force than keeping it on the same level<br>
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.
[[File:Test8.jpg]]

Revision as of 10:56, 19 March 2018

Layout with nodes

Below 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

Test1.
Test 1: Any Path

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

Test2.
Test 2: Unreachable

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

Test3.
Test 3: Manhatten Distance

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

Test4.
Test 4: Manhatten Distance Hallway

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

Test5.
Test 5: Boundaries

A test to see if boundaries are respected. However, since the drones follow the nodes this test case has less relevance.








Test Case 6

Test6.
Test 6: Circular Building

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

Test7.
Test 7: Multiple Floors

A basic test case of how a path can be found on a building with multiple floors.






Test Case 8

Test8.
Test 8: Changing Floors

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.