In reply to ningyangverification:
Even if test is not instantiated explicitly, when test class name is passed to run_test(“test”) method or by +UVM_TESTNAME=“test” (Later overrides the first if passed both), this test name is passed to factory.create_component_by_name() method call in uvm_root::run_test().
Here factory creates the test and returns the object on uvm_test_top.