I added an attribute to customer entity

My goal is to have this attribute as Select (with data from another db table), but i didn't find any tuto about the source/model that i should create !!

Here is the Files : 

**InstallData** `Vendor/Module/Setup/InstallData.php`

    <?php
        namespace Vendor\Module\Setup;
        
        use Magento\Customer\Setup\CustomerSetupFactory;
        use Magento\Customer\Model\Customer;
        use Magento\Eav\Model\Entity\Attribute\Set as AttributeSet;
        use Magento\Eav\Model\Entity\Attribute\SetFactory as AttributeSetFactory;
        use Magento\Framework\Setup\InstallDataInterface;
        use Magento\Framework\Setup\ModuleContextInterface;
        use Magento\Framework\Setup\ModuleDataSetupInterface;
    
        class InstallData implements InstallDataInterface
        {
            
        /**
         * @var CustomerSetupFactory
         */
        protected $customerSetupFactory;
        
        /**
         * @var AttributeSetFactory
         */
        private $attributeSetFactory;
        
        /**
         * @param CustomerSetupFactory $customerSetupFactory
         * @param AttributeSetFactory $attributeSetFactory
         */
        public function __construct(
            CustomerSetupFactory $customerSetupFactory,
            AttributeSetFactory $attributeSetFactory
        ) {
            $this->customerSetupFactory = $customerSetupFactory;
            $this->attributeSetFactory = $attributeSetFactory;
        }
        
        public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
        {
            /** @var CustomerSetup $customerSetup */
            $customerSetup = $this->customerSetupFactory->create(['setup' => $setup]);
            
            $customerEntity = $customerSetup->getEavConfig()->getEntityType('customer');
            $attributeSetId = $customerEntity->getDefaultAttributeSetId();
            
            /** @var $attributeSet AttributeSet */
            $attributeSet = $this->attributeSetFactory->create();
            $attributeGroupId = $attributeSet->getDefaultGroupId($attributeSetId);
            
            $customerSetup->addAttribute(Customer::ENTITY, 'testfield', [
                'type' => 'varchar',
                'label' => 'Test Field',
                'input' => 'select',
                'required' => false,
                'visible' => true,
                'user_defined' => true,
                'visible_on_front' => true, 
                'global' => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_GLOBAL,
                'source' => \Vendor\Module\Model\Customer\Attribute\Source\Test,
            ]);
            
            $attribute = $customerSetup->getEavConfig()->getAttribute(Customer::ENTITY, 'testfield')
            ->addData([
                'attribute_set_id' => $attributeSetId,
                'attribute_group_id' => $attributeGroupId,
                'used_in_forms' => ['adminhtml_customer','customer_account_create','customer_account_edit','checkout_register'],
            ]);
            
            $attribute->save();
        }
    }

Source Model (Needed Code) : `Vendor\Module\Model\Customer\Attribute\Source\Test`

    <?php
    namespace Vendor\Module\Model\Customer\Attribute\Source;
    
    
    class Test extends \Magento\Eav\Model\Entity\Attribute\Source\Table
    {
        
        public function __construct(..........) 
    {
            ......................
        }
    
        /**
         * @return array
         */
        public function getAllOptions()
        {
            ...................
    
            return $this->_options;
        }
    
        
    }



Could any one help me how to create this source model.