Veeva is a managed package application .For Managed package application test classes for all the classes inside the Veeva package will run during package Installation and after that you need not worry if there are failures and your overall coverage is less .
A managed package application has a namespace and the test execution for that is taken care by the vendor . If a veeva vendor did not have proper coverage for their code , the package creation itself would have failed .
For all other code that you write , its important to have a code coverage greater than 75% else deployment will fail .
The test classes that you maintain outside the package provided class should not fail else deployment will fail .You cannot use testLevel=NoTestRun and still succeed with deployment .
Also testLevel= RunLocalTests is recommended as it will run all tests excluding ones provided by managed package .
As a best practice use testLevel= RunLocalTests and if you are looking to push specific tests you can do it with testLevel= RunSpecifiedTests (Use this as last resort. Helpful in bigger org where it takes huge time to deploy and validate ).
Note that when you do RunSpecifiedTests , each of your classes should exceed > 75% test coverage else the deployment will fail .