diff --git a/nearby/tests/multidevices/host/seeker_discover_provider_test.py b/nearby/tests/multidevices/host/seeker_discover_provider_test.py
index 03f3661..11304cc 100644
--- a/nearby/tests/multidevices/host/seeker_discover_provider_test.py
+++ b/nearby/tests/multidevices/host/seeker_discover_provider_test.py
@@ -16,23 +16,26 @@
 
 import logging
 import sys
+from typing import List
 
 from mobly import base_test
 from mobly import test_runner
 from mobly.controllers import android_device
 
+from test_helper import constants
 from test_helper import fast_pair_provider_simulator
 from test_helper import fast_pair_seeker
 
-# Default model ID to simulate on provider side.
-DEFAULT_MODEL_ID = '00000C'
-# Default public key to simulate as registered headsets.
-DEFAULT_ANTI_SPOOFING_KEY = 'Cbj9eCJrTdDgSYxLkqtfADQi86vIaMvxJsQ298sZYWE='
+# The model ID to simulate on provider side.
+PROVIDER_SIMULATOR_MODEL_ID = constants.DEFAULT_MODEL_ID
+# The public key to simulate as registered headsets.
+PROVIDER_SIMULATOR_ANTI_SPOOFING_KEY = constants.DEFAULT_ANTI_SPOOFING_KEY
+
 # Time in seconds for events waiting.
-SETUP_TIMEOUT_SEC = 5
-BECOME_DISCOVERABLE_TIMEOUT_SEC = 10
-START_ADVERTISING_TIMEOUT_SEC = 5
-SCAN_TIMEOUT_SEC = 30
+SETUP_TIMEOUT_SEC = constants.SETUP_TIMEOUT_SEC
+BECOME_DISCOVERABLE_TIMEOUT_SEC = constants.BECOME_DISCOVERABLE_TIMEOUT_SEC
+START_ADVERTISING_TIMEOUT_SEC = constants.START_ADVERTISING_TIMEOUT_SEC
+SCAN_TIMEOUT_SEC = constants.SCAN_TIMEOUT_SEC
 
 # Abbreviations for common use type.
 FastPairProviderSimulator = fast_pair_provider_simulator.FastPairProviderSimulator
@@ -42,17 +45,16 @@
 class SeekerDiscoverProviderTest(base_test.BaseTestClass):
     """Fast Pair seeker discover provider test."""
 
+    _duts: List[android_device.AndroidDevice]
     _provider: FastPairProviderSimulator
     _seeker: FastPairSeeker
 
     def setup_class(self) -> None:
         super().setup_class()
-        self.duts = self.register_controller(android_device)
+        self._duts = self.register_controller(android_device)
 
         # Assume the 1st phone is provider, the 2nd is seeker.
-        provider_ad, seeker_ad = self.duts
-        provider_ad.debug_tag = 'FastPairProviderSimulator'
-        seeker_ad.debug_tag = 'MainlineFastPairSeeker'
+        provider_ad, seeker_ad = self._duts
         self._provider = FastPairProviderSimulator(provider_ad)
         self._seeker = FastPairSeeker(seeker_ad)
         self._provider.load_snippet()
@@ -61,7 +63,8 @@
     def setup_test(self) -> None:
         super().setup_test()
         self._provider.setup_provider_simulator(SETUP_TIMEOUT_SEC)
-        self._provider.start_model_id_advertising(DEFAULT_MODEL_ID, DEFAULT_ANTI_SPOOFING_KEY)
+        self._provider.start_model_id_advertising(
+            PROVIDER_SIMULATOR_MODEL_ID, PROVIDER_SIMULATOR_ANTI_SPOOFING_KEY)
         self._provider.wait_for_discoverable_mode(BECOME_DISCOVERABLE_TIMEOUT_SEC)
         self._provider.wait_for_advertising_start(START_ADVERTISING_TIMEOUT_SEC)
         self._seeker.start_scan()
@@ -71,14 +74,14 @@
         self._seeker.stop_scan()
         self._provider.teardown_provider_simulator()
         # Create per-test excepts of logcat.
-        for dut in self.duts:
+        for dut in self._duts:
             dut.services.create_output_excerpts_all(self.current_test_info)
 
     def test_seeker_start_scanning_find_provider(self) -> None:
         provider_ble_mac_address = self._provider.get_ble_mac_address()
         self._seeker.wait_and_assert_provider_found(
             timeout_seconds=SCAN_TIMEOUT_SEC,
-            expected_model_id=DEFAULT_MODEL_ID,
+            expected_model_id=PROVIDER_SIMULATOR_MODEL_ID,
             expected_ble_mac_address=provider_ble_mac_address)
 
 
@@ -87,5 +90,5 @@
     index = sys.argv.index('--')
     sys.argv = sys.argv[:1] + sys.argv[index + 1:]
 
-    logging.basicConfig(filename="/tmp/seeker_scan_provider_test_log.txt", level=logging.INFO)
+    logging.basicConfig(filename="/tmp/seeker_discover_provider_test_log.txt", level=logging.INFO)
     test_runner.main()
diff --git a/nearby/tests/multidevices/host/test_helper/constants.py b/nearby/tests/multidevices/host/test_helper/constants.py
new file mode 100644
index 0000000..6b5185f
--- /dev/null
+++ b/nearby/tests/multidevices/host/test_helper/constants.py
@@ -0,0 +1,25 @@
+#  Copyright (C) 2022 The Android Open Source Project
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+# Default model ID to simulate on provider side.
+DEFAULT_MODEL_ID = '00000c'
+
+# Default public key to simulate as registered headsets.
+DEFAULT_ANTI_SPOOFING_KEY = 'Cbj9eCJrTdDgSYxLkqtfADQi86vIaMvxJsQ298sZYWE='
+
+# Time in seconds for events waiting.
+SETUP_TIMEOUT_SEC = 5
+BECOME_DISCOVERABLE_TIMEOUT_SEC = 10
+START_ADVERTISING_TIMEOUT_SEC = 5
+SCAN_TIMEOUT_SEC = 30
diff --git a/nearby/tests/multidevices/host/test_helper/fast_pair_provider_simulator.py b/nearby/tests/multidevices/host/test_helper/fast_pair_provider_simulator.py
index 8563e8e..8a98112 100644
--- a/nearby/tests/multidevices/host/test_helper/fast_pair_provider_simulator.py
+++ b/nearby/tests/multidevices/host/test_helper/fast_pair_provider_simulator.py
@@ -43,6 +43,7 @@
 
     def __init__(self, ad: AndroidDevice) -> None:
         self._ad = ad
+        self._ad.debug_tag = 'FastPairProviderSimulator'
         self._provider_status_callback = None
 
     def load_snippet(self) -> None:
@@ -92,6 +93,9 @@
             0x00000C).
           anti_spoofing_key: A public key for registered headsets.
         """
+        self._ad.log.info(
+            'Provider simulator starts advertising as model id "%s" with anti-spoofing key "%s".',
+            model_id, anti_spoofing_key)
         self._provider_status_callback = (
             self._ad.fp.startModelIdAdvertising(model_id, anti_spoofing_key))
 
diff --git a/nearby/tests/multidevices/host/test_helper/fast_pair_seeker.py b/nearby/tests/multidevices/host/test_helper/fast_pair_seeker.py
index 85c37df..9bb2689 100644
--- a/nearby/tests/multidevices/host/test_helper/fast_pair_seeker.py
+++ b/nearby/tests/multidevices/host/test_helper/fast_pair_seeker.py
@@ -37,6 +37,7 @@
 
     def __init__(self, ad: AndroidDevice) -> None:
         self._ad = ad
+        self._ad.debug_tag = 'MainlineFastPairSeeker'
         self._scan_result_callback = None
 
     def load_snippet(self) -> None:
