Synergy QA (quality assurance) is very important; it's essentially a structured form of testing. Symless is currently a tiny team of 10 people: 4 C++ developers, 1 web developer, 2 in customer service, 2 in business operations, and a CEO (that's me). This means that instead of having a dedicated QA engineer, everyone at the company chips in. Everyone at Symless uses Synergy, including the business operations people! This is known in the software industry as dogfooding; eating your own dog food. As well as this ad-hoc day-to-day testing, we also follow a structured QA (quality assurance) process.
We have a QA process guide, that we've actually made public so you (the customer) can see how we test. If you like, you can follow it and submit your own test results! If you do give it a try, make sure you fill in the form on a mobile device. The process involves rebooting all of your Synergy-enabled computers, which means you'll lose whatever you've typed into the form.
We absolutely do! The thing is, with software development, we tend to get very focused on the issues we're fixing in a particular version (which takes about 2 weeks to develop). Rarely will it work out that we have a balanced mix of operating systems, so it's easy to accidentally introduce a bug and not notice. That's where QA comes in.
Disciplined QA is important because it shows up new bugs that we missed during development. Ad-hoc dogfooding is also important, as it exposes things that the QA process doesn't. But structured QA testing is always necessary, as it ensures that you cover scenarios also experienced by customers (not just the desktop setups here at Symless).
These are the 16 different platform configurations that we test! A little internal Symless lingo here that Synergy 1 users will know already; a server is the Synergy computer that is sharing its mouse and keyboard, and a client is the other computer.
In the software industry, eating your own dog food — or dogfooding — is a common approach for companies to test their product or service by letting employees use it in real-life scenarios. The idea is that by using your own software just as a customer would, you can proactively validate and incrementally improve it before releasing it to the world. Besides quality control, relying on your own product also makes for good marketing.
Our office mascot, Bella, actually doesn't do Synergy QA, but she does eat dog food!