Parallel testing execute one by one instead of both on the same time

Starting appium programmatically, tests are running on my device but one after one instead of both at the same time.

Here is my code:

@BeforeClass(alwaysRun = true)
@Parameters({“port”, “device”,“url”,“bpport”})
public void setUp(int port, String device,String url,String bpport) throws MalformedURLException {
DesiredCapabilities caps = new DesiredCapabilities();
adb = new ADB(device);
service = AppiumDriverLocalService.buildService(new AppiumServiceBuilder()
.usingDriverExecutable(new File(“/usr/local/bin/node”))
server = service.getUrl().toString();
caps.setCapability(“deviceName”, device);
caps.setCapability(MobileCapabilityType.UDID, device);
caps.setCapability(“platformName”, “android”);
caps.setCapability(“app”, “/Users/admin/Downloads/xxx.apk”);
caps.setCapability(“appWaitActivity”, “XXXXActivity”);
caps.setCapability(“appWaitActivity”, “XXXActivity”);
caps.setCapability(“appPackage”, “”);
driver = new AndroidDriver<>(new URL(server),caps);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

and the testng.xml

> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE suite SYSTEM "">
<suite name="All Test Suite" parallel="methods" thread-count="2" >

    <test name="test on zte">
        <parameter name = "port" value="4723" />
        <parameter name = "device" value="ffc64100" />
        <parameter name = "url" value="" />
            <class name = "com.test"/>

    <test name="test run on vivo">
        <parameter name = "port" value="4734" />
        <parameter name = "device" value="df89e0b3" />
        <parameter name = "url" value="" />
            <class name="com.test">

I want to run the test on both of the devices at the same time and not one by one, what am I missing?