The BQE Support Team gets to know first-hand about the issues our customers are experiencing with our software products. If we are lucky, it’s a problem we’ve come across before and can provide an immediate solution. However, there are some cases where the issue at hand is unique to that customer’s data and computer environment.
Our software programs are designed to work under a variety of environments and for a large range of customers and businesses. Some have custom programming done by us, mainly in the form of custom SQL triggers, or have custom reports and invoices designed with Crystal Reports. Also, there are several editions available for most of our products, so different customers will have different feature set than others. But for the most part, our customers are using the same underlying database as everyone else. When working on a call with our customers, we often use the same applications installed on our desktops as they do to re-create their experiences and issues.
Many of our customers do their own testing prior to purchasing the applications or upgrading their existing ones. It's always a good idea to do at least some simple testing before going live with any software. Here is how we go about it.
The Sample Database
I provide technical support mainly for the BillQuick family of products. My basic setup includes the last three versions of BillQuick running with sample databases (we support the last three versions of the applications). The sample database has enough data to test each of the features of the program such as time and expense entry, project management, reporting, billing, accounting, settings and security. With it installed on a local drive, it works fast! Therefore, issues are minimized and we can test how the program is supposed to work, plain and simple. We use both standard (Microsoft Access) and SQL databases for our work. Testing a sample database with Web Suite, ArchiOffice or EngineerOffice requires a web server and SQL Server installed prior to using them.
The Test Environment
With BillQuick, we have two database engines available for the user--a standard database for a few simultaneous users and an SQL Enterprise version, which can be used by many. The flexibility of our products often makes our job a little challenging because we have to adjust our environment to match that of our user’s. I'd compare it to the difference between Apple, which tightly controls their customers’ experience by limiting the options available to them, and that of Microsoft or Google Android, which supports a much wider spectrum of users and potential complexity.
We see it all with our customers, from the large wide-area networks using Web Suite on their own domains down to one-person offices that run BillQuick on one laptop or BillQuick Online from one web browser. As there are many choices for web browsers and flavors of Windows, how can we prepare for all of them?
Most of us have multiple virtual machines that we use to recreate at least some of our user's experience on demand. Are you having an issue hosting our software on the new Windows 2012 R2? How about old and trusty Windows XP? Maybe you are a BillQuick Online customer accessing the website using the Safari browser from a Mac or an iPad. There are many different combinations and factors we try to ascertain during the course of a support call.
Fortunately, it’s not too difficult to create a virtual machine because of the availability of the software needed to run them, many of which are free or included with other purchased software. I use Virtualbox and occasionally Hyper-V, QEMU and VMWare. I also tried the future of virtual environments with a trial run of the cloud-based Windows Azure.
My simple test environment gets a lot more complicated as I add more dimensions to it. The most basic lesson is to create one user, one project, one time entry and then bill it. It's the building blocks we must all learn to support the program before we get into more advanced project management, data sync and reporting features such as:
- QuickBooks Integration: For many users, this is a vital part of our products’ capabilities and syncing needs to be done right. So we test as many sync scenarios as possible.
- SQL Installation: Like Windows, there are many flavors of SQL our customers use--SQL Server and SQL Express.
- Networking: From the basics of one computer running a standard database, we can add a few more computers to the test environment over a variety of connections using our own network.
- Importing and Exporting Data: Although actual data conversion isn't handled by Support, we are familiar with how our application works with others.
- Complex Data: It's one thing to create a time entry as a Supervisor and another thing to add multiple layers of security and configure the global options and user preferences.