Yes, the BP functional tests were meant to be instantiated in a map and that map is a test map. Other map could be nested in them for example if your test is to go over a map features. But the expectation is that the map is part of the test environment. Also a map may have several BP functional tests. They will be evaluated in sequence, triggering the On Test Start event on each actor one after the other.
The natural “group” that all automated tests in UE will get is the dot notation of their full name. And in the case of BP functional tests that includes the map content folder and map name. They can be leverage in this way. Additionally BP functional tests can be tagged and use for filtering; however that feature is still in development and the support for it is partial. Additionally test group can be formed through the project config: https://dev.epicgames.com/documentation/en\-us/unreal\-engine/configure\-automation\-tests\-in\-unreal\-engine\#testgroups ; using partial name match and tags can be leverage to formed groups.
UE is not enforcing a specific way to add tests, we try to give multiple options to users. And we offer what we use internally as tools. We don’t require the type of functional tests that you described internally.
Indeed, I did not go over what exactly needs to happen in order to collect procedural tests list. Complex test class is the way to go. GetTests is what populate the test collection for a custom test type. What is output by this method is what is going to be feed to RunTests once a test is about to run. If you implement those, your code is responsible to collect the test list and run the matching tests when the automation test work ask for it. https://dev.epicgames.com/documentation/en\-us/unreal\-engine/write\-cplusplus\-tests\-in\-unreal\-engine\#complextests