We can define an Erlang/OTP Common Test suite with
-module(...).
-compile([export_all, nowarn_export_all]).
all() ->
[Fun || {Fun, 1} <- ?MODULE:module_info(exports),
re:run(atom_to_binary(Fun), <<"^test_">>) =/= nomatch].
...
and then have our tests start with test_
to have them all (and only them) exported.
Something similar could be done for test groups.