Completely random, no i dont like that shit. If an employee is doing well, on time, productive, just let them be. I understand an initial drug test and drug testing if a major accident or injury happens, but completely random imo is kind of fucked up.
I think its fucked up primarily because of weed. Weed is the least harmful of all substances but it stays in your system the longest. Alcohol is a far more problematic substance and they arent doing random breathalyzers.
When i was welding, i was helping build whole ass buildings, balconies, giant steel things and i was completely blown away by how many of the people in that industry are barely functioning alcoholics. Guys would come into the job still reeking of alcohol. Either hungover or still drunk or might have taken some shots in their car before coming in. definitely having beers at lunch too. Thankfully nothing got too fucked up when i was working with all of them, but i would much prefer a crew of stoners making a building than some angry alcoholics. An argument can be made for both sides to overlook things or try to cut corners, but I'd trust the stoners to double check their shit before the alcoholics.
If a person is a dope fiend, coke head, meth head etc. then its only a matter of time before they get too bad. same with an alcoholic.
If there is a way to test for weed and see if the person was high at the time of the incident, thatd be understandable. But to get fired because you made a mistake and you smoked weed after work everyday is absolutely fucked.