Hey, if it works for me, it works for everybody, right?
Startups ignore this environment, and usually this is not a roadblock. You’ll get going just fine without a testing environment on day zero, but preparing a testing environment will bring quality to your product. And quality is what sets products apart these days.
Developers build, testers destroy
A developer knows best to create things. Features, pages, functionalities. However, his skills in looking for weaknesses in what he builds is usually not top notch. Even psychologically, after you spent days building something great, you wouldn’t want to look for flaws, right? After all, it’s the greatest thing you’ve built and you’re truly proud of it, aren’t you?
So here comes testing
Testing is actually poking your piece of software to see if it holds up water. It’s about using your product in all the possible ways to make sure it behaves as expected. It means filling it up with all kinds of crappy information just to see if it still works. And if we’re talking about websites, it also means checking for performance issues, to make sure it would handle a whole bunch of visitors or customers.
First of all, the testing environment should be even more like the one in production, including operating system, programming language version and even the same libraries. This is very important, in order to minimise the chances of something not working when the actual customers are using your application.
Database and configuration
Secondly, the database, configuration files and actual code of the testing environment should be separated from the one of development, in order for testing to be as independent as possible from development.
Third, since testing is not just “click here and there and see what happens”, even from the startup level a company should make sure that the code has unit tests or automated test written for most of its code. It’s almost utopian to think that you can automate everything, and even if you could, the effort wouldn’t worth it. At the end of the month, you’ve got expenses and on a startup you’re really careful where you put your money in. Or at least you should be, anyway.
If your product is being delivered to the customer’s devices, either a mobile smartphone or a tablet, you’ll want to make sure you test it properly on these. And this is not quite doable with a simulator. Testing your product on the real thing is not only going to help you find bugs, but will also give you valuable feedback on how it feels like, the overall impression on using your product.