betaby Craig Jackman

Beta tester. The term just screams with innuendo of secrets, and unobtainable knowledge that you just can’t have... yet. What is a beta tester? A beta tester works for a software company testing the software before it is released. A beta tester comes into the development of the software somewhere after the original (or alpha) tester, and typically software that is in beta test in nearing release. I always wondered what it would be like to beta test software, and recently I had the chance.

Before I go another single step you have to understand one thing. Software companies invest an obscene amount of money and resources into software development. This is their livelihood after all. It is of the utmost importance that anything they release to anyone outside their company be accompanied by a Non-Disclosure Agreement (NDA). This is a contract between the software company and the beta tester promising that the beta tester will not release any confidential information to anyone, and they mean anyone! You never know whom your gossipy spouse will talk to and spill some industrial secret you were discussing over last night’s dinner. To become a beta tester I had to sign a NDA, and it remains in effect even if the software I was testing is or will be released. As such I cannot tell you what the company I was testing for was, what the product was, or any other technical details. Even if you were to guess and guess correctly, I’m not saying anything. What I can tell you is my experiences and what you can expect should you get the chance.

The first question of course is how you become a beta tester. In all honesty, my answer to this is I really don’t know, but I have a couple of guesses. You see, one day I got into work and checked my email, and there was the invitation. How did they get my name and email address? One of two ways I think, and that would be through an Internet user forum (and there’s lots of those devoted to computer audio), or even through the particular company’s support desk. I’ve been known to ask questions of software companies and supply them with reports on bugs that I find. Perhaps other beta testers recommended me through some of my user forum postings. My advice if you are interested in becoming a beta tester would be to contact the company that makes the product that you are most interested in and ask them to be included in future test programs. They may not need you right away, if ever, but maybe they’ll keep you on a list and keep an eye on you until they need to start a test program. I wouldn’t pester them, but make the offer and see if anything happens. Check the company’s website occasionally too to see if they post anything about looking for testers.

Once you are accepted into a test program, you then have to do a little negotiation with your employer. You want to test the product in the real world under conditions you would expect it to see in everyday use and for almost all of us that means installing it on your employer’s computer. It’s their box, and they have the right to decide what goes in it. You have to be able to assure them that this will not affect your work in a negative way, and that you are prepared to put in the extra time that’s going to be involved. You are being paid for a certain level of work, and working for someone else has to be on your own time.

Of course, the company you are testing for will want your computer to be of a certain level of processing power. That’s not to say that you have to have the biggest and hairiest computer in the world. The company may want to test on a slightly less than state of the art machine, depending on how and to whom they plan on marketing it to. Conditions will vary as business plans change, but it would be safe to assume that they’d rather see closer to state of the art, rather than minimum system requirement.

You will of course be expected to have a certain level of software and computer competence. Now I’m not saying that I can show Bill Gates a thing or two about software. I know just enough to be dangerous, but I also know where my danger line is and to call in someone with more knowledge than I. If you don’t have a Masters Degree in computer science, not to worry. Your dream of being a beta tester may still come true. The company may just elect to bring you in later in the program closer to the release date as a second level of beta tester. You will be used for your expertise, in this case, for using the software in a radio application.

Once all the negotiations with your employer are complete, and the NDA agreement signed and returned to the company, they will return to you all the information you’ll need to start. This may be an email list of other testers, or they may decide to setup a beta-only forum site where information and opinions will be exchanged. Of course you have contact names and email addresses with the software company. Lastly, and since it’s software, they’ll give you the download information you need. Depending on the product, this may exclude you if you are stuck on dial-up only. Why? Imagine what your dial-up charges are going to be when you download 30MB software programs weekly, not to mention all the extra time you are going to have to invest. I do not miss being on dial-up, starting a large software download, only to have it flame out with 5MB left to go. You can get download manager software that will pick up where you left off, but you’d be a whole lot farther ahead on DSL, cable, or something better.

Once downloaded and installed, you have a couple of basic jobs to do. First, you are testing everything about the program and that includes the install procedure. That means read, and follow the directions, and take the time to read the release notes. When you get into updated versions of the product you are testing, it may mean correctly uninstalling the first version before installing the newest version and setting it up again. There will be new features added to the program and you are to try the features in context and provide feedback. Do the new features work as they are supposed to? Can you think of an alternate use for the new feature? Better yet, can you think of a way to improve the feature — and that can be through the commands the feature uses or through the interface. Remember the particular feature may be designed to broaden the appeal of your software into another market segment, so if you don’t see the need for it, don’t be surprised. Your second job is to break the software. Repeatedly. Think of yourself as an exterminator. You are looking for bugs (errors), and since this is before the software is released you may find a lot of them. When you do find a bug, it’s important to realize what you were doing at the time the software stopped working properly. You’ll also want to try and repeat what you did, and hope to get the same result. You then report the bug and as much secondary information as you can to the company. They’ll try and replicate the situation to confirm an actual bug. The software will then go back to the developers whose job it is to go back in and fix that area of the code.

It is important that you communicate on a regular basis to the company. They are investing in you and your expertise; the least you can do is provide them the feedback that they need to move forward. Also importantly, keep after the company if you think that you’re really onto something. If you are sure that you are seeing a bug, keep trying to replicate it and replicate it under other circumstances. Keep reporting!

What can you expect while testing? Lots of frustration! Don’t forget that you are working with software that is expected to be less than perfect, particularly at the beginning of the program. The software will crash, and it will crash at the most inopportune time. I would suggest that you always have a fallback position. For recording voices, roll a DAT through the session. Keep track of anything that you are pulling in off CD. Oh yeah, and save your work frequently as you go. These are all lessons I learned the hard way. For those mission-critical and time-critical situations, you may be best to consider going back to a more proven version of the software. This is not a short-term project either. Expect it to go more than weeks and into months, and the more complex the software, the longer the beta test program will be. The frustration is balanced by the fact you are getting to use some new features that nobody else has yet, and in my case, those features really added a lot to my enjoyment of the software. Plus I found the whole process to be most educational, rewarding, and stimulating in its own way.

Speaking of rewards, do not plan on retiring to a tax-haven in the Caribbean on what you’ll earn as a software beta tester. I actually didn’t get paid for this, though I did receive a very nice gift that I appreciated a lot. I knew that going in and knew what to expect, so it wasn’t a disappointment. As I said, my reward was the process itself.