Currently, I do not have a fixed process for cross device testing other than randomly asking the people around my co-working space to test my site on whatever device they have on-hand. This is quite a hit-or-miss approach, so I was wondering if anybody had a proper approach to this, as a freelancer. I know some organisations have their own device labs, but that's kind of beyond the budget for a freelancer.
Here's a mostly flawless setup for testing your websites :
Cross-browser compatibility :
A good resource prior to implementing your solution is to check Can I Use?, which has compatibility for all the HTML5/CSS3/JS/SVG, etc...
Every time you implement a new feature, test your site in Chrome, Firefox, IE, Safari and Opera (in order of importance). They're all free and can run together on your PC.
There are a few solutions specific for IE, which is always the most annoying browser.
Use the dev tools in the latest version, it lets you emulate IE7+ and will be enough most of the time.
Use BrowserStack in the rare cases where the previous solution isn't enough
You can use Chrome's built-in emulator, which exists for exactly this purpose. It can emulate pretty much any phone/tablet possible, and costs nothing. It even emulates the sensors of the device.
The important part is not to create bugs in the first place! :-)
There are several testing labs, where you can prebook devices for testing by the hour or even quarter hour, some are even offering small time slots for free.
You also could put your website in a container app and send it to apple or samsung for testing the app.
Easiest is to acquire a set of used phones and set up your own lab. Maybe doesn't make sense for one website, but if you do that regularly, it will pay off sooner or later.
If you can't afford that, you are charging too little.