Are there any rules or articles which discuss where tests should ideally be run? Specifically smoke tests. Smoke tests should run quickly after someone checks in new code. If you are looking for fast turnaround time from a test, I would think it is best to have the tests execute/run on the same on which your website and website-server are located (especially if the website being testing is not the production server ... specifically created for running tests against).
If the tests were specifically testing lag time between the client and server machine, maybe it would be necessary to put the tests on a separate machine then; but the tests are not testing latency issues or network issues.
Was just looking for any advice, opinions or links to articles pertaining to where to run tests in relation to the site being tested.