Adds better structured batch tests.

Use of async topic prevents individual fails from stopping subsequent tests from being run.