You know, for 20 years while I was in the U.S. Navy, I was subjected to random urine screenings on a regular basis, at least once every three months, and, depending on the command, it could be done as often as once a month.
The way they did it was the CO and the XO rolled a 10 sided dice, and then, that number was used as a way to screen the command, by going after the last digit on your SSN.
However............as a Drug and Alcohol Program Specialist, I learned that the intoxicating effects of cannabis only last about 3 to 6 hours (depending on use), but because the THC molecule adheres to body fat, it can be detected for up to 30 days.
Someone else brought up the point of why should you be penalized for something that you did over 2 weeks ago, when there are zero intoxicating effects at the time of testing.
If they could get a different test that would show the difference between being intoxicated and one that just says you used it sometime in the past 30 days, I might be okay with that, but only if you were penalized when you are actually intoxicated from the cannabis.
The military has been doing testing since the late 70's, early 80's, but then again, in the military you are on duty 24/7, because you can be called off of liberty or leave at any time and required to report back to the ship (I've had it happen to me twice).
Do I think that civilian companies should be able to test? Only if they tell you up front (before you accept the job), that urine tests are a requirement for employment, but to bring up a policy in the middle of someone's employment? Not cool.
Besides, unless you are working in a high risk job (like heavy construction, bus driver, airline pilot, etc), I don't think that any employer should require the employees to drug screen randomly, only in cases where an accident has occurred.
After I retired from the Navy? I swore to myself that I would never take another urine test for employment ever again.
Good points. If workplace safety/liability were really what they were after they could run simple competence tests that would reveal whether an employee was impaired or not by anything --- including presence of a substance, lack of sleep, crisis going on at home, creeping illness, whatever. So the guy who smoked a joint 22 days ago but is perfectly alert would not be flagged, while the guy who was up all night fighting with his wife, would.
Obviously that's not what they're going for.